Errors
Errors use a consistent JSON shape and standard HTTP status codes:
{ "error": { "code": "insufficient_tokens", "message": "Job costs 1200 tokens; balance is 300." } }| Status | Code | Meaning |
|---|---|---|
| 400 | validation_error |
Bad body (e.g. script too short) |
| 401 | unauthorized |
Missing / invalid key |
| 403 | forbidden |
Key lacks permission |
| 402 | insufficient_tokens |
Balance below the job quote |
| 404 | not_found |
Unknown job id, or not yours |
| 409 | conflict |
e.g. cancelling a terminal job |
| 429 | rate_limited |
Slow down; see X-RateLimit-* |
Every response carries an X-Request-Id — include it when contacting support.