Skip to main content
All Natural API errors follow a standard JSON:API-style format with stable public codes and safe display copy.

Error response format

Every error response contains an errors array with one or more error objects:
Each error object contains:

Metadata

Public error responses include meta.supportId by default. Natural keeps internal detail in its logs, keyed by supportId. A rate-limited or capped request may also carry meta.retryAfter (an RFC 3339 timestamp) and, on a card payment cap, meta.limitScope (merchant or program). The exception is external account errors that can be repaired by relinking: those may also include meta.connectionStatus (login_required or disconnected) and meta.provider with the provider’s error code, type, and request ID.

Rate limit errors

Requests over the rate limit receive a 429 with code rate_limited. The response carries a Retry-After header with the seconds to wait before retrying. See Rate limits.

Validation errors

Validation responses contain one error object for each invalid request value. Each detail gives a safe, schema-specific reason, while source.pointer identifies the exact location in the request. invalid_value is 422 for a request-shape failure and 400 for a well-formed value the endpoint cannot accept:

Cross-cutting errors

These errors depend on how a request is authenticated and attributed rather than on the resource being called, so the per-resource error pages do not list them. Most apply to requests made with agent credentials or on behalf of another party.