Create an ACH debit collection with rail-native parameters (SEC code, same-day vs standard). The payment method must be of type us_bank.
ACH return window: ACH debits can be returned for up to 60 calendar days after settlement. Even after completed status, a return may arrive.
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.
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.
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.
Idempotency key for this request. UUID v4 recommended. Max 128 characters. 24-hour retention. Same key + same body replays original response with Idempotency-Replayed: true. Same key + different body returns 409 (code: duplicate_idempotency_key). Same key while the original request is still processing returns 409 with a Retry-After header (code: idempotency_key_in_flight).
128"550e8400-e29b-41d4-a716-446655440000"
Create an ACH debit collection with rail-native parameters.
Account where collected funds will be credited.
^acc_[A-Za-z0-9]+$"acc_01953e1a5f4b7002"
Payment method of type us_bank.
^pm_[A-Za-z0-9]+$"pm_01953e1a5f4b7300"
Monetary amount for request input. Value MUST be in smallest currency unit (e.g., cents for USD, pence for GBP). Server derives exponent from currency.
{ "currency": "USD", "value": "150000" }Counterparty being debited. Derived from payment method if omitted.
^cpt_[A-Za-z0-9]+$"cpt_01953e1a5f4b7004"
ACH processing speed. Defaults to standard.
standard, same_day NACHA SEC code. Defaults to WEB.
WEB, PPD, CCD Payment reference for reconciliation.
Purpose of the collection.
Consumer-defined key-value store. Available on all primary resources. Max 50 keys. Keys must match ^[a-zA-Z0-9_]{1,40}$. Values are strings (max 500 chars) or null.
ACH collection created.
An initiated inbound pull payment. Collections debit an external account (via the counterparty's payment method) and credit an OpenFX account. ACH debit collections have a 60-day return window even after completion.
Collection resource identifier.
^col_[A-Za-z0-9]+$"col_01953e1a5f4b7c00"
Customer resource identifier.
^cus_[A-Za-z0-9]+$"cus_01953e1a5f4b7000"
Account where collected funds are credited.
^acc_[A-Za-z0-9]+$"acc_01953e1a5f4b7002"
Counterparty resource identifier.
^cpt_[A-Za-z0-9]+$"cpt_01953e1a5f4b7004"
External account being debited (e.g., us_bank type).
^pm_[A-Za-z0-9]+$"pm_01953e1a5f4b7300"
Rail used for the collection. Currently ACH only. SEPA Direct Debit and other pull-payment rails will be added in future versions.
ach Monetary amount with exponent-based precision. Value is in smallest currency unit (e.g., cents for USD). displayValue is the human-readable decimal.
{
"currency": "USD",
"exponent": 2,
"value": "150000",
"displayValue": "1500.00"
}Always inbound — funds flow from external to OpenFX. Collections are pull payments initiated by the platform.
inbound Collection lifecycle status. ACH debits have a 60-day return window even after reaching completed.
pending, requires_action, submitted, processing, completed, returned, failed, canceled UTC timestamp in RFC 3339 / ISO 8601 format.
"2026-02-23T12:00:00Z"
Whether the payment can currently be canceled.
cancelable, not_cancelable Reason why a collection is in requires_action status.
compliance_hold, rfi_pending, authorization_required Read-only compliance metadata on payments and counterparties.
Fee details on payments and estimates. Per ADR-0006.
Net amount credited after fees.
{
"currency": "USD",
"exponent": 2,
"value": "150000",
"displayValue": "1500.00"
}Payment reference for reconciliation.
Purpose of the collection.
Rail-specific details (ACH trace number, etc.).
ACH return reason code, present when status is returned.
R01, R02, R03, R04, R05, R06, R07, R08, R09, R10, R11, R13, R14, R15, R16, R17, R20, R23, R29, R51 Consumer-defined key-value store. Available on all primary resources. Max 50 keys. Keys must match ^[a-zA-Z0-9_]{1,40}$. Values are strings (max 500 chars) or null.
UTC timestamp in RFC 3339 / ISO 8601 format.
"2026-02-23T12:00:00Z"
UTC timestamp in RFC 3339 / ISO 8601 format.
"2026-02-23T12:00:00Z"
UTC timestamp in RFC 3339 / ISO 8601 format.
"2026-02-23T12:00:00Z"