Skip to main content
Rails B2B API uses standard HTTP response codes to indicate the success or failure of an API request. In general:
  • Codes in the 2xx range indicate success.
  • Codes in the 4xx range indicate an error that failed given the information provided.
  • Codes in the 5xx range indicate a service error (e.g. liquidity or bridge issues).

Error Response Schema

All error responses return the standard envelope with status: "error", where data contains a machine-readable code and detail attributes.
Error Payload
{
  "status": "error",
  "message": "Validation failed",
  "data": {
    "code": "INSUFFICIENT_LP_LIQUIDITY",
    "detail": "No settlement capacity available for the requested corridor and amount."
  }
}

Machine-Readable Error Codes

When writing logic to handle errors programmatically, inspect the data.code string:
Code StringHTTP StatusMeaning & Resolution
UNAUTHENTICATED401Missing or invalid auth header or API key.
FORBIDDEN403The authenticated profile lacks the required scope (e.g. sender profile required).
INVALID_REQUEST400Bad payload structure, missing parameters, or invalid format.
UNSUPPORTED_CURRENCY400The selected target fiat currency is not supported or not active.
UNSUPPORTED_COIN400The selected stablecoin type is not supported in the Move Gateway.
RECIPIENT_VALIDATION_FAILED400Payout bank account failed validation pre-check.
IDEMPOTENCY_KEY_MISMATCH409Replayed request payload does not match the first cached request.
INSUFFICIENT_LP_LIQUIDITY503No settlement capacity available for the requested corridor and amount.
BRIDGE_UNAVAILABLE503LiFi quote failed, or all bridge nodes are offline.
MATCHING_PAUSED503Order matching is temporarily paused for maintenance.
RATE_LIMITED429Requests exceeded the throttling limits. Back off and retry.
INTERNAL_ERROR500Server-side exception. Correlate with request logs.