# Paginação

Coleções retornam com o envelope `result.entityList` + `result.pageInformation`.

## Parâmetros

| Nome | Default | Máximo |
|  --- | --- | --- |
| `page` | 1 | — |
| `pageSize` | 50 | 100 |


## Resposta


```json
{
  "result": {
    "entityList": [/* ... */],
    "pageInformation": {
      "page": 1,
      "pageSize": 50,
      "totalPages": 12,
      "totalItems": 574
    }
  }
}
```

## Estratégia recomendada

- Use `pageSize: 100` em jobs de sincronização — menos chamadas, mesmo custo.
- **Nunca** confie em `totalItems` para decidir a última página: itera
enquanto `page < totalPages`.
- Aplique backoff se `429` aparecer; o rate limit é por IP, não por página.


## Pseudocódigo


```ts
let page = 1;
while (true) {
  const { result } = await fetchPage(page);
  await process(result.entityList);
  if (page >= result.pageInformation.totalPages) break;
  page += 1;
}
```