# Pagination

All endpoints that return large result sets will support pagination. The `pageSize` and `pageNumber` parameters will be used for these endpoints. For example, if you want the next batch of items the url would look like this: `https://fetch.yellowdogsoftware.com/api/v3/items?pageNumber=2&pageSize=100`
If the endpoint supports pagination the response header will contain the `X-Pagination` key. The value of this key will be json which will include the next page link ( `nextPageLink` ). If there aren't anymore pages left the `nextPageLink` value will be empty.

### Example

#### Additional Pages

```json
{
  "pageSize": 100,
  "currentPage": 1,
  "currentPageElements": 100,
  "nextPageLink": "https://fetch.yellowdogsoftware.com/api/v3/dimensions?pageNumber=2&pageSize=100"
}
```

#### No Additional Pages

```json
{
"pageSize": 100,
"currentPage": 6,
"currentPageElements": 3,
"nextPageLink": ""
}
```

### Defaults and Limits

- When specified, `pageSize` must be greater than zero with a maximum value of `500`.
- When not specified, `pageSize` will default to `100`
- When specified, `pageNumber` must be an integer greater than zero.
- If `pageNumber` is larger than the number of pages available, the response will be empty.
- When not specified, `pageNumber` will default to `1`.