Swipelux
Concepts

Rails

Rails describe payment capabilities available to a customer.

Rails describe how funds can move for a customer. The supported rail catalog and the rails a customer can request are related, but they are not the same list.

GET /v1/meta/rails returns the broader rail catalog. Customer rail verification currently accepts qualified bank-transfer rails for ach, fedwire, sepa, swift, and pix, plus base aliases for those rails.

Rail request and status responses use cfr_* IDs. These identify customer rail status rows only. Do not pass a cfr_* ID where an account or payout destination is expected; use the returned acc_* customer account ID or racc_* recipient account ID instead.

Qualified Fiat Rails

Qualified rails use {base}_{variant}. Pooled rails use shared deposit details and support pay-ins. Named rails support dedicated virtual accounts.

VariantMeaning
pooledShared deposit details, reference-based reconciliation, pay-ins.
namedDedicated virtual account details for a customer.

Readiness Gates

Account creation, account import, recipient-account creation, and bank-rail quote flows require the matching customer rail to be ready_to_use. If the rail has not been requested or is still under review, the API returns 409 rail_not_ready before provider setup begins.

{
  "error": true,
  "success": false,
  "code": "rail_not_ready",
  "rail": "ach",
  "requiredRails": ["ach_pooled", "ach_named"],
  "requestRailEndpoint": "/v1/customers/cus_xxx/rails",
  "nextAction": "Call POST /v1/customers/cus_xxx/rails with {\"rails\":[\"ach\"]}, then retry after the returned rail is ready_to_use.",
  "message": "No ACH rail is ready for this customer. Request and complete verification for one of: ach_pooled, ach_named."
}

Use requestRailEndpoint and requiredRails to guide the customer through the missing rail request. Retry the account or quote call only after the rail returns ready_to_use.

The v2 customer rail overview can also return status: "action_required" with statusReason when a BlindPay quote-probe rail needs attention. Known customer-fixable failures use remediation messages for invalid phone number, unsupported country, invalid tax ID, or document upload failure. Other failed quote probes return We couldn't verify this rail automatically. Please reach out to support. Provider diagnostics and trace IDs stay internal.

Business Rail Applications

For business customers, use the business-specific v2 rail resources when building rail onboarding screens:

GET  /v2/customers/business/{customerId}/rails
POST /v2/customers/business/{customerId}/rail-applications
GET  /v2/customers/business/{customerId}/rail-applications

GET /v2/customers/business/{customerId}/rails returns every exposed rail for the business, including rails that have not been requested yet. Rails with status: "available" can be submitted through the rail-applications endpoint. Rails with status: "unavailable" cannot be requested for that customer.

Rail application resources are per-rail review records. Application statuses are ready_for_review, in_review, needs_information, active, and declined. The response includes reason, requirements, selected banks, submittedAt, and updatedAt.

API Reference

OperationUse it for
GET /v1/meta/railsRetrieve the supported rail catalog.
POST /v1/customers/{customerId}/railsRequest fiat rail verification.
GET /v1/customers/{customerId}/railsList a customer's requested rails.
GET /v1/customers/{customerId}/rails/{rail}Check one customer rail.
GET /v2/customers/business/{customerId}/railsList business rail states.
POST /v2/customers/business/{customerId}/rail-applicationsCreate or advance business rail applications.

On this page