International Wires

API Documentation

Looking to send funds internationally or receive funds from abroad? Column is directly integrated with Swift to power your international transfers. The Society for Worldwide Interbank Financial Telecommunication (Swift) is a secure global messaging system that runs on a global network of financial institutions. Column leverages the Swift messaging system to communicate money transfers between banks and local payment rails.

Via our APIs, you can send and receive international transfers through the Swift network. Moreover, Column’s API exposes the raw Swift message for your incoming and outgoing international transfers. Alternatively, we can parse the Swift message and just provide the important fields in our API responses.

We built and operate our Swift connection to give you the broadest global reach. Access over 150 global currencies through our network and bring simplicity to your international transfers.

Missing something that you’d find helpful? Send us an email at

Smallest Units of Currencies

Column follows ISO 4217 to decide the smallest units of currencies.

  • Currencies without a minor unit: BIF, CLP, DJF, GNF, ISK, JPY, KMF, KRW, PYG, RWF, UGX, UYI, VND, VUV, XAF, XOF, and XPF.
    • e.g., amount=12345, currency_code=JPY means JPY 12345
  • Currencies with 3 digits after the decimal separator: BHD, IQD, JOD, KWD, LYD, OMR, and TND.
    • e.g., amount=12345, currency_code=KWD means KWD 12.345
  • Currencies with 4 digits after the decimal separator: CLF, and UYW.
    • e.g., amount=12345, currency_code=CLF means CLF 1.2345
  • All other currencies have 2 digits after the decimal separator.
    • e.g., amount=12345, currency_code=EUR means EUR 123.45

Use Correct Smallest Units

Please make sure you are using the correct smallest units of the given currency codes in your requests. If you do not, transfer amounts may be wrong by orders of magnitude.

Various Amounts

International wire transfers have several fields for different types of amounts and currencies.

FieldOutgoing TransferIncoming Transfer
amount/currencyAmount debited from a user's account. Always in the currency of originator account.Amount credited to a user's account. Always in the currency of beneificiary account.
instructed_amount/currencyAmount/currency specified in your API requests.Amount/currency ordered by an originator, before deduction of charges.
settled_amount/currencyAmount/currency sent to a beneficiary bank by Column. Always the same as instructed_amount/currency.Amount/currency received by Column, after deduction of charges or FX conversions by intermediary banks.
returned_amount/currencyAmount/currency credited to a user's account after being returned by the beneficiary bank. Always in the currency of originator account. return_amount may be larger than amount depending on FX rate fluctuations.Amount/currency debited from a user account after being returned to the beneficiary bank. Always in the currency of beneificiary account.

In the following examples, we don't consider processing charges.

Example: Outgoing Transfer

Suppose you call our API to send CNY 6872.10 and the foreign exchange rate for USD/CNY is 6.8721 for your request. One week later, this transfer is returned by the beneficiary bank with CNY 6672.10 after they deducted charges. The foreign exchange rate for CNY/USD is 0.1428 when funds are returned to Column. Field values of the international wire transfer object are as follows:

  • amount/currency: USD 1000.00 (i.e., 6872.10 / 6.8721)
  • instructed_amount/currency: CNY 6872.10
  • settled_amount/currency: CNY 6872.10
  • returned_amount/currency: USD 952.77 (i.e., 6672.10 * 0.1428)

Example: Incoming Transfer

Suppose Column receives CNY 6000.00 and the foreign exchange rate for CNY/USD is 0.1428 when Column receives funds. One week later, you request to return this transfer on behalf of the beneficiary. Field values of the international wire transfer object are as follows:

  • amount/currency: USD 856.80 (i.e., 6000.00 * 0.1428)
  • instructed_amount/currency: CNY 6000.00
  • settled_amount/currency: CNY 6000.00
  • returned_amount/currency: USD 856.80

Valid Characters Permitted

The Swift message system defines a set of valid characters permitted in Swift messages. Messages with invalid characters will be rejected by the Swift system. The following regular expression can be used to detect invalid characters [^A-Za-z\d/\-?:( ).,'+]. Valid characters includes:

  • Alphanumeric: A-Z, a-z, 0-9 and spaces
  • . (period)
  • , (comma)
  • ? (question mark)
  • : (colon)
  • / (forward slash)
  • ( (left parenthesis)
  • ) (right parenthesis)
  • ' (apostrophe)
  • + (plus)
  • - (minus/hyphen)

The following additional characters are allowed for emails:

  • @ (at)