| Code | Status | Detail |
|---|---|---|
agent_payer_not_notifiable | 400 | Cannot resend a payment request notification to an agent payer — agents receive in-app webhooks only. |
invalid_pagination_cursor | 400 | Invalid pagination cursor. |
invalid_value | 400 | The information you entered isn’t valid. Please check it and try again. |
no_payer_contact | 400 | Payment request has no contact on file to resend the notification to. |
unauthenticated | 401 | Authentication is required. |
forbidden | 403 | You do not have permission to perform this action. |
linked_account_not_found | 404 | Linked bank account not found. |
payer_agent_not_found | 404 | The specified payer agent does not exist. |
payer_handle_not_found | 404 | No account was found for the specified handle. |
payment_request_not_found | 404 | Payment request not found. |
already_exists | 409 | The resource already exists. |
conflict | 409 | The request conflicts with the current resource state. |
wallet_closed | 409 | This wallet is closed. |
wallet_not_active | 409 | You cannot request payments into a frozen wallet. |
payer_agent_not_eligible | 422 | The specified payer agent cannot be charged for wallet-backed payments. |
payer_handle_invalid | 422 | The specified handle is not a valid handle. |
sandbox_unknown_recipient_unsupported | 422 | Unknown recipients are not supported in sandbox. Send payments to an existing sandbox party or create a sandbox test customer. |
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. |
Resource errors
Payment Requests
Public error codes for Payment Requests API endpoints
All error responses follow the standard error format.
Validation errors (422) and rate limit errors (429) apply to all endpoints and are documented in the Error Handling guide.