Get It Done Logo
Get It Done

List task history

GET/v1/tasks/{task_id}/history

Cursor-paginated, read-only version history of a task, newest first — every content change (in-app, MCP or this API) is an immutable version snapshot. This is the ONE endpoint where versions surface; their ids are accepted nowhere else.

Required scopes
tasks:read
Availability
All plans
Quota cost
1 API call
Idempotency
Not applicable

Request

Path parameters

FieldTypeDescription
task_idrequiredstringTask short id, e.g. `T-123` (a bare `123` is also accepted on input).e.g. T-123

Query parameters

FieldTypeDescription
limitintegerMaximum number of items to return (1-100).e.g. 25
afterstringOpaque cursor from a previous page's `next_cursor` — omit for the first page. Reusing a cursor with DIFFERENT query parameters (e.g. a different `limit`) answers 400 `validation_failed`.

Response 200

Page of version snapshots.

Fields

FieldTypeDescription
datarequiredobject[]The current page of results.
has_morerequiredbooleanTrue when another page exists after this one.
next_cursorrequiredstring | nullOpaque cursor for the next page (pass as `after`); null on the last page.
Raw response schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TaskHistoryEntry"
      },
      "description": "The current page of results."
    },
    "has_more": {
      "type": "boolean",
      "description": "True when another page exists after this one."
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Opaque cursor for the next page (pass as `after`); null on the last page."
    }
  },
  "required": [
    "data",
    "has_more",
    "next_cursor"
  ],
  "additionalProperties": false,
  "description": "Cursor-envelope page of task versions, newest first."
}

Example request

curl
curl -X GET https://app.nowgetitdone.com/v1/tasks/T-123/history \
  -H "Authorization: Bearer gid_YOUR_API_KEY"

Possible errors