External Accounts

Register a customer’s bank account (an “external account”) to enable fiat withdrawals from a specific portfolio. Supports US Fedwire, US ACH, and SWIFT international wires. A unique external_account_id is assigned on success.

HTTP Request

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

Path Parameters

ParameterTypeDescription
portfolio_idstringUUID of the portfolio that will own the external account

Headers

HeaderDescription
X-Api-KeyYour API key (required)
Content-Typeapplication/json (required)
Idempotency-KeyUUIDv4, required for all POSTs (safe retries within 24 hours)

Reusing the same key after 24h may result in 409 Conflict.
You can also retrieve results by idempotency key using the GET method.


Request Body

{
  "network": "US_FEDWIRE",
  "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: US_FEDWIRE, US_ACH, or SWIFT
holder_namestringYesAccount holder name
currencystringYesCurrency code (e.g. USD)
country_codestringYesCountry code in ISO3 format
account_numberstringYesAccount number of the bank account
institution_idstringYesRouting number, BIC, or equivalent institution identifier
institution_namestringYesName of the financial institution

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: Required for some international wire transfers when the destination bank does not have a direct correspondent relationship with the originating bank. Most commonly needed for USD international wires.
  • nickname: Can be used to present to the user for easier identification

Responses

StatusDescription
201 CreatedExternal account successfully created; returns external_account_id
400 Bad RequestInvalid or missing fields
409 ConflictIdempotency key reused outside the 24-hour window