> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyperdash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors

> Error format and every error code the API returns.

Errors use RFC 9457 problem details (`application/problem+json`) with a stable `code`. Branch on `code`, never on `title` or `detail`. Many errors include a `hint` with the fix. Errors never cost anything. Most carry `X-Credits-Charged: 0` and an `X-Problem-Code` header. Most `429` and `503` responses also include `Retry-After` in seconds, and `retry_after_s` in the body.

```json theme={null}
{
  "type": "https://data.hyperdash.com/errors/invalid_parameter",
  "title": "Invalid parameter",
  "status": 400,
  "code": "invalid_parameter",
  "detail": "interval must be one of 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 8h, 12h, 1d, 3d, 1w, 1M",
  "request_id": "019a3c4e-7b2d-7f10-9c4a-2e6d1b8f0a53"
}
```

| Status | Code | Meaning and fix |
| - | - | - |
| 400 | `invalid_parameter` | A parameter is malformed or out of range, or the cursor has expired or doesn't match the query. |
| 400 | `range_too_large` | The time range exceeds the endpoint's maximum, or the response would exceed 2 MiB (16 MiB on batch endpoints). Narrow the range or lower `limit`. |
| 401 | `invalid_key` | The key is missing or malformed. |
| 401 | `expired_key` | The key has expired. Create a new key. |
| 401 | `revoked_key` | The key was revoked. |
| 403 | `insufficient_scope` | The key lacks the scope this endpoint needs. |
| 403 | `ip_not_allowed` | The source IP is not on the key's allowlist. |
| 403 | `plan_required` | The workspace has no active plan. Live keys stop working; test keys keep working. |
| 403 | `workspace_suspended` | The workspace is suspended. Contact support. |
| 403 | `history_limit` | Your plan doesn't include that much history. `detail` states your plan's history depth. See [Plans and limits](https://docs.hyperdash.com/data-api/plans.md). |
| 403 | `feature_not_in_plan` | Your plan doesn't include this endpoint or feature. See [Plans](https://docs.hyperdash.com/data-api/plans.md#features-by-plan). |
| 403 | `credits_exhausted` | No credits left, or a key or project budget is used up. Buy credits in the console (**Credits**), upgrade, or wait for the budget to reset. |
| 403 | `max_credits_exceeded` | The request's maximum cost exceeds `X-Max-Credits` or the key's per-request maximum. |
| 404 | `not_found` | Unknown market, address with no history, or unknown route. |
| 409 | `idempotency_conflict` | The same `Idempotency-Key` was sent with a different body. |
| 409 | `job_not_ready` | The async job hasn't finished. Poll again. |
| 409 | `price_changed` | The endpoint's price changed since the `X-Credit-Price-Version` you sent. Quote again. |
| 409 | `snapshot_expired` | The snapshot you were paging through has expired. Start again. |
| 429 | `rate_limited` | Too many requests or too many concurrent requests. Wait for `Retry-After`. |
| 429 | `extraction_limit` | A bulk extraction budget is used up. Wait for `Retry-After`. |
| 429 | `jobs_limit` | Too many active or daily async jobs. |
| 502 | `upstream_error` | A data source returned an error. Retry with backoff. |
| 503 | `upstream_busy` | A data source is protecting itself. Retry after `Retry-After`. |
| 503 | `unavailable` | We can't serve the request safely right now. Retry after `Retry-After`. |
| 503 | `extraction_unavailable` | Extraction budgets can't be checked right now. Retry after `Retry-After`. |
| 504 | `upstream_timeout` | A data source timed out. Retry with backoff. |

Quote the `request_id` when you contact support.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.