Errors, Statuses & Troubleshooting
Common error responses, endpoint statuses, and how to debug inference issues.
Errors, Statuses & Troubleshooting
Error Response Format
OpenAI-compatible inference (preferred)
Elastic OpenAI-style routes (/api/chat/completions, /api/embeddings, /api/models, /api/completions, /api/responses, …) return a dual shape — object error for OpenAI SDKs, plus top-level message for older parsers:
{
"error": {
"message": "Human readable message",
"type": "invalid_request_error",
"code": "optional_code",
"param": null
},
"message": "Human readable message"
}Prefer error.message or top-level message. Do not assume error is a bare string.
Legacy / other APIs
Some older or non-OpenAI surfaces still use:
{
"error": "Human readable message"
}Some APIs also return a machine-readable code field (for example Chronos). HTTP status codes are meaningful.
Common Errors (Elastic & Dedicated)
| Status | Error Message | Cause / Fix |
|---|---|---|
| 401 | Invalid API key | Key missing, malformed, or revoked. Regenerate. |
| 401 | Missing or invalid Authorization header | No Bearer token when the endpoint requires auth. |
| 403 | You must generate an API key first to use inference. | Logged-in session user has zero active keys. Create one. |
| 403 | Unauthorized access to dedicated endpoint | Trying to call an endpt- ID you do not own. |
| 403 | Forbidden: Access denied. | Using a key that does not own the dedicated endpoint (only applies to /api/d/{id}/... routes). |
| 402 | Insufficient balance / payment required | Prepaid balance too low for elastic, tools, or Chronos; top up under Settings → Billing. |
| 429 | Rate limited / provider capacity | Upstream provider throttle or temporary capacity. Retry with exponential backoff. On some Elastic models Hypervize may automatically fall back to another catalog model before you see an error — see Elastic Inference → Fallbacks. |
| 503 | Service temporarily unavailable | Upstream overloaded or unavailable. Retry with backoff. |
| 504 | Gateway / hop timeout | Upstream or edge timed out. Retry with backoff. Bound work per request (see agent wall clock ~13 min below). |
| 500 | Failed to communicate with inference engine | Upstream error from the inference network. Retry with backoff. |
| 500 | Internal Server Error | Unexpected failure. Retry with backoff, check the status page, or contact support. |
Dual-shape OpenAI errors include error.type (e.g. rate_limit_error on 429). Prefer that and error.message over assuming a bare string.
Chronos Errors
| Status / code | Cause / Fix |
|---|---|
403 chronos_not_enabled | Chronos not enabled for your account. Turn it on under Alexandria or Chat tools. |
403 chronos_disabled | Chronos is turned off for the platform right now (platform flag). Retry later or contact support. |
402 balance errors | Prepaid balance too low for the run fee / tools / model steps. |
400 validation_error | Missing name, schedule, timezone, or steps. |
Full Chronos error table: Chronos → Errors.
Dedicated Endpoint Statuses
See the Dedicated Inference page for the full table.
Key ones for debugging (dashboard product language in quotes):
building— PROVISIONING. Normal during first 2–10 minutes. Do not call yet.up— ONLINE. Healthy.hibernated— SLEEPING (scale-to-zero). First request wakes the endpoint.waking— WAKING UP. Brief delay; status usually updates within about a minute.failed— FAILED. Check Logs. Common causes: model too large for hardware, gated model without token, container crash.
Terminate removes a dedicated endpoint from the dashboard detail page; it is not an API error state. See Dedicated Inference → Terminate.
Debugging Checklist
Elastic Calls Failing
- Verify the key is active in Settings → Keys.
- Confirm you are using a valid display name from the catalog.
- Try the exact same request in the dashboard playground (isolates client vs server issues).
- Check that your client properly handles SSE (many issues are on the consumer side).
- If unpaid, confirm free queries remain or prepaid balance is positive (Settings → Billing).
- On 429 / 503, retry with exponential backoff. Some models may already have tried an automatic fallback; a remaining error means capacity is still exhausted.
Dedicated Endpoint Not Responding
- Confirm status is ONLINE (
up) in the dashboard — not PROVISIONING, FAILED, or mid-WAKING UP. - Check the Logs tab for runtime startup errors or out-of-memory conditions.
- If you used a gated model, confirm the HF token was valid at provisioning time.
- Try the in-dashboard playground bound to that endpoint ID — it removes network variables.
- If tools fail only on dedicated, check prepaid balance (managed tools use prepaid, not the weekly GPU invoice).
Slow First Token / High Latency
- Large models on Elastic can have occasional cold-start latency on first request.
- Dedicated endpoints that have scaled to zero (SLEEPING) will wake on first request (WAKING UP). You'll see a clear message in the playground; allow a short delay — status usually updates within about a minute — before retrying. Cold starts are faster than a full model reload thanks to cached model weights.
- Very high
max_tokensor complex prompts increase time-to-first-token.
Long requests / agent wall clock
Elastic completions (stream or non-stream) share a platform wall-clock limit of about 13 minutes per request. That is the serverless function budget for the whole call (model + tools + managed loops), not only “time to first token.”
| If you see… | What to do |
|---|---|
| Failure near ~13 minutes | Split the agent into multiple requests (client-driven tool loop); do not hold one HTTP call for hours |
| Gateway 504 / upstream timeout | Retry with backoff; bound max_tokens; check status / support if platform-wide |
| Work that must run longer than ~13 minutes | Needs a batch / async jobs product (not live as a public long-hold completion API) |
Streaming remains available for progressive UI; it is not a way around the ~13 minute wall clock.
If timeouts persist on short requests, contact support@hypervize.tech.
Streaming Client Issues
If you are not seeing tokens:
- Make sure you are reading the response as a stream and parsing lines that start with
data:. - Do not buffer the entire response.
- Handle
data: [DONE]\n\nas the terminator. - Some frameworks (especially older
fetchwrappers) have poor SSE support — consider using a dedicated library (eventsource,openaiSDK, etc.).
See Code Examples for robust client patterns.
Related
- Dedicated Inference — statuses, scale-to-zero, terminate
- Billing & Payments
- Chronos
- Tool Calling
Still Stuck?
Reach out to support@hypervize.tech.