GetItDoneGetItDone Docs
API ReferenceDaily plan

Plan a task onto the board

POST
/v1/daily-plan/entries

Pins a task (current version) onto one section of the credential user's board for a date — mirroring the in-app add: only tasks OWNED by the credential's user and not archived can be planned; a parent task brings its subtasks along; a task already on that section answers 400 validation_failed. Supports the optional Idempotency-Key header.

Authorization

bearerAuth
headerAuthorizationBearer <token>

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

Header Parameters

Idempotency-Key?string

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

Length1 <= length <= 255

Request Body

application/json
  1. body

Which task, which date, which section.

date*string

Board date as YYYY-MM-DD (UTC day).

Match^(?:(?:\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])))$
Formatdate
task_id*string

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

Match^(?:T-)?[0-9]{1,12}$
section*DailySection

Daily-board section: TODO = the plan list, PROGRESS = the in-progress list.

Value in"TODO""PROGRESS"

Response Body

The created board entry.

application/json
  1. response

One task pinned onto one daily-board section.

id*string

Board-entry id. NOTE: moving an entry between sections re-creates it (mirroring the in-app move), so the id CHANGES on move.

section*DailySection

Daily-board section: TODO = the plan list, PROGRESS = the in-progress list.

Value in"TODO""PROGRESS"
task_id*string

The planned task's short id.

title*string

The planned task's current title.

status*TaskStatus

The planned task's current workflow status.

Value in"TODO""IN_PROGRESS""IN_REVIEW""COMPLETED""BLOCKED"
created_at*string

When the task was placed on this section, ISO-8601 UTC. Entries within a section are ordered by this (oldest first) — there is no free positional reorder.

Match^(?:(?:\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))$
Formatdate-time
Example Request
curl -X POST 'https://app.nowgetitdone.com/v1/daily-plan/entries' \  -H 'Content-Type: application/json' \  -d '{  "date": "2019-08-24",  "task_id": "T-123",  "section": "TODO"}'
Example Response
{  "id": "string",  "section": "TODO",  "task_id": "T-123",  "title": "string",  "status": "TODO",  "created_at": "2019-08-24T14:15:22Z"}