Skip to main content
POST
Read bank account requirements first for each country’s fields and current availability. Linking is available for the United States, the Philippines and Vietnam, and must be enabled for your app. An individual UPA needs approved KYC. A business UPA can link a US/USD bank once its hosted business verification (KYB) is approved. A linked bank is a saved beneficiary and can belong to a supplier, contractor or the UPA subject. Linking does not prove ownership by the UPA subject. Only a US linked bank can be paid. Once it is active, create a send Payment with destination.type: "bank_account"; see Off-ramps. A linked bank cannot receive settlement. Full bank details are never returned; responses show accountNumberLast4. Idempotency-Key is required and must contain 1–256 characters after trimming surrounding whitespace. Preserve the original body and key after an uncertain response; changed input conflicts.

Authorizations

Authorization
string
header
required

HTTP Basic auth. Username is the Stableyard app ID. Password is the app secret. The optional Stableyard-Version request header must match the environment pin.

Headers

Idempotency-Key
string
required

Required retry key for linking a bank account or rail identifier: 1-256 characters after trimming surrounding whitespace. Retry the identical request with the same key; changed input returns a conflict.

Required string length: 1 - 256
Example:

"bank-beneficiary-supplier-123"

Stableyard-Version
enum<string>

Optional contract-version assertion. Omit it to use the app environment's pinned version. A different supported version is accepted only after that environment is explicitly migrated.

Available options:
2026-09-09

Path Parameters

accountId
string
required

Canonical account id returned by the Accounts API.

Example:

"acct_123"

Body

application/json

Country-specific bank inputs.

country
string
required
Allowed value: "US"
currency
string
required
Allowed value: "USD"
accountHolderName
string
required
Required string length: 1 - 160
bankName
string
required
Required string length: 1 - 160
accountNumber
string
required
write-only
Required string length: 4 - 17
Pattern: ^[0-9]{4,17}$
accountType
enum<string>
required
Available options:
checking,
savings
routing
object
required
beneficiaryAddress
Beneficiary address · object
required
bankAddress
Bank address · object
required
beneficiaryType
enum<string>
default:individual
Available options:
individual,
business
rail
enum<string>
default:ach
Available options:
ach,
fedwire,
fednow

Response

Linked bank account

bankAccount
object
required
settlementDestination
object
required
provisioning
object
required