POST
/
rails
/
{rail}
/
validate
Validate rail payment fields
curl --request POST \
  --url https://sandbox.api.openfx.com/v1/rails/{rail}/validate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Signature: <api-key>' \
  --header 'X-Timestamp: <api-key>' \
  --data '{}'
{
  "valid": false,
  "rail": "ach",
  "fieldErrors": [
    {
      "field": "routingNumber",
      "code": "invalid_format",
      "message": "Routing number must be exactly 9 digits."
    },
    {
      "field": "amount.value",
      "code": "out_of_range",
      "message": "Amount exceeds the maximum for ACH same-day ($1,000,000)."
    }
  ]
}

Authorizations

Authorization
string
header
required

API key issued at onboarding. Passed as a Bearer token in the Authorization header: Authorization: Bearer <api-key>. Identifies the caller and determines organization scope. Invalid or revoked keys return 401 with error type authentication_error.

X-Signature
string
header
required

Ed25519 or RSA-SHA256 asymmetric signature over the request payload (ADR-0015). Provides request integrity and non-repudiation. The signature covers the HTTP method, path, query string, request body, and timestamp. Invalid signatures return 401 with error type authentication_error.

X-Timestamp
string
header
required

Unix timestamp (seconds) of when the request was signed. Server rejects requests where the timestamp drifts beyond +/-60 seconds from server time to prevent replay attacks. Must match the timestamp used in the signature computation.

Path Parameters

rail
enum<string>
required

Payment rail used for delivery.

Available options:
ach,
fedwire,
swift,
crypto,
open

Body

application/json

Payment fields to validate. Accepts any fields valid for the specified rail's payment creation endpoint.

Response

Validation passed — all fields are valid for this rail.

Result of pre-flight rail payment validation.

valid
boolean
required

Whether all provided fields passed validation.

rail
enum<string>
required

Payment rail used for delivery.

Available options:
ach,
fedwire,
swift,
crypto,
open
fieldErrors
object[]

List of field-level validation errors. Empty when valid is true.