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

# Invalid cursor

> HTTP 400, invalid-cursor. The cursor could not be read or its signature did not verify.

| | |
| - | - |
| Type | `https://docs.pinakelai.com/errors/invalid-cursor` |
| Status | 400 |
| Retry | No. Start again without the cursor. |

## When it happens

The `cursor` value is not one the API issued, or can no longer be verified:

* it was truncated or altered, for example by URL encoding it twice;
* it came from a different endpoint (a search cursor sent to the feed, or the reverse);
* it was signed with a key that Pinakel has since retired.

## What to do

* **Search:** run the search again from the first page, without `cursor`.
* **Changes feed:** restart with `since` set to the `created_at` of the last item you processed. Items with that exact timestamp are delivered again, and your upserts absorb them. See [Syncing](https://docs.pinakelai.com/guides/syncing.md#recovering-a-lost-cursor).

## Example

```json Body theme={null}
{
  "type": "https://docs.pinakelai.com/errors/invalid-cursor",
  "title": "Invalid cursor",
  "status": 400,
  "detail": "The cursor is not valid. Start again without it.",
  "request_id": "req_01M7Q40B2C3D4E5F6G7H8J9KMN"
}
```

See the [errors catalogue](https://docs.pinakelai.com/api-reference/errors.md) for every error type, and [Handling errors](https://docs.pinakelai.com/guides/errors.md) for retry strategy.


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