Errors

Column attempts to handle all mistakes and errors as gracefully as possible. We use HTTP codes to group errors.

  • 2xx status codes confirm your request worked as expected (no errors)
  • 4xx status codes indicate that the request failed due to the information in the request or situational reasons (e.g. an insufficient balance or a validation error on the request).
  • 5xx status codes are extremely rare and indicate an error in Column's systems. You should assume that we are being paged for all 5xx errors.

There are five fields that are returned in the error response body

Example:

{
  "type": "bank_account_error",
  "code": "bank_account_error",
  "message": "Bank account does not exist on this platform.",
  "documentation_url": "https://column.com/docs/api/#bank-account/create"
}

type is the overarching category of the error. In the above example, invalid_request_error is the category for request validation error - this happens if your request has a missing field or one of the field's values is not in the right format.

code is the specific error. It is a short string that you can handle programmatically if you choose. See message for the error code in more human readable format.

message is 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 is a link to the most appropriate API doc for this error. This should be considered a guide but could link the wrong section occasionally - it is a wip.

details is an object 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.

Error types are:

Error typeCategoryDescription
authentication_errorIssues related to API authentication. Usually related to API key validity, user permissions, etc.NONE
request_validation_errorIssues related to request schema. Usually you're missing a parameter, a value is incorrect, or we cannot parse or process the request.Not-sufficient funds in recipient account
server_errorIssues related to Column's systems. We'll be notified for all of these errors.Recipient account has been closed
transfer_errorIssues related to transfers.Recipient has requested a stop payment on this transfer
entity_errorIssues related to entities, KYC/KYB, etc.
bank_account_errorIssues related to bank accounts.