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

# Errors

> One error body for every failure. Act on code.

Every error answers the same body:

```json theme={null}
{
  "error": {
    "type": "invalid_request",
    "code": "NOT_FOUND",
    "message": "Trader not found.",
    "requestId": "req_…"
  }
}
```

> [!TIP]
>
> Act on `code`. `message` is for people and can change. Quote `requestId` when
> you write to us.

| HTTP | `type` | `code` | When |
| - | - | - | - |
| 400 | `invalid_request` | `INVALID_ARGUMENT` | A parameter, id, cursor or body is malformed, or the operation does not take it. |
| 401 | `authentication` | `UNAUTHENTICATED` | No key, or the key is unknown, revoked or expired. |
| 402 | `quota` | `QUOTA_EXCEEDED` | The credit balance cannot pay for the call. |
| 402 | `quota` | `REVEAL_LIMIT_REACHED` | The answer needs a reveal and the key has used every reveal this month. |
| 403 | `permission` | `PERMISSION_DENIED` | The key may not make the call: it has no REST scope, its plan is switched off, or a free key asked for a reveal. |
| 403 | `permission` | `PLAN_REQUIRED` | The plan of the key does not include the stream. REST calls never answer it. |
| 404 | `invalid_request` | `NOT_FOUND` | The subject of the call does not exist, or no route has this method and path. |
| 429 | `rate_limit` | `RATE_LIMITED` | Too many requests from the key or the address. Wait `Retry-After` seconds. |
| 500 | `internal` | `INTERNAL` | The call failed on our side. Retry with backoff. |
| 503 | `overloaded` | `OVERLOADED` | The API holds too many requests at once. Wait `Retry-After` seconds. |

* `429` and `503` carry `Retry-After` in seconds.
* A query parameter the operation does not list answers `400`.
* A refusal (`400`, `401`, `402`, `403`, `429`, `503`) costs nothing. A `404`
  costs the operation's miss price.

## Not found or empty

A lookup that matches nothing, a token we never saw and a trader without wallets
answer `200` with an empty page, not `404`. Each endpoint page lists when it
answers `404`.


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