Skip to content

Ripple Payments Direct 2.0 returns standardized error responses for all API requests.

Errors are consistent across services, making it easier to log, monitor, and troubleshoot integration issues.

Error response body schema

All error responses share the same structure:

FieldTypeDescription
codestringA unique identifier for the error (for example, USR_067).
typestringThe error category. One of: AUTH_ERROR, USER_ERROR, NOT_FOUND, CONFIGURATION_ERROR, SYSTEM_ERROR.
titlestringA short, human-readable summary of the error.
descriptionstringA concise explanation of the error. May include recovery instructions.
statusintegerThe HTTP status code associated with the error.
timestampstring (ISO 8601)The time at which the error occurred.

Example error response

{
  "code": "USR_067",
  "type": "USER_ERROR",
  "title": "Insufficient balance",
  "description": "Payment failed due to insufficient balance. Add funds before retrying.",
  "status": 402,
  "timestamp": "2025-08-21T10:15:30Z"
}

Handling API errors

When building your integration:

  • Always log and monitor the code and status fields in every error response.
  • Check the error code first when deciding how to handle errors. Do not rely solely on the HTTP status code.
  • Treat the description field as guidance for humans, not programmatic logic. Its wording may change between releases.

Transient vs. permanent errors

Some errors are transient and can be retried; others indicate a condition that must be resolved before resubmitting.

Error typeHTTP statusRetry?Recommended action
USER_ERROR400, 404, 415NoFix the request and resubmit.
USER_ERROR402No (until resolved)Resolve the underlying condition (balance, limits, or identity details) before retrying.
NOT_FOUND404NoVerify the resource ID and resubmit.
AUTH_ERROR401After token refreshRegenerate your access token and retry.
AUTH_ERROR403NoVerify that your token has the required scopes for this action.
SYSTEM_ERROR500Yes, with backoffRetry with exponential backoff. Contact Ripple technical support if the issue persists.
CONFIGURATION_ERROR500NoContact Ripple technical support.

For the complete list of error codes, see the API error codes reference.

For guidance on retry strategy, exponential backoff, and monitoring, see Error handling and retry strategy.