Errors
Column attempts to handle all errors and mistakes as gracefully and with as much detail as possible.
HTTP Error Codes
We use HTTP codes to group errors.
Status Code | Description |
---|---|
200 | OK. Your request worked as expected successfully. |
400 | Bad Request. Your request failed due to the information in the request or situational reasons (e.g. an insufficient balance or a validation error on the request). |
401 | Unauthorized. No valid API key or session token provided. |
403 | Forbidden. You don't have permission to perform the request. |
404 | Not Found. The requested resource does not exist. |
408 | Request timeout. |
429 | Too Many Requests. Too many requests hit the API too quickly. |
5xx | Something went wrong in Column's systems (extremely rare). You should assume that we are being paged for all 5xx errors. |
Error Attributes
There are five fields that are returned in error response bodies.
Attribute | Description |
---|---|
type | The overarching category of the error. |
code | The specific error. It is a short string that you can handle programmatically if you choose. |
message | A human readable error message meant to be read by a developer, not an end consumer. message will change and should not be used programatically. If you want consumer-friendly error messaging, we recommend you map off of code . |
documentation_url | A link to the most appropriate API doc for this error. This should be considered a guide. |
details | An object with key-value pairs that may provide more details about the error. For example, a parameter validation error will have the list of parameters that are invalid with reasons. In some cases, details may be an empty object. |
The following is an example of bank account not found errors:
{
"type": "bank_account_error",
"code": "bank_account_not_found",
"message": "Bank account does not exist on this platform.",
"documentation_url": "https://column.com/docs/api/#bank-account/create",
"details": null
}
Error Types
Error type | Description |
---|---|
authentication_error | Issues related to API authentication. Usually related to API key validity, user permissions, etc. |
bank_account_error | Issues related to bank accounts. |
dashboard_error | Issues related to dashboard operations. |
entity_error | Issues related to entities, KYC/KYB, etc. |
loan_error | Issues related to loans . |
server_error | Issues related to Column's systems. We'll be notified for all of these errors. |
transfer_error | Issues related to transfers. |
validation_error | Issues related to request schema. Usually you're missing a parameter, a value is incorrect, or we cannot parse or process the request. |
Error Codes
Note
If you think an error code should be further broken down to more detailed error codes, please let us know. Your feedback are very much appreciated.
account_information_mismatch
Account details do not match our records.
amount_precision_not_supported
Amount precision in your request is not supported (e.g., you request to send EUR 12.345
).
bank_account_not_found
Bank account specified in your request is not found in our system.
cancellation_not_allowed
Your request to cancel an outgoing transfer is invalid.
country_not_supported
Country specified in your request is a valid country code, but not supported.
currency_not_supported
Currency specified in your request is a valid currency code, but not supported.
deletion_not_allowed
Resource specified in your request cannot be deleted.
drawdown_not_allowed
Your drawdown request is not allowed.
entity_not_verified
Entity specified in your request has not been verified yet.
feature_not_enabled
Your platform is not enabled for the requested feature. Please contact us for more details.
force_settle_not_allowed
Your request to force settle a transfer is not allowed.
fx_quote_book_failed
Failed to book foreign exchange rate quote. This is a generic code for FX quote booking related errors that do not have their specific codes yet. You should assume that we will add additional error codes for them soon.
fx_quote_cancel_failed
Failed to cancel foreign exchange rate quote. This is a generic code for FX quote canceling related errors that do not have their specific codes yet. You should assume that we will add additional error codes for them soon.
fx_quote_different_amount
The buy amount and currency of a foreign exchange rate quote is different from the amount and currency of its corresponding outgoing transfer.
fx_quote_expired
The foreign exchange rate quote has expired. You need to book a new quote for your outgoing transfer.
fx_quote_query_failed
Failed to query foreign exchange rate quote. This is a generic code for FX quote querying related errors that do not have their specific codes yet. You should assume that we will add additional error codes for them soon.
fx_quote_rate_date_cutoff_missed
You missed the cut-off for the given foreign exchange rate date. Please use the next business day.
fx_quote_rate_date_too_far
The foreign exchange rate date is beyond the maximum allowed date in future. Please use a closer business day. Please refer to details.max_rate_date
for more information.
fx_quote_reuse
The foreign exchange rate quote has already been used, canceled or failed. You need to book a new quote for your outgoing transfer.
invalid_account_structure
Account structure type in your request is invalid.
invalid_address
Address in your request is invalid.
invalid_beneficiary_account
Beneficiary account in your request is invalid for your transfer request.
invalid_cancellation_reason
Cancellation reason in your request is invalid.
invalid_charge_bearer
You specified an invalid charge bearer code in your request. Read more.
invalid_country_code
You specified an invalid ISO 3166-1 Alpha-2 country code in your request.
invalid_currency_code
You specified an invalid ISO 4217 currency code in your request.
invalid_date
Date or datetime format in your request is invalid.
invalid_document_type
Document type in your request is invalid.
invalid_email
Email in your request is invalid.
invalid_entity_type
Entity type in your request is invalid.
invalid_event_type
Event type in your request is invalid.
invalid_fdic_insurance_type
Account FDIC insurance type in your request is invalid.
invalid_field_value
You have invalid parameter values in your request.
invalid_interest_config
Interest config in your request is invalid.
invalid_interest_payout
Interest payout in your request is invalid.
invalid_interest_rate
Interate rate in your request is invalid.
invalid_originator_account
Originator account in your request is invalid for the transfer.
invalid_phone_number
Phone number in your request is invalid.
invalid_product_type
Product type in your request is invalid.
invalid_purpose_code
Payment purpose code in your request is invalid.
invalid_record_status
Resource status is invalid for your request.
invalid_record_type
Resource type is invalid for your request.
invalid_reporting_type
Reporting type in your request is invalid.
invalid_request_header
Your request header has invalid values, or is missing mandatory values.
invalid_resource_id_format
Resource ID in your request has invalid format.
invalid_return_reason
Return reason in your request is invalid.
invalid_role_assignment
Your request to assign role to dashboard users is invalid.
invalid_session
Session does not exist, or has already expired.
invalid_string_character
String in your request has invalid characters.
invalid_tax_id
Tax ID in your request is invalid.
invalid_url
URL in your request is invalid.
limit_exceeded
Your request exceeds some limit thresholds.
mandatory_parameter_missing
Your request is missing some mandatory parameters.
mutually_exclusive_parameters
Some parameters in your request are mutually exclusive, and you cannot specify both of them.
transfer_non_sufficient_fund
Account does not have sufficient funds for your transfer request.
overdraft_not_allowed
Account is not allowed to be overdrafted.
payoff_not_allowed
Loan is not allowed to be paid off.
permission_denied
You have no permission to access the requested resource.
request_timeout
Your request timed out. Please retry later.
resource_already_exists
You are not allowed to create resource with duplicated information.
resource_expired
The requested resource has already expired.
resource_not_found
The requested resource is not found in our system.
routing_number_not_found
Routing number in your request is not found.
server_error
Service unavailable, or unexpected internal service error. We will be notified for all of such errors to investigate shortly.
transfer_amount_too_high
Transfer amount in your request is too high.
transfer_amount_too_low
Transfer amount in your request is too low.
transfer_invalid_amount
Transfer amount in your request is invalid (e.g., negative or zero).
transfer_invalid_destination_account
Beneficiary account of your transfer is invalid.
transfer_invalid_return_request
Your request to return an incoming transfer is invalid.
transfer_return_deadline_passed
You cannot return an incoming transfer after its deadline.
transfer_no_beneficiary_information
Beneficiary information is missing for your transfer request.