Pagination
Les points de terminaison de liste sont paginés. Contrôlez la pagination avec les paramètres de requête :
| Paramètre | Défaut | Description |
|---|---|---|
per_page |
15 | Éléments par page |
page |
1 | Numéro de page |
Certaines listes acceptent des filtres — par exemple les factures : ?status=sent&date_from=2026-01-01&date_to=2026-03-31.
Enveloppe de réponse (points de terminaison cœur)
Les listes cœur /api/v1/* (factures, clients, devis, dépenses, contacts, paiements, organisations, …) renvoient une enveloppe links + meta, avec les lignes imbriquées sous data.data :
{
"success": true,
"message": null,
"data": {
"data": [ { "id": 1, "...": "..." } ],
"links": {
"first": "https://.../api/v1/invoices?page=1",
"last": "https://.../api/v1/invoices?page=5",
"prev": null,
"next": "https://.../api/v1/invoices?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 5,
"per_page": 15,
"to": 15,
"total": 73
}
}
}
Utilisez meta.total / meta.last_page pour les décomptes et links.next (ou page=N) pour itérer.
Enveloppe de réponse (variante à plat)
Quelques familles de points de terminaison (/api/v1/recurring/invoices, /api/v1/webhooks) renvoient les champs du paginateur directement dans data :
{
"success": true,
"data": {
"current_page": 1,
"data": [ { "id": 1, "...": "..." } ],
"next_page_url": "https://.../api/v1/webhooks?page=2",
"per_page": 15,
"total": 73
}
}
La spécification OpenAPI documente l'enveloppe exacte de chaque point de terminaison (schémas PaginationMeta/PaginationLinks vs LengthAwarePaginator) : les clients générés choisissent automatiquement la bonne forme.