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.

StatusAction
400 / 422Correct the input, identifiers, field types, or validation errors.
401Check the Inkit API key.
402Check account automation or usage limits.
403Check permissions, subscription, and feature/integration availability.
404Check the resource identifier and access rights.
409Resolve conflicts, such as incompatible merge-variable definitions.
410The document has expired; retrying does not restore it.
413Reduce upload size.
415Use the endpoint's expected content type.
423Processing is incomplete or the resource is locked; retry later when appropriate.
429Reduce concurrency and retry with backoff.
5xxRetry 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.


Did this page help you?