Parâmetros de query
Toda listagem aceita os mesmos três parâmetros, maisexpand[] para materializar relacionamentos.
integer
default:"25"
Quantidade de itens por página, entre
1 e 100. Aceita string (é coagido para inteiro). Valores fora da faixa (0, 101) são rejeitados com 400 parameter_invalid.string
ID de recurso usado como cursor. Retorna a página seguinte ao item informado (avança para frente). Use o ID do último item da página anterior.
string
ID de recurso usado como cursor. Retorna a página anterior ao item informado (volta para trás). Use o ID do primeiro item da página atual.
starting_after para avançar ou ending_before para voltar. Sem nenhum cursor, você recebe a primeira página.
Envelope da resposta
Toda listagem responde com o mesmo envelopePage<T>:
array
Array com os recursos da página atual (no máximo
limit itens).boolean
true quando existe pelo menos mais uma página na direção da paginação; false quando esta é a última página.Os cursores (
starting_after / ending_before) são IDs de recurso opacos: não embutem offset, timestamp ou estado decodificável. Trate-os como tokens: passe de volta exatamente o valor que veio em data, sem parsear nem construir cursores à mão.next_cursor dedicado. Para avançar, você deriva o cursor do último item de data (data[data.length - 1].id) e o envia em starting_after na próxima requisição.
Como funciona
Para detectar se há mais páginas, a API buscalimit + 1 linhas internamente, devolve no máximo limit em data e reporta hasMore: true se a linha extra existir.
Exemplo
Listando afiliados, dois por página, comGET /affiliates:
Iterando por todas as páginas
Avance enquantohasMore for true, sempre usando o ID do último item como próximo cursor:
Pseudo-loop (bash + curl)
Próximos passos
IDs e recursos
Formato dos identificadores que servem de cursor.
Expand
Materialize relacionamentos nas listagens.
Erros
Envelope de erro e o código
parameter_invalid.Idempotência
Replay seguro de requisições POST.