GuidesAPI ReferenceChangelog
Guides

External Accounts


Register a customer’s own bank account (an “external account”) to enable fiat withdrawals. The endpoint accepts US_FEDWIRE, US_ACH, US_RTP, SWIFT, SPEI, LOCAL_BANK_TRANSFER, CHATS, and FPS; availability depends on the account country, currency, and enabled payment routes. A unique external_account_id is assigned on success.

HTTP Request

POST
https://api.sandbox.1money.com/v1/customers/{customer_id}/external-accounts

Path Parameters

ParameterTypeDescription
customer_idstringUUID of the customer that will own the external account

Headers

HeaderDescription
AuthorizationSandbox bearer token or production HMAC authorization (required; see Authentication)
X-OM-DateRequest timestamp required for production HMAC authentication; omit for sandbox bearer authentication
Content-Typeapplication/json (required)
Idempotency-KeyUUIDv4 required for this request

The create endpoint returns 409 Conflict when the idempotency key already belongs to an external account or when identical banking details already exist. You can retrieve an existing external account by sending the key as the idempotency_key query parameter to the GET endpoint.


Request Body

{
  "network": "US_FEDWIRE",
  "account_holder_name": "TechStart Holdings LLC",
  "currency": "USD",
  "country_code": "USA",
  "account_number": "4447891623",
  "institution_id": "021000021",
  "institution_name": "JPMorgan Chase Bank, N.A."
}
FieldTypeRequiredDescription
networkstringYesPayment network accepted by the request schema; route availability depends on country and currency
account_holder_namestringYesFull legal name registered with the bank
currencystringYesCurrency code (e.g. USD)
country_codestringYesISO 3166-1 alpha-3 country code
account_numberstringYesAccount number or rail-specific account identifier
institution_idstringConditionalRequired for every listed network except SPEI; omit it for SPEI
institution_namestringNoOptional institution name; supported routing-code networks can resolve it from institution_id

Additional fields might be required:

  • institution_clearing_code: Additional local or regional routing codes required by specific payment networks or countries. Examples: Sort codes (UK), BSB numbers (Australia), transit numbers (Canada). Optional field used when standard institution_id is insufficient for routing.
  • intermediary_bank: Optional intermediary bank information for SWIFT accounts. Omit this field for all other networks.
  • nickname: Can be used to present to the user for easier identification

Rail-specific routing fields

External accounts and recipient bank accounts use the same rail-specific routing rules.

Networkinstitution_idinstitution_nameintermediary_bank
US_ACH, US_FEDWIRE, US_RTPRequired: valid 9-digit ABA routing numberOptional; resolved from the ABA routing number when omittedMust be omitted
SWIFTRequired: valid 8- or 11-character SWIFT/BIC codeOptional; resolved from the SWIFT/BIC code when omittedOptional
SPEIMust be omitted; the 18-digit CLABE identifies the bankNot requiredMust be omitted
LOCAL_BANK_TRANSFERRequired: canonical institution ID for the destination country and currencyNot requiredMust be omitted
CHATSRequired: Hong Kong bank SWIFT/BIC codeOptional; resolved from the SWIFT/BIC code when omittedMust be omitted
FPSRequired: canonical three-digit Hong Kong bank clearing code for the destination currencyNot requiredMust be omitted

CHATS applies to Hong Kong USD accounts. FPS applies to Hong Kong HKD and CNY accounts; submit the branch code followed by the account number as account_number (9–16 digits in total). Select the canonical institution_id for LOCAL_BANK_TRANSFER or FPS from Local Institution ID. Omit institution_clearing_code for SPEI, LOCAL_BANK_TRANSFER, CHATS, and FPS.

The API schema may contain additional bank-network enum values. That does not mean every rail is enabled for every customer or in every environment. Availability depends on the destination country, currency, customer configuration, and active payment routes.

PIX_TRANSFER may appear in the shared network enum, but it is not supported when creating an external account or recipient bank account through these public endpoints. Do not submit institution_id for PIX; PIX uses PIX-specific identifiers through a separate integration flow.

Responses

StatusDescription
201 CreatedExternal account successfully created; returns external_account_id
400 Bad RequestInvalid or missing fields
409 ConflictDuplicate idempotency key or identical banking details

Did this page help you?