> For the complete documentation index, see [llms.txt](https://www.boxhero.io/docs/llms.txt). Every page is available as Markdown by appending `.md` to its URL; this page is [Markdown](https://www.boxhero.io/docs/pt/developers/api/pagination.md).

# Paginação

> Percorra listas longas na API do BoxHero com paginação baseada em cursor.

Os endpoints de listagem retornam os resultados uma página por vez e usam paginação baseada em cursor.

## Parâmetros de consulta

| Parâmetro | Descrição |
| --- | --- |
| `cursor` | Onde a página começa. Passe o campo `cursor` da resposta anterior. Omita-o na primeira chamada. |
| `limit` | Tamanho da página. O intervalo permitido e o valor padrão estão listados em cada endpoint, por exemplo [Listar itens](https://www.boxhero.io/docs/pt/developers/api/reference/items/list-items). |

## Resposta

Cada página traz os resultados junto com os campos necessários para buscar a próxima:

```json
{
  "items": [...],
  "count": 100,
  "limit": 100,
  "cursor": 1234567,
  "has_more": true
}
```

| Campo | Descrição |
| --- | --- |
| `count` | Número de resultados nesta página |
| `limit` | Tamanho de página usado nesta página |
| `cursor` | Passe este valor como o parâmetro de consulta `cursor` para obter a próxima página. `null` quando não há mais páginas. |
| `has_more` | `true` se houver mais resultados depois desta página |

## Como buscar todas as páginas

1. Chame o endpoint de listagem sem `cursor`.
2. Enquanto `has_more` for `true`, chame-o novamente com `cursor` definido como o `cursor` da última resposta.
3. Pare quando `has_more` for `false`.

```bash
curl "https://rest.boxhero-app.com/v1/items?cursor=1234567" \
  -H "Authorization: Bearer $BOXHERO_API_TOKEN"
```

Mantenha os mesmos filtros usados na primeira chamada em todas as chamadas seguintes.

## Ordenação

Cada recurso define a sua própria ordem. A maioria dos endpoints de listagem retorna os resultados por id, em ordem crescente. [Listar transações](https://www.boxhero.io/docs/pt/developers/api/reference/transactions/list-transactions) retorna primeiro as transações mais recentes (por data e hora da transação, usando o id como critério de desempate).

> **Tip**
>
> **Dica**: para manter uma cópia das suas transações sincronizada, armazene a `revision` de cada transação. Quando você percorrer a lista novamente, uma `revision` maior indica que a transação foi editada desde a última vez que você a viu.
