---
title: "Bancolombia Transactions"
method: POST
path: "/co/bancolombia/transactions/v1"
tags: ["Colombia", "Bancolombia"]
---

# Bancolombia Transactions

`POST /co/bancolombia/transactions/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/bancolombia/transactions/v1`
- Auth: HTTP bearer

Read the movements of one of the connected customer's Bancolombia accounts over a date window: date, description, amount, the movement type and a reference. Runs as your organization's own Bancolombia connection.

Supports async delivery: set `Prefer: wait=N` for an inline result, pass `callback_url` to receive a POST when ready, or poll `GET /jobs/{id}`.

## Headers

- `Idempotency-Key` string
- `Prefer` string

## Request body

- object
  - `account_number` string, required: The account number to read movements for, digits only, as it appears in the accounts list.
  - `date_from` string, date, required: The first day of the movements window, inclusive, `yyyy-mm-dd`.
  - `date_to` string, date, required: The last day of the movements window, inclusive, `yyyy-mm-dd`.
  - `connection_id` string: Optional. Run as this connection (`conn_…`). Empty lets Croma pick among your organization's connections, moving to the next one when one reaches its daily allowance.
  - `callback_url` string, uri: POST the job result here when it finishes.

## Response `200`

Successful response

- BancolombiaTransactionsResponse
  - `data` BancolombiaTransactionsData, required
    - `account_number` string, required: Echoes the account the movements are for.
    - `from` string, required: Echoes the first day of the window, `yyyy-mm-dd`.
    - `to` string, required: Echoes the last day of the window, `yyyy-mm-dd`.
    - `count` number, required: Number of movements returned.
    - `transactions` object[], required
      - `date` string, nullable, required: The movement's date, `yyyy-mm-dd`.
      - `description` string, nullable, required: The movement's description, as Bancolombia shows it.
      - `amount` number, required: The movement's amount, in the account's currency. Positive is money into the account, negative is money out.
      - `direction` 'credit' | 'debit', required: Direction from the account holder's view: `credit` (money in) or `debit` (money out), derived from the amount's sign. Use this rather than `movement_type`.
      - `movement_type` string, nullable, required: Bancolombia's own raw label, e.g. `DEBITO` or `CREDITO`. It is the bank's ledger-side view and is the OPPOSITE of the holder's direction (money in is labelled `DEBITO`), so prefer `direction`. Kept for provenance.
      - `reference` string, nullable, required: The movement's reference, when Bancolombia gives one.
      - `office` object, nullable, required: The branch office tied to the movement, when given.
        - `code` string, nullable, required: The branch office code, when given.
        - `name` string, nullable, required: The branch office name, e.g. `CALLE 79`, when given.
    - `checked_at` string, required: When Bancolombia was read (ISO 8601).

## Other responses

- `202`: Accepted — the result is being computed asynchronously. Poll `job.status_url` (GET /jobs/{id}) or supply `callback_url` to have the result POSTed to you. Returned when `Prefer: wait` elapses before completion, or immediately when `callback_url` is set.
- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
