> ## Documentation Index
> Fetch the complete documentation index at: https://developer.mouvlatam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /deposits

> Listar tus recaudos PSE

Lista tus recaudos PSE con paginación cursor-based. **Scope**: `READ`.

## Query params

| Param        | Tipo   | Default | Significado                                                                           |
| ------------ | ------ | ------- | ------------------------------------------------------------------------------------- |
| `status`     | string | (all)   | Filtra por status: `PENDING_CONFIRM`, `ASSIGNED`, `UNASSIGNED`, `REVERSED`, `EXPIRED` |
| `rail`       | string | (todos) | `BREB` = solo recaudos Bre-B · `PSE` = solo PSE                                       |
| `externalId` | string | —       | (agregadores) pagos a las llaves de ese cliente tuyo                                  |
| `brebKeyId`  | string | —       | (agregadores) pagos a una llave puntual                                               |
| `page`       | number | 0       | Paginación por página (0-based)                                                       |
| `limit`      | number | 20      | Máximo 100                                                                            |

## Response 200

<ResponseField name="deposits" type="array">
  <Expandable title="Schema de deposit">
    <ResponseField name="id" type="string">`dep_...`</ResponseField>
    <ResponseField name="status" type="string">`PENDING_CONFIRM` / `ASSIGNED` (acreditado) / `UNASSIGNED` / `REVERSED` / `EXPIRED`</ResponseField>
    <ResponseField name="amountCents" type="string">Monto bruto en centavos (string — precisión exacta)</ResponseField>
    <ResponseField name="feeAmountCents" type="string">Comisión cobrada</ResponseField>
    <ResponseField name="ivaAmountCents" type="string">IVA cobrado</ResponseField>
    <ResponseField name="netAmountCents" type="string">Lo que se acreditó a tu wallet</ResponseField>
    <ResponseField name="source" type="string">Canal público: `PSE` / `BREB` / `ACH` / `DEPOSIT`</ResponseField>
    <ResponseField name="brebKey" type="object | null">(agregadores) La llave que recibió el pago: `{ id, externalId, name, value }`. `null` si no entró por llave</ResponseField>
    <ResponseField name="payerName" type="string | null">Nombre del pagador</ResponseField>
    <ResponseField name="payerDocument" type="string | null">Documento del pagador</ResponseField>
    <ResponseField name="payerBank" type="string | null">Banco de origen del pago</ResponseField>
    <ResponseField name="payerEmail" type="string | null">Email del pagador (PSE)</ResponseField>
    <ResponseField name="providerConfirmedAt" type="string | null">Cuándo se confirmó el pago</ResponseField>
    <ResponseField name="createdAt" type="string">Cuándo se registró</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  `{ total, page, limit, totalPages }` — paginación por página (0-based).
</ResponseField>

## Ejemplos

<RequestExample>
  ```bash curl theme={null}
  # Listar solo deposits PAID
  curl "https://consola.mouvlatam.com/api/deposits?status=PAID&limit=50" \
    -H "Authorization: Bearer mvk_..."
  ```

  ```javascript Node.js theme={null}
  // Paginar todos los PAID
  async function listAllPaidDeposits() {
    let cursor = null;
    const all = [];
    do {
      const url = `https://consola.mouvlatam.com/api/deposits?status=PAID&limit=100${cursor ? `&cursor=${cursor}` : ''}`;
      const res = await fetch(url, {
        headers: { 'Authorization': `Bearer ${process.env.MOUV_API_KEY}` },
      }).then(r => r.json());
      all.push(...res.items);
      cursor = res.nextCursor;
    } while (cursor);
    return all;
  }
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "items": [
      {
        "id": "dep_8e39f393-...",
        "status": "PAID",
        "amountCents": 100000,
        "feeAmountCents": 1100,
        "ivaAmountCents": 209,
        "netCreditedCents": 98691,
        "payerFirstName": "Juan",
        "payerLastName": "Pérez",
        "payerDocument": "1018485810",
        "payerEmail": "juan@example.com",
        "internalRef": "factura-001",
        "paidAt": "2026-05-25T20:15:00.000Z",
        "createdAt": "2026-05-25T20:00:00.000Z"
      }
    ],
    "nextCursor": null
  }
  ```
</ResponseExample>
