Skip to main content
POST
Read bank account requirements first for each country’s fields and current availability. Linking is implemented for the United States, the Philippines and Vietnam; the other country variants in the request schema describe planned inputs and stay unavailable. An individual UPA needs approved KYC. A business UPA can link a US/USD bank after hosted KYB and provider approval. Both require an enabled linked-bank route. 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. All normalized bank details are stored with KMS-backed envelope encryption. Raw bank details and encrypted storage metadata are never returned. Linking does not enable payout or settlement execution. 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. See Off-ramps.

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. Planned country profiles remain unavailable until their compatible provider adapter and route are enabled. Shortcut identifiers require separate rail integration.

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