Troubleshooting & support
Start with the HTTP status and error.code. For latency issues, record the
wall-clock duration and Server-Timing header. Send an X-Client-Trace-Id
with each request so you can correlate application logs with a support case.
Symptom → likely cause
| Symptom | Likely cause | Go to |
|---|---|---|
| Can't create an API key | Workspace not yet activated | Console |
401 on a new key | Key changes can take up to one minute | Authentication |
401 that persists | Missing/typo'd header, or a revoked key still deployed | Errors § 401 |
402 | Credit balance exhausted; add credit before retrying | Errors § 402 |
404 on a correct-looking URL | Typo in the model path segment | Model routing |
400 mentioning tokens | max_tokens zero or negative; or prompt tokens + max_tokens over the 131,072 context window | Models |
Scattered 429 rate_limit_exceeded | Over your workspace's rate ceiling | Rate limits |
429 service_busy | Service temporarily at capacity; honor Retry-After and retry | Errors § 429 |
502/503, which may have no JSON body | Temporary service error; retry any 5xx by status | Errors § retries |
Slow complete response, processing small relative to wall clock | Client, network, or request-path overhead; check region distance and connection reuse | Measuring latency |
Slow complete response, processing close to wall clock | Server-side processing or generation | Measuring latency |
| Slow first token on a streamed response | Network, queueing, or prompt processing; processing alone cannot separate them | Measuring latency |
| Verification/reset email missing | Delivery delay or spam filter | Account |
| Usage dashboard does not show rejected requests | Rejected requests are not included in usage totals | Rate limits |
Isolate the source
Use these checks to isolate the problem:
- Record wall clock and
Server-Timingon a slow request. For a complete response, compare the two to estimate client/network overhead. For a streamed response, also record time to first token; do not subtractprocessingfrom it because stream headers arrive before prompt processing finishes. See Measuring latency. - Curl the endpoint directly (the Quickstart request, verbatim). If curl succeeds while your app fails, the difference is in your app's headers, body, or networking. Compare them field by field.
The Playground calls the same API from the browser and can help separate API-key or prompt issues from client-code issues.
Contacting support
Write to support@celeris.ai for API, account, sign-in, or billing questions. Include the following information:
- Trace IDs of failing requests. Send
X-Client-Trace-Idon every call and log the echoed value so support can locate the affected requests. - Timestamps in UTC, with the serving region and model shown in the console.
- The HTTP status and
error.code(or the raw error body), and whether a retry succeeded. Server-Timingvalues and wall-clock duration for latency reports.- What changed, if anything: new deploy, new key, traffic ramp.
Do not include an API key. If you suspect a key is exposed, rotate it first, then write to us.
Use the same address for billing questions, reserved capacity, or custom terms. Self-service options live under Settings → Billing; see Console & billing.