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

# Paginação

> --limit, cursores e --all nos comandos de listagem da CLI.

Todo comando de listagem (`affiliates list`, `payouts list`, `conversions list`, `events list`...) ganha automaticamente as mesmas quatro flags, espelhando a [paginação por cursor](/docs/convencoes/paginacao) da API.

## Uma página por vez

Sem flags adicionais, a CLI imprime só a primeira página:

```bash theme={null}
repass affiliates list --status approved --limit 50
```

* `--limit <n>`: itens por página (mesmo range da API: 1 a 100, default 25).
* `--starting-after <id>`: cursor para os itens após este id.
* `--ending-before <id>`: cursor para os itens antes deste id.

Se a API sinalizar que há mais resultados além dessa página, um aviso vai para **stderr**, não para a saída em si, então ele não contamina um pipe para `jq`:

```text stderr theme={null}
Há mais resultados: use --all ou os cursores.
```

<Warning>
  Não assuma que uma listagem sem `--all` te deu o conjunto completo. Sempre observe o stderr, ou use `--all`/os cursores quando precisar de tudo.
</Warning>

## Percorrendo tudo com `--all`

`--all` faz a CLI iterar todas as páginas antes de imprimir qualquer coisa, agregando o resultado num único array:

```bash theme={null}
repass conversions list --program-id prog_xxx --all --json
```

## Paginação manual por cursor

Prefere controlar você mesmo? Use o `id` do último item da página como `starting-after` na próxima chamada:

```bash theme={null}
repass clicks list --link-id link_xxx --limit 100 --json
# pegue o id do último item da resposta e use como cursor:
repass clicks list --link-id link_xxx --limit 100 --starting-after clk_xxx --json
```

## Combinando com `jq`

`--json` imprime sempre um array puro nas listagens, com ou sem `--all`, o formato ideal para compor com `jq`:

```bash theme={null}
# ids de afiliados pendentes
repass affiliates list --status pending --all --json | jq -r '.[].id'

# soma de comissões aprovadas de uma página
repass commissions list --status approved --json | jq '[.[].amountCents] | add'
```

<Note>
  A mesma [paginação por cursor](/docs/convencoes/paginacao) documentada para a API vale aqui. A CLI não inventa parâmetros próprios, apenas expõe `limit`/`starting_after`/`ending_before` como flags e adiciona `--all` como conveniência de terminal.
</Note>

## Próximos passos

<CardGroup cols={2}>
  <Card title="Convenções" icon="book" href="/docs/cli/convencoes">
    Saída `--json`, corpo de requisição e modelo de risco.
  </Card>

  <Card title="Automação e CI" icon="robot" href="/docs/cli/automacao-ci">
    Parsear listagens em scripts e pipelines.
  </Card>
</CardGroup>
