Errors, limits, and retries
Use the HTTP status first, then inspect the response body. Error shapes vary across the Go and Python services.
Go errors commonly look like:
{"code":"not_found","message":"Resource not found"}Field validation may instead return an array:
[{"field":"page_size","error":"is required"}]Python errors can be an array of objects containing id, title, code_name, detail, and meta. Do not assume every error is a single object with an error property.
| Status | Action |
|---|---|
| 400 / 422 | Correct the input, identifiers, field types, or validation errors. |
| 401 | Check the Inkit API key. |
| 402 | Check account automation or usage limits. |
| 403 | Check permissions, subscription, and feature/integration availability. |
| 404 | Check the resource identifier and access rights. |
| 409 | Resolve conflicts, such as incompatible merge-variable definitions. |
| 410 | The document has expired; retrying does not restore it. |
| 413 | Reduce upload size. |
| 415 | Use the endpoint's expected content type. |
| 423 | Processing is incomplete or the resource is locked; retry later when appropriate. |
| 429 | Reduce concurrency and retry with backoff. |
| 5xx | Retry safe reads with bounded backoff; investigate repeated failures. |
The upload handler enforces a concurrency limit, and account usage limits also apply. This edition does not promise the old documentation's universal 300-requests-per-minute allowance or its conflicting claim of no limits. Confirm deployment-specific limits with your administrator.
Generation and invocation can create duplicate work if repeated after a timeout. There is no documented idempotency-key contract for these endpoints. Preserve returned IDs and reconcile the outcome before retrying a create request. Batch deletions can partially succeed before reporting a failure.
Updated 10 days ago