The cursor pattern

{
  "method": "tasks/get",
  "params": {
    "id": "task-9c1",
    "historyLimit": 50
  }
}

// response includes
{
  "result": {
    "history": [...],
    "historyCursor": "eyJvZmZzZXQ..."
  }
}
Advertisement

Next page request

{
  "params": {
    "id": "task-9c1",
    "historyLimit": 50,
    "historyCursor": "eyJvZmZzZXQ..."
  }
}
Advertisement

Cursor semantics

Opaque to client. Server decodes to internal offset/token. Base64 JSON is common.