Skip to main content
Errors share one shape, whatever went wrong:
Branch on code, not on message: messages are written for people and can change. Include request_id when you contact us about a failed call. The same id comes back in the x-request-id response header, and if you send your own x-request-id, it is used instead. Older responses also carry the same value as requestId. A 5xx is safe to retry with the same Idempotency-Key; see Safe retries.

License checks

A run or download with a licensed character that the license does not cover answers 403 with the code forbidden and the reason in details:
A blocked run never holds or charges credits. A run that was accepted and then blocked when it left the queue, because the license changed while it waited, fails with the same reason and is not charged either. A run with a licensed character and no license_context answers 400 with the code bad_request.