> 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/ja/developers/api/pagination.md).

# ページネーション

> カーソルベースのページネーションで、BoxHero API の長いリストを順に取得します。

リスト系のエンドポイントは結果を 1 ページずつ返し、カーソルベースのページネーションを使用します。

## クエリパラメーター

| パラメーター | 説明 |
| --- | --- |
| `cursor` | ページの開始位置です。前回のレスポンスの `cursor` フィールドを渡します。最初の呼び出しでは省略します。 |
| `limit` | ページサイズです。許容範囲とデフォルト値は各エンドポイントに記載されています（例: [商品一覧の取得](https://www.boxhero.io/docs/ja/developers/api/reference/items/list-items)）。 |

## レスポンス

各ページには、結果と次のページを取得するために必要なフィールドが含まれます。

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

| フィールド | 説明 |
| --- | --- |
| `count` | このページの結果の件数 |
| `limit` | このページに使用されたページサイズ |
| `cursor` | 次のページを取得するには、この値を `cursor` クエリパラメーターとして渡します。これ以上ページがない場合は `null` です。 |
| `has_more` | このページの後にさらに結果がある場合は `true` |

## すべてのページを取得する

1. `cursor` を指定せずにリスト系のエンドポイントを呼び出します。
2. `has_more` が `true` の間は、直前のレスポンスの `cursor` を `cursor` に設定して再度呼び出します。
3. `has_more` が `false` になったら終了します。

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

最初の呼び出しで使用したフィルターは、以降のすべての呼び出しでも同じものを指定してください。

## 並び順

並び順はリソースごとに定義されています。ほとんどのリスト系のエンドポイントは、id の昇順で結果を返します。[履歴一覧の取得](https://www.boxhero.io/docs/ja/developers/api/reference/transactions/list-transactions)は、新しい履歴から順に返します（履歴の日時順で、同じ場合は id 順）。

> **Tip**
>
> **ヒント**: 履歴のコピーを同期した状態に保つには、各履歴の `revision` を保存してください。リストを再度取得したときに `revision` が大きくなっていれば、前回確認した後にその履歴が編集されたことがわかります。
