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

# Invalid cursor

> The pagination cursor is malformed or was not issued by this API.

This page is the resolution target of the RFC 9457 `type` URI on every `invalid_cursor` problem body: `https://docs.get-exo.com/errors/invalid_cursor`.

**HTTP status: `400` Bad Request**.

```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "type": "https://docs.get-exo.com/errors/invalid_cursor",
  "title": "Invalid cursor",
  "status": 400,
  "detail": "The cursor is malformed or was not issued by this API.",
  "code": "invalid_cursor",
  "requestId": "req_9f2c41ab7d0e5c18",
  "suggestedAction": "Pass the nextCursor value from the previous page unmodified, or omit the cursor to start from the first page."
}
```

## Why it happens

Cursors are opaque. Any tampering fails here: bad base64, bad JSON, a missing key, or a timestamp that does not parse.

Cursors are not portable across routes. A cursor from one list is meaningless to another.

## How to fix it

* Pass `nextCursor` from the previous page exactly as you received it. Do not decode, re-encode or truncate it.
* Omit `cursor` to start again from the first page.

## Related

* [`pagination_unsupported`](/errors/pagination_unsupported)
* [Errors](/platform/errors) for the envelope and the full catalogue
