---
title: "Listar movimientos del balance"
method: GET
path: "/balance_transactions"
tags: ["balanceTransactions"]
---

# Listar movimientos del balance

`GET /balance_transactions`

Lista el ledger de la cuenta, del movimiento más reciente al más antiguo: es la forma API del estado de cuenta descargable. Los montos son firmados: positivo acredita el balance y negativo lo debita.

`amount_in_cents` es el bruto y `net_amount_in_cents` es lo que efectivamente movió el balance; sumar `fee_in_cents` al bruto siempre da el neto. En un cobro, `fee_details` desglosa esa diferencia en la comisión y el IVA retenido, las mismas columnas del reporte descargable. `balance_after_in_cents` corresponde a la columna Balance de ese reporte.

Para conciliar un mes, filtra con `from_time` + `until_time` y sube `items` hasta 100. Cada par de fechas se envía completo: enviar solo una mitad devuelve `400` en vez de ignorar el rango.

No existe forma de preguntar qué cobros financiaron un retiro: Recurrente registra el débito del retiro y nada más, así que esa relación habría que inventarla. El camino inverso sí existe — cada movimiento en `GET /api/transfers` trae `balance_transaction_id`, la fila de ledger que registró.

## Query parameters

- `from_time` string, date-time
- `until_time` string, date-time
- `currency` string
- `type` string
- `page` integer
- `items` integer

## Headers

- `X-SECRET-KEY` string, required

## Response `200`

Movimientos del balance

- BalanceTransaction[]
  - `id` string, required — ID público del movimiento del balance. Los movimientos registrados antes de que el ledger fuera público conservan el prefijo `ba_`; trata el ID como opaco.
  - `account_id` string, required — Cuenta cuyo balance cambió
  - `type` string, required — Tipo contable del movimiento
  - `source` BalanceTransactionSource — Recurso que originó el movimiento, cuando existe
    - `type` string
    - `id` string — ID público de la fuente, cuando ese tipo de recurso lo expone
  - `amount_in_cents` integer, required — Monto bruto firmado en centavos; positivo acredita y negativo debita
  - `fee_in_cents` integer — Lo retenido sobre el bruto, firmado. Sumado a `amount_in_cents` da `net_amount_in_cents`
  - `fee_details` BalanceTransactionFeeDetailsItems[] — Desglose de `fee_in_cents` con los componentes que registramos en la moneda del movimiento. Lo que no aparezca aquí sigue contando dentro del total
    - `type` 'processing' | 'vat_withholding' | 'tax_invoicing'
    - `amount_in_cents` integer
  - `net_amount_in_cents` integer, required — Monto firmado que efectivamente movió el balance
  - `currency` string, required — Moneda del balance
  - `description` string, nullable — Descripción opcional del movimiento
  - `balance_before_in_cents` integer, nullable — Snapshot del balance antes del movimiento, cuando está disponible
  - `balance_after_in_cents` integer, nullable — Snapshot del balance después del movimiento; equivale a la columna Balance del reporte descargable
  - `created_at` string, date-time, required — Momento en que el movimiento fue registrado

## Other responses

- `400` — Rango de fechas incompleto

---

[API](https://skmtc.dev/recurrente/apis/referencia-api.md) · [All operations](https://skmtc.dev/recurrente/apis/referencia-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/recurrente/referencia-api/revisions/f494a078482c/schema)
