# Pagination and filters

> Cursors, page size, sorting and change-based sync for list operations.

List operations answer:

```json
{ "object": "list", "data": [ ... ], "nextCursor": "eyJ2Ijoi…" }
```

- `limit` — page size, 1–100, default 25.
- `cursor` — pass back `nextCursor` to get the next page. `nextCursor` is `null` on the last page. Cursors are opaque: do not build or edit them ([`invalid_cursor`](https://api.bymundi.com/problems/invalid_cursor.md)).
- `sort` — `updatedAt`, `-updatedAt` (default, newest first), `createdAt`, `-createdAt`.
- `updatedSince` — an ISO date-time: only records changed after it.

## Syncing

To mirror trips into another system, store the time you started each sync and ask for `updatedSince=<that time>&sort=updatedAt` next time, following `nextCursor` to the end. For changes as they happen, use [webhooks](https://api.bymundi.com/docs/guides/webhooks.md).

## Metadata

Trips and quotes carry `metadata`: up to 50 string keys you own (a CRM deal id, say). Filter lists with `metadata[hubspotDealId]=123`; up to 5 such filters, and a filter matching more than 500 records answers [`filter_too_broad`](https://api.bymundi.com/problems/filter_too_broad.md).
