Skip to main content
Chaque point de terminaison de liste /v1 renvoie la même enveloppe et pagine de la même manière : par jeton, en avant uniquement.

L’enveloppe de liste

string
Toujours "list".
array
La page de ressources, dans un ordre stable et déterministe.
string | null
Transmettez cette valeur comme page_token dans la requête suivante pour récupérer la page suivante. null lorsqu’il n’y a plus de résultats.
boolean
Indique si d’autres résultats existent au-delà de cette page.

Paramètres de requête

integer
défaut:"25"
Taille de la page. Un entier compris entre 1 et 500. Les valeurs hors de cette plage renvoient un 400 avec le code invalid_request.
string
Le next_page_token de la réponse précédente. Omettez-le pour la première page.
Il n’existe aucun paramètre de décalage (offset), aucun parcours vers la page précédente et aucun total exact. Pour dénombrer une collection, parcourez-la.
Exception : GET /v1/cohorts/{id}/members renvoie au maximum 50 lignes par page, même si vous demandez une valeur limit plus élevée. has_more et next_page_token reflètent toujours le reste réel de la Cohorte.
Authentifiez-vous avec l’une ou l’autre des formes d’identifiants Basic — consultez le Démarrage rapide (apikey:secret ou secret:). Définissez BASE sur l’hôte régional de l’organisation — consultez Régions.

Parcourir une liste

Chargez LIVING_SECURITY_API_KEY depuis votre gestionnaire de secrets, comme dans le démarrage rapide. Cet exemple nécessite entity:read ; la clé utilisée pour le guide de première requête peut avoir besoin de cette autorisation supplémentaire. Installez requests pour Python ou jq pour l’exemple en shell. Les deux exemples épinglent une version, conservent les filtres inchangés et rejettent les redirections. Ils s’arrêtent en cas d’erreur et après 1 000 pages plutôt que de présenter un parcours partiel comme complet. Le délai d’expiration de lecture de Python borne l’inactivité, et non la durée totale de la tâche ; imposez une échéance de tâche dans votre intégration. Demandez des pages jusqu’à ce que next_page_token soit null. Privilégiez limit=500 pour les lectures en masse afin de couvrir la collection en moins de requêtes — consultez les limites de débit.

Conserver des filtres stables pendant la pagination

Les jetons de page sont des curseurs opaques et signés. Chaque jeton est lié à l’organisation, au compte de service authentifié, à la version du contrat et à l’ensemble exact de filtres de la requête qui l’a produit. Modifier l’un de ces éléments en cours de parcours — par exemple, ajouter un filtre type à la deuxième page — renvoie un 400 avec le code invalid_request sur le paramètre page_token :
400 Invalid request
Pour modifier les filtres, démarrez un nouveau parcours depuis la première page.
Traitez page_token comme une chaîne opaque : renvoyez-la exactement telle que vous l’avez reçue. Ne la décodez pas, ne la stockez pas à long terme et ne construisez pas de jetons — leur format interne peut changer à tout moment sans préavis.
Les points de terminaison de liste rejettent les paramètres de requête qu’ils ne prennent pas en charge avec un 400 invalid_request indiquant le paramètre concerné. Consultez la référence de chaque point de terminaison pour connaître les filtres pris en charge.

Gérer une collection interrompue ou en cours de modification

Ces exemples ne relancent pas automatiquement les requêtes en erreur. Pour 429, respectez Retry-After et suivez les recommandations de nouvelle tentative bornées. Conservez les mêmes région, compte de service, version, filtres et dernier jeton de page traité avec succès lors d’une nouvelle tentative de lecture. Changer d’identifiants n’accorde aucun accès : chaque requête vérifie toujours les autorisations en vigueur. Une lecture sur plusieurs pages n’est pas un instantané de la collection. Les lignes peuvent changer pendant que vous la parcourez. Traitez les ressources selon leur id stable et rendez les écritures en aval idempotentes ; un redémarrage peut renvoyer à nouveau une ligne. Si un jeton est rejeté, examinez l’erreur page_token et corrigez la requête avant de recommencer à partir de la première page. Ne supprimez pas silencieusement les données déjà traitées et ne marquez pas un export interrompu comme terminé. Pour obtenir des totaux de reporting exacts, utilisez la ressource de reporting appropriée plutôt que de considérer un parcours de liste en direct comme un instantané.