Errors & troubleshooting
Diagnose failures, retry carefully, and collect useful support details.
On this page
HTTP status referenceError response formatsRetry & maintenance behaviorHealth checks & supportHTTP status reference
| Status | Meaning | Next step |
|---|---|---|
| 400 | Invalid request or unsupported option | Check body fields, model options, and output limits |
| 401 | Missing, invalid, or revoked key | Check the authentication header and secret |
| 402 | Insufficient credits | Check package balance or reduce requested output reservation |
| 403 | Wrong key type or access denied | Check service, verification, beta access, and account permissions |
| 404 | Unknown model, unavailable tool, or expired image | Check the exact ID, path, enabled operation, or image expiry |
| 413 | Request too large | Reduce payload size |
| 429 | Request, quota, or upstream limit | Read the message, pace requests, check quota reset |
| 500 / 502 / 503 | Internal, upstream, or availability failure | Check Status and retry transient failures with backoff |
| 529 | Upstream overload where returned | Wait and retry with backoff |
Error response formats
OpenAI-style errors use error.message and error.type. Anthropic-style errors also include top-level type: error and request_id. Tools errors use success: false, request_id, and error.code / error.message. The x-request-id response header helps trace requests.
{
"error": {
"message": "invalid API key",
"type": "authentication_error",
"param": null,
"code": null
}
} Retry & maintenance behavior
Retry transient rate limits and server failures with bounded exponential backoff and jitter. Honor Retry-After if present. Do not automatically retry validation, authentication, permission, or credit failures. A disconnected request may already have executed; no public idempotency guarantee is documented.
During model API maintenance, generation endpoints return 503 with Retry-After, X-API-Maintenance: true, and sometimes X-API-Maintenance-Until. Streaming errors can occur after a successful HTTP status; inspect stream events as well.
Health checks & support
GET https://api.17.wtf/healthz and GET https://tapi.17.wtf/healthz are unauthenticated liveness checks. A healthy service does not guarantee every upstream model or tool is available. Check model Status for model-level information.
When opening a support ticket, include the request ID, UTC timestamp, endpoint, model ID or tool operation, HTTP status, and a redacted minimal reproduction. Remove API keys and private inputs.