Skip to main content

Bank Account COP

Introduction

COP Bank Account is used as the destination bank account when you transact with COP (Colombian Peso) fiat. In order to send money to a Colombian bank account, you need to register it here first as a beneficiary and then reference it in tickets that involve COP transactions.

info

All the endpoints here are applicable to subAccounts, just pass the subAccountId field followed by the subaccount id as the request parameter.

warning

COP bank transfers are irreversible once executed — ensure beneficiary details are correct before creating a payout ticket.

Supported Banks

Before registering a beneficiary, retrieve the list of supported Colombian banks:

HTTP GET Request

Endpoint:

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/supported-banks

cURL Example:

curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/supported-banks" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

JSON Response

{
"banks": [
{ "bankId": "bank_cop_022", "bankName": "BANCOLOMBIA" },
{ "bankId": "bank_cop_007", "bankName": "BANCOLOMBIA (NEQUI)" },
{ "bankId": "bank_cop_001", "bankName": "BANCAMIA S.A." }
]
}

Response Fields Explained

FieldTypeDescription
banksarrayList of supported Colombian banks (44 banks)
banks[].bankIdstringUnique bank identifier — use this when creating a beneficiary
banks[].bankNamestringHuman-readable bank name
info

Bank IDs use the format bank_cop_XXX (e.g. bank_cop_022 for Bancolombia). Always use the bankId returned by this endpoint — do not construct bank IDs manually.

Register a COP Beneficiary Account

Let's take a look at the data needed to create your COP bank account:

HTTP POST Request

Endpoint:

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/

cURL Example:

curl -X POST "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-d '{
"alias": "Juan Bancolombia",
"description": "Cuenta principal de Juan en Bancolombia",
"beneficiaryName": "Juan Carlos Garcia",
"beneficiaryType": "individual",
"beneficiaryEmail": "juan@example.com",
"beneficiaryAddress": {
"address1": "Calle 100 #15-20",
"address2": "Apto 501",
"country": "CO",
"subDivision": "Cundinamarca",
"city": "Bogota",
"postalCode": "110111"
},
"phoneNumber": "+573001234567",
"accountType": "CHECKING",
"bankAccountNumber": "00123456",
"documentNumber": "1234567890",
"documentType": "NATIONAL_ID",
"bankId": "bank_cop_022",
"bankName": "BANCOLOMBIA"
}'

Request Fields

FieldTypeRequiredValidation RulesDescription
aliasstringYesMax 255 characters; must be unique per userA custom name for the account to help identify it.
descriptionstringYesMax 500 charactersA brief description of the bank account.
beneficiaryNamestringYesFull legal name of the account holder.
beneficiaryTypestringYesindividual or businessType of account holder.
beneficiaryEmailstringYesValid email formatEmail of the beneficiary.
beneficiaryAddressobjectYesSee sub-fields belowBeneficiary's address in Colombia.
beneficiaryAddress.address1stringYesStreet address line 1.
beneficiaryAddress.address2stringNoStreet address line 2 (apartment, suite, etc).
beneficiaryAddress.countrystringYesMust be COISO country code for Colombia.
beneficiaryAddress.subDivisionstringYesState/Department (e.g. Cundinamarca, Antioquia).
beneficiaryAddress.citystringYesCity name.
beneficiaryAddress.postalCodestringYesColombian postal code.
phoneNumberstringYesInternational formatPhone number with country code (e.g. +573001234567).
accountTypestringYesCHECKING or SAVINGSType of bank account.
bankAccountNumberstringYes6–18 charactersThe bank account number.
documentNumberstringYes6–10 digits (Colombian Cedula)Government-issued ID number.
documentTypestringYesNATIONAL_ID, RUC_NIT, PASSPORT, or RESIDENT_IDType of identity document.
bankIdstringYesMust be from /supported-banksBank identifier from the supported banks endpoint.
bankNamestringYesName of the bank.
warning

Document validation: The documentNumber for Colombian nationals (Cedula de Ciudadanía) must be 6 to 10 digits. Brazilian CPF numbers (11 digits) will be rejected. For business entities, use documentType: "RUC_NIT" with the Colombian NIT number.

Sample JSON Body

{
"alias": "Juan Bancolombia",
"description": "Cuenta principal de Juan en Bancolombia",
"beneficiaryName": "Juan Carlos Garcia",
"beneficiaryType": "individual",
"beneficiaryEmail": "juan@example.com",
"beneficiaryAddress": {
"address1": "Calle 100 #15-20",
"address2": "Apto 501",
"country": "CO",
"subDivision": "Cundinamarca",
"city": "Bogota",
"postalCode": "110111"
},
"phoneNumber": "+573001234567",
"accountType": "CHECKING",
"bankAccountNumber": "00123456",
"documentNumber": "1234567890",
"documentType": "NATIONAL_ID",
"bankId": "bank_cop_022",
"bankName": "BANCOLOMBIA"
}

JSON Response

{
"id": "550e8400-e29b-41d4-a716-446655440000"
}

Response Fields Explained

FieldTypeDescription
idstring (UUID)Unique identifier for this beneficiary account — SAVE THIS for future payout operations

List all COP beneficiaries bank accounts

To get all the COP bank accounts, let's use the endpoint below, with filter fields:

info

All the endpoints here are applicable to subAccounts, just pass the subAccountId field followed by the subaccount id as the request parameter.

HTTP GET Request

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/

Filter Fields

FieldTypeDescription
subAccountIdstringThe ID of a sub-account. If provided, data will be fetched for the sub-account; leave empty for main account.
createdAfterint64Filters results to include only those created after this timestamp.
createdBeforeint64Filters results to include only those created before this timestamp.
cursorstringCursor for pagination. Pass the value from the previous response to retrieve the next set of results.
aliasstringFilters results to include only those with the specified alias.

cUrl Example:

curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/?subAccountId=&createdAfter=1700000000&createdBefore=1800000000&cursor=NEXT_CURSOR&alias=Juan Bancolombia" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

JSON Response

{
"bankAccounts": [
{
"id": "00000000-0000-0000-0000-000000000000",
"userId": "11111111-1111-1111-1111-111111111111",
"alias": "Juan Bancolombia",
"description": "Cuenta principal de Juan en Bancolombia",
"beneficiaryName": "Juan Carlos Garcia",
"beneficiaryType": "individual",
"bankId": "bank_cop_022",
"bankName": "BANCOLOMBIA",
"accountType": "CHECKING",
"bankAccountNumber": "00123456",
"documentNumber": "1234567890",
"documentType": "NATIONAL_ID",
"createdAt": "2026-02-20T15:13:08.320462Z"
}
],
"cursor": "MzItMTc0MDA2NDM4ODMyMA..."
}

Response Fields Explained

FieldTypeDescription
bankAccountsarrayArray of COP beneficiary accounts for this user
bankAccounts[].idstring (UUID)Unique account identifier
bankAccounts[].userIdstring (UUID)Your user ID (account owner)
bankAccounts[].aliasstringThe friendly name you assigned
bankAccounts[].descriptionstringThe description you provided
bankAccounts[].beneficiaryNamestringFull name of the account holder
bankAccounts[].beneficiaryTypestringindividual or business
bankAccounts[].bankIdstringBank identifier (e.g. bank_cop_022)
bankAccounts[].bankNamestringName of the bank
bankAccounts[].accountTypestringCHECKING or SAVINGS
bankAccounts[].bankAccountNumberstringBank account number
bankAccounts[].documentNumberstringBeneficiary document number
bankAccounts[].documentTypestringType of identity document
bankAccounts[].createdAttimestampISO 8601 creation date
cursorstringPagination cursor for next page (only if more results exist)

Pagination

  • If cursor is present in the response, there are more results available
  • Pass this cursor value in the next request as a query parameter to fetch the next batch
  • No cursor in response means you've reached the last page

Get COP beneficiary bank account by ID

To retrieve the details of a specific COP bank account:

info

All the endpoints here are applicable to subAccounts, just pass the subAccountId field followed by the subaccount id as the request parameter.

HTTP GET Request

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/00000000-0000-0000-0000-000000000000

cUrl Example

curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

JSON Response

{
"bankAccount": {
"id": "00000000-0000-0000-0000-000000000000",
"userId": "11111111-1111-1111-1111-111111111111",
"alias": "Juan Bancolombia",
"description": "Cuenta principal de Juan en Bancolombia",
"beneficiaryName": "Juan Carlos Garcia",
"beneficiaryType": "individual",
"bankId": "bank_cop_022",
"bankName": "BANCOLOMBIA",
"accountType": "CHECKING",
"bankAccountNumber": "00123456",
"documentNumber": "1234567890",
"documentType": "NATIONAL_ID",
"createdAt": "2026-02-20T15:13:08.320462Z"
}
}

Response Fields Explained

FieldTypeDescription
bankAccountobjectWrapper object containing the account details
bankAccount.idstring (UUID)Unique account identifier
bankAccount.userIdstring (UUID)Your user ID (account owner)
bankAccount.aliasstringThe friendly name you assigned
bankAccount.descriptionstringThe description you provided
bankAccount.beneficiaryNamestringFull name of the account holder
bankAccount.beneficiaryTypestringindividual or business
bankAccount.bankIdstringBank identifier
bankAccount.bankNamestringName of the bank
bankAccount.accountTypestringCHECKING or SAVINGS
bankAccount.bankAccountNumberstringBank account number
bankAccount.documentNumberstringBeneficiary document number
bankAccount.documentTypestringType of identity document
bankAccount.createdAttimestampISO 8601 creation date

Delete COP beneficiary bank Account

To delete a specific COP bank account:

info

All the endpoints here are applicable to subAccounts, just pass the subAccountId field followed by the subaccount id as the request parameter.

HTTP DELETE Request

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/00000000-0000-0000-0000-000000000000

cUrl Example

curl -X DELETE "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/cop/00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

JSON Response

{}

Status Code: HTTP 200 OK

Response: Empty JSON object - indicates successful deletion

Your COP bank account has been deleted!

Conclusion

In this section, you have learned how to manage COP bank accounts within the Avenia API system.

What we've covered:

  • Listing Supported Colombian Banks – Retrieve the 44 supported banks and their IDs.
  • Creating a COP Bank Account – Register a new Colombian bank account for transfers.
  • Fetching All COP Bank Accounts – Retrieve all your COP bank accounts.
  • Fetching a Specific COP Bank Account by ID – Retrieve details by UUID.
  • Deleting a COP Bank Account – Permanently remove a COP bank account.

By following these steps, you now have full control over your COP bank accounts within Avenia API. You can now use the returned beneficiaryCopBankAccountId when creating tickets that involve COP transactions.