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

> ## Agent Instructions
> When building application code, use `@naturalpay/sdk` for TypeScript or `naturalpay` for Python.
> When operating Natural directly for a user, use the payments MCP at `https://mcp.natural.com`.
> When searching Natural documentation, use the docs MCP at `https://docs.natural.com/mcp`.
> Use the Natural CLI for terminal and CI automation.
> Use REST only for unsupported languages or when the user explicitly requests raw HTTP.
> Start integration development and testing in the sandbox. Do not use production unless the user explicitly requests it.
> For sandbox requests that require `customerPartyId`, list customers first. Reuse only the intended fixture; otherwise create a customer.
> REST and SDK amounts use integer minor units. Payments MCP amounts use decimal strings with a required currency code.

# External Parties

> Public error codes for External Parties API endpoints

All error responses follow the standard [error format](/api-reference/errors/error-handling).
Validation errors (422) and rate limit errors (429) apply to all endpoints and are documented in the [Error Handling guide](/api-reference/errors/error-handling).

| Code                                | Status | Detail                                                                                                                 |
| ----------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------- |
| `external_party.invalid_phone`      | 400    | Phone number must be valid.                                                                                            |
| `invalid_value`                     | 400    | The information you entered isn't valid. Please check it and try again.                                                |
| `party.descriptor_name_unavailable` | 400    | Customer party has no usable descriptor name (legal name or first and last name).                                      |
| `unauthenticated`                   | 401    | Authentication is required.                                                                                            |
| `direct.not_enabled`                | 403    | Direct is not enabled for this program.                                                                                |
| `forbidden`                         | 403    | You do not have permission to perform this action.                                                                     |
| `not_found`                         | 404    | The requested resource was not found.                                                                                  |
| `already_exists`                    | 409    | The resource already exists.                                                                                           |
| `conflict`                          | 409    | The request conflicts with the current resource state.                                                                 |
| `rate_limited`                      | 429    | Too many requests. Please try again later.                                                                             |
| `server_error`                      | 500    | Something went wrong.                                                                                                  |
| `bad_gateway`                       | 502    | We couldn't complete that request because one of Natural's services returned an unexpected response. Please try again. |
| `service_unavailable`               | 503    | The service is temporarily unavailable.                                                                                |
