## Responses and errors

A successful answer is `{"result": …}`. Every tool's result carries a `summary` in plain words, a `generated_at` timestamp and the sources and coverage of the history it used; most also carry a `verdict`.

An error is `{"error": "<kind>", "context": "<what happened and what to do>"}`:

| Status | error | Meaning |
| --- | --- | --- |
| `400` | `invalid_request` | A parameter is missing or wrong, for example "Missing parameter mint". No credits are used. |
| `401` | `unauthorized` | The key or session is missing, invalid or revoked. |
| `402` | `—` | The call needs a payment; see Credits and paying. Not an error body: the requirements are in Payment-Required. |
| `403` | `forbidden` | The account is disabled, or the action needs a confirmed email. |
| `404` | `not_found` | Unknown endpoint, or the thing asked about was not found. |
| `409` | `conflict` | The request clashes with the account state, such as a key limit or a used trial. |
| `429` | `rate_limited` | Too many requests; wait for Retry-After. |
| `502` | `upstream` | A Solana RPC or data source did not answer; retry later. No credits are used. |
| `503` | `pending` | The analysis is still running in the background; retry after Retry-After (60 s). |
| `500` | `internal` | Something failed on our side; no credits are used. |

Source: https://dexra.dev/docs/responses
