Skip to main content
Tous les endpoints de liste Chataigne renvoient une enveloppe de liste cohérente et utilisent une pagination par curseur. Les curseurs correspondent aux identifiants de ressources existantes : la pagination reste donc stable même si des enregistrements sont créés ou supprimés pendant le parcours.

Enveloppe de liste

Chaque réponse de liste possède la même structure :
Réponse de liste
string
Toujours égal à "list" pour une réponse de liste.
array
Tableau des objets de ressource de cette page, triés par défaut selon created_at.
boolean
Vaut true lorsque d’autres enregistrements existent après cette page. Utilisez-le comme condition d’arrêt pendant le parcours, sans vous fier à data.length.
string
Chemin de l’endpoint de liste à l’origine de la réponse.

Paramètres

integer
défaut:"10"
Nombre d’enregistrements renvoyés par page. Il doit être compris entre 1 et 100.
string
id de ressource utilisé comme curseur. Renvoie la page d’enregistrements située immédiatement après cet objet dans l’ordre par défaut de created_at. Utilisez-le pour avancer.
string
id de ressource utilisé comme curseur. Renvoie la page d’enregistrements située immédiatement avant cet objet dans l’ordre par défaut de created_at. Utilisez-le pour revenir en arrière.
starting_after et ending_before sont mutuellement exclusifs. Les envoyer dans la même requête renvoie 400 invalid_request_error.

Parcourir vers l’avant

Pour parcourir une liste depuis le début, demandez la première page, puis transmettez l’id du dernier élément dans starting_after jusqu’à ce que has_more vaille false.
Définissez limit à sa valeur maximale de 100 lors d’une synchronisation en masse afin de limiter les allers-retours. Conservez une valeur plus faible pour les interfaces interactives.

Parcourir vers l’arrière

Pour revenir vers des enregistrements plus anciens, par exemple lors d’un défilement vers le haut dans une interface, utilisez ending_before avec l’id du premier élément de la page actuelle.
curl

Filtres temporels

Les endpoints de liste acceptent des filtres temporels pour limiter les résultats à une période. Vous pouvez les combiner librement avec les curseurs de pagination et limit.
string
Renvoie uniquement les enregistrements créés strictement après cet horodatage ISO 8601.
string
Renvoie uniquement les enregistrements créés strictement avant cet horodatage ISO 8601.
string
Renvoie uniquement les enregistrements mis à jour strictement après cet horodatage ISO 8601.
string
Renvoie uniquement les enregistrements mis à jour strictement avant cet horodatage ISO 8601.
Tous les horodatages utilisent le format ISO 8601 en UTC, par exemple 2026-05-01T00:00:00Z. Les résultats restent triés selon created_at.
curl
Node.js
Les filtres temporels s’appliquent au même ensemble d’enregistrements que le curseur. Lorsque vous combinez created_after ou created_before avec starting_after, conservez les mêmes valeurs de filtre sur chaque page du parcours afin que le curseur reste cohérent.

Bonnes pratiques

  • Utilisez has_more, pas le nombre d’éléments. Une page pleine (data.length === limit) peut tout de même être la dernière.
  • Traitez les curseurs comme des valeurs opaques. Renvoyez toujours un id reçu dans une réponse précédente, sans jamais le construire ni le deviner.
  • Choisissez une direction. Utilisez starting_after ou ending_before, jamais les deux.
  • Conservez les mêmes filtres d’une page à l’autre pendant un parcours afin de garantir la stabilité du curseur.

Endpoints de liste

Découvrez quelles ressources peuvent être listées — organisations, établissements et fermetures exceptionnelles — ainsi que leurs champs filtrables.