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

# Paginate and sort

export const Link = ({href, children, className, ...props}) => {
  const localizedHref = href;
  return <a href={localizedHref} className={className} {...props}>
      {children}
    </a>;
};

By default only 20 query results are returned per page and the order of these
results is not guaranteed and may change. Pagination and sorting allow for
getting more results and defining the order of the results.

## Pagination

By default the API only returns the first page of 20 results. To request more
results per page the `limit` query parameter can be send with the request.

```sh theme={null}
curl -X POST https://api.box.com/2.0/metadata_queries/execute_read \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Content-Type: application/json' \
    -d '{
      "from": "enterprise_123456.contractTemplate",
      "fields": ["name"],
      "ancestor_folder_id": "5555",
      "limit": 100
    }'
```

The maximum value for `limit` is 100. To return more pages of results each page
returns a `next_marker` value.

```json theme={null}
{
  "entries": [...],
  "next_marker": "AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff"
}
```

This `next_marker` can be used to form a new request for the next page of
results.

```sh theme={null}
curl -X POST https://api.box.com/2.0/metadata_queries/execute_read \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Content-Type: application/json' \
    -d '{
      "from": "enterprise_123456.contractTemplate",
      "fields": ["name"],
      "ancestor_folder_id": "5555",
      "limit": 100,
      "marker": "AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff"
    }'
```

<Note>
  When a response does not include a next marker it indicates that no more
  matching results exist.
</Note>

<Warning>
  To use the `next_marker` it is important to use the exact same query for the
  next page of results. The API will return an error if any of the parameters
  like the `query`, `query_params`, or others are changed.
</Warning>

## Sort

Results can be ordered by any of the supported metadata field types. These only
supported types currently are `float`, `date`, and `string`
<Link href="/guides/metadata/fields">fields</Link>. Ordering by `enum` or `multiSelect` value is
currently not supported.

To order result, provide one or more field keys to sort by, as well as a
direction.

```json theme={null}
"order_by": [
  {
    "field_key": "amount”,
    "direction": "desc"
  },
  {
    "field_key": "created_at"
    "direction": "desc"
  }
]
```

<Warning>
  The ordering direction must be the same for all ​​specified keys. In other
  words, for each `field_key` the `direction` must be the same.
</Warning>
