Turnqey APIs use standard HTTP status codes with JSON responses.
Clients should separate permanent request errors from temporary failures.
| Status | Meaning | Retry? | Client action |
|---|---|---|---|
| 200 | Success | No | Use the response. |
| 400 | Bad request or missing parameter | No | Fix the request before trying again. |
| 401 | Token missing, expired, or invalid | Once | Request a new token and retry once. |
| 403 | Partner, IP, or permission not allowed | No | Contact Turnqey support. |
| 404 | Resource not found | No | Check the ID, collection, source, or endpoint. |
| 422 | Request understood but cannot be processed | No | Show a support path with the request details. |
| 429 | Rate limited | Yes | Back off and retry after the limit window. |
| 500 / 502 / 503 / 504 | Server or upstream failure | Yes | Retry with backoff and jitter, then fail gracefully. |
Use retries only for temporary failures.
Recommended pattern:
Log enough context to investigate without exposing secrets.
Include:
Do not log:
Some errors mean the user must reconnect the source account.
Examples:
In these cases, show a clear reconnect action instead of retrying in the background.
For integration support, contact: