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

# Errors

> Handle NorthFond API failures consistently.

Business API failures return a stable error code and human-readable message. Record the `X-Request-Id` response header and provide it to support.

```json theme={null}
{
  "error": {
    "code": "invalid_request",
    "message": "The request body is invalid.",
    "requestId": "2ea8064d-a6ef-49b4-8b7e-f27b57ca927c",
    "details": {}
  }
}
```

| Status | Meaning                                                     |
| ------ | ----------------------------------------------------------- |
| `400`  | Invalid request or unsupported combination                  |
| `401`  | Missing, malformed, expired, or revoked credential          |
| `403`  | Missing scope, blocked IP, disabled route, or policy denial |
| `404`  | Resource not found in the authenticated tenant/environment  |
| `409`  | Idempotency conflict or invalid resource state              |
| `422`  | Valid shape but failed business validation                  |
| `429`  | Rate or policy limit exceeded                               |
| `500`  | Unexpected server error                                     |

## Retry safely

Retry `429` and transient `5xx` responses with exponential backoff and jitter. Honor `Retry-After` when present and cap the number of attempts. Reuse the original `Idempotency-Key` for a retried write. Do not retry validation or authorization failures without changing the request or credential.
