not_found
HTTP 404 · not billed
{ "error": {
"code": "not_found",
"message": "…",
"docs_url": "https://pdfcraft.dev/errors#not_found"
} }When you get it
No render with that id belongs to your account.
No render or extraction with that id belongs to your account. An id belonging to someone else returns this too, never a 403, so ids cannot be probed for existence.
How to fix it
- Check the id. Render ids start rnd_, extraction ids ext_ — and the two endpoints do not answer for each other.
- A queued job that has not started yet still returns its row; a 404 means the id is wrong, not that it is early.
Is it billed?
No. A request is billed only when Chromium actually ran. Most often from polling the wrong endpoint for the kind of job that was queued.
Reproducing it
curl -i -X POST https://api.pdfcraft.dev/v1/render \
-H "Authorization: Bearer $PDFCRAFT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"html":"<h1>hi</h1>"}'The -i matters: Retry-After and X-Renders-Remaining are headers, and a client that only reads the body throws away the two numbers that tell it what to do next.
Every code
| HTTP | Code | Billed? |
|---|---|---|
| 400 | invalid_request | free |
| 401 | invalid_api_key | free |
| 402 | payment_required | free |
| 404 | not_found | free |
| 408 | render_timeout | free |
| 422 | render_failed | billed |
| 429 | rate_limited | free |
| 429 | quota_exceeded | free |
| 429 | demo_busy | free |
| 415 | unsupported_file | free |
| 422 | extraction_failed | free |
| 500 | internal_error | free |