| Code | Status | Detail |
|---|---|---|
ach.not_cancellable | 400 | ACH is not cancellable. |
ach.rejected | 400 | ACH could not be initiated. |
external_party_account.not_validated | 400 | ACH debits require a validated external party account. |
external_party_account.validation_failed | 400 | External party account failed bank account validation. |
external_party.archived | 400 | External party is archived. |
external_party.screening_not_clear | 400 | External party screening must be clear before ACH creation. |
invalid_value | 400 | The information you entered isn’t valid. Please check it and try again. |
mandate.account_mismatch | 400 | Mandate cannot authorize this ACH debit. |
mandate.already_consumed | 400 | Mandate cannot authorize this ACH debit. |
mandate.amount_exceeds_terms | 400 | Mandate cannot authorize this ACH debit. |
mandate.currency_mismatch | 400 | Mandate cannot authorize this ACH debit. |
mandate.expired | 400 | Mandate cannot authorize this ACH debit. |
mandate.not_active | 400 | Mandate cannot authorize this ACH debit. |
mandate.not_allowed | 400 | ACH credits cannot include a mandate. |
mandate.not_effective | 400 | Mandate cannot authorize this ACH debit. |
mandate.originator_mismatch | 400 | Mandate cannot authorize this ACH debit. |
mandate.required | 400 | ACH debits require a mandate. |
mandate.revoked | 400 | Mandate cannot authorize this ACH debit. |
pagination.invalid_cursor | 400 | Invalid pagination cursor. |
party.descriptor_name_unavailable | 400 | Customer party has no usable descriptor name (legal name or first and last name). |
policy.denied | 400 | ACH was denied by policy. |
wallet.insufficient_balance | 400 | Wallet has insufficient available balance. |
wallet.required | 400 | Select a wallet for this ACH. |
unauthenticated | 401 | Authentication is required. |
ach.not_enabled | 403 | ACH is not enabled for this program. |
forbidden | 403 | You do not have permission to perform this action. |
policy.forbidden | 403 | ACH is not allowed by policy. |
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. |
wallet.balance_unavailable | 503 | Wallet balance is temporarily unavailable. |
Resource errors
ACH
Public error codes for ACH 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.