GetItDoneGetItDone Docs

List tasks

GET
/v1/tasks

Cursor-paginated list of the credential organization's tasks (current version of each), most recently updated first. Filters: status, project_id, parent_task_id (subtasks of one task) and archived (default false — archived tasks are excluded). Every filter is baked into the cursor: reusing an after cursor with different filters answers 400 validation_failed.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A gid_ API key (Profile → API Keys) or an OAuth 2.1 access token.

Query Parameters

limit?integer

Maximum number of items to return (1-100).

Range1 <= value <= 100
Default25
after?string

Opaque 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.

status?string

Only tasks whose CURRENT version has this status.

Value in"TODO""IN_PROGRESS""IN_REVIEW""COMPLETED""BLOCKED"
project_id?string

Only tasks whose CURRENT version is linked to this project.

parent_task_id?string

Only direct subtasks of this task. An unknown (or other-organization) parent answers 404 resource_not_found.

Match^(?:T-)?[0-9]{1,12}$
archived?string

true = ONLY archived tasks; false (default) = only active tasks.

Default"false"
Value in"true""false"

Response Body

Page of tasks.

application/json
  1. response

Cursor-envelope page of tasks, most recently updated first.

data*array<>

The current page of results.

has_more*boolean

True when another page exists after this one.

next_cursor*|

Opaque cursor for the next page (pass as after); null on the last page.

Example Request
curl -X GET 'https://app.nowgetitdone.com/v1/tasks'
Example Response
{  "data": [    {      "id": "T-123",      "title": "Ship the public API",      "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,      "project_ids": [        "string"      ],      "parent_task_id": "T-99",      "archived": true,      "created_via": "SESSION",      "client_label": "Claude Code",      "recurrence": {        "frequency": "DAILY",        "interval": 1,        "by_weekday": [          1,          2,          3,          4,          5        ],        "by_month_day": 15,        "basis": "SCHEDULE",        "timezone": "America/Toronto",        "start_date": "2026-08-06",        "end_date": "2026-08-06",        "max_occurrences": 10,        "rollover_enabled": true,        "active": true,        "rrule": "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR"      },      "created_at": "2019-08-24T14:15:22Z",      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "has_more": true,  "next_cursor": "string"}