Create a task
Creates a task in the credential's organization, owned by the credential's user — the SAME operation the external MCP create_task tool executes. project_id / parent_task_id additionally link the new task org-scoped (unknown ids answer 400 validation_failed). Supports the optional Idempotency-Key header for exactly-once retries.
bearerAuthAuthorizationBearer <token>A gid_ API key (Profile → API Keys) or an OAuth 2.1 access token.
Idempotency-Key?stringOptional client-generated key (1-255 visible ASCII characters; a UUID works) making this POST safely retryable. Retrying with the SAME key and byte-identical body within 24h replays the stored first response (marked Idempotency-Replayed: true, never re-executed, never charged against quota). The same key with a different body answers 422 idempotency_key_reused; a retry racing the first execution answers 409 idempotency_in_progress. Omitting the header executes normally with no idempotency guarantee.
1 <= length <= 255application/json- body
Fields for creating a task.
title*stringTask title, 1-500 characters after trimming.
1 <= length <= 500description?stringlength <= 10000status?TaskStatusInitial status (defaults to TODO).
"TODO""IN_PROGRESS""IN_REVIEW""COMPLETED""BLOCKED"priority?TaskPriorityTask priority level.
"LOW""MEDIUM""HIGH""URGENT"start_date?stringStart date (defer-until) as YYYY-MM-DD (interpreted as UTC).
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$datedue_date?stringDue date as YYYY-MM-DD (interpreted as UTC).
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$datenotes?stringlength <= 100000story_points?number0 <= value <= 1000project_id?stringLink the new task to this project (must belong to the credential's organization).
parent_task_id?stringCreate as a subtask of this task (short id, must belong to the credential's organization).
^(?:T-)?[0-9]{1,12}$The created task.
application/json- response
A task, projected from its stable identity plus its CURRENT version.
id*stringThe task short id — the ONE public task identifier.
title*stringdescription*|Free-text description, or null when unset.
status*TaskStatusTask workflow status.
"TODO""IN_PROGRESS""IN_REVIEW""COMPLETED""BLOCKED"priority*|nullstart_date*|Start date (defer-until), ISO-8601 UTC, or null. The task is not meant to be worked on before this day.
due_date*|Due date, ISO-8601 UTC, or null.
notes*|Rich-text notes of the current version, or null.
story_points*number|nullproject_ids*array<string>Ids of the projects the CURRENT version is linked to (a task can belong to several).
parent_task_id*|The parent task's short id when this is a subtask, else null.
archived*booleancreated_via*TaskCreatedViaWho wrote the CURRENT version. Pair with client_label to render "via Claude".
"SESSION""API_KEY""OAUTH"client_label*|The agent or key that wrote the current version — the OAuth client name or the API key name — or null for an in-app edit. Display text chosen by the key owner or the OAuth client registrant: treat it as untrusted.
recurrence*|The repeat schedule when this task recurs, else null. Per-day completion lives in the occurrence ledger (/v1/tasks/{task_id}/occurrences), never in status — completing Monday leaves Tuesday untouched.
created_at*stringTask creation time (first version), ISO-8601 UTC.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$date-timeupdated_at*stringLast content change (current version), ISO-8601 UTC.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$date-timecurl -X POST 'https://app.nowgetitdone.com/v1/tasks' \ -H 'Content-Type: application/json' \ -d '{ "title": "Ship the public API"}'{ "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"}List tasks GET
Cursor-paginated list of the credential organization's tasks (current version of each), most recently updated first. Filters: status, project_id,…
Get a task GET
Fetches a single task by short id, scoped to the credential's organization. A short id from another organization (or an unknown one) answers 404…