Docs
ENFR
Tableau de bord
Concepts

Pagination

Parcourez les listes avec un curseur.

Chaque liste renvoie les objets du plus récent au plus ancien, dans cette enveloppe :

JSON
{
  "object": "list",
  "url": "/v1/collections",
  "data": [ { "id": "9e2d4a7b-…", "object": "collection" } ],
  "has_more": true
}
Paramètre Description
limit Objets par page, de 1 à 100. 20 par défaut.
starting_after Identifiant du dernier objet reçu. Renvoie les objets qui le suivent.

Pour tout lire, répétez l’appel avec starting_after égal au dernier id de data, tant que has_more vaut true :

async function* all(path) {
  let after = null;
  while (true) {
    const url = new URL('https://api.monerail.com/v1' + path);
    url.searchParams.set('limit', '100');
    if (after) url.searchParams.set('starting_after', after);
    const page = await (await fetch(url, { headers: { Authorization: `Bearer ${process.env.MONERAIL_KEY}` } })).json();
    yield* page.data;
    if (!page.has_more) return;
    after = page.data[page.data.length - 1].id;
  }
}

for await (const tx of all('/transactions')) console.log(tx.type, tx.amount);

Certaines listes acceptent des filtres, comme type sur les transactions et les événements, ou status et cardholder sur les cartes. Gardez les mêmes filtres d’une page à l’autre. Chaque page compte dans la limite de débit.