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

# Errors

> Error response shape and common status codes for the Swap API.

## Error shape

Errors are returned as JSON:

```json theme={null}
{ "error": "<message>" }
```

## Status codes

| Status | Example error         | Meaning                                                              |
| ------ | --------------------- | -------------------------------------------------------------------- |
| 400    | varies                | Invalid params, unsupported token, no route, or swap-building error. |
| 401    | unauthorized          | Missing, malformed, invalid, disabled, or expired API key.           |
| 403    | forbidden             | API key is valid but not allowed to call this endpoint.              |
| 429    | rate limit exceeded   | Per-key rate limit exceeded.                                         |
| 500    | internal server error | Unexpected backend error.                                            |

## Notes

* Integrator API keys are created through the wallet-signed onboarding flow and
  may require Rialto approval before activation.
* API keys may be scoped to quote-only, execution, or integrator access, and may
  have rate limits or expiry.
* Quotes depend on live liquidity and may become stale quickly. Request a fresh
  quote if the user waits.
* In direct flow, submit transactions from the taker wallet. In gasless flow, the
  taker signs Permit2 and Rialto relays the transaction.
