Pagination

La convention par curseur commune aux listes : limit, starting_after et has_more.

C'est la convention des listes de l'API. Les listes actuelles (GET /v1/agents et GET /v1/tasks) ne l'appliquent pas encore et gardent leur format présent ; la référence montre toujours le format exact de chaque route.

Pagination par curseur

Les listes utilisent un curseur et non des numéros de page, pour que les résultats restent cohérents quand de nouveaux éléments arrivent. Les éléments sont renvoyés du plus récent au plus ancien.

  • limit : nombre d'éléments, de 1 à 100 (20 par défaut).
  • starting_after : l'id du dernier élément de la page précédente. Il doit appartenir à la liste que vous lisez (même organisation, même mode, mêmes filtres) : un id inconnu, supprimé ou d'une autre organisation répond 400 avec invalid_cursor, jamais une page vide.
  • La réponse contient data (les éléments) et has_more (vrai quand une autre page existe).
{
  "data": [ { "id": "item_3" }, { "id": "item_2" } ],
  "has_more": true
}

Un limit hors bornes ou un curseur mal formé répond 400 avec invalid_query.

Parcourir toutes les pages

Demandez la première page sans starting_after, puis recommencez avec l'id du dernier élément tant que has_more est vrai.

# First page
curl "https://infynia.quantylcore.com/api/v1/RESOURCE?limit=50" \
  -H "Authorization: Bearer $INFYNIA_API_KEY"

# Next page: id of the last item received
curl "https://infynia.quantylcore.com/api/v1/RESOURCE?limit=50&starting_after=item_2" \
  -H "Authorization: Bearer $INFYNIA_API_KEY"