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

# Pagination

> Read complete result sets with opaque cursors.

## Standard list endpoints

Paginated resource lists accept `limit` and `cursor`. The standard default is 25 records, with a maximum of 100. Check the endpoint reference for supported filters.

```bash theme={null}
curl --fail-with-body --get 'https://api.protodesk.io/v1/customers' \
  -H "Authorization: Bearer $PROTODESK_API_KEY" \
  --data-urlencode 'limit=25'
```

Responses contain `data`, `hasMore`, and `nextCursor`:

```json theme={null}
{
  "data": [],
  "hasMore": false,
  "nextCursor": null
}
```

When `hasMore` is `true`, send the returned `nextCursor` as the next request's `cursor`. Keep your filters unchanged. Treat cursors as opaque strings and URL-encode them; do not construct or decode them.

```bash theme={null}
curl --fail-with-body --get 'https://api.protodesk.io/v1/customers' \
  -H "Authorization: Bearer $PROTODESK_API_KEY" \
  --data-urlencode 'limit=25' \
  --data-urlencode "cursor=$NEXT_CURSOR"
```

## Help Center authoring

`GET /authoring/articles` uses `after` instead of `cursor`. Its response contains `data` and `nextCursor`, without `hasMore`. Pass `nextCursor` as `after` until it is empty or null.

The MCP tool `help_articles_list` follows the same convention. Article search returns summaries and excerpts; fetch an article by ID to read its full body and revision.


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