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

# Errors

# Errors

Partner endpoints return a consistent envelope:

```json theme={null}
{
  "status": "error",
  "message": "Human-readable summary",
  "data": { }
}
```

HTTP status codes follow REST conventions. **`message`** is safe to show integrators; **`data`** may include field-level hints.

## Common HTTP statuses

| Status | Meaning                                     | Retry?                        |
| ------ | ------------------------------------------- | ----------------------------- |
| `400`  | Malformed request                           | Fix payload                   |
| `401`  | Missing or invalid `X-API-Key`              | Fix auth                      |
| `422`  | Validation — missing/invalid fields         | Fix payload; see `data.field` |
| `409`  | Quote already accepted or conflict          | Use new quote or fetch order  |
| `410`  | Quote expired                               | Create a new quote            |
| `502`  | Payment rail temporarily unavailable        | Retry with backoff            |
| `503`  | Corridor not configured on this environment | Contact support               |

## Validation errors (422)

Quote validation often returns:

```json theme={null}
{
  "status": "error",
  "message": "payment_method.network_id is required for this rail",
  "data": {
    "field": "payment_method.network_id"
  }
}
```

| `data.field`                    | Typical fix                                                                                                                                                                                                                                                          |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payment_method.network_id`     | Call `GET /partner/catalog?country=…&order_type=…` or `GET /partner/payment-methods?country=…&order_type=…` matching the quote (African retail bank; skip ledger deposit-account rail ids). See [Nigeria](/corridors/nigeria) / [Kenya](/corridors/kenya) Discovery. |
| `payment_method.phone_number`   | E.164 MSISDN on momo rails                                                                                                                                                                                                                                           |
| `customer.name`                 | First and last name (two words)                                                                                                                                                                                                                                      |
| `customer.dob`                  | `mm/dd/yyyy` on African retail corridors                                                                                                                                                                                                                             |
| `customer.additional_id_number` | Nigeria BVN required for retail                                                                                                                                                                                                                                      |

## Quote lifecycle errors

| Situation                     | Status | Action                                    |
| ----------------------------- | ------ | ----------------------------------------- |
| Quote TTL passed              | `410`  | `POST /partner/orders/quote` again        |
| Accept after accept           | `409`  | Idempotent — use returned `order_id`      |
| Amount below corridor minimum | `422`  | Check `providers[].min_amount` in catalog |

## Support

When contacting **[compliance@elementpay.net](mailto:compliance@elementpay.net)**, include your `customer.uid` and `quote_id` so we can trace the request.
