# `invalid_cursor`

**Status 400.** The cursor is not one this endpoint issued.

## What it means

The `cursor` is not one this list gave out.

## What to do

Pass back `next_cursor` exactly as you received it, with the same filters, and on `GET /members` the same `sort` and `order`. If you have lost it, start the list again without a `cursor`.

## Safe to send again?

Not as it is. Change what the answer points to, then send the request.

## What else the answer carries

- `param`: The field, header or query parameter at fault, when there is exactly one.

## Where you can meet it

- [`GET /members`](https://matrixrewards.co.uk/docs/api/2026-10/members.md#listMembers): Shoppers on this account
- [`GET /members/{member_key}/codes`](https://matrixrewards.co.uk/docs/api/2026-10/members.md#listMemberCodes): The reward codes this shopper holds
- [`GET /ledger`](https://matrixrewards.co.uk/docs/api/2026-10/reports.md#listLedger): Every points movement on this account, newest first
- [`GET /audit-log`](https://matrixrewards.co.uk/docs/api/2026-10/log.md#listAuditLog): What every key changed, and what it was shown

Every code, and the shape of an error answer: [Errors](https://matrixrewards.co.uk/docs/errors.md).

---

Page: https://matrixrewards.co.uk/docs/errors/invalid_cursor
Contract: 2026-10 sha256:35af153960028890fea5738799f5a71e535e1eea4dd3f6b8d5f50b37f02363da
