Person Entity object
An entity represents a person or organization possessing separate and distinct legal rights. You will create entities for each of your customers or users. An entity is required to create a bank account or a loan object. Read about entities in our data model section for more information.
object parameters
person_details
object
Contains all person details of the legal person entity. Only returned when entity type is PERSON
.
first_name
string
First name of the legal person. Must adhere to Fedwire character validation.
last_name
string
Last name of the legal person. Must adhere to Fedwire character validation.
middle_name
string
Middle name of the legal person. Must adhere to Fedwire character validation.
ssn
string
Social Security Number. SSN is required for U.S. citizens. ITIN may be shared in place of SSN.
passport
object
Passport Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
Passport number
country_code
string
Country code where the passport was issued. US Passports will be rejected as we require US citizens to submit SSN.
drivers_license
object
Driver's License Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
Driver's license number
country_code
string
Country code where the driver's license was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
). US Drivers License will be rejected as we require US citizens to submit SSN.
national_id
object
National ID Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
National ID number
country_code
string
Country code where the national ID was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
date_of_birth
string
Date of birth (YYYY-MM-DD)
string
Email of the individual. Optional, but highly encouraged as it will increase likelihood of an automated verification.
address
object
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
documents
array of objects
List of documents which are uploaded with the Submit Document API
id
string
Unique identifier for the object
is_root
boolean
Indicates if the entity is the root entity of the platform.
review_reasons
array
List of reasons the entity is in Manual_Review
type
string
Type of entity. PERSON
for a person entity.
verification_status
array
Current status of the entity verification. Can be UNVERIFIED
, PENDING
,MANUAL_REVIEW
, VERIFIED
, or DENIED
verification_tags
string
A list of verification tags with more details about its identity verification process.
Person Entity object
Business Entity object
A business entity represents a legal business in the Column data model.
object parameters
business_details
object
Contains all business details of the legal business entity. Only returned when entity type is BUSINESS
.
address
object
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
beneficial_owners
array of objects
A list of all the persons who have ultimate control over funds in the business, whether through ownership or other means.
This is anyone who owns owns 25 percent or more of the business and those who control the funds. If no one owns more than 25% of the business, just the individual who has ultimate control of the funds must be included.
first_name
string
First name of the legal person
last_name
string
Last name of the legal person
middle_name
string
Middle name of the legal person
ssn
string
Social Security Number is required for US beneficial owners. Passport, driver's license, or national ID is required for foreign beneficial owners.
passport
object
Passport Number. SSN, passport, driver's license, or national ID is required.
number
string
Passport number
country_code
string
Country code where the passport was issued. US Passports will be rejected as we require US citizens to submit SSN.
drivers_license
object
Driver's license. SSN, passport, driver's license, or national ID is required.
number
string
Driver's license number
country_code
string
Country code where the driver's license was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
). US Drivers License will be rejected as we require US citizens to submit SSN.
national_id
object
National ID. SSN, passport, driver's license, or national ID is required.
number
string
National ID number
country_code
string
Country code where the national ID was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
date_of_birth
string
Date of birth (YYYY-MM-DD)
string
Email of the individual. Optional, but highly encouraged as it will increase likelihood of an automated verification.
is_control_person
boolean
Boolean value which specifies if this person is a designated control person.
is_beneficial_owner
boolean
Boolean value which specifies if this person is a designated beneficial owner.
ownership_percentage
integer
Percentage ownership, specified as a integer, of the beneficial owner
job_title
string
Job title of the beneficial owner or control person.
address
object
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
business_name
string
Legal Business Name
ein
string
Employer Identification Number (Tax ID). This may be SSN for a sole proprietorship.
registration_id
object
Registration ID. EIN or Registration ID is required.
number
string
Business registration ID
country_code
string
Country code where the business registration ID was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
industry
string
Industry in which the business entity operates.
website
string
Website of the business. Optional, but highly encouraged as it will increase likelihood of an automated verification.
legal_type
string
Type of business. Permitted values are limited-partnership
, trust
, sole-proprietorship
, corporation
,llc
, general-partnership
, professional-association
,government
,non-profit
, other
.
state_of_incorporation
string
State in which the business is incorporated. Only postal abbreviations (e.g. AL, CA, DE, ...) are allowed. Only required for a root entity.
year_of_incorporation
string
Year in which the business entity was incorporated. Only required for a root entity.
account_usage
array of strings
Indicates possible uses of the accounts an entity may use at Column. Only required for a root entity.
description
string
Description of the business entity. Only required for a root entity.
payment_volumes
string
Expected payment volumes. Only required for a root entity.
countries_of_operation
array of strings
Countries in which the business currently operates or expects to operate. Only ISO 3166-1 Alpha-2 Country Codes (e.g., US, FR, UK, DE, ...
) are allowed. Only required for a root entity.
is_root
boolean
Indicates if the entity is the root entity of the platform.
documents
array of objects
List of documents which are uploaded with the Submit Document API
id
string
Unique identifier for the object
review_reasons
array
List of reasons the entity is in Manual_Review
type
string
Type of entity. BUSINESS
for a business entity.
verification_status
array
Current status of the entity verification. Can be UNVERIFIED
, PENDING
,MANUAL_REVIEW
, VERIFIED
, or DENIED
verification_tags
string
A list of verification tags with more details about its identity verification process.
Entity object
Create a legal person entity
POST
/entities/person
Creates a legal person entity.
body parameters
first_name
string
Required
First name of the legal person. Must adhere to Fedwire character validation.
last_name
string
Required
Last name of the legal person. Must adhere to Fedwire character validation.
middle_name
string
Optional
Middle name of the legal person. Must adhere to Fedwire character validation.
ssn
string
Required
Social Security Number. SSN is required for U.S. citizens. ITIN may be shared in place of SSN.
passport
object
Optional
Passport Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
Required
Passport number
country_code
string
Required
Country code where the passport was issued. US Passports will be rejected as we require US citizens to submit SSN.
drivers_license
object
Optional
Driver's License Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
Required
Driver's license number
country_code
string
Required
Country code where the driver's license was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
). US Drivers License will be rejected as we require US citizens to submit SSN.
national_id
object
Optional
National ID Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
Required
National ID number
country_code
string
Required
Country code where the national ID was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
date_of_birth
string
Required
Date of birth (YYYY-MM-DD)
string
Optional
Email of the individual. Optional, but highly encouraged as it will increase likelihood of an automated verification.
address
object
Required
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
Request
Response
Update a legal person entity
PATCH
/entities/person/<entity_id>
Update the information stored for a legal person. Do not use this to change the underlying legal person - only use this if the actual personal information changes (e.g. legal name changes, etc.).
path parameters
entity_id
string
Required
ID of the person entity you're updating
body parameters
first_name
string
Required
First name of the legal person. Must adhere to Fedwire character validation.
last_name
string
Required
Last name of the legal person. Must adhere to Fedwire character validation.
middle_name
string
Optional
Middle name of the legal person. Must adhere to Fedwire character validation.
ssn
string
Required
Social Security Number. SSN is required for U.S. citizens. ITIN may be shared in place of SSN.
passport
object
Optional
Passport Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
Required
Passport number
country_code
string
Required
Country code where the passport was issued. US Passports will be rejected as we require US citizens to submit SSN.
drivers_license
object
Optional
Driver's License Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
Required
Driver's license number
country_code
string
Required
Country code where the driver's license was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
). US Drivers License will be rejected as we require US citizens to submit SSN.
national_id
object
Optional
National ID Details. Passport, Driver's License or National ID is required for non U.S. citizens.
number
string
Required
National ID number
country_code
string
Required
Country code where the national ID was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
date_of_birth
string
Required
Date of birth (YYYY-MM-DD)
string
Optional
Email of the individual. Optional, but highly encouraged as it will increase likelihood of an automated verification.
address
object
Required
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
Request
Response
Create a legal business entity
POST
/entities/business
Creates a legal business entity.
body parameters
ein
string
Required
Employer Identification Number (Tax ID)
registration_id
object
Optional
Registration ID, typically for a non US incorporated company. EIN or Registration ID is required.
number
string
Required
Business registration ID
country_code
string
Required
Country code where the business registration ID was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
business_name
string
Required
Legal Business Name. Must adhere to Fedwire character validation.
website
string
Optional
Website of the business. Optional, but highly encouraged as it will increase likelihood of an automated verification.
legal_type
string
Optional
Type of business. Permitted values are limited-partnership
, trust
, sole-proprietorship
, corporation
,llc
, general-partnership
, professional-association
,government
,non-profit
, other
.
state_of_incorporation
string
Optional
State in which the business is incorporated. Only postal abbreviations (e.g. AL, CA, DE, ...) are allowed. Only required for a root entity.
year_of_incorporation
string
Optional
Year in which the business entity was incorporated. Only required for a root entity.
account_usage
array of strings
Optional
Indicates possible uses of the accounts an entity may use at Column. Only required for a root entity.
description
string
Optional
Description of the business entity. Only required for a root entity.
payment_volumes
string
Optional
Expected payment volumes. Only required for a root entity.
countries_of_operation
array of strings
Optional
Countries in which the business currently operates or expects to operate. Only ISO 3166-1 Alpha-2 Country Codes (e.g., US, FR, UK, DE, ...
) are allowed. Only required for a root entity.
address
object
Required
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
beneficial_owners
array of objects
Required
A list of all the persons who have ultimate control over funds in the business, whether through ownership or other means.
This is anyone who owns owns 25 percent or more of the business and those who control the funds. If no one owns more than 25% of the business, just the individual who has ultimate control of the funds must be included.
first_name
string
Required
First name of the legal person
last_name
string
Required
Last name of the legal person
middle_name
string
Optional
Middle name of the legal person
ssn
string
Optional
Social Security Number is required for US beneficial owners. Passport, driver's license, or national ID is required for foreign beneficial owners.
passport
object
Optional
Passport Number. SSN, passport, driver's license, or national ID is required.
number
string
Required
Passport number
country_code
string
Required
Country code where the passport was issued. US Passports will be rejected as we require US citizens to submit SSN.
drivers_license
object
Optional
Driver's license. SSN, passport, driver's license, or national ID is required.
number
string
Required
Driver's license number
country_code
string
Required
Country code where the driver's license was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
). US Drivers License will be rejected as we require US citizens to submit SSN.
national_id
object
Optional
National ID. SSN, passport, driver's license, or national ID is required.
number
string
Required
National ID number
country_code
string
Required
Country code where the national ID was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
date_of_birth
string
Required
Date of birth (YYYY-MM-DD)
string
Optional
Email of the individual. Optional, but highly encouraged as it will increase likelihood of an automated verification.
is_control_person
boolean
Required
Boolean value which specifies if this person is a designated control person.
is_beneficial_owner
boolean
Required
Boolean value which specifies if this person is a designated beneficial owner.
ownership_percentage
integer
Optional
Percentage ownership, specified as a integer, of the beneficial owner
job_title
string
Optional
Job title of the beneficial owner or control person.
address
object
Required
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
Request
Response
Update a legal business entity
PATCH
/entities/business/<entity_id>
This updates the information stored for this legal person. Changes to ssn, date of birth, and name will cause a re-verification process. Do not use this to change the underlying legal person - only use this if the actual personal information changes (e.g. legal name changes, etc.).
path parameters
entity_id
string
Required
ID of the business entity you're updating
body parameters
business_name
string
Optional
Legal Business Name. Must adhere to Fedwire character validation.
industry
string
Optional
Industry in which the business entity operates.
website
string
Optional
Website of the business. Optional, but highly encouraged as it will increase likelihood of an automated verification.
legal_type
string
Optional
Type of business. Permitted values are limited-partnership
, trust
, sole-proprietorship
, corporation
,llc
, general-partnership
, professional-association
,government
,non-profit
, other
.
state_of_incorporation
string
Optional
State in which the business is incorporated. Only postal abbreviations (e.g. AL, CA, DE, ...) are allowed. Only required for a root entity.
year_of_incorporation
string
Optional
Year in which the business entity was incorporated. Only required for a root entity.
account_usage
array of strings
Optional
Indicates possible uses of the accounts an entity may use at Column. Only required for a root entity.
description
string
Optional
Description of the business entity. Only required for a root entity.
payment_volumes
string
Optional
Expected payment volumes. Only required for a root entity.
countries_of_operation
array of strings
Optional
Countries in which the business currently operates or expects to operate. Only ISO 3166-1 Alpha-2 Country Codes (e.g., US, FR, UK, DE, ...
) are allowed. Only required for a root entity.
address
object
Optional
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
beneficial_owners
array of objects
Optional
If beneficial owners are updated, the entire array of objects will be updated. This means you must pass the complete array of beneficial owners when updating.
A list of all the persons who have ultimate control over funds in the business, whether through ownership or other means.
This is anyone who owns owns 25 percent or more of the business and those who control the funds. If no one owns more than 25% of the business, just the individual who has ultimate control of the funds must be included.
first_name
string
Required
First name of the legal person
last_name
string
Required
Last name of the legal person
middle_name
string
Optional
Middle name of the legal person
ssn
string
Optional
Social Security Number is required for US beneficial owners. Passport, driver's license, or national ID is required for foreign beneficial owners.
passport
object
Optional
Passport Number. SSN, passport, driver's license, or national ID is required.
number
string
Required
Passport number
country_code
string
Required
Country code where the passport was issued. US Passports will be rejected as we require US citizens to submit SSN.
drivers_license
object
Optional
Driver's license. SSN, passport, driver's license, or national ID is required.
number
string
Required
Driver's license number
country_code
string
Required
Country code where the driver's license was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
). US Drivers License will be rejected as we require US citizens to submit SSN.
national_id
object
Optional
National ID. SSN, passport, driver's license, or national ID is required.
number
string
Required
National ID number
country_code
string
Required
Country code where the national ID was issued. ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
date_of_birth
string
Required
Date of birth (YYYY-MM-DD)
string
Optional
Email of the individual. Optional, but highly encouraged as it will increase likelihood of an automated verification.
is_control_person
boolean
Required
Boolean value which specifies if this person is a designated control person.
is_beneficial_owner
boolean
Required
Boolean value which specifies if this person is a designated beneficial owner.
ownership_percentage
integer
Optional
Percentage ownership, specified as a integer, of the beneficial owner
job_title
string
Optional
Job title of the beneficial owner or control person.
address
object
Required
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
Request
Response
Get an entity by ID
GET
/entities/<entity_id>
Retrieve a single legal entity by its ID.
path parameters
entity_id
string
Required
ID of the entity you're requesting. Depending on the entity type, either the business or person object will be returned.
Request
Response
Delete an entity
DELETE
/entities/<entity_id>
Delete the underlying entity.
Removing entities
Entities can only be deleted if all their underlying accounts are deleted. Accounts can only be deleted when they have a $0 balance.
path parameters
entity_id
string
Required
ID of the entity you're deleting.
Request
Response
List all entities
GET
/entities
Retrieve all entities on your platform. Filtered results can be retrieved with extra parameters in the query (`type`, `name`, etc.).
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
type
string
Optional
Return results with this entity type, either PERSON
or BUSINESS
.
verification_status
string
Optional
Return results with this verification status.
is_root
boolean
Optional
Indicates if the entity is the root entity of the platform.
name
string
Optional
Return entities with this name.
Request
Response
Submit a document
POST
/entities/<entity_id>/documents
Submit a supporting document for manual review of an entity.
path parameters
entity_id
string
Required
ID of the entity for which a supporting document is being submitted.
body parameters
document_front_id
string
Required
ID of the entity for which a supporting document is being submitted.
Accepted formats for person entities: PNG
, JPEG
, GIF
, and TIFF
.
document_back_id
string
Optional
ID of the back of the document that is being submitted, starting with docu_. The document must be uploaded first via Document Upload API. This is only required for some forms of documentation. For most documents, only the front side is required.
Accepted formats for person entities: PNG
, JPEG
, GIF
, and TIFF
.
description
string
Optional
Description of why the document is being submitted for review. Maximum length: 127
characters.
Request
Response
Bank Account object
A bank account is the object in the Column data model that has the ability to hold, send, and receive funds. Bank accounts are children of entities. An entity can have multiple bank accounts. Bank accounts can have one or multiple account numbers. Read about bank accounts in our data model section for more information.
object parameters
balances
object
Lists all possible balance amounts for an account represented in the smallest unit of the currency.
available_amount
int64
This balance is the amount of money that is available to spend. If the account is not enabled for overdrafts, any requests to move money above this number will fail.
holding_amount
int64
The balance of money which is currently in a HOLD
state specified in the Create Book Transfer API.
locked_amount
int64
Only applicable for root accounts. The locked balance is posted on the account but cannot be withdrawn.
pending_amount
int64
The total amount of transfers that are in a pending state. These transfers will affect the available_balance unless they are canceled prior to completion.
bic
string
The Swift BIC code for this bank account for international wire payments.
created_at
string
The timestamp at which the bank account was created.
currency_code
string
Currency of the balances in the account. For all amounts this will be USD
.
default_account_number
string
The externally facing default account number tied to this bank account.
default_account_number_id
string
The default account number ID tied to this account.
description
string
A name for the bank account (mininum: 3
characters)
id
string
Unique ID for this account.
is_overdraftable
boolean
Whether the account can be overdrafted, must include a overdraft_reserve_account_id
overdraft_reserve_account_id
string
The overdraft reserve account that this account linked to. If is_overdraftable: true
then this field is required.
owners
array
List of entity_id
's which are tied to this bank account
routing_number
string
The 9-digit ABA routing number for this bank account.
type
string
Bank Account type. Can be CHECKING
, OVERDRAFT_RESERVE
, or PROGRAM_RESERVE
display_name
string
The display name for the bank account. Display name is an account nickname used on Column's Dashboard.
Bank Account object
Create a new bank account
POST
/bank-accounts
Creates a new bank account under an entity.
body parameters
description
string
Required
A name for the bank account (minimum of three characters)
entity_id
string
Required
The entity to create the account under
is_overdraftable
boolean
Optional
Whether the account can be overdrafted, must include a overdraft_reserve_account_id
overdraft_reserve_account_id
string
Optional
The overdraft reserve account that this account linked to. If `is_overdraftable: true` then this field is required
display_name
string
Optional
The display name for the bank account. Display name is an account nickname used on Column's Dashboard.
Request
Response
List all bank accounts
GET
/bank-accounts
List all bank accounts under the platform. Filtered results can be retrieved with extra parameters in the query.
query parameters
entity_id
string
Optional
List all accounts that belong to the entity with the entity_id
.
is_overdraftable
boolean
Optional
List all accounts that are overdraftable.
type
string
Optional
Bank Account type. Can be CHECKING
, OVERDRAFT_RESERVE
, or PROGRAM_RESERVE
.
overdraft_reserve_account_id
string
Optional
List all bank accounts with the given overdraft_reserve_account_id
.
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
Request
Response
Get a bank account by ID
GET
/bank-accounts/<bank_account_id>
Get a bank account by its id
path parameters
bank_account_id
string
Required
The ID of the bank account you are looking up
Request
Response
Update a bank account
PATCH
/bank-accounts/<bank_account_id>
Updates a bank account by its id
path parameters
bank_account_id
string
Required
body parameters
description
string
Optional
is_overdraftable
boolean
Optional
Whether the account can be overdrafted, must include a overdraft_reserve_account_id
overdraft_reserve_account_id
string
Optional
The overdraft reserve account that this account linked to if is_overdraftable
is true
display_name
string
Optional
The display name for the bank account. Display name is an account nickname used on Column's Dashboard.
is_ach_debitable
boolean
Optional
A boolean value which specifies if the account can be debited by an external RDFI. If set to false, Column will automatically return any debits to this account.
Request
Response
Delete a bank account
DELETE
/bank-accounts/<bank_account_id>
This deletes a bank account
Removing accounts
Bank Accounts can only be deleted when they have a $0 balance.
path parameters
bank_account_id
string
Required
Request
Response
Bank Account Summary object
object parameters
available_balance_credit
string
Total credit amount in cents applied to available_balance
. Zero or positive.
available_balance_debit
string
Total debit amount in cents applied to available_balance
. Zero or negative.
available_balance_close
string
Close available_balance
in cents at the end of effective_on
in time_zone
.
currency
string
The currency of the balances.
effective_on
string
Effective date of the summary.
holding_balance_credit
string
Total credit amount in cents applied to holding_balance
. Zero or positive.
holding_balance_debit
string
Total debit amount in cents applied to holding_balance
. Zero or negative.
holding_balance_close
string
Close holding_balance
in cents at the end of effective_on
in time_zone
.
locked_balance_credit
string
Total credit amount in cents applied to locked_balance
. Zero or positive.
locked_balance_debit
string
Total debit amount in cents applied to locked_balance
. Zero or negative.
locked_balance_close
string
Close locked_balance
in cents at the end of effective_on
in time_zone
.
pending_balance_credit
string
Total credit amount in cents applied to pending_balance
. Zero or positive.
pending_balance_debit
string
Total debit amount in cents applied to pending_balance
. Zero or negative.
pending_balance_close
string
Close pending_balance
in cents at the end of effective_on
in time_zone
.
time_zone
string
Time zone of effective_on
to decide day boundaries. You can set your platform reporting time zone in Platform Settings on Dashboard.
transaction_count
int32
Total number of transactions on the day of effective_on
.
Bank Account Summary object
Get bank account summary history
GET
/bank-accounts/<bank_account_id>/history
Get the summary history of a bank account. This endpoint returns a list of summaries, one summary per day, for a single bank account. You must set your platform reporting time zone in Platform Settings on Dashboard to use this endpoint (read more).
path parameters
bank_account_id
string
Required
The ID of the bank account you are looking up
query parameters
from_date
string
Required
Starting date of the history. Format: YYYY-MM-DD
.
to_date
string
Required
Ending date of the history. Format: YYYY-MM-DD
. Maximum date range: 31
days.
Request
Response
Bank Account Overdraft Alert
A bank account overdraft alert is a notification when an account in your platform has been overdrawn and funds have been locked in your reserve accounts, or has been credited and locked funds in your reserve accounts have been released. Read more.
object parameters
available_balance
object
The current available balance of the bank account after this alert.
cents
int64
Amount in cents
currency_code
string
Amount currency. The three-letter currency code defined in ISO 4217 (e.g. USD
)
bank_account_id
string
ID of the bank account that is overdrawn or credited.
overdraft_amount
object
The amount that has been locked or released in the reserve account.
cents
int64
Amount in cents
currency_code
string
Amount currency. The three-letter currency code defined in ISO 4217 (e.g. USD
)
reserve_account_id
string
ID of the reserve account in which funds are locked or released.
transfer_id
string
ID of transfer that triggered this alert.
Bank Account object
Account number object
An account number is the child of a bank account. A bank account can have one or more account numbers. Think of account numbers as a pointer to a bank account. Account numbers will be used by external banks to transact with Column bank accounts. Read about account numbers in our data model section for more information.
object parameters
account_number
string
The externally facing account number tied to this bank account.
bank_account_id
string
The Column bacc_id
tied to this bank account.
bic
string
The Swift BIC code for this bank account for international wire payments.
created_at
string
The timestamp the account number was created.
description
string
A name for the account number (minimum of three characters)
id
string
The unique id of the object
routing_number
string
The 9-digit ABA routing number for this bank account.
Account Number object
Create a new account number
POST
/bank-accounts/<bank_account_id>/account-numbers
Creates a new account number that points to the associated bank account
path parameters
bank_account_id
string
Required
The bank account that you want the new account number to point to
body parameters
description
string
Optional
A description for this account number
Request
Response
List all account numbers from a bank account
GET
/bank-accounts/<bank_account_id>/account-numbers
Lists all the account numbers that point to a specific bank account
path parameters
bank_account_id
string
Required
The bank account that you want the new account number to point to
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
Request
Response
Get an account number
GET
/account-numbers/<account_number_id>
Lists all the account numbers that point to a specific bank account
path parameters
account_number_id
string
Required
The id for the account number
Request
Response
Loan object
A loan is an object that lives under an entity, at the same level as a bank account. Just like entities can have multiple bank accounts, entities can have multiple loans. Loans are the foundation for many lending-oriented use cases such as charge cards and term loans. Read about loans in our data model section for more information.
object parameters
balances
object
principal_charged_off
string
The balance of the loan which has been charged off.
principal_holding
string
The balance of the loan which is in a holding
state.
principal_outstanding
string
The balance of the loan which is outstanding.
principal_paid
string
The balance of the loan which has been paid.
charged_off_at
string
The timestamp the loan was charged off.
created_at
string
The timestamp the loan was created.
currency
string
The currency of the loan. Currently only USD
is supported.
delinquent_at
string
The timestamp the loan was marked as delinquent.
description
string
The description of the loan in the Column dashboard.
disputed_at
string
The timestamp the loan was marked as disputed.
id
string
The id of the loan object.
is_revolving
boolean
Indicates whether or not the loan is revolving. If true
the loan can have multiple disbursements.
maturity_date
string
The maturity date of the loan.
max_principal_balance
string
The max principal balance of the loan. This is akin to a credit limit. Disbursements will fail if the resulting principal will be above the max principal.
paid_off_at
string
The timestamp the loan is marked as paid off.
primary_signer_entity_id
string
The Column entity_id which the loan is related to.
status
string
The current status of the loan. A loan can have a status of current
, delinquent
, charged_off
, in_dispute
, canceled
or paid_off
.
Loan object
Create a new loan
POST
/loans
Creates a new loan under an entity.
body parameters
currency
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
description
string
Required
The description of the loan in the Column dashboard.
entity_id
boolean
Required
The entity to create the loan under.
is_revolving
boolean
Required
Indicates whether or not the loan is revolving. If true
the loan can have multiple disbursements.
maturity_date
string
Required
The maturity date of the loan
max_principal_balance
string
Required
The max principal balance of the loan in cents. This is akin to a credit limit. Disbursements will fail if the resulting principal will be above the max principal.
e.g. $1.75 would be represented by 175
.
Request
Response
Update a loan
PATCH
/loans/<loan_id>
Updates a loan by its ID.
path parameters
loan_id
string
Required
The ID of the loan you are looking up
body parameters
description
string
Optional
The description of the loan in the Column dashboard.
is_revolving
boolean
Optional
Indicates whether or not the loan is revolving. If true
the loan can have multiple disbursements.
maturity_date
string
Optional
The maturity date of the loan.
max_principal_balance
string
Optional
The max principal balance of the loan in cents. This is akin to a credit limit. Disbursements will fail if the resulting principal will be above the max principal.
e.g. $1.75 would be represented by 175
.
status
string
Optional
The current status of the loan. A loan can have a status of current
, delinquent
, charged_off
, in_dispute
, canceled
or paid_off
.
Request
Response
Get a loan by ID
GET
/loans/<loan_id>
Retrieve a single loan by its ID.
path parameters
loan_id
string
Required
The ID of the loan you are looking up
Request
Response
List all loans
GET
/loans
List all loans under the platform. Filtered results can be retrieved with extra parameters in the query
query parameters
entity_id
string
Optional
status
string
Optional
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
Request
Response
Create a disbursement
POST
/loans/disbursements
Creates a disbursement for a loan.
body parameters
amount
string
Required
Amount (in cents) of the funds that will be disbursed.
e.g. $1.75 would be represented by 175
.
bank_account_id
string
Required
The bank account to which funds will be disbursed.
currency
string
Required
The currency of the loan. Currently only USD
is supported.
description
string
Required
The description of the loan disbursement.
hold
boolean
Optional
If true
, creates a disbursement in a hold
state. The disbursement will not be completed until the clear
API is called. Disbursements in a hold
state may be updated or canceled.
loan_id
string
Required
The ID of the loan to from which the disbursement is being made.
details
object
Optional
Transfer monitoring details
sender_name
string
Optional
Name of the sender
merchant_name
string
Optional
Name of the merchant for this transaction
merchant_category_code
string
Optional
Category code for the merchant for this transaction
authorization_method
string
Optional
Authorization method for this transaction
website
string
Optional
Website for this transaction
internal_transfer_type
string
Optional
Transfer type in non-column systems
statement_description
string
Optional
Line item on the customer statement for the transfer
address
object
Required
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
Request
Response
Update a disbursement
PATCH
/loans/disbursements/<disbursement_id>
Update a disbursement by its ID. Disbursement must be in a "hold" state. Only the amount can be updated.
path parameters
disbursement_id
string
Required
The ID of the disbursement you want to update.
body parameters
amount
string
Required
Amount (in cents) of the funds that will be disbursed.
e.g. $1.75 would be represented by 175
.
currency
string
Required
The currency of the loan. Currently only USD
is supported.
Request
Response
Clear a disbursement
POST
/loans/disbursements/<disbursement_id>/clear
Clears a disbursement by its ID. Disbursements can only be cleared if they are in a "hold" state.
path parameters
disbursement_id
string
Required
The ID of the disbursement to clear.
body parameters
amount
string
Optional
Updated amount (in cents) of the funds that will be disbursed.
e.g. $1.75 would be represented by 175
.
currency
string
Optional
The currency of the loan. Currently only USD
is supported.
Request
Response
Cancel a disbursement
POST
/loans/disbursements/<disbursement_id>/cancel
Cancels a disbursement by its ID. Only a disbursement in a "hold" state can be cancelled.
path parameters
disbursement_id
string
Required
The ID of the disbursement to clear.
Request
Response
Get a disbursement
GET
/loans/disbursements/<disbursement_id>
Get a disbursement by its ID.
path parameters
disbursement_id
string
Required
The ID of the disbursement you are looking up.
Request
Response
List all disbursements
GET
/loans/disbursements
List all disbursements under the platform. Filtered results can be retrieved with extra parameters in the query.
query parameters
loan_id
string
Optional
bank_account_id
string
Optional
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
Request
Response
Create a payment
POST
/loans/payments
Creates a payment for a loan.
body parameters
principal_amount
string
Required
Amount (in cents) of the loan payment.
e.g. $1.75 would be represented by 175
.
bank_account_id
string
Required
The bank account from which the payment is originated. The balance of the bank account will decrease by the payment amount.
currency
string
Required
The currency of the loan. Currently only USD
is supported.
description
string
Required
The description of the loan payment.
loan_id
string
Required
The ID of the loan to which the payment is being made. The principal_outstanding
of the loan will decrease by the payment amount.
Request
Response
Get a payment
GET
/loans/payments/<payment_id>
Get a payment by its ID.
path parameters
payment_id
string
Required
The ID of the payment you are looking up.
Request
Response
List all payments
GET
/loans/payments
List all payments under the platform. Filtered results can be retrieved with extra parameters in the query.
query parameters
loan_id
string
Optional
bank_account_id
string
Optional
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
Request
Response
Counterparty object
A counterparty is an external account that you can transfer money to and from. All ACH and Wire transfers originated by Column take in a counterparty_id
to identify the transfer destination. Once you have created a counterparty, you can send money to it (or pull from it)! A counterparty stores an external bank account and can also store additional transaction details, as desired or required. Read about counterparties in our data model section for more information.
object parameters
account_number
string
The account number for the bank account.
account_type
string
The type of the account number. Can be checking
or savings
.
address
object
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
created_at
string
The timestamp the object was created.
description
string
Description of the counterparty visible only in your platform. Maximum length: 127
characters.
string
The email address of the beneficiary.
id
string
The unique id of the object
is_column_account
boolean
Indicates whether this counterparty account is actually a Column account.
legal_id
string
The legal ID (e.g., Tax ID, Cedula Juridica, etc.) of the beneficiary. This field is recommended for international wire transfers, and required in some countries. Maximum length: 127
characters.
legal_type
string
The legal entity type of the beneficiary. Can be business
, non_profit
, individual
, or sole_proprietor
. This field is recommended for international wire transfers, and required in some countries.
local_account_number
string
The local account number (e.g. Cuenta Cliente in Costa Rica) in the beneficiary's bank. This field is recommended for international wire transfers, and required in some countries. Maximum length: 63
characters.
local_bank_code
string
The local bank code of the beneficiary's bank (e.g., India IFSC, Australia BSB, China CNAPS, etc.). This field is recommended for international wire transfers, and required in some countries. Maximum length: 63
characters.
name
string
The counterparty name who owns the bank account. For domestic wires, only the first 35 characters are included in the wire message. For international wires, only the first 140 characters are included in the wire message. Additional characters will be truncated.
phone
string
The phone number of the beneficiary. This field is recommended for international wire transfers, and required in some countries. Maximum length: 31
characters.
Format for international wire transfers: \+[0-9]{1,3}-[0-9()+\-]{1,30}
(e.g. +44-(0)1223-333300
).
Format for domestic wire transfers:
+1-(650)123-4567
(US international phone number format)650-123-4567
(650)123-4567
(650) 123-4567
650 123 4567
6501234567
routing_number
string
The routing number of the bank.
routing_number_type
string
The type of the routing number. Can be aba
, bic
, or other
.
updated_at
string
The timestamp the object was last updated.
wire_drawdown_allowed
boolean
Whitelists counterparties for automatic approval of drawdown requests to Column via FedWire. If false, all inbound drawdown requests from this counterparty will require explicit approval.
Counterparty object
Create a counterparty
POST
/counterparties
A counterparty is the legal entity on the other side of the transaction. Depending on the type of transaction, we may need to know more or less about them.
A domestic ACH only requires a counterparty's account and routing number. If you include a counterparty name, Column will by default populate receiver_name
on the ACH transfer request. Domestic and international wires require full name and address. Certain countries may require additional fields. Learn more about country-specific details here.
body parameters
routing_number
string
Required
The routing number of the bank.
routing_number_type
string
Optional
The type of the routing number. Can be aba
or bic
. Default value is aba
if this field is not set.
account_number
string
Required
The account number of the bank account.
account_type
string
Optional
The type of the account number. Can be checking
or savings
. Default value is checking
. It's important to set this correctly, as other banks may route to a different account type based on this field.
description
string
Optional
Description of the counterparty visible only in your platform. Maximum length: 127
characters.
wire_drawdown_allowed
boolean
Optional
Whitelists counterparties for automatic approval of drawdown requests to Column via FedWire. If false, all inbound drawdown requests from this counterparty will require explicit approval.
name
string
Optional
The account holder on the counterparty bank account. This field is not required to send ACH transfers, but is required to send domestic and international wires. For international wires, Must adhere to International Wire character validation . Column will truncate name
to a maximum length of 140
characters per SWIFT guidelines. For domestic wires, Must adhere to FedWire character validation . Column will truncate name
to 35
characters per Fedwire guidelines.
address
object
Optional
The address object is not required to send ACH transfers, but is required to send domestic and international wires.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
phone
string
Optional
The phone number of the beneficiary. This field is recommended for international wire transfers, and required in some countries. Maximum length: 31
characters.
Format for international wire transfers: \+[0-9]{1,3}-[0-9()+\-]{1,30}
(e.g. +44-(0)1223-333300
).
Format for domestic wire transfers:
+1-(650)123-4567
(US international phone number format)650-123-4567
(650)123-4567
(650) 123-4567
650 123 4567
6501234567
string
Optional
The email address of the beneficiary. This field is recommended for international wire transfers, and required in some countries. Maximum length: 127
characters.
legal_id
string
Optional
The legal ID (e.g., Tax ID, Cedula Juridica, etc.) of the beneficiary. This field is recommended for international wire transfers, and required in some countries. Maximum length: 127
characters. For international wires, Must adhere to International Wire character validation .
legal_type
string
Optional
The legal entity type of the beneficiary. Can be business
, non_profit
, individual
, or sole_proprietor
. This field is recommended for international wire transfers, and required in some countries. For international wires, Must adhere to International Wire character validation .
local_bank_code
string
Optional
The local bank code of the beneficiary's bank (e.g., India IFSC, Australia BSB, China CNAPS, etc.). This field is recommended for international wire transfers, and required in some countries. Maximum length: 63
characters. For international wires, Must adhere to International Wire character validation .
local_account_number
string
Optional
The local account number (e.g. Cuenta Cliente in Costa Rica) in the beneficiary's bank. This field is recommended for international wire transfers, and required in some countries. Maximum length: 63
characters. For international wires, Must adhere to International Wire character validation .
Request
Response
List all counterparties
GET
/counterparties
Retrieve all counterparties under your developer account. Filtered results can be retrieved with extra parameters in the query (account_number
, routing_number
, etc.).
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
account_number
string
Optional
Return counterparties created with given account number.
routing_number
string
Optional
Return counterparties created with given routing number.
Request
Response
Get a counterparty by ID
GET
/counterparties/<counterparty_id>
Retrieve a single counterparty by its ID.
path parameters
counterparty_id
string
Required
ID of the counterparty you're looking up.
Request
Response
Delete a counterparty
DELETE
/counterparties/<counterparty_id>
Delete a counterparty
path parameters
counterparty_id
string
Required
ID of the counterparty you're deleting.
Request
Response
Financial Institution object
object parameters
ach_eligible
bool
Indicates if an institution accepts ACH transfers or not.
check_eligible
bool
Indicates if an institution supports check deposits or not.
city
string
Institution's address city name.
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
created_at
string
The timestamp the object was created.
full_name
string
Institution's official full name.
phone_number
string
Institution's phone number. Only available if ach_eligible = true
.
routing_number
string
Institution's routing number. Can be 9-digit ABA routing numbers, or 8/11-character BICs.
routing_number_type
string
The type of the routing number. Can be aba
or bic
, or other
.
short_name
string
Institution's short name.
state
string
Institution's address state code (e.g., CA)
street_address
string
Institution's street address. Only available if ach_eligible = true
.
updated_at
string
The timestamp the object was last updated.
wire_eligible
bool
Indicates if an institution accepts wire transfers or not.
wire_settlement_only
bool
Indicates if an institution can only accept bank-to-bank settlement transfers, but cannot accept customer transfers.
zip_code
string
Institution's address zip code. Only available if ach_eligible = true
.
Financial Institution object
Get a financial institution
GET
/institutions/<routing_number>
Retrieve a single financial institution by its ABA number or BIC.
path parameters
routing_number
string
Required
ABA number or BIC of the financial institution you're requesting
Request
Response
List financial institutions
GET
/institutions
List all financial institutions. Filtered results can be retrieved with extra parameters in your queires.
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
country_code
string
Optional
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
name
string
Optional
Case-insensitive keywords in full names of financial institutions.
routing_number_type
string
Optional
The type of the routing number. Can be aba
or bic
.
Request
Response
IBAN validation object
object parameters
account_number
string
Account number in the financial institution.
bank_id
string
Local bank code of the financial institution in its country.
bic
string
BIC of the financial institution.
branch_id
string
Branch ID of the financial institution.
check_digits
string
Check digits of the IBAN.
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
) of the financial institution.
iban
string
The IBAN you are validating
institution_name
string
Name of the financial institution.
national_id
string
National ID of the financial institution in its country, which usually consists of its bank_id
and branch_id
.
IBAN validation object
Validate an IBAN
GET
/iban/<iban>
Validate the format of an IBAN and if it is registered with the given financial institution. However, we cannot verify if the account is still open.
path parameters
iban
string
Required
IBAN you're requesting
Request
Response
ACH transfer object
The ACH transfer object represents the current state of a single ACH transfers originated by or received by Column. The ACH object will contain all relevant information about the specific transfer, which are described in the parameters below. Read about more about ACH transfers here.
object parameters
account_number_id
string
ID of the account number that is sending the transfer.
acknowledged_at
string
The timestamp at which an acknowledgement is received for a CCD or CTX ACH transfer.
allow_overdraft
boolean
Allow the account to go negative for the transfer. The bank account needs to have is_overdraftable
enabled with an overdraft reserve account linked to it.
amount
int64
Amount (in cents) of the funds that will be transferred between originator and counterparty accounts.
e.g. $1.75 would be represented by 175
.
bank_account_id
string
ID of the bank account that is sending the transfer.
cancelled_at
string
The timestamp at which the transfer is cancelled.
company_discretionary_data
string
This optional field allows you to include codes (one or more), of significance only to you, to enable specialized handling of the transfer. There is no standardized interpretation for the value of the field. Maximum length:20
characters.
CIE
: This field may contain the Biller's name.
CTX
: The Originator's bank account number may be placed in this field.
company_entry_description
string
You can use this optional field to provide the Receiver with a description of the purpose of the transfer. For example, “Gas bill”, “Reg. Salary”, “ins. prem.”, “Soc. Sec.”, “DTC”, “Trade Pay”, “PURCHASE”, etc.
Default value: "PAYMENT". Maximum length: 10 characters.
company_id
string
Typically, a 10-digit unique identifier used for identifying entities, called originators, collecting payments via ACH debit. For WEB entries it can be alphanumeric and less than 10 characters. If you would like to use a specific company ID when originating ACH transactions, please contact us.
company_name
string
The name of the originator company that initiated the ACH transfer.
completed_at
string
The timestamp at which the 60 day return window has passed for this ACH transfer, and it is officially completed.
counterparty_id
string
ID of the counterparty that will receive the transfer.
created_at
string
The timestamp at which the transfer request is created.
currency_code
string
The three-letter currency code defined in ISO 4217. e.g. USD
.
description
string
Description of the transfer visible only in your platform. Maximum length: 255
characters.
effective_on
string
Datetime (00:00AM
in Pacific Time zone) on which the transfer is effective. For incoming transfers, this is 00:00AM
on the Settlement Date of the transfer in PT timezone (more details).
entry_class_code
string
Standard Entry Class code of the transfer. More Details Here.
iat
object
This field provides additional IAT (International ACH Transfer) addenda information. More information here.
id
string
The unique id for this object
idempotency_key
string
The idempotency key specified in the ACH transfer.
initiated_at
string
The timestamp at which Column received your ACH request.
is_incoming
boolean
Indicates whether the ACH transfer was incoming (true
) or outgoing (false
).
is_on_us
boolean
Indicates whether or not the ACH transfer is coming from a Column bank account. If true
the request is processed immediately like a book transfer, and not sent to the Fed.
intermediary_financial_institutions
array
Applies only to IAT transfers. This is a List of intermediary institutions involved in an IAT transfer.
manual_review_at
string
The timestamp at which the ACH transfer went into the manual review state.
notification_of_changes
object
Details of Notifications of Change (NOCs) with the latest information of the counterparty. Available only with ach.outgoing_transfer.noc
events.
receiver_id
string
Latest accounting reference number by which the beneficiary should be referred by the originator.
routing_number
string
Latest routing number of the counterparty.
account_number
string
Latest account number of the counterparty.
nsf_deadline
string
For incoming ACH Debits and available only with ach.incoming_transfer.nsf
events. This is the deadline by which the receiver account must be funded to complete the incoming debit. Column will file an NSF return for this ACH transfer if the account is not funded by the nsf_deadline.
odfi_routing_number
string
The externally facing routing number for the ODFI that initiated the ACH Transfer.
payment_related_info
string
Provides additional information on the ACH transfer. It is usually up to 80 characters long but could be longer for CTX, ENR and TRX transfers.
receiver_id
string
This field contains the accounting reference number by which the Receiver is known to the Originator. It is included for further identification and for descriptive purposes.
For example, it may be the number shown on an invoice, statement, billhead, notice, or other communication as the reference for the Receiver to update account receivable records.
receiver_name
string
The name of the receiver, usually the name on the bank account of the Receiver.
Default value: beneficiary name of the counterparty. Maximum length: 22
characters.
return_contested_at
string
The timestamp at which the dishonored return for this transfer was contested by the RDFI.
return_details
array
Details of the return processing history (e.g., initiated, dishonored, dishonor contested, manual review, etc.). Available only with ach.*.returned
, ach.*.return_dishonored
or ach.*.return_contested
events.
return_dishonored_at
string
The timestamp at which the return for this transfer was dishonored by the ODFI.
return_dishonored_funds_unlocked_at
string
The timestamp at which the dishonored return funds are unlocked.
returned_at
string
The timestamp at which the ACH transfer is returned by the RDFI.
reversal_pair_transfer_id
string
If the transfer is the original transfer of an ACH Reversal, this field is the unique ID of the reversal transfer. If the transfer is the reversal transfer of an ACH Reversal, this field is the unique ID of the original transfer. Please refer to ACH Reversals for more details.
same_day
boolean
Specify if the transfer is a same-day ACH transfer. If it is set as true
, it takes precedence over effective_date
and overrides it.
settled_at
string
The timestamp at which the ACH was settled.
status
string
The current state of the ACH transfer. See Notifications and States for details. Possible values: INITIATED
, PENDING_SUBMISSION
, SUBMITTED
, SETTLED
, RETURNED
, COMPLETED
, CANCELED
, SCHEDULED
, PENDING_RETURN
, RETURN_DISHONORED
, RETURN_DISHONORED_FUNDS_UNLOCKED
, RETURN_CONTESTED
, MANUAL_REVIEW
, and MANUAL_REVIEW_APPROVED
.
submitted_at
string
The timestamp at which the ACH transfer was submitted to the Fed.
trace_number
string
The unique number assigned to every ACH entry by an ODFI which identifies that entry within a specific ACH file.
transaction_type_code
string
This is a required code on IAT transfers used to identify reason for payment. Possible values: ANN
, BUS
, DEP
, LOA
, MIS
, MOR
, PEN
, REM
, RLS
, SAL
, TAX
. See IAT transfers for details.
type
string
ACH transfer type: CREDIT
or DEBIT
. Learn more.
ultimate_beneficiary_counterparty_id
string
ID of the ultimate beneficiary counterparty that will receive the transfer. This is only required on outgoing IAT debits.
ultimate_originator_counterparty_id
string
ID of the ultimate originating counterparty that sent the transfer. This is only required on outgoing IAT credits.
updated_at
string
The timestamp at which the ACH transfer was lastly updated.
ACH Transfer object
IAT transfer sub-object
object parameters
foreign_correspondent_bank_info
array
Provides additional details around foreign corresponding banks used in the IAT transfer.
foreign_payment_amount
string
The amount for which the transfer was originated by the Foreign ODFI. This will be in USD, since Column will receive IATs from a domestic correspondent bank.
foreign_trace_number
string
Contains the trace number assigned to the transfer in the originating national payments system.
odfi_branch_country_code
string
The two digit alphabetic country code which identifies the country in which the branch of the bank that originated the transfer is located.
odfi_identification
string
The routing number of the DFI originating the transfer.
odfi_identification_number_qualifier
string
The two digit numbering scheme used in the ODFI identification number. Possible values are 01
(National Clearing System Number), 02
(BIC Coder), or 03
(IBAN).
odfi_name
string
The name of the ODFI
originator_city_state_province
string
Contains the city, and if applicable the state or province of the originator.
originator_country_postal_code
string
Contains the postal code for the originator street address.
originator_name
string
Contains the name of the originator of the transaction.
originator_street_address
string
Contains the physical street address of the originator.
rdfi_branch_country_code
string
The two digit alphabetic country code which identifies the country in which the branch of the bank that received the transfer is located.
rdfi_identification
string
This field is used by the originator to insert its own number for tracing purposes.
rdfi_identification_number_qualifier
string
Thw two digit numbering scheme used in the RDFI identification number. Possible values are 01
(National Clearing System Number), 02
(BIC Coder), or 03
(IBAN)
rdfi_name
string
The name of the RDFI.
receiver_city_state_province
string
Contains the city, and if applicable the state or province of the receiver.
receiver_country_postal_code
string
Contains the postal code for the receiver street address.
receiver_identification_number
string
Contains the bank identification number of the DFI at which the receiver maintains their account.
receiver_street_address
string
Contains the physical street address of the receiver.
receiving_company_or_individual_name
string
Contains the name of the receiver of the transaction.
IAT transfer sub-object
Create an ACH transfer
POST
/transfers/ach
Creates an ACH transfer between an account and a counterparty
.
body parameters
description
string
Optional
Description of the transfer visible only in your platform. Maximum length: 255
characters.
amount
int64
Required
Amount (in cents) of the funds that will be transferred between originator and counterparty accounts.
e.g. $1.75 would be represented by 175
.
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
account_number_id
string
Optional
ID of the account number from which the transfer is sent. If no account_number_id
is specified, the default account number on a provided bank_account_id
is used.
account_number_id
or bank_account_id
is required.
bank_account_id
string
Optional
ID of the bank account from which the transfer is sent. If no account_number_id
is specified, the default account number on the bank_account_id
is used.
account_number_id
or bank_account_id
is required.
counterparty
object
Optional
Counterparty object to create a counterparty for the receiver of the transfer at transfer creation. Either counterparty
or counterparty_id
is required.
counterparty_id
string
Required
ID of the counterparty that will receive the transfer. Either counterparty
or counterparty_id
is required.
type
string
Required
ACH transfer type: CREDIT
or DEBIT
. Learn More.
effective_date
string
Optional
Date (format: YYYY-MM-DD
) on which the transfer will be effective
same_day
boolean
Optional
Specify if the transfer is a same-day ACH transfer. If it is set as true
, it takes precedence over effective_date
and overrides it.
company_discretionary_data
string
Optional
This optional field allows you to include codes (one or more), of significance only to you, to enable specialized handling of the transfer. There is no standardized interpretation for the value of the field. Maximum length:20
characters.
CIE
: This field may contain the Biller's name.
CTX
: The Originator's bank account number may be placed in this field.
company_entry_description
string
Optional
You can use this optional field to provide the Receiver with a description of the purpose of the transfer. For example, “Gas bill”, “Reg. Salary”, “ins. prem.”, “Soc. Sec.”, “DTC”, “Trade Pay”, “PURCHASE”, etc.
Default value: "PAYMENT". Maximum length: 10 characters.
Characters are validated according to the ACH Valid Character Specification.company_name
string
Optional
This optional field identifies the source of the transfer and is used for descriptive purposes for the Receiver. Except as otherwise noted below, this field must contain the name by which the Originator is known to and readily recognized by the Receiver of the transfer to reduce risk of return by the Receiver
CCD
: For a Health Care EFT Transaction, this field must contain the name of the Health Plan, or where an organization is self-insured, the name of the organization's third-party administrator that is recognized by the Health Care Provider and to which the Health Care Provider submits its claims.
CIE
: This field contains the bill payment service provider's name.
WEB
: For a P2P transfer, this field contains the P2P service provider's name.
Default value: the root entity name of your platform, or "COLUMN NA" if no root entity exists. Maximum length: 16 characters.
Characters are validated according to the ACH Valid Character Specification.payment_related_info
string
Optional
Provides an additional 80 characters to give details on the ACH transaction for outgoing transfers. This information will be surfaced to the RDFI. This information will be surfaced to the RDFI. Characters are validated according to the ACH Valid Character Specification.
receiver_name
string
Optional
The name of the receiver, usually the name on the bank account of the Receiver.
Default value: beneficiary name of the counterparty. Maximum length: 22
characters.
receiver_id
string
Optional
This field contains the accounting reference number by which the Receiver is known to the Originator. It is included for further identification and for descriptive purposes.
For example, it may be the number shown on an invoice, statement, billhead, notice, or other communication as the reference for the Receiver to update account receivable records.
Maximum length: 15
characters.
entry_class_code
string
Required
Standard Entry Class code of the transfer. Valid values: CCD
, CTX
, CIE
, PPD
(default), TEL
, WEB
. More Details Here.
allow_overdraft
boolean
Optional
Allow the account to go negative for the transfer. The bank account needs to have is_overdraftable
enabled with an overdraft reserve account linked to it.
ultimate_beneficiary_counterparty
object
Optional
Counterparty object to create a counterparty an ultimate beneficiary counterparty at the time of transfer creation. This is only required on outgoing IAT debits. Either ultimate_beneficiary_counterparty
or ultimate_beneficiary_counterpartyid
is required.
ultimate_beneficiary_counterparty_id
string
Optional
ID of the ultimate beneficiary counterparty that will receive the transfer. This is only required on outgoing IAT debits. Either ultimate_beneficiary_counterparty
or ultimate_beneficiary_counterpartyid
is required.
ultimate_originator_counterparty
object
Optional
Counterparty object to create an ultimate originator counterparty at the time of transfer creation. This is only required on outgoing IAT credits. Either ultimate_originator_counterparty
or ultimate_originator_counterpartyid
is required.
ultimate_originator_counterparty_id
string
Optional
ID of the ultimate originating counterparty that will sent the transfer. This is only required on outgoing IAT credits. Either ultimate_originator_counterparty
or ultimate_originator_counterpartyid
is required.
Request
Response
List all ACH transfers
GET
/transfers/ach
Retrieve all ACH transfers under your developer account. Filtered results can be retrieved with extra parameters in the query (bank_account_id
, counterparty_id
, etc.).
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
bank_account_id
string
Optional
counterparty_id
string
Optional
status
string
Optional
Return results with this status.
Possible enum values:
- INITIATED
: the outgoing transfer has been initiated but not submitted yet.
-PENDING_SUBMISSION
: the outgoing transfer is to be submitted very soon.
- SUBMITTED
: the outgoing transfer has been submitted to the FRB.
- ACKNOWLEDGED
: the outgoing CCD/CTX transfer has been acknowledged by the RDFI.
- SETTLED
: the transfer has been settled.
- RETURNED
: the transfer has been returned. Please use the [ACH Return API](/docs/api/#ach-return/get) to check return details.
- COMPLETED
: the transfer has been completed, and no return (except R06 and \`R31\`) is acceptable.
- CANCELED
: the outgoing transfer has been cancelled by your request via our ACH Return API.
- SCHEDULED
: the incoming transfer has been scheduled to be settled on its Settlement Date
- PENDING_RETURN
: the incoming transfer will be returned shortly if no action is taken before the deadline
- RETURN_DISHONORED
: the return of the transfer has been dishonored by the ODFI. Please use the ACH Return API to check return details.
- RETURN_DISHONORED_FUNDS_UNLOCKED
: locked funds for the dishonored return transfer have been unlocked.
- RETURN_CONTESTED
: the dishonored return of the transfer has been contested by the RDFI. Please use the ACH Return API to check return details.
- MANUAL_REVIEW
: the transfer is under manual review.
is_incoming
boolean
Optional
Return transfers that is either incoming or outgoing.
type
string
Optional
Return transfers that are either CREDIT
or DEBIT
.
Request
Response
Get an ACH transfer
GET
/transfers/ach/<ach_transfer_id>
Retrieves a single transfer by its ID.
path parameters
ach_transfer_id
string
Required
Request
Response
Cancel an ACH transfer
POST
/transfers/ach/<ach_transfer_id>/cancel
Cancels an ACH transfer before it is sent to the Federal Reserve.
This action can be performed only if a given transfer is INITIATED
.
You can read more about ACH states here.
path parameters
ach_transfer_id
string
Required
Request
Response
Reverse an ACH transfer
POST
/transfers/ach/<ach_transfer_id>/reverse
Reverse an erroneous outgoing ACH transfer. You can read more about ACH Reversals.
path parameters
ach_transfer_id
string
Required
body parameters
reason
string
Required
Reason for the reversal transfer. Must be one of the following:
duplicated_entry
: the original transfer is a duplicated transferincorrect_amount
: the original transfer has an incorrect amountincorrect_receiver_account
: the original transfer has an incorrect receiver accountdebit_earlier_than_intended
: the original transfer is an ACH debit requested earlier than intendedcredit_later_than_intended
: the original transfer is an ACH credit requested later than intended
description
string
Optional
Description of the reversal transfer visible only in your platform. Maximum length: 255
characters.
Request
Response
ACH Positive Pay Rule object
The ACH Positive Pay Rule object represents a whitelist rule for handling incoming debits. Incoming debits to a bank account with at least one positive pay rule will be automatically returned unless the incoming debit meets the conditions of a positive pay rule on the account. A positive pay rule is uniquely identified by the target bank account and the ACH Company ID present in an incoming debit.
object parameters
ach_company_id
string
the ACH Company ID for the rule. This is a ten digit identifier.
amount
int64
the amount threshold in cents that will be used in rule evaluation. Must not be set if amount_condition
is set to ANY_AMOUNT
amount_condition
string
This required field configures the rule to make a specific kind of amount comparison.
equal
: The incoming debit will only be permitted if the transfer amount equals the rule amount.
less_than_or_equal_to
: The incoming debit will only be permitted if the transfer amount is less than or equal to the rule amount.
any_amount
: The incoming debit will be permitted for any amount. If this value is used, `amount` must not be specified.
bank_account_id
string
ID of the bank account this rule applies to.
description
string
Description of the rule. maximum length:255
characters.
ACH Positive Pay rule object
Create an ACH positive pay rule
POST
/ach-positive-pay-rules
Creates an ACH positive pay rule on a bank account.
body parameters
ach_company_id
string
Required
the ACH Company ID for the rule. This is a ten digit identifier. This rule will apply to incoming debits with this ACH Company ID.
amount
int64
Optional
Amount (in cents) of the funds that the rule condition will be evaluated against.
e.g. $1.75 would be represented by 175
.
amount_condition
string
Required
The type of comparison to make against the amount of an incoming ACH debit: EQUAL
or LESS_THAN_OR_EQUAL_TO
or ANY_AMOUNT
. If amount_condition
is ANY_AMOUNT
, then amount
must not be specified.
bank_account_id
string
Required
ID of the bank account ID this rule applies to.
description
string
Required
Description of the positive pay rule: 255
characters.
Request
Response
Get an ACH positive pay rule
GET
/ach-positive-pay-rules/<positive_pay_rule_id>
Gets an ACH positive pay rule.
path parameters
positive_pay_rule_id
string
Required
ID of the positive pay rule.
Request
Response
List ACH positive pay rules
GET
/bank-accounts/<bank_account_id>/ach-positive-pay-rules
Gets all ACH positive pay rules on a bank account.
path parameters
bank_account_id
string
Required
ID of the bank account ID to fetch rules for.
Request
Response
Delete an ACH positive pay rule
DELETE
/ach-positive-pay-rules/<positive_pay_rule_id>
Deletes an ACH positive pay rule by ID.
path parameters
positive_pay_rule_id
string
Required
ID of the positive pay rule.
Request
Response
ACH return object
The ACH return object represents the current state of a single ACH return originated by or received by Column. The ACH return object will contain all relevant information about the specific return, which are described in the parameters below. Read about more about ACH transfers here.
object parameters
ach_transfer_id
string
The id of the ACH transfer that is being returned.
created_at
string
The timestamp at which the return was created.
details
array of objects
Includes an object containing detailed information about the return.
addenda
string
Optional information provided about the ACH return.
created_at
string
The timestamp at which the ACH return is created.
description
string
Description of the ACH return.
return_code
string
Reason for the ACH return.
status
string
Status of the ACH return.
updated_at
string
The timestamp at which the ACH return is updated.
is_incoming
boolean
Indicates if the return was initiated by an RDFI (true
) or by Column (false
).
status
string
The current state of the ACH return. The possible states are INITIATED
, SENT
, DISHONORED
, CONTESTED
, COMPLETED
, and REJECTED
. See here for more information.
updated_at
string
The timestamp at which the return ACH return was updated (typically a status update).
ACH Return object
Create an ACH return
POST
/transfers/ach/<ach_transfer_id>/return
Submit a request to return an incoming ACH transfer that is sent by other ODFIs (i.e. Column is the RDFI).
At most only one return request can be submitted for each incoming ACH transfer.
You can read more about ACH returns here.
path parameters
ach_transfer_id
string
Required
ID of the ACH transfer you intend to return.
body parameters
return_code
string
Required
Return reason codes of the return
You can read more about ACH return reason codes here.
description
string
Optional
Description of the reason for the return. Maximum length: 255 characters. This is for internal use only and will not be transmitted to the ODFI.
addenda
string
Optional
If provided, this string will be sent as the addenda information field of the ACH addenda entry to the ODFI. Maximum length: 44 characters.
Request
Response
List all ACH returns
GET
/transfers/ach/returns
Retrieve the return processing details of all ACH transfers under your developer account, including both returns filed by your platform and returns sent by other RDFIs.
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
Request
Response
Get an ACH return
GET
/transfers/ach/<ach_transfer_id>/return
Retrieve the return processing details of an ACH transfer. The return may be either filed by your platform, or sent to you by other RDFIs.
path parameters
ach_transfer_id
string
Required
ID of the ACH transfer you're looking up.
Request
Response
Book transfer object
The book transfer object is the current state of a single book transfer initiated in Column. A book transfer is the movement of funds between two bank accounts under your platform, and once initiated, happen instantaneously 24/7. Read about more about book transfers here.
object parameters
allow_overdraft
boolean
Allows the account to go negative for an outgoing transfer. The bank account needs to haveis_overdraftable
enabled with an overdraft reserve account linked to it
amount
int64
Amount (in cents) of the funds that will be transferred between sender and receiver accounts.
e.g. $1.75 would be represented by 175
created_at
string
The timestamp at which the transfer request is created.
currency_code
string
The three-letter currency code defined in ISO 4217. e.g. USD
description
string
A description of the transfer visible in people's accounts.
id
string
The unique id of the object.
idempotency_key
string
The idempotency key specified in the book transfer.
receiver_account_number_id
string
ID of the account number that will receive the transfer.
receiver_bank_account_id
string
ID of the bank account that will receive the transfer.
sender_account_number_id
string
ID of the account number that is sending the transfer.
sender_bank_account_id
string
ID of the bank account that is sending the transfer.
status
string
The current status of the book transfer. Possible values: REJECTED
, COMPLETED
, HOLD
, and CANCELED
.
updated_at
string
The timestamp at which the book transfer was updated (typically a status update).
Book Transfer object
Create a book transfer
POST
/transfers/book
A book transfer, is a transaction between between two Column accounts that you own.
They can happen instantly and can be sent 24 hours a day, 7 days a week. Both accounts need to under your platform, but don't need to be under the same entity.
Alternatively, you can send a book transfer in two steps, using the "hold" parameter and "clear" method. Book transfers in a "hold" state can be updated and canceled.
There is no reversal functionality for book transfers. Simply swap the originator_account_number_id
and receiver_account_number_id
and repeat the request.
body parameters
description
string
Optional
A description of the transfer visible in people's accounts.
amount
int64
Required
Amount (in cents) of the funds that will be transferred between sender and receiver accounts.
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
sender_bank_account_id
string
Optional
ID of the bank account that is sending the transfer. If no sender_account_number_id
is specified, the default account number on sender_bank_account_id
is used.
sender_bank_account_id
or sender_account_number_id
is required
sender_account_number_id
string
Optional
ID of the account number that is sending the transfer.
If this is specified, the sender_bank_account_id
does not need to be included.
sender_bank_account_id
or sender_account_number_id
is required
receiver_bank_account_id
string
Optional
ID of the bank account that will receive the transfer. If no receiver_account_number_id
is specified, the default account number on receiver_bank_account_id
is used.
receiver_bank_account_id
or receiver_account_number_id
is required
receiver_account_number_id
string
Optional
ID of the account number that will receive the transfer. If this is specified, the receiver_bank_account_id
does not need to be included.
receiver_bank_account_id
or receiver_account_number_id
is required
allow_overdraft
boolean
Optional
Allows the account to go negative for an outgoing transfer. The bank account needs to haveis_overdraftable
enabled with an overdraft reserve account linked to it
hold
boolean
Optional
Creates a book transfer in a hold
state. The transfer will not be completed until the clear
API is called. Transfers in a hold
state may be updated or canceled.
details
object
Optional
Transfer monitoring details
sender_name
string
Optional
Name of the sender
merchant_name
string
Optional
Name of the merchant for this transaction
merchant_category_code
string
Optional
Category code for the merchant for this transaction
authorization_method
string
Optional
Authorization method for this transaction
website
string
Optional
Website for this transaction
internal_transfer_type
string
Optional
Transfer type in non-column systems
statement_description
string
Optional
Line item on the customer statement for the transfer
address
object
Required
Addresses need to adhere to character validation, as addresses are used across multiple payment rails. Characters are validated according to the Fedwire character validation.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Optional
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Optional
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
Required
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
Request
Response
List all book transfers
GET
/transfers/book
Retrieve all book transfers under your developer account. Filtered results can be retrieved with extra parameters in the query (sender_bank_account_id
, receiver_bank_account_id
, etc.).
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
sender_bank_account_id
string
Optional
Return results associated with this sender bank account.
receiver_bank_account_id
string
Optional
Return results associated with this receiver bank account.
status
string
Optional
Return results with this status.
Possible enum values:
REJECTED
COMPLETED
HOLD
CANCELED
Request
Response
Get a book transfer
GET
/transfers/book/<book_transfer_id>
Retrieve a single book transfer by its ID
path parameters
book_transfer_id
string
Required
ID of the book transfer you're looking up.
Request
Response
Update a book transfer
PATCH
/transfers/book/<book_transfer_id>
Update a book transfer by its ID. Transfer must be in a "hold" state. Only the amount
can be updated.
path parameters
book_transfer_id
string
Required
body parameters
amount
int64
Required
Amount (in cents) to update the hold to. Can be lower or higher than the original amount. This will not clear the hold.
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
allow_overdraft
boolean
Optional
If true, will cause the hold to overdraft the available balance if the amount is greater than the available balance.
Request
Response
Cancel a book transfer
POST
/transfers/book/<book_transfer_id>/cancel
Cancel a book transfer hold by its ID. Transfer must be in a "hold" state.
path parameters
book_transfer_id
string
Required
Request
Response
Clear a book transfer
POST
/transfers/book/<book_transfer_id>/clear
Clear a book transfer by its ID. Transfer must be in a "hold" state. If the amount
is specified, then that amount will be cleared, regardless of the amount of the hold. If no amount is specified, then the amount of the hold will be cleared.
path parameters
book_transfer_id
string
Required
body parameters
amount
int64
Optional
Amount (in cents) to clear the hold to. Can be lower or higher than the original amount. If no amount is specified, the hold will be cleared for the original amount on the transfer.
currency_code
string
Optional
The three-letter currency code defined in ISO 4217. e.g. USD
allow_overdraft
boolean
Optional
If true, will cause the clear to overdraft the available balance if the amount is greater than the available balance.
Request
Response
Wire transfer object
The wire transfer object represents the current state of a single wire transfer initiated by or received by Column. Wire transfers are used to send and receive money over Fedwire. The wire transfer object exposes all relevant information about the wire transfer to developers. Read about more about wire transfers here.
object parameters
account_number_id
string
ID of the account number that is sending/receiving the transfer.
allow_overdraft
bool
Allows the account to go negative for an outgoing transfer. The bank account needs to haveis_overdraftable
enabled with an overdraft reserve account linked to it
amount
integer
Amount (in cents) of the funds that will be transferred between originator and counterparty accounts.
e.g. $1.75 would be represented by 175
bank_account_id
string
ID of the bank number that is sending/receiving the transfer.
beneficiary_account_number
string
The external account number to which the wire is being sent.
beneficiary_name
string
The name of the person who is receiving the wire.
business_function_code
string
The business function code specified in the wire transfer. Possible business function codes are BTR
, CTP
, CTR
, DRC
, or DRW
.
completed_at
string
The timestamp when the wire was completed.
counterparty_id
string
ID of the counterparty
that is receiving/sending the transfer
created_at
string
The timestamp when the wire was created.
currency_code
string
The three-letter currency code defined in ISO 4217. e.g. USD
description
string
A description of the transfer visible in people's accounts.
fi_to_fi_information_line_<1-6>
string
Financial institution to financial institution information, most often used by a FI to explain the reason for a wire reversal. Column will populate this for outgoing reversals. There can be up to six separate parameters, one for each message line.
id
string
The unique id of the object.
idempotency_key
string
The idempotency key specified in the wire transfer.
imad
string
Stands for Input/Output Message Accountability Data. A unique number set by the originating bank given to each FedWire payment when using the Federal Reserve Bank Service and can be used to investigate and track wire transfers. IMAD will be populated asynchronously and will not be populated on the completed
event. IMAD will also not be populated for on-us wire transfers.
initiated_at
string
The timestamp when the wire was initiated.
is_incoming
boolean
Indicates whether the wire transfer was incoming (true
or outgoing false
)
is_on_us
boolean
Indicates whether the wire transfer was between two bank accounts held at Column.
manual_review_at
string
The timestamp when the wire went into the manual review state.
omad
string
Stands for Input/Output Message Accountability Data. A unique number set by the Fed given to each FedWire payment when using the Federal Reserve Bank Service and can be used to investigate and track wire transfers. OMAD will be populated asynchronously and will not be populated on the completed
event. OMAD will also not be populated for on-us wire transfers.
originator_account_number
string
The external account number from which the wire is originated.
originator_name
string
The name of the person or entity that is originating the wire.
pending_submission_at
string
The timestamp when the wire was marked PENDING_SUBMISSION
.
previous_message_reference
string
The previous message identifier included in the raw wire message.
raw_beneficiary_address
string
The unstructured beneficiary address extracted from the raw wire message.
raw_originator_address
string
The unstructured originator address extracted from the raw wire message
receiver_di_name
string
The name of the person / entity that received the wire.
receiver_di_routing_number
string
The routing number of the bank that received the wire.
rejected_at
string
The timestamp when the wire was rejected.
reversal_pair_transfer_id
string
If the transfer is the original transfer of an wire reversal, this field is the unique ID of the reversal transfer. If the transfer is the reversal transfer of a wire reversal, this field is the unique ID of the original transfer. Please refer to Wire Reversals for more details.
sender_di_name
string
The name of the person / entity that sent the wire.
sender_di_routing_number
string
The routing number of the bank that sent the wire.
sender_reference
string
The sender reference field parsed out from the raw wire message.
status
string
The current status of the wire transfer. Possible statuses are INITIATED
, COMPLETED
, REJECTED
, and MANUAL_REVIEW
.
submitted_at
string
The timestamp when the wire was submitted.
subtype_code
string
The subtype code specified in the wire transfer.
type_code
string
The type code specified in the wire transfer.
updated_at
string
The timestamp when the wire was updated.
wire_drawdown_request_id
string
ID of the wire drawdown request if the wire is sent in response to a wire drawdown request.
Wire Transfer Object
Create a wire transfer
POST
/transfers/wire
Create a wire transfer between a Column account and a counterparty.
body parameters
description
string
Optional
A description of the transfer visible in people's accounts. This field will be transmitted to the RDFI and is often visible in the beneficiary's statement. Must adhere to Fedwire character validation.
amount
int64
Required
Amount (in cents) of the funds that will be transferred between originator and counterparty accounts.
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
account_number_id
string
Optional
ID of the account number that is sending the transfer. If this is specified, the bank_account_id
does not need to be included.
account_number_id
or bank_account_id
is required
bank_account_id
string
Optional
ID of the bank number that is sending the transfer. If no account_number_id
is specified, the default account number on bank_account_id
is used.
account_number_id
or bank_account_id
is required
counterparty_id
string
Required
ID of the counterparty
that will receive the transfer
Note: A wire object must be attached to the counterparty
. If it is not, this request will fail.
allow_overdraft
boolean
Optional
Allows the account to go negative for an outgoing transfer. The bank account needs to haveis_overdraftable
enabled with an overdraft reserve account linked to it
Request
Response
List all wire transfers
GET
/transfers/wire
Retrieve all wire transfers under your platform
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
bank_account_id
string
Optional
Return results associated with this bank account.
counterparty_id
string
Optional
Return results associated with this counterparty.
status
string
Optional
Return results with this status.
Possible enum values:
NONE
INITIATED
PENDING_SUBMISSION
SUBMITTED
COMPLETED
REJECTED
MANUAL_REVIEW
is_incoming
boolean
Optional
Return transfers that is either incoming or outgoing.
Request
Response
Get wire transfer
GET
/transfers/wire/<wire_transfer_id>
Retrieve a single wire transfer by its ID
path parameters
wire_transfer_id
string
Required
ID of the wire transfer you're looking up.
Request
Response
Reverse an incoming wire transfer
POST
/transfers/wire/<wire_transfer_id>/reverse
Reverse an incoming wire transfer received in error. You can read more about Wire Reversals.
path parameters
wire_transfer_id
string
Required
body parameters
reason
string
Required
Reason for the reversal transfer. Must be one of the following:
invalid_beneficiary_account_number
: the beneficiary account number is invalidbeneficiary_mismatch
: beneficiary information in the wire does not match the corresponding information on the accountbeneficiary_request
: the beneficiary is refusing the wireoriginator_request
: the beneficiary is reversing the wire as per the sender's request
description
string
Optional
Description of the reversal transfer visible only in your platform. Maximum length: 255
characters.
Request
Response
Wire drawdown object
The wire drawdown object represents the current state of a single wire drawdown received by Column. Wire drawdowns are used to request a customer send a wire to a verified counterparty.
object parameters
account_number_id
string
The Column account number id to which the wire drawdown request was made.
amount
int64
Amount (in cents) that will be transferred between originator and counterparty accounts if the wire drawdown is approved.
bank_account_id
string
Column bank account id to which the wire drawdown request was made.
beneficiary_account_number
string
The external account number to which funds will be sent if the wire drawdown request is approved.
beneficiary_name
string
The name of the person who will receive funds with via wire if the wire drawdown request is approved.
beneficiary_counterparty_id
string
The counterparty ID, which Column automatically creates, to which funds will be sent if the wire drawdown request is approved.
beneficiary_name
string
The beneficiary name to which funds will be sent if the wire drawdown request is approved.
currency_code
string
The three-letter currency code defined in ISO 4217. e.g. USD
id
string
The unique id of the wire drawdown request object.
imad
string
The IMAD included in the wire drawdown request. Stands for Input/Output Message Accountability Data. A unique number set by the originating bank given to each FedWire payment when using the Federal Reserve Bank Service and can be used to investigate and track wire transfers. IMAD will not be populated for on-us wire transfers.
is_incoming
boolean
Indicates whether the wire drawdown request is incoming. (true
or outgoing false
)
message_identifier
string
The message identifier supplied in the wire drawdown request. This is typically the same as the IMAD.
originator_account_number
string
The account number of the originator of the wire drawdown request. This is often different from the beneficiary account number.
originator_name
string
The name of the originator who sent the wire drawdown request. This is often different from the beneficiary name.
originator_to_beneficiary_information
string
Free form text where the originator may supply some additional information describing the wire drawdown request.
received_at
string
Date/time at which the wire drawdown request was received (UTC).
receiver_di_name
string
The name of the financial institution to which the wire drawdown request was sent.
receiver_di_routing_number
boolean
The routing number of the financial institution to which the wire drawdown request was sent.
sender_di_name
string
The name of the financial institution that sent the wire drawdown request.
sender_di_routing_number
string
The routing number of the financial institution that sent the wire drawdown request.
status
string
The status of the wire drawdown request. Possible statuses include received
, initiated
, sent
, approved
, denied
, completed
, and rejected
.
supplementary_beneficiary_counterparty_id
string
In the case you need to supplement counterparty information to approve a drawdown, create a new counterparty and pass the resulting ID here. Routing number and account number of the original drawdown request must match.
wire_transfer_id
string
The wire transfer ID of the outgoing wire transfer should a wire drawdown request be approved.
Wire Drawdown Object
Get a wire drawdown request
GET
/transfers/wire/drawdown/<wire_drawdown_request_id>
Retrieves a single wire drawdown request by its ID.
path parameters
wire_drawdown_request_id
string
Required
Request
Response
Approve a wire drawdown request
POST
/transfers/wire/drawdown/<wire_drawdown_request_id>/approve
Approves a single wire drawdown request by its ID. If approved, an outgoing wire is initiated using the information specified in the drawdown request.
path parameters
wire_drawdown_request_id
string
Required
body parameters
supplementary_beneficiary_counterparty_id
string
Optional
In the case you need to supplement counterparty information to approve a drawdown, create a new counterparty and pass the resulting ID here. Routing number and account number of the original drawdown request must match.
allow_overdraft
boolean
Optional
This field allows the drawdown wire payment to overdraft if there are not sufficient funds available in the account for the wire transfer.
Request
Response
List all wire drawdown requests
GET
/transfers/wire/drawdown
Retrieve all wire drawdowns under your developer account.
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
bank_account_id
string
Optional
Return results associated with this bank account.
account_number_id
string
Optional
Return results associated with this account number.
beneficiary_counterparty_id
string
Optional
Return results associated with this beneficiary counterparty.
status
string
Optional
Return results with this status.
Possible enum values:
received
approved
denied
completed
rejected
is_incoming
boolean
Optional
All wire drawdowns are incoming, and thus is_incoming
will be true.
Request
Response
Create a wire drawdown request
POST
/transfers/wire/drawdown
Sends an outgoing wire drawdown to request funds from an external account.
body parameters
recipient_description
string
Required
A description sent to the external bank conveying information about the purpose of the drawdown (e.g. details of the payment, invoice numbers, identifiers). Must adhere to Fedwire character validation.
amount
int64
Required
Amount (in cents) to be requested.
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
beneficiary_account_number_id
string
Optional
ID of the account number that will receive funds if the drawdown is approved. If this is specified, beneficiary_bank_account_id
does not need to be included.
beneficiary_account_number_id
or beneficiary_bank_account_id
is required
beneficiary_bank_account_id
string
Optional
ID of the bank account that will receive funds if the drawdown is approved. If this is specified, beneficiary_account_number_id
does not need to be included. The default account number on bank_account_id
will be used.
beneficiary_account_number_id
or beneficiary_bank_account_id
is required
recipient_counterparty_id
string
Required
ID of the counterparty
the drawdown request will be sent to and funds requested from.
Note: A wire object must be attached to the counterparty
. If it is not, this request will fail.
Request
Response
Foreign exchange rate sheet object
The foreign exchange rate sheet object includes FX rates for all foreign currencies that Column supports. This rate sheet is informational only and should be used to display FX rates to your customers. You can read about more about international wires and creating FX quotes here.
object parameters
data
array
List of FX rates for all supported currencies.
buy_currency_code
string
Buy currency. The three-letter currency code defined in ISO 4217. e.g. USD
rate
string
The FX rate used for currency exchange from sell_currency_code
to buy_currency_code
, including FX rate margin charged by your platform. Read more
rate_without_margin
string
The FX rate used for currency exchange from sell_currency_code
to buy_currency_code
, excluding FX rate margin charged by your platform. Read more
sell_currency_code
string
Sell currency. The three-letter currency code defined in ISO 4217. e.g. USD
updated_at
string
The timestamp at which the FX rate was last refreshed.
fx_rate_margin_bps
int
Foreign currency exchange margin charged by your platform to your customers in Basis Points (BPS). 1 bps
equals 0.01%
. Read more
supported_currencies
int
Number of supported currencies
Foreign Exchange Rate object
Get FX rate sheet
GET
/transfers/international-wire/fx-rate-sheet
Retrieve the FX rate sheet for all foreign currencies that Column supports.
Request
Response
Foreign exchange quote object
The Foreign Exchange Quote object represents the rate quote for an international wire transfer. Read about more about international wire transfers here.
object parameters
buy_amount
int64
Buy amount (in the smallest unit of the currency) of the quote.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
buy_currency_code
string
Buy currency. The three-letter currency code defined in ISO 4217. e.g. USD
created_at
string
The timestamp when the FX quote was created.
expired_at
string
If this quote has not been booked yet, this is the deadline to book it. If this quote has already been booked, this is the deadline to use it to initiate an outgoing transfer. It is set as 16:30 ET on its rate date after it is booked. If this quote is not booked or used for an outgoing transfer after this deadline, it will be automatically canceled.
id
string
The ID of the FX quote.
rate
string
The foreign exchange rate used for currency exchange from sell_currency
to buy_currency
.
rate_date
string
The deadline to use this quote to initiate outgoing transfers. Format: YYYY-MM-DD
.
sell_amount
int64
Sell amount (in the smallest unit of the currency) of the quote.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
sell_currency_code
string
Sell currency. The three-letter currency code defined in ISO 4217. e.g. USD
status
string
The current status of the FX quote. Possible statuses are:
not_booked
: the FX quote has been requested but not yet booked. If you want to use it for an outgoing transfer, it must be booked beforeexpired_at
.booked
: the FX quote has been booked. It can be used for an outgoing transfer beforeexpired_at
.canceled
: the FX quote has been canceled, and can no longer be used for an outgoing transfer.used
: the FX quote has been used for an outgoing transfer.failed
: the FX quote is failed to be booked.
updated_at
string
The timestamp when the FX quote was updated.
Foreign Exchange Quote Object
Request a foreign exchange quote
POST
/transfers/international-wire/fx-rate
Request a foreign exchange quote to exchange USD
to other currencies for international wire transfers. Quotes are not booked until they are used in transfer requests.
body parameters
buy_amount
int64
Required
Buy amount (in the smallest unit of the currency) of the quote.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
buy_currency_code
string
Required
Buy currency. The three-letter currency code defined in ISO 4217. e.g. EUR
rate_date
string
Optional
Desired date for this FX quote. Format: YYYY-MM-DD
. If buy_currency_code='CAD'
, max rate dates are one business day after the current dates. For any other currencies, max rate dates are two business days after the current dates. After 5pm EST will be considered the following business day for booking rate date's in the future.
book_directly
bool
Optional
By default (i.e., book_directly=false
), we will query FX quotes only, and they are not booked until they are used to initiate outgoing transfers before they expire. However, if you need to initiate outgoing transfers after their expiration times (e.g., outgoing funds will not be available until next business day), you can book FX quotes directly by setting book_directly=true
. Booked FX quotes will be valid for a few days, depending on their correspondent banks.
A FX quote should be booked only with the intention of completing a transfer. If you do not intend to use a booked FX quote, it should be canceled as soon as possible. You may incur costs associated with canceling booked FX quotes given FX rate fluctuations.
Request
Response
Get a foreign exchange quote
GET
/transfers/international-wire/fx-rate/<fx_quote_id>
Retrieve a single foreign exchange quote by its ID
path parameters
fx_quote_id
string
Required
ID of the foreign exchange quote you're looking up.
Request
Response
Book a foreign exchange quote
POST
/transfers/international-wire/fx-rate/<fx_quote_id>/book
Book a single foreign exchange quote by its ID. If the quote has already been booked before, it will be returned.
Warning
A FX quote should be booked only with the intention of completing a transfer. If you do not intend to use a booked FX quote, it should be canceled as soon as possible. You may incur costs associated with canceling booked FX quotes given FX rate fluctuations.
path parameters
fx_quote_id
string
Required
ID of the foreign exchange quote you're booking.
Request
Response
Cancel a foreign exchange quote
POST
/transfers/international-wire/fx-rate/<fx_quote_id>/cancel
Cancel a single foreign exchange quote by its ID. If the quote has already been used by an outgoing transfer, it cannot be canceled. If the quote has already been canceled before, it will be returned.
Warning
If you do not intend to use a booked FX quote, it should be canceled as soon as possible. You may incur costs associated with canceling booked FX quotes given FX rate fluctuations.
path parameters
fx_quote_id
string
Required
ID of the foreign exchange quote you're canceling.
Request
Response
International wire transfer object
The international wire transfer object represents the current state of a single international wire transfer initiated by or received by Column. International wire transfers are used to send/receive money to/from outside of the United States via the Swift network. The international wire transfer object exposes all relevant information about the wire transfer to developers. Read about more about international wire transfers here.
object parameters
account_number_id
string
ID of the account number that is sending/receiving the transfer.
allow_overdraft
bool
Allows the account to go negative for an outgoing transfer. The bank account needs to haveis_overdraftable
enabled with an overdraft reserve account linked to it
amount
int64
Amount (in the smallest unit of the currency) of the funds that will be debited from the originator account for an outgoing transfer (including all fees), or credited to the beneficiary account for an incoming transfer (after deducting any fees).
e.g. $1.75 would be represented by 175
. Read more.
bank_account_id
string
ID of the bank account that is sending/receiving the transfer.
beneficiary_account_number
string
The account number of the beneficiary.
beneficiary_address
object
The address of the beneficiary.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
beneficiary_fi
string
The Swift BIC code of the beneficiary's financial institution.
beneficiary_name
string
The name of the beneficiary.
cancellation_reason
string
The reason if the transfer is requested to be canceled (Read more).
cancellation_status
string
The status of cancellation request (Read more). Possible statuses are pending
, accepted
, and rejected
.
charge_bearer
string
The charge bearer code. Can be DEBT
, CRED
, or SHAR
. Read more.
charges
object
List of fees charged by financial institutions involved in this transfer. These charges are inclusive of both the wire the wire return if applicable. Charges are only listed here if the intermediary and beneficiary banks are part of the SWIFT GPI tracking system.
amount
int64
Charge amount (in the smallest unit of the currency).
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
currency_code
string
Charge currency. The three-letter currency code defined in ISO 4217 (e.g. USD
)
agent
string
The Swift BIC code of the financial institution that applied the charge. It may be empty as some financial institutions do not provide it.
column_fixed_fee
int64
The amount (in the smallest unit of currency_code
) of fixed fee charged by Column for an outgoing transfer. This is not included in the charges
field.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
completed_at
string
The timestamp when the international wire was completed.
counterparty_id
string
ID of the counterparty
that is receiving/sending the transfer.
created_at
string
The timestamp when the international wire was created.
currency_code
string
Currency of amount
. The three-letter currency code defined in ISO 4217 (e.g. USD
). Read more.
description
string
The description of the transfer visible only in your platform.
end_to_end_id
string
Unique ID to unambiguously identify the transaction. This ID is passed on, unchanged, throughout the entire end-to-end chain, and can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.
For example, an originator sent a transfer to pay an invoice. However, its amount is not enough to pay off the balance due to FX fluctuations, fees charged by intermediary banks. The originator may send another transfer with a different uetr
, but the same end_to_end_id
to link those two transfers.
Note: while uetr
is globally unique for each transfer, end_to_end_id
is unique only within originating banks (it may be only unique within certain time periods).
fx_quote_id
string
The ID of the foreign exchange quote.
fx_rate
string
The foreign exchange rate used for currency exchange of this transfer, including your platform FX rate margin markup. Read more
id
string
The ID of this international wire transfer.
idempotency_key
string
The idempotency key specified in the wire transfer.
initiated_at
string
The timestamp when the international wire was initiated.
instructed_amount
int64
Instructed amount (in the smallest unit of the currency) of the transfer. Read more.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
instructed_currency_code
string
Instructed currency. The three-letter currency code defined in ISO 4217 (e.g. USD
). Read more.
instruction_id
string
Unique ID assigned by the sender of this message.
instruction_to_beneficiary_fi
string
Further information for the beneficiary's financial institution.
intermediary_fis
array
The Swift BIC codes of intermediary financial institutions.
is_incoming
boolean
Indicates whether the wire transfer was incoming (true
or outgoing false
)
manual_review_at
string
The timestamp when the international wire went into the manual review state.
originator_account_number
string
The account number of the originator.
originator_address
object
The address of the originator.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
originator_fi
string
The Swift BIC code of the originator's financial institution.
originator_name
string
The name of the originator.
pending_submission_at
string
The timestamp when the international wire was pending for submission.
platform_fixed_fee
int64
The amount (in the smallest unit of the currency_code
) of fixed fee charged by your platform for an outgoing transfer. This is not included in the charges
field.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
platform_fx_fee
int64
The amount (in the smallest unit of the currency_code
) of FX fee charged by your platform for an outgoing FX transfer. This is not included in the charges
field.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
raw_message
string
Raw initial transfer message in the Swift MT103 or ISO 20022/MX pacs.008
format. Only populated if it is queried with expand=raw_message
parameter.
remittance_info
object
Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an account's receivable system. We will support more structured information soon (e.g., tax, invoicer, invoicee, etc.). They will be sent in F70
in MT103
messages, or RmtInf
in pacs.008.001.xx
messages. More details. Must adhere to International Wire character validation .
general_info
string
General information for the beneficiary in an unstructured form. Maximum length: 140
characters.
beneficiary_reference
string
Reference for the beneficiary (e.g., invoice number) to reconcile this transfer with their internal records. Maximum length: 30
characters.
return_reason
string
The reason if this transfer is returned.
returned_amount
int64
The amount (in the smallest unit of the currency) if this transfer is returned. Read more.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
returned_at
string
The timestamp when the international wire was returned.
returned_currency_code
string
The currency if this transfer is returned. The three-letter currency code defined in ISO 4217 (e.g. USD
). Read more.
settled_amount
int64
Settlement amount (in the smallest unit of the currency) of the transfer. Read more.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
settled_currency_code
string
Settlement currency. The three-letter currency code defined in ISO 4217 (e.g. USD
). Read more.
settlement_date
string
The date (in ET time zone) when funds are sent to the beneficiary bank for an outgoing transfer, or received from the originator bank for an incoming transfer. Format: YYYY-MM-DD
.
status
string
The current status of the international wire transfer. This internal status is different from the tracking status of tracking object (Read more). Possible statuses are initiated
, manual_review
,pending_submission
, submitted
, completed
,pending_return
and returned
.
submitted_at
string
The timestamp when the international wire was submitted to the Swift network.
uetr
string
Universally unique ID to provide an end-to-end reference for this transfer. Format: UUID v4.
ultimate_beneficiary_address
object
The address of the ultimate beneficiary to which this transfer is due.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
ultimate_beneficiary_name
string
The name of the ultimate beneficiary to which this transfer is due.
ultimate_originator_address
object
The address of the ultimate party that owes an amount to the (ultimate) beneficiary.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, this field is mandatory and only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code. The following postal code validations apply. CN: ^\d6$
, DE: ^\d5$
, FR: ^\d5$
, GB: ^[A-Z]{1,2}d[A-Z0-9]? ?d[A-Z]{2}$
, JP: ^\d3-\d4$
, US: ^\d5(?:-\d4)?$
country_code
string
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...
).
ultimate_originator_name
string
The name of the ultimate party that owes an amount to the (ultimate) beneficiary.
updated_at
string
The timestamp when the international wire was updated.
International Wire Transfer Object
Create an international wire transfer
POST
/transfers/international-wire
Create an international wire transfer between a Column account and a counterparty. Transfer status can be tracked via the Tracking API.
body parameters
account_number_id
string
Optional
ID of the account number that is sending the transfer. If this is specified, the bank_account_id
does not need to be included.
account_number_id
or bank_account_id
is required
allow_overdraft
boolean
Optional
Allows the account to go negative for an outgoing transfer. The bank account needs to haveis_overdraftable
enabled with an overdraft reserve account linked to it
amount
int64
Required
Amount (in the smallest unit of the currency) of the funds that will be transferred between originator and counterparty accounts.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
bank_account_id
string
Optional
ID of the bank number that is sending the transfer. If no account_number_id
is specified, the default account number on bank_account_id
is used.
account_number_id
or bank_account_id
is required
charge_bearer
string
Optional
The charge bearer code. Can be SHAR
(default) DEBT
, or CRED
. Read more.
counterparty_id
string
Required
ID of the counterparty
that will receive the transfer
Note: A wire object must be attached to the counterparty
. If it is not, this request will fail.
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. EUR
. If USD
is specified as the currency_code
we will discard any provided fx_quote_id
and send the transfer in USD.
description
string
Optional
A description of the transfer visible only in your platform. Maximum length: 255
characters.
fx_quote_id
string
Optional
ID of the foreign exchange quote returned by FX Quote API. If it is not specified, we will automatically book a FX quote for this transfer if the currency is not USD
.
intermediary_bank
string
Optional
BIC of the preferred intermediary for the beneficiary bank. This is typically documented in the settlement instructions for the beneficiary bank.
Note: we use the routing table from Swift to decide the optimal routes to beneficiary banks if this parameter is not set. If you set an incorrect intermediary bank that has no routing information to the beneficiary bank, your transfer request will be returned. So please only set this parameter at your risk. For non-USD wires, we HIGHLY recommend NOT setting a US bank in this field unless you are absolutely sure of the routing instructions. This field does NOT determine where FX conversion occurs, as Column handles the FX conversion internally before routing to the intermediary bank.
message_to_beneficiary_bank
string
Optional
Further information for the beneficiary's financial institution, which is sent in F72
in MT103
messages, or InstrForCdtrAgt
in pacs.008.001.xx
messages. Maximum length: 140
characters. Must adhere to International Wire character validation .
remittance_info
object
Optional
Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an account's receivable system. We will support more structured information soon (e.g., tax, invoicer, invoicee, etc.). They will be sent in F70
in MT103
messages, or RmtInf
in pacs.008.001.xx
messages. More details. Must adhere to International Wire character validation .
general_info
string
Optional
General information for the beneficiary in an unstructured form. Maximum length: 140
characters.
beneficiary_reference
string
Optional
Reference for the beneficiary (e.g., invoice number) to reconcile this transfer with their internal records. Maximum length: 30
characters.
purpose_code
string
Optional
Purpose code of this transfer. Maximum length: 35
characters. More details.
Request
Response
Get international wire transfer
GET
/transfers/international-wire/<swift_transfer_id>
Retrieve a single international wire transfer by its ID
path parameters
swift_transfer_id
string
Required
ID of the Swift transfer you're looking up.
query parameters
expand
string
Optional
List of fields to be expanded (format: expand=field_1&expand=field_2&expand=field_3
).
raw_message
: raw initial transfer message in MT103 or ISO 20022/MXpacs.008
format
Request
Response
List all international wire transfers
GET
/transfers/international-wire
Retrieve all international wire transfers under your platform
query parameters
bank_account_id
string
Optional
Return results associated with this bank account.
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
Request
Response
Return an incoming international wire
POST
/transfers/international-wire/<swift_transfer_id>/return
Return an incoming international wire transfer to the originator. Return status can be tracked via the Tracking API.
path parameters
swift_transfer_id
string
Required
body parameters
return_reason
string
Required
Reason for the return. Must be one of the following:
incorrect_beneficiary_account
: the beneficiary account number is incorrectbeneficiary_account_blocked
: the beneficiary account is blockedincorrect_amount
: transfer amount is not the same as expected by the beneficiarybeneficiary_mismatch
: beneficiary information in the wire does not match the corresponding information on the accountrefused_by_beneficiary
: the beneficiary refuses to accept this transfercancellation_requested
: the cancellation request from the originator is approvedfraud
: the transfer is a fraudcompliance_rejected
: the transfer did not pass compliance check
message_to_originator_bank
string
Optional
Additional information to the originator bank
Request
Response
Cancel an outgoing international wire
POST
/transfers/international-wire/<swift_transfer_id>/cancel
Send a cancellation request to recall funds from the beneficiary for an outgoing international wire transfer. The beneficiary may approve or reject the cancellation request. Cancellation status can be tracked via the Tracking API.
path parameters
swift_transfer_id
string
Required
body parameters
cancellation_reason
string
Required
Reason for the cancellation. Must be one of the following:
incorrect_amount
: the transfer amount is incorrectincorrect_currency
: the transfer currency is incorrectduplicate
: the transfer was sent multiple times by mistakefraud
: the transfer is a fraudtech_failure
: the transfer was sent by mistake due to technical failurespayment_not_justified
: the transfer is missing some critical information required to process it successfullyrequested_by_originator
: any other reason requested by the originator
Request
Response
International wire tracking object
Read more.object parameters
cancellation_reason
string
The reason if the transfer is requested to be canceled. Read more.
cancellation_status
string
The latest status of cancellation request (Read more). Can be one of the following:
pending
: the beneficiary bank is still processing the cancellation request.accepted
: the beneficiary bank has accepted the cancellation request. Funds have been returned, or will be returned shortly.rejected
: the beneficiary bank has rejected the cancellation request. Funds won't be returned.
completed_at
string
The timestamp when the international wire was completed by the beneficiary bank.
completed_amount
int64
The amount (in the smallest unit of the currency) credited to the beneficiary account by the beneficiary bank.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
completed_currency_code
string
Currency code of the completed amount. The three-letter currency code defined in ISO 4217 (e.g. USD
). Read more.
events
object
List of tracking updates of the transfer in ascending order of event timestamp.
cancellation_reason
string
The reason if the transfer is requested to be canceled. Read more.
cancellation_status
string
The current status of cancellation request by this event (Read more). Can be one of the following:
pending
: the beneficiary bank is still processing the cancellation request.accepted
: the beneficiary bank has accepted the cancellation request. Funds have been returned, or will be returned shortly.rejected
: the beneficiary bank has rejected the cancellation request. Funds won't be returned.
cancellation_status_reason
string
The reason if the cancellation request is still pending
or rejected
.
charge_bearer
string
The charge bearer code. Can be DEBT
, CRED
, or SHAR
. Read more.
charges
object
List of fees charged by financial institutions involved in this transfer. These charges are inclusive of both the wire the wire return if applicable. Charges are only listed here if the intermediary and beneficiary banks are part of the SWIFT GPI tracking system.
amount
int64
Charge amount (in the smallest unit of the currency).
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
currency_code
string
Charge currency. The three-letter currency code defined in ISO 4217 (e.g. USD
)
agent
string
The Swift BIC code of the financial institution that applied the charge. It may be empty as some financial institutions do not provide it.
fx_rate
string
The foreign exchange rate used for currency exchange by this financial institution.
instructed_amount
int64
Instructed amount (in the smallest unit of the currency) of the transfer. Read more.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
instructed_currency_code
string
Instructed currency. The three-letter currency code defined in ISO 4217 (e.g. USD
). Read more.
instructed_fi
string
The Swift BIC code of the instructed financial institution (i.e., the next FI in the routing).
is_cover_transfer_event
bool
Indicate if this event is for the cover transfer that settles funds. Cover transfer events will not impact the corresponding customer transfer status. Read more
network_reference
string
The event ID in the Swift tracking system. Unique per transfer.
settled_amount
int64
Settlement amount (in the smallest unit of the currency) of the transfer.
e.g., 1756
means 1.756 in KWD, 17.56 in USD, or 1756 in JPY.
settled_currency_code
string
Settlement currency. The three-letter currency code defined in ISO 4217 (e.g. USD
). Read more.
transfer_status
string
The current transfer status in the Swift tracking system by this event. This tracking status is different from the internal status of international wire object (Read more). Can be one of the following:
pending
: the transfer is still being processed by an intermediary bank or the beneficiary bank.rejected
: the transfer has been rejected by an intermediary bank or the beneficiary bank.completed
: the transfer has been processed successfully by the beneficiary bank, and funds have been credited to the beneficiary account.
transfer_status_reason
string
The reason if the transfer is still pending
or rejected
.
type
string
The tracking event type. Can be one of the following:
fi_transfer_initiated
: the FI transfer is initiatedfi_transfer_updated
: the FI transfer is updatedfi_transfer_cancellation_requested
: an originator has requested to cancel the FI transferfi_transfer_cancellation_responded
: the FI transfer cancellation status is updatedfi_transfer_cancellation_tracking_updated
: the tracking status of the FI transfer cancellation request is updatedfi_transfer_return_initiated
: the FI transfer return is initiatedfi_transfer_return_updated
: the FI transfer return is updatedfi_transfer_cover_initiated
: the cover of a FI transfer is initiatedfi_transfer_cover_updated
: the cover of a FI transfer is updatedfi_transfer_cover_return_initiated
: the cover of a FI transfer is returnedfi_transfer_cover_return_updated
: a return of the cover of a FI transfer is updatedtransfer_initiated
: the transfer is initiatedtransfer_updated
: the transfer status is updatedtransfer_cancellation_requested
: the originator has requested to cancel the transfertransfer_cancellation_responded
: the cancellation status is updatedtransfer_cancellation_tracking_updated
: the tracking status of cancellation request is updatedtransfer_return_initiated
: the transfer is returnedtransfer_return_updated
: the transfer return status is updatedtransfer_cover_initiated
: the cover transfer is initiatedtransfer_cover_updated
: the cover transfer status is updatedtransfer_cover_return_initiated
: the cover transfer is returnedtransfer_cover_return_updated
: the cover transfer return status is updated
updated_at
string
The timestamp when the event was lastly updated by the Swift Tracking system.
updated_by
string
The Swift BIC code of the financial institution posting this status update, or the Swift Tracking system (TRCKCHZZXXX
).
id
string
The ID of this international wire transfer.
transfer_status
string
The latest transfer status in the Swift tracking system. This tracking status is different from the internal status of international wire object (Read more). Can be one of the following:
pending
: the transfer is still being processed by an intermediary bank or the beneficiary bank.rejected
: the transfer has been rejected by an intermediary bank or the beneficiary bank.completed
: the transfer has been processed successfully by the beneficiary bank, and funds have been credited to the beneficiary account.
transfer_status_reason
string
The reason if the transfer is still pending
or rejected
.
uetr
string
Universally unique ID to provide an end-to-end reference for this transfer. Format: UUID v4.
updated_at
string
The timestamp when the transfer was lastly updated by the Swift tracking system.
International Wire Tracking Object
Get international wire tracking
GET
/transfers/international-wire/<swift_transfer_id_or_uetr>/tracking
Retrieve the tracking details of an international wire transfer by its ID or UETR. Read more.
path parameters
swift_transfer_id_or_uetr
string
Required
ID or UETR of the Swift transfer you're looking up.
Request
Response
Realtime transfer object
The realtime transfer object represents the current state of a single realtime transfer initiated by or received by Column. Realtime transfers are used to send and receive money over FedNow or RTP. The realtime transfer object exposes all relevant information about the realtime transfer to developers. Read about more about realtime transfers here.
object parameters
accepted_at
string
The timestamp when the realtime was accepted without posting.
account_number_id
string
ID of the account number that is sending/receiving the transfer.
allow_overdraft
bool
Allows the account to go negative for an outgoing transfer. The bank account needs to haveis_overdraftable
enabled with an overdraft reserve account linked to it
amount
integer
Amount (in cents) of the funds that will be transferred between originator and counterparty accounts.
e.g. $1.75 would be represented by 175
bank_account_id
string
ID of the bank number that is sending/receiving the transfer.
blocked_at
string
The timestamp when the realtime was blocked after accepting without posting.
completed_at
string
The timestamp when the realtime was completed.
counterparty_id
string
ID of the counterparty
that is receiving/sending the transfer
currency_code
string
The three-letter currency code defined in ISO 4217. e.g. USD
description
string
A description of the transfer visible in people's accounts.
id
string
The unique id of the object.
idempotency_key
string
The idempotency key specified in the realtime transfer.
initiated_at
string
The timestamp when the realtime was initiated.
is_incoming
boolean
Indicates whether the realtime transfer was incoming (true
or outgoing false
)
is_on_us
boolean
Indicates whether the realtime transfer was between two bank accounts held at Column.
manual_review_approved_at
string
The timestamp when the realtime was approved after manual review.
manual_review_at
string
The timestamp when the realtime went into the manual review state.
manual_review_rejected_at
string
The timestamp when the realtime was rejected after manual review.
rejected_at
string
The timestamp when the realtime was rejected after accept without posting
rejection_code
string
Code represanting a reason for rejecting realtime payment
rejection_description
string
Description for the rejection_reason_code
rejection_additional_info
string
Provide further information on the payment status reason in free-formatted text, if avaibliable
return_pair_transfer_id
string
Provides a reference to a pair return transfer created when return was accepted. It's either original transfer or the return transfer ID
status
string
The current status of the realtime transfer. Possible statuses are initiated
, pending
, accepted
, completed
, blocked
, rejected
, manual_review
, manual_review_approved
, manual_review_rejected
.
end_to_end_id
string
A unique identifier for the transfer that is passed through to the receiving bank. This is used for reconciliation purposes
Realtime Transfer Object
Create a realtime transfer
POST
/transfers/realtime
Create a realtime transfer between a Column account and a counterparty.
body parameters
description
string
Optional
A description of the transfer visible in people's accounts.
amount
int64
Required
Amount (in cents) of the funds that will be transferred between originator and counterparty accounts.
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
account_number_id
string
Optional
ID of the account number that is sending the transfer. If this is specified, the bank_account_id
does not need to be included.
account_number_id
or bank_account_id
is required
bank_account_id
string
Optional
ID of the bank number that is sending the transfer. If no account_number_id
is specified, the default account number on bank_account_id
is used.
account_number_id
or bank_account_id
is required
counterparty_id
string
Required
ID of the counterparty
that will receive the transfer
allow_overdraft
boolean
Optional
Allows the account to go negative for an outgoing transfer. The bank account needs to haveis_overdraftable
enabled with an overdraft reserve account linked to it
end_to_end_id
string
Optional
A unique identifier for the transfer that is passed through to the receiving bank. This is used for reconciliation purposes. If not set, transfer ID is used by default (eg.: rttr_2pV9fkRGLZD34KL2fo11Rf4e3HC
)
Request
Response
List all realtime transfers
GET
/transfers/realtime
Retrieve all realtime transfers under your platform
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
Request
Response
Check transfer object
The check transfer object represents the current state of a single check transfer initiated by or received by Column. Check transfers are used to send and receive money over Check 21-Enabled services. The check transfer object exposes all relevant information about the check transfer to developers. Read about more about check transfers here.
object parameters
account_number_id
string
ID of the account number that is sending the transfer.
allow_overdraft
boolean
Allow the account to go negative for the transfer. The bank account needs to have is_overdraftable
enabled with an overdraft reserve account linked to it.
back_image
base 64 encoded image
Base 64 encoded TIFF image of the back of the deposited check image. This field is not populated in the check transfer object until after the check is deposited.
bank_account_id
string
ID of the bank number that is sending the transfer.
check_number
string
Sequence number of the check.
created_at
string
Date (format: YYYY-MM-DD
) on which the check was created.
currency_code
string
The three-letter currency code defined in ISO 4217. e.g. USD
delivered_by_column
boolean
For issued check, whether this check is also mailed by Column.
delivery_status
string
The current delivery status of the check delivered by Column. Possible statuses are created
,mailed
, in_transit
, in_local_area
,processed_for_delivery
, delivered
, failed
, rerouted
, and returned_to_sender
.
deposited_amount
int64
Amount (in cents) of the funds that is deposited.
e.g. $1.75 would be represented by 175
deposited_at
string
Date (format: YYYY-MM-DD
) on which the check is deposited (applies only to check deposited at Column).
description
string
A description of the transfer visible in people's accounts.
external_routing_number
string
For issued check, this is the routing number of bank of first deposit
extracted_payee_name
string
The payee name extracted from the ICL file supplied by the bank of first deposit (for Column issued checks only). This can be compared to the payee name on the issued check to detect fraudulently altered checks. Not guaranteed to be accurate.
first_return_at
string
Date (format: YYYY-MM-DD
) on which the check is returned for the first time.
front_image
base 64 encoded image
Base 64 encoded TIFF image of the front of the deposited check image. This field is not populated in the check transfer object until after the check is deposited.
id
string
The unique id of the object.
idempotency_key
string
The idempotency key specified in the wire transfer.
is_preview_pdf_available
boolean
For check delivered by Column, whether the preview PDF is ready to be downloaded.
issued_at
boolean
Date (format: YYYY-MM-DD
) at which the check was issued.
manual_review_at
string
Date (format: YYYY-MM-DD
) at which the check transfer went into manual review.
message
string
Message to the payee. Only available for checks delivered by Column.
memo
string
Memo on the check. Only available for checks delivered by Column.
micr_line
object
The MICR line is the sequence of numbers and characters at the bottom of a check.
amount_field
string
Amount of the issued check.
auxiliary_on_us
string
Auxiliary on us. This field is provided by the issuing bank and most commonly used for a check number. In many cases, auxiliary_on_us will be the string before a routing number in the MICR line.
external_processing_code
string
External processing code.
payor_bank_routing_number
string
Payor bank routing number.
on_us
string
On us. This field is provided by the issuing bank and most commonly contains both check number and account number. In many cases, on-us will be the string after a routing number in the MICR line.
payee_address
object
The receiving address of the check. Only available for checks delivered by Column.
line_1
string
Address line 1
line_2
string
Address line 2
city
string
City
state
string
State name. For US addresses, only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Postal code
country_code
string
Only US
is allowed for now.
payee_name
string
The name of the person who is receiving the check.
pending_deposit_at
string
Date (format: YYYY-MM-DD
) on which the check was pending deposit.
pending_first_return_at
string
Date (format: YYYY-MM-DD
) on which the check was pending first return.
pending_stop_at
string
Date (format: YYYY-MM-DD
) on which the check was stopped.
pending_user_initiated_return_at
string
Date (format: YYYY-MM-DD
) on which the user initiates the return.
positive_pay_amount
int64
Amount (in cents) of the issued check that will be used in positive pay validation if account number is provided.
e.g. $1.75 would be represented by 175
.
reclear_at
string
Date (format: YYYY-MM-DD
) on which the check was recleared.
rejected_at
string
Date (format: YYYY-MM-DD
) on which the check was rejected.
returned_at
string
Date (format: YYYY-MM-DD
) on which the check was returned (deposited checks only).
second_return_at
string
Date (format: YYYY-MM-DD
) on which the check was returned for the second time.
settled_at
string
Date (format: YYYY-MM-DD
) on which the check was settled.
status
string
The current status of the check transfer. Possible statuses are initiated
, issued
,manual_review
, rejected
, pending_deposit
, pending_stop
,deposited
, stopped
, pending_first_return
, pending_second_return
,first_return
, pending_reclear
, recleared
, second_return
, settled
,returned
, pending_user_initiated_return
, user_initiated_return_submitted
,user_initiated_returned
, and pending_user_initiated_return_dishonored
.
stopped_at
string
Date (format: YYYY-MM-DD
) on which funds locked for a check in a pending_stop
state are made available.
type
string
Check transfer type. For checks deposited at Column, this is credit
. For checks issued by Column and deposited at another FI, this is debit
. Learn more here.
updated_at
string
The timestamp at which the Check transfer was lastly updated.
user_initiated_return_submitted_at
string
Date (format: YYYY-MM-DD
) on which the user initiated return is submitted to the Fed.
user_initiated_returned_at
string
Date (format: YYYY-MM-DD
) on which the user initiated return is completed.
user_initiated_return_dishonored_at
string
Date (format: YYYY-MM-DD
) on which the user initiated return is dishonored.
Check Transfer Object
Issue a check
POST
/transfers/checks/issue
Issue a check to a specific payee for a given amount.
If mail_check_request
is included, the check will be delivered by Column too.
body parameters
bank_account_id
string
Required
ID of the bank account from which the check will be issued.
account_number_id
or bank_account_id
is required.
account_number_id
string
Optional
Account number from which the check will be issued. If no account_number_id
is specified, the default account number on bank_account_id is used.
account_number_id
or bank_account_id
is required.
description
string
Optional
Description of the issued check visible only in your platform. Maximum length: 255
characters.
positive_pay_amount
int64
Required
Amount (in cents) of the issued check that will be used in positive pay validation if account number is provided.
e.g. $1.75 would be represented by 175
.
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
payee_name
string
Required
Name of the payee or recipient of the issued check.
allow_overdraft
boolean
Optional
Allow the account to go negative for the transfer. The bank account needs to have is_overdraftable
enabled with an overdraft reserve account linked to it.
mail_check_request
object
Optional
Optional field to have Column to mail the check for you.
message
string
Required
Message to the payee. Maximum length: 400
characters.
memo
string
Optional
Memo on the check. Maximum length: 40
characters.
attachment_document_id
string
Optional
Optional - Document ID of a check_attachment
document. If provided, the document will be printed and included in the envelope. See Check Issuing, Printing and Mailing and Upload a document for more information.
payee_address
object
Required
The receiving address of the check.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Required
State name. For US addresses, only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Required
Postal code
country_code
string
Required
Only US
is allowed for now.
payor_name
string
Required
Payor name to be printed on the check. Maximum length: 40
characters.
courtesy_of
string
Optional
"Courtesy of" line printed after payor name on the check. Maximum length: 40
characters.
payor_address
object
Required
The payor address to be printed on the check.
line_1
string
Required
Address line 1
line_2
string
Optional
Address line 2
city
string
Required
City
state
string
Required
State name. For US addresses, only postal abbreviations (e.g. AL, CA, DE, ...
) are allowed.
postal_code
string
Required
Postal code
country_code
string
Required
Only US
is allowed for now.
signatory
string
Optional
Signer of the check. Maximum length: 30
characters.
Request
Response
Get a check preview PDF for issued transfer
GET
/transfers/checks/<check_transfer_id>/preview-pdf
Get a preview PDF for a transfer. Only available for check delivered by Column
path parameters
check_transfer_id
string
Required
Request
Response
Get a check transfer
GET
/transfers/checks/<check_transfer_id>
Retrieve a single check transfer by its ID.
path parameters
check_transfer_id
string
Required
Request
Response
List all check transfer
GET
/transfers/checks
Retrieve all check transfers on your platform.
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
Request
Response
Stop a check transfer
POST
/transfers/checks/<check_transfer_id>/stop-payment
Create a stop payment on a single check transfer by its ID. A check can only be stopped if it is of type debit and is in issued
or manual_review
status. A stopped check will move into a pending_stop
status with a pending_stop_at
timestamp until funds are released, at which point the status will be stopped
and the stopped_at
timestamp will be set.
path parameters
check_transfer_id
string
Required
Request
Response
Deposit a check
POST
/transfers/checks/deposit
Deposit a check into a Column bank account.
body parameters
bank_account_id
string
Required
ID of the bank account to which the check will be deposited.
account_number_id
or bank_account_id
is required.
account_number_id
string
Optional
Account number to which the check will be deposited. If no account_number_id
is specified, the default account number on bank_account_id is used.
account_number_id
or bank_account_id
is required.
description
string
Optional
Description of the deposited check visible only in your platform. Maximum length: 255
characters.
deposited_amount
int64
Required
Amount (in cents) of the check that is being deposited.
e.g. $1.75 would be represented by 175
.
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
micr_line
object
Required
The MICR line is the sequence of numbers and characters at the bottom of a check.
amount_field
string
Optional
Amount of the issued check.
auxiliary_on_us
string
Optional
Auxiliary on us. This field is provided by the issuing bank and most commonly used for a check number. In many cases, auxiliary_on_us will be the string before a routing number in the MICR line.
external_processing_code
string
Optional
External processing code.
payor_bank_routing_number
string
Required
Payor bank routing number.
on_us
string
Required
On us. This field is provided by the issuing bank and most commonly contains both check number and account number. In many cases, on-us will be the string after a routing number in the MICR line.
image_front
string
Required
Base64 encoded image of the front of the check. The image should be cropped along the edges of the check and oriented correctly.
image_back
string
Required
Base64 encoded image of the back of the check. The image should be cropped along the edges of the check and oriented correctly.
Request
Response
Capture front of check
POST
/transfers/checks/image/front
Preprocess an image of the front of a check. The response is going to include the parsed MICR Line data, deposit amount, and a processed TIFF image that conforms to the ICL file standard. The response fields are in the same format as the input of the check deposit API.
We recommend placing the check on a darker background, such as a darker shade if the check paper is white. The check itself should occupy the majority of the image. Additionally, we suggest using a higher DPI to ensure that the characters are easily recognizable. It is also advisable to correctly orient the check.
Note that the MICR and amount parsing is still in Beta. We recommend you validate parsed data with the user before submitting a check deposit.
body parameters
file
file
Required
An image file to upload (maximum size: 16MB
). Most common image types are supported (PNG, JPEG, HEIC, TIFF, etc.). The file should follow the specifications of RFC 2388 for multipart/form-data
protocol.
Request
Response
Capture back of check
POST
/transfers/checks/image/back
Preprocess an image of the back of a check. The response is going to include a processed TIFF image that conforms to the ICL file standard. The response fields are in the same format as the input of the check deposit API.
We recommend placing the check on a darker background, such as a darker shade if the check paper is white. The check itself should occupy the majority of the image. Additionally, we suggest using a higher DPI to ensure that the characters are easily recognizable. It is also advisable to correctly orient the check.
Note that the MICR and amount parsing is still in Beta. We recommend you validate parsed data with the user before submitting a check deposit.
body parameters
file
file
Required
An image file to upload (maximum size: 16MB
). Most common image types are supported (PNG, JPEG, HEIC, TIFF, etc.). The file should follow the specifications of RFC 2388 for multipart/form-data
protocol.
Request
Response
Check return object
The check return object represents the current state of a single check return initiated by or received by Column. The check return object exposes all relevant information about the check return to developers. Read about more about check returns here.
object parameters
cancelled_at
string
Date (format: YYYY-MM-DD
) on which the check return was cancelled.
check_transfer_id
string
ID of the check transfer that has been returned.
created_at
string
Date (format: YYYY-MM-DD
) on which the check return was created.
id
string
The unique id of the check return object.
pending_review_at
string
Date (format: YYYY-MM-DD
) on which the check return was flagged for review.
processed_at
string
Date (format: YYYY-MM-DD
) on which the check return was processed.
return_reason
string
The reason for which the check was returned.
status
string
The current status of the check return. Possible statuses are scheduled
andprocessed
.
updated_at
string
The timestamp at which the check return was last updated.
Check Return Object
Create a check return
POST
/transfers/checks/<check_transfer_id>/return
Submit a request to return an incoming check transfer received from an ODFI. At most only one return request can be submitted for each check. You can read more about check returns here.
path parameters
check_transfer_id
string
Required
ID of the check transfer you're looking up.
body parameters
return_reason
string
Required
Return reason for a manual return. Only Q
and N
are allowed as manual return reasons.
Request
Response
Get check transfer returns
GET
/transfers/checks/<check_transfer_id>/returns
Retrieve all returns for a check transfer by the check transfer ID.
path parameters
check_transfer_id
string
Required
Request
Response
List all check returns
GET
/transfers/checks/returns
Retrieve the return processing details of all check returns under your platform, including returns created by you and other financial institutions.
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
Request
Response
Receive an ACH Credit
POST
/simulate/receive-ach-credit
Simulates an incoming ACH Credit transfer to an account for the amount specified
To more accurately represent a production environment, we process incoming ACH transfers every hour. You will not see the effects of an incoming ACH transfer till the ACH is processed.
body parameters
destination_account_number_id
string
Required
Identifier for the account to credit or debit
amount
string
Required
Amount (in cents) to credit or debit the account
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
Request
Response
Receive an ACH Debit
POST
/simulate/receive-ach-debit
Simulates an incoming ACH Debit transfer from an account for the amount specified.
To more accurately represent a production environment, we process incoming ACH transfers every hour. You will not see the effects of an incoming ACH transfer till the ACH is processed.
body parameters
destination_account_number_id
string
Required
Identifier for the account to credit or debit
amount
string
Required
Amount (in cents) to credit or debit the account
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
Request
Response
Receive a Wire Transfer
POST
/simulate/receive-wire
Simulates an incoming wire transfer to an account for the amount specified.
We recommend using this API to set a balance on your account in the sandbox environment. This API is always enabled, and is not affected by the operating hours of the sandbox FedWire system.
body parameters
destination_account_number_id
string
Required
Identifier for the account to credit
amount
string
Required
Amount (in cents) to credit the account
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
Request
Response
Receive an international wire
POST
/simulate/receive-international-wire
Simulates an incoming international wire transfer to an account for the amount specified.
body parameters
destination_account_number_id
string
Required
Identifier for the account to credit
amount
string
Required
Amount (in the smallest unit of the currency) to credit the account.
e.g. CNY 1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. CNY
Request
Response
Receive a wire drawdown request
POST
/simulate/receive-wire-drawdown-request
Simulates an incoming wire drawdown request into the specified account number id.
body parameters
account_number_id
string
Required
Identifier for Column bank account which the drawdown request will be processed from
amount
string
Required
Amount (in cents) specified in the drawdown request
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
Request
Response
Receive a Realtime Transfer
POST
/simulate/transfers/realtime/receive-credit
Simulates an incoming realtime transfer to an account for the amount specified.
body parameters
destination_account_number_id
string
Required
Identifier for the account to credit
amount
string
Required
Amount (in cents) to credit the account
e.g. $1.75 would be represented by 175
currency_code
string
Required
The three-letter currency code defined in ISO 4217. e.g. USD
Request
Response
Settle ACH transfer
POST
/simulate/transfers/ach/settle
Forces the settlement of an outgoing ACH transfer, regardless of the operating hours of the Sandbox Fed
body parameters
ach_transfer_id
string
Required
ID of the outgoing transfer to force a settlement
Request
Response
Settle wire transfer
POST
/simulate/transfers/wire/settle
Forces the submission and settlement of an outgoing Wire transfer, regardless of the operating hours of the Sandbox Fed.
The wire message should move from PENDING_SUBMISSION
to COMPLETED
after this API call
body parameters
wire_transfer_id
string
Required
ID of the outgoing transfer to force a settlement
Request
Response
Settle check deposit
POST
/simulate/transfers/checks/settle
Forces the settlement of a deposited check. After a check is deposited in sandbox, it is going to move from a pending_deposit
state to a deposited
state within an hour to simulate check forwarding to the Fed. This endpoint allows you to force
settlement after the check is transitioned to a deposited
state. This will transition the transfer to settled
and make
funds available immediately.
body parameters
check_transfer_id
string
Required
ID of the check transfer
Request
Response
Deposit an issued check
POST
/simulate/deposit-issued-check
Simulates the deposit of an issued check. This API is always enabled, and is not affected by the operating hours of the sandbox FedWire system.
body parameters
check_transfer_id
string
Required
Identifier for the issued check transfer to settle.
Request
Response
List all transfers
GET
/transfers
Returns all ACH, Book, Check, Wire, Realtime and SWIFT transfers, both incoming and outgoing. Transfers are sorted from newest to oldest (transfers created within the same second are sorted alphabetically by transfer ID). The transfer type is specified in the type
field, which is one of ach_credit
, ach_debit
, book
, check_credit
(issued check), check_debit
(deposited check), wire
, realtime
and swift
.
The is_incoming
field is used to flag incoming transfers. The sender is the originator of the transfer for ach_debit
, ach_credit
, wire
, realtime
and swift
transfers. For incoming transfers, external_source
and receiver_internal_account
will be returned. For outgoing transfers, external_destination
and sender_internal_account
will be returned. For book transfers, sender_internal_account
and receiver_internal_account
will be returned.
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
type
string
Optional
Return results of the given transfer type (accepts multiple values, comma separated)
Possible enum values:
ach_debit
ach_credit
book
deposited_check
issued_check
wire
realtime
swift
bank_account_id
string
Optional
Return results where this bank account is either sender or receiver of the transfer.
sender_bank_account_id
string
Optional
Return results where this bank account is a sender of the transfer.
receiver_bank_account_id
string
Optional
Return results where this bank account is a receiver of the transfer.
account_number_id
string
Optional
Return results where this account number is either sender or receiver of the transfer.
sender_account_number_id
string
Optional
Return results where this account number is a sender of the transfer.
receiver_account_number_id
string
Optional
Return results where this account number is a receiver of the transfer.
counterparty_id
string
Optional
Return results associated with this counterparty.
transfer_id
string
Optional
Return results associated with this transfer_id (of any type)
description
string
Optional
Return results with transfers matching the description.
amount
string
Optional
Return results with transfers matching the amount.
amount_gt
int
Optional
Return results with transfers that have the amount greater than the value (in smallest currency unit)
amount_lt
int
Optional
Return results with transfers that have the amount lesser than the value (in smallest currency unit)
amount_gte
int
Optional
Return results that have the amount greater or equal than the value (in smallest currency unit)
amount_lte
int
Optional
Return results with transfers that have the amount lesser than or equal the value (in smallest currency unit)
created_at_gt
date / time
Optional
Return results that were created after the date / time specified. Example: 2023-12-01T00:00:00-00:00
created_at_lt
date / time
Optional
Return results that were created before the date / time specified. Example: 2023-12-01T00:00:00-00:00
created_at_gte
date / time
Optional
Return results that were created after or equal to the date / time specified. Example: 2023-12-01T00:00:00-00:00
created_at_lte
date / time
Optional
Return results that were created after or equal to the date / time specified. Example: 2023-12-01T00:00:00-00:00
is_incoming
boolean
Optional
Return transfers that is either incoming or outgoing.
status
string
Optional
Return results with this status (accepts multiple values, comma separated).
Possible enum values:
canceled
completed
deposited
failed
first_return
hold
initiated
issued
manual_review
manual_review_approved
pending_deposit
pending_first_return
pending_reclear
pending_return
pending_second_return
pending_stop
pending_submission
pending_user_initiated_return
recleared
rejected
return_contested
return_dishonored
returned
scheduled
second_return
settled
stopped
submitted
user_initiated_returned
user_initiated_return_submitted
user_initiated_return_dishonored
pending
accepted
blocked
Request
Response
Event object
The event object is a snapshot of a particular data object (ACH, wire, book, return...etc) in time. An event object will be created each time a data object is created, or changes state. For example, you can use events to track state changes of a particular transfer over time - like an ACH transfer that has been initiated, submitted, settled, or returned. Read about more about events here.
object parameters
created_at
string
The timestamp at which the event was emitted.
data
object
The object instance that triggered the event to be emitted. For example, on an ach.*
event, this will be the ACH object.
id
string
The unique id of the object
type
string
The type of event which was emitted. See Events and Webhooks for more information.
Event object
List all events
GET
/events
Lists all events, inclusive of events sent via webhooks.
query parameters
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an event ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with evnt_id1
, your subsequent call can include ending_before=evnt_id1
in order to fetch the previous page of the list.
limit
int32
Optional
A limit of the number of objects to be returned. The default is 20
.
object_ids
array of strings
Optional
Filter events by their associated objects (e.g., wire transfer IDs, bank account IDs, etc.). Format: object_ids=id_1&object_ids=id_2&object_ids=id_3...
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an event ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with evnt_id2
, your subsequent call can include starting_after=evnt_id2
in order to fetch the next page of the list.
types
array of strings
Optional
The types of events you want to retrieve (format: types=type_1&types=type_2&types=type_3...
). See all events here.
Request
Response
List all webhook events
GET
/events/webhook
Lists just the events that resulted in webhooks. Useful for reconciling webhooks.
query parameters
created.gt
date-time
Optional
Return results where the specified time field is greater than this value.
created.gte
date-time
Optional
Return results where the specified time field is greater than or equal to this value.
created.lt
date-time
Optional
Return results where the specified time field is less than this value.
created.lte
date-time
Optional
Return results where the specified time field is less than or equal to this value.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an event ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with evnt_id1
, your subsequent call can include ending_before=evnt_id1
in order to fetch the previous page of the list.
limit
int32
Optional
A limit of the number of objects to be returned. The default is 20
.
object_ids
array of strings
Optional
Filter events by their associated objects (e.g., wire transfer IDs, bank account IDs, etc.). Format: object_ids=id_1&object_ids=id_2&object_ids=id_3...
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an event ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with evnt_id2
, your subsequent call can include starting_after=evnt_id2
in order to fetch the next page of the list.
types
array of strings
Optional
The types of events you want to retrieve (format: types=type_1&types=type_2&types=type_3...
). See all events here.
Request
Response
Get an event by ID
GET
/events/<id>
Retrieve an event
by its id
path parameters
id
string
Required
Request
Response
Document object
Document objects are a pointer to documents that are created or stored on Column. There are two main types of documents: Documents you upload to Column which support KYC/KYB verification for entities. And report documents generated by Column, which you can download.
object parameters
checksum
string
The SHA-256 checksum of the uploaded document.
created_at
string
Timestamp at which the document was created in the Column system.
description
string
Description of the document provided when the document was created.
id
string
The unique id of this object.
size
integer
type
string
The type of document. Can be bank_transaction_report
, bank_summary_report
, identity_license
, identity_passport
, or identity_utility
.
updated_at
string
The timestamp the document was updated.
url
string
URL to download the document. Expire after 60 seconds. Note: When retrieving this URL with curl in terminal, some characters become encoded and copy and pasting the URL will throw an error in the browser. Try testing this out using POSTMAN instead.
Document object
Upload a document
POST
/documents
To upload a file to Column, you will need to send a request with Content-Type: multipart/form-data
. The request should contain the file you would like to upload, as well as other metadata.
body parameters
file
file
Required
A file to upload (maximum size: 16MB
). The file should follow the specifications of RFC 2388 for multipart/form-data
protocol.
type
string
Required
Type of the document. Possible enum values:
identity_license
: a document to verify the identity of an account owner (e.g., driver licenses, state ID cards, Articles of Incorporation, etc.)identity_passport
: the passport of an account owner to verify the identityidentity_utility
: an utility bill of an account ownercheck_attachment
: an attachment to a mailed check. PDFs, HTML, PNGs, and JPGs are allowed as attachments. For PDFs, PNGs, and JPGs, all pages must be sized at 8.5"x11" at 300 DPI. If HTML is supplied, it will be rendered and trimmed to fit as many 8.5"x11" pages as necessary. If a PDF is provided, it must be 6 pages or fewer. The attachment will be printed double-sided in black and white and included in the envelope after the check page. The ID can be used as `attachment_document_id` in the check issuing request.
description
string
Optional
Description of the document. Maximum length: 127
characters.
Request
Response
Get a document
GET
/documents/<document_id>
Retrieves the details of an existing document.
path parameters
document_id
string
Required
ID of the document you're requesting
Request
Response
Settlement Report object
The settlement report object is a pointer to a settlement report generated by Column. Settlement reports contain data about historical bank account balances, and historical bank account transactions (book transfers, ACH, and wires). Read more about reports here.
object parameters
columns
array
List of columns in the settlement report. Refer to Reporting Guidance for more details.
completed_at
string
The timestamp the settlement report was generated successfully.
created_at
string
The timestamp the settlement report was scheduled.
csv_document_id
string
Document ID to download the CSV format of the settlement report.
from_date
string
Starting date (inclusive, from the beginning of from_date
in time_zone
) of transactions included in the settlement report.
id
string
Unique identifier for the object.
initiated_at
string
The timestamp the settlement report was initiated to be processed.
json_document_id
string
Document ID to download the JSON format of the settlement report.
parquet_document_id
string
Document ID to download the Parquet format of the settlement report.
row_count
int32
Total number of records in the settlement report.
status
string
The current status of the report. Can be scheduled
, initiated
, completed
, or failed
.
time_zone
string
Time zone of the settlement report to decide day boundaries. It is a value defined in the IANA TZ database (e.g., America/Los_Angeles
, UTC
, etc.). You can set your platform reporting time zone in Platform Settings on Dashboard.
to_date
string
Ending date (inclusive, up to the end of to_date
in time_zone
) of transactions included in the settlement report.
type
string
Settlement report type. Can be bank_account_summary
, or bank_account_transaction
.
updated_at
string
The timestamp the settlement report was last updated.
Settlement Report object
Schedule a settlement report
POST
/reporting
Schedule a request to generate a settlement report. You must set your platform reporting time zone in Platform Settings on Dashboard. Please refer to our Reporting Guides for more details.
body parameters
from_date
string
Required
Starting date (inclusive) of data included. Earliest available date: 2022-01-01
.
to_date
string
Required
Ending date (inclusive) of data included. Maximum date range: 93
days.
type
string
Required
Settlement report type. Can be bank_account_summary
, or bank_account_transaction
.
Request
Response
List all settlement reports
GET
/reporting
List all available settlement reports under the platform. Filtered results can be retrieved with extra parameters in the query.
query parameters
from_date
string
Optional
Starting date (inclusive) of data included. Format: YYYY-MM-DD
.
to_date
string
Optional
Ending date (inclusive) of data included. Format: YYYY-MM-DD
.
type
string
Optional
Settlement report type. Can be bank_account_summary
, or bank_account_transaction
.
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
Request
Response
Get a settlement report by ID
GET
/reporting/<settlement_report_id>
Get a settlement report by its ID. Please refer to our Reporting Guides for more details.
path parameters
settlement_report_id
string
Required
The ID of the settlement report you are looking up
Request
Response
Webhook object
The webhook object is the current state of a particular webhook endpoint set up in Column. Webhook endpoints are used to configure URLs used to receive Column events. Read about more about wire transfers here.
object parameters
created_at
string
Date (format: YYYY-MM-DD
) on which the event was emitted.
description
string
A description for this webhook.
enabled_events
array
A list of events and event types which are being sent to this webhook's url.
id
string
The unique id of the object.
is_disabled
boolean
Indicates whether this webhook url is actively receiving events.
secret
string
Secret key which allows you to verify that the event was sent by Column, and not by a third party.
updated_at
string
Timestamp of when this webhook was last updated.
url
string
The https
url that webhooks are going to be delivered to.
e.g. https://yoursite.com/columnevents
Webhook object
Create a webhook endpoint
POST
/webhook-endpoints
Create a webhook url and description.
This can also be done on the dashboard.
body parameters
enabled_events
array of strings
Required
Enables you to subscribe to certain events. See all events here.
enabled_events
can contain specific event types, or can include wildcard string (e.g., ach.* for all ACH events)
url
string
Required
The https
url that webhooks are going to be delivered to.
e.g. https://yoursite.com/columnevents
description
string
Optional
A description for this webhook.
Request
Response
List all webhook endpoints
GET
/webhook-endpoints
List all webhooks under your developer account
query parameters
limit
int32
Optional
A limit of the number of objects to be returned, between 1
and 100
. The default is 10
.
starting_after
string
Optional
A cursor for use in pagination. starting_after
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with foo_ZXhhbXBsZQo
, your subsequent call can include starting_after=foo_ZXhhbXBsZQo
in order to fetch the next page of the list.
ending_before
string
Optional
A cursor for use in pagination. ending_before
is an ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with foo_ZXhhbXBsZQo=
, your subsequent call can include ending_before=foo_ZXhhbXBsZQo=
in order to fetch the previous page of the list.
Request
Response
Get a webhook endpoint by ID
GET
/webhook-endpoints/<id>
Retrieve information about the webhook by its id
path parameters
id
string
Required
Request
Response
Update a webhook url
PATCH
/webhook-endpoints/<id>
Update fields on the webhooks
path parameters
id
string
Required
The ID of the webhook endpoint you want to update.
body parameters
enabled_events
array of strings
Required
Enables you to subscribe to certain events. See all events here.
enabled_events
can contain specific event types, or can include wildcard string (e.g., ach.* for all ACH events)
url
string
Required
The https
url that webhooks are going to be delivered to.
e.g. https://yoursite.com/columnevents
description
string
Optional
A description for this webhook.
is_disabled
boolean
Optional
Disable the webhook endpoint if set to true.
Request
Response
Delete a webhook endpoint
DELETE
/webhook-endpoints/<id>
Deletes a webhook
path parameters
id
string
Required
The ID of the webhook endpoint you want to delete.
Request
Response
Verify a webhook endpoint
POST
/webhook-endpoints/<id>/verify
Verifies a webhook
path parameters
id
string
Required
The ID of the webhook endpoint you want to verify.
body parameters
event_type
string
Required
Event type. See all events here.
Request
Response
List all webhook deliveries
GET
/webhook-deliveries/endpoint/<id>
List all the webhook delivery and retry attempts for this endpoint.
path parameters
id
string
Required
query parameters
limit
int32
Optional
A limit of the number of objects to be returned. The default is 20
.
Request
Response
List webhook deliveries by event
GET
/webhook-deliveries/event/<id>
List all the webhook delivery and retry attempts for this event.
path parameters
id
string
Required
Request
Response
Base admin transfer object
The admin transfer object represents a transfer initiated by Column that debits or credits a bank account on your platform. Read about more about administrative transfers here. Admin transfer objects are sent via webhooks or are available in the /events
API response.
object parameters
created_at
string
Timestamp of when the admin transfer was created.
admin_transfer_id
string
The unique ID of the admin transfer.
bank_account_id
string
The bank account the admin transfer was executed against.
type
string
credit
or debit
depending on the direction of the transfer.
currency
string
The currency code of the transfer.
amount
int
The amount of the transfer in cents.
description
string
The reason for the transfer.
details_type
string
The type of the details
struct.
details
json
Additional metadata related to the transfer, the schema is defined by the details_type
field.
Admin Transfer Object
Admin transfers: Reclaimed lost wires
This use of the admin transfer is the scenario where a wire is sent to Column with invalid beneficiary details and is unable to be matched to a valid account. Once the correct account is found, the funds will be credited to the correct bank account using an admin transfer. The transfer will include a details object that contains the metadata from the original wire.
The details_type
for this type of admin transfer is reclaimed_wire
and the structure of details will be a wire object.