Paginação
Os endpoints de listagem da API retornam coleções paginadas num envelope com três seções:
data,
links e
meta. A paginação é
simples: a API informa se existe uma próxima página, mas não
calcula o total de registros nem o número da última página.
Formato da resposta paginada
A coleção vem em data e a navegação em
links e meta.
{ "data": [ { "id": "9faea287-2f03-4b26-b234-3d3c1a2bc4e1", "name": "Colégio Exemplo", "cnpj": "26019466000122" }, // ... ], "links": { "first": "https://lumenerp.app.br/api/v1/partners/schools/all?page=1", "last": null, "prev": null, "next": "https://lumenerp.app.br/api/v1/partners/schools/all?page=2" }, "meta": { "current_page": 1, "current_page_url": "https://lumenerp.app.br/api/v1/partners/schools/all?page=1", "from": 1, "path": "https://lumenerp.app.br/api/v1/partners/schools/all", "per_page": 25, "to": 25 } }
Campos do meta
current_page
integer
Número da página atual.
current_page_url
string
URL desta página.
from
integer | null
Posição do primeiro registro desta página (base 1). null quando a página está vazia.
path
string
URL do endpoint, sem a query string.
per_page
integer
Quantidade máxima de registros por página: 25 na maioria dos endpoints; 50 nas listagens de conselhos de classe, de ocorrências disciplinares e do log de auditoria do Orçamento Público. O valor não é configurável.
to
integer | null
Posição do último registro desta página (base 1). null quando a página está vazia.
Campos do links
first
string
URL da primeira página.
last
null
Sempre null: a paginação simples não calcula a última página.
prev
string | null
URL da página anterior. null na primeira página.
next
string | null
URL da próxima página. null quando não há mais registros.
Percorrendo todas as páginas
Como não há total, siga links.next até ele vir
null. Mantenha os três cabeçalhos de autenticação em cada chamada.
let url = 'https://lumenerp.app.br/api/v1/partners/schools/all'; const schools = []; while (url) { const page = await (await fetch(url, { headers })).json(); schools.push(...page.data); url = page.links.next; }
Algumas listas pequenas e de apoio (por exemplo, os responsáveis adicionais de um aluno) retornam a coleção inteira em data,
sem links nem meta;
a página de cada endpoint mostra o formato exato.
Parâmetros de query
page
integer
Número da página a ser retornada. Padrão: 1. Aceito por todas as listagens paginadas.
with_photo
boolean
Somente nas listagens de alunos e de responsáveis (por cliente ou por escola).
Quando true, cada objeto traz o campo
photo com a foto em base64 (ou
null se não houver foto); com
false (ou 0) o campo é omitido,
o que deixa a resposta muito menor. Padrão: true.
Endpoint com parâmetro de query
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}"