Skip to main content
Bancolombia is Colombia’s largest bank. A customer’s Sucursal Virtual Personas holds their accounts, balances and movements. These endpoints read that online banking as the customer’s own connection.

Connect your account

Bancolombia answers only to a signed-in customer: their Sucursal Virtual Personas username and password. Each query runs as your organization’s own connection, so register one before your first query. Register the account once; Croma signs in for each query and never stores the credentials in the clear. POST /co/bancolombia/connections/v1 Register a connection once. Croma checks it with the source before saving it, and answers with its id and a masked name.
Every query then runs as one of your organization’s connections. Croma picks one, keeps its session open between queries, and moves to the next when one reaches its daily allowance. Register more than one to get more capacity a day. To run as a specific one, send its id as connection_id. How the flow works, step by step: Connections. List and delete them:
Over MCP, the same verbs are the bancolombia_connect, bancolombia_list_connections, bancolombia_delete_connection tools. Connecting from an agent never passes the credentials through the conversation: the agent gets a secure link, and the user enters the account’s details in the Croma console. When a query cannot run as any connection:
Credentials are encrypted as soon as they reach Croma, bound to your organization, and can only be opened by the isolated service that signs in to the source on your behalf. They are never returned by the API or shown to anyone. Deleting a connection destroys it permanently.

Accounts

POST /co/bancolombia/accounts/v1

Response

Each account has its number, name and custom_name (the nickname the customer set), its type (savings, checking, credit_card or other) and type_raw (the bank’s own label), currency, status, plan_name, the three balances available_balance, current_balance and effective_balance, the allow_credit and allow_debit flags, holder_relation, joint_holder, opening_date and its office.
Every call reads Bancolombia live as your connection, so the answer is current and is never shared between organizations.
This lookup can take longer than a typical request. It is an async job. By default the request waits inline and returns { data }, or you can poll / use a callback_url.

Movements

POST /co/bancolombia/transactions/v1

Response

Each movement has its date, description, amount (with the sign Bancolombia reports), movement_type (Bancolombia’s own label), reference and its office.
Every call reads Bancolombia live as your connection, so the answer is current and is never shared between organizations.
This lookup can take longer than a typical request. It is an async job. By default the request waits inline and returns { data }, or you can poll / use a callback_url.

Full reference

Schemas, all response fields, and an interactive playground.