> For the complete documentation index, see [llms.txt](https://www.boxhero.io/docs/llms.txt). Every page is available as Markdown by appending `.md` to its URL; this page is [Markdown](https://www.boxhero.io/docs/id/developers/api/pagination.md).

# Paginasi

> Telusuri daftar panjang di BoxHero API dengan paginasi berbasis kursor.

Endpoint daftar mengembalikan hasil satu halaman per permintaan dan menggunakan paginasi berbasis kursor.

## Parameter kueri

| Parameter | Deskripsi |
| --- | --- |
| `cursor` | Titik awal halaman. Kirim field `cursor` dari respons sebelumnya. Hilangkan pada panggilan pertama. |
| `limit` | Ukuran halaman. Rentang yang diizinkan dan nilai bawaannya tercantum di setiap endpoint, misalnya [Daftar barang](https://www.boxhero.io/docs/id/developers/api/reference/items/list-items). |

## Respons

Setiap halaman berisi hasil beserta field yang Anda perlukan untuk mengambil halaman berikutnya:

```json
{
  "items": [...],
  "count": 100,
  "limit": 100,
  "cursor": 1234567,
  "has_more": true
}
```

| Field | Deskripsi |
| --- | --- |
| `count` | Jumlah hasil di halaman ini |
| `limit` | Ukuran halaman yang digunakan untuk halaman ini |
| `cursor` | Kirim nilai ini sebagai parameter kueri `cursor` untuk mendapatkan halaman berikutnya. `null` jika tidak ada halaman lagi. |
| `has_more` | `true` jika masih ada hasil setelah halaman ini |

## Mengambil semua halaman

1. Panggil endpoint daftar tanpa `cursor`.
2. Selama `has_more` bernilai `true`, panggil lagi dengan `cursor` diisi `cursor` dari respons terakhir.
3. Berhenti jika `has_more` bernilai `false`.

```bash
curl "https://rest.boxhero-app.com/v1/items?cursor=1234567" \
  -H "Authorization: Bearer $BOXHERO_API_TOKEN"
```

Gunakan filter yang sama seperti pada panggilan pertama di setiap panggilan berikutnya.

## Urutan

Setiap resource menentukan urutannya sendiri. Sebagian besar endpoint daftar mengembalikan hasil berdasarkan id, dari kecil ke besar. [Daftar transaksi](https://www.boxhero.io/docs/id/developers/api/reference/transactions/list-transactions) mengembalikan transaksi terbaru terlebih dahulu (berdasarkan waktu transaksi, dengan id sebagai penentu jika waktunya sama).

> **Tip**
>
> **Tips**: Untuk menjaga salinan transaksi Anda tetap sinkron, simpan `revision` setiap transaksi. Saat Anda menelusuri daftar lagi, `revision` yang lebih tinggi menandakan bahwa transaksi tersebut telah diedit sejak terakhir kali Anda melihatnya.
