Els llistats (GET /spaces i GET /bookings) fan servir paginació per cursor. A diferència de la paginació per pàgines, un cursor continua sent estable encara que es creïn o cancel·lin reserves mentre recorres la llista.
Paràmetres
| Paràmetre | Descripció |
|---|---|
limit |
Elements per pàgina, d'1 a 200. Per defecte 50. |
cursor |
Cursor opac que ha retornat la pàgina anterior. Omet-lo per a la primera pàgina. |
Resposta
{
"data": [ { "id": 1, "...": "..." } ],
"meta": { "next_cursor": "WzE3OTI2OTIwMDAsNTBd" }
}
meta.next_cursorés el cursor de la pàgina següent.- A l'última pàgina,
next_cursorésnull. - Un cursor és un valor opac (el de la resposta de dalt és només il·lustratiu: no n'escriguis mai un a mà ni el reutilitzis entre llistats): no l'interpretis ni el construeixis. Només és vàlid amb els mateixos filtres amb què es va obtenir.
- Un cursor mal format o alterat retorna
422 validation_failed, amb el campcursoradetails.
Exemple amb curl
# Primera pàgina
curl -s "$PRANARP_URL/api/v1/bookings?limit=100&from=2026-10-01T00:00:00%2B02:00" \
-H "Authorization: Bearer $PCK_TOKEN"
# Pàgina següent: passa el next_cursor rebut
curl -s "$PRANARP_URL/api/v1/bookings?limit=100&from=2026-10-01T00:00:00%2B02:00&cursor=<next_cursor>" \
-H "Authorization: Bearer $PCK_TOKEN"
Recórrer totes les pàgines
Un bucle complet en shell (requereix jq):
cursor=""
while :; do
url="$PRANARP_URL/api/v1/bookings?limit=200"
[ -n "$cursor" ] && url="$url&cursor=$cursor"
page=$(curl -s "$url" -H "Authorization: Bearer $PCK_TOKEN")
echo "$page" | jq -c '.data[]'
cursor=$(echo "$page" | jq -r '.meta.next_cursor // empty')
[ -z "$cursor" ] && break
done
Respecta els límits de ritme: cada pàgina compta com una petició. Si has de mantenir el teu sistema al dia, és més eficient subscriure't als webhooks que recórrer tot el llistat periòdicament.