List task 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.
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.
Authorization
bearerAuth A gid_ API key (Settings → API keys) or an OAuth 2.1 access token.
In: header
Path Parameters
Task short id, e.g. T-123 (a bare 123 is also accepted on input).
^(?:T-)?[0-9]{1,12}$Query Parameters
Maximum number of items to return (1-100).
1 <= value <= 10025Opaque 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 Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/v1/tasks/string/history"{ "data": [ { "id": "string", "title": "string", "description": "string", "status": "TODO", "priority": "LOW", "start_date": "2019-08-24T14:15:22Z", "due_date": "2019-08-24T14:15:22Z", "notes": "string", "story_points": 0, "created_at": "2019-08-24T14:15:22Z" } ], "has_more": true, "next_cursor": "string"}Unarchive a task POST
Restores an archived task to the active lists — the archive operation with `archive: false`, exactly as the MCP `archive_task` tool exposes it. Supports the optional `Idempotency-Key` header.
Get plan usage GET
Reports the current billing period, per-meter consumption against the plan, and the per-credential burst allowance. Reading usage never consumes the API-call quota (the meter cost is zero), so this endpoint stays reachable even when the period allowance is exhausted.