> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mercy-pay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pagination

> Parcourez une liste avec un curseur, sans jamais sauter ni répéter un objet.

Toutes les listes de l'API répondent de la même façon, du plus récent au plus ancien.

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://mercy-pay.com/api/v1/payments?limit=2" \
  -H "Authorization: Bearer mp_sandbox_XXXXXXXXXXXXXXXX"
```

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "object": "list",
  "url": "/api/v1/payments",
  "has_more": true,
  "next_cursor": "pay_5b0e8c1a2f4d4e6a9b7c3d2e1f0a9b8c",
  "data": [
    { "id": "pay_9d2c4a7e1b3f4c5d8e6f7a0b1c2d3e4f", "object": "payment", "amount": 15000, "currency": "XAF", "status": "succeeded" },
    { "id": "pay_5b0e8c1a2f4d4e6a9b7c3d2e1f0a9b8c", "object": "payment", "amount": 4500, "currency": "XAF", "status": "failed" }
  ]
}
```

Les objets de `data` sont abrégés ici : chaque liste renvoie les objets complets.

## Paramètres

| Paramètre | Effet |
| - | - |
| `limit` | Nombre d'objets, de 1 à 100. 20 par défaut |
| `starting_after` | Un id : la page qui suit cet objet. Passez le `next_cursor` de la page précédente |
| `ending_before` | Un id : la page qui précède cet objet, pour revenir en arrière |
| `created[gte]` | Objets créés à partir de cette date (ISO 8601 ou horodatage Unix) |
| `created[lte]` | Objets créés jusqu'à cette date |

Pensez à encoder le `+` d'un fuseau horaire dans l'URL (`%2B`). Un `+` non encodé est tout de même compris.

## Tout parcourir

Avancez tant que `has_more` vaut `true`, en passant `next_cursor` dans `starting_after` :

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://mercy-pay.com/api/v1/payments?limit=100&starting_after=pay_5b0e8c1a2f4d4e6a9b7c3d2e1f0a9b8c" \
  -H "Authorization: Bearer mp_sandbox_XXXXXXXXXXXXXXXX"
```

Contrairement à des numéros de page, un curseur ne saute ni ne répète jamais un objet quand de nouveaux paiements arrivent pendant que vous parcourez la liste.

Un curseur qui ne désigne aucun objet de la liste renvoie une erreur `422` avec `error.param` à `starting_after` ou `ending_before`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.