List tasks
open=true is not the same as “not done”. A cancelled task is closed too:
it will not happen. Both done and cancelled are excluded by open=true,
which is the distinction most integrations actually mean.Statuses
todo, in_progress, in_review, qa, done, cancelled, hold.
done and cancelled are the terminal pair. Moving a task to either stamps
completed_at in the same write; moving it out again clears it. You never set
completed_at yourself — it and the status cannot disagree.
Buckets
bucket is computed, not stored, and saves you re-deriving it: overdue,
today, upcoming, someday (no due date — a real answer, and the common
one), or completed. Days are counted in UTC, so the answer is a property
of the task rather than of where the request landed.
Priority
iCalendar’s nine-stepPRIORITY: 0 is unset, 1 is highest, 9 is lowest.
The app offers five of them — Urgent 1, High 2, Medium 5, Low 9 — so a
task written with those reads correctly in the interface and in Apple Reminders
or Thunderbird.
Create a task
title is the only required field.
Assigning
assignee takes an email address or a user id, and an address is the
easier half: it is the thing you already know, and it is matched
case-insensitively.
The person must be a member of your organization. Anybody else is refused with
400 and nothing is written — a task that looked assigned in the request
and is not in the answer is how work quietly goes undone.
Reads return the whole member, so assignee.email round-trips straight back
into a write.
Read, change, delete
PATCH changes only the fields you name. This is the one endpoint in the API
that merges rather than replaces, and it is deliberate: the calls integrations
actually make are “mark this done” and “move this to Friday”, one field at a
time and often from two systems at once.That closes the task and touches nothing else. The title, tags and due date are
exactly as they were.
400 and not a silent success.
Not available yet
Comments and activity. Every task carries a history and a comment thread in the app. They are readable there and not through the API — a comment has an author, and an API key is not a person, so “who said this” would have no honest answer. Ordering on the board.sort_key decides where a task sits in a column
when it is dragged. It is not writable here: the board’s positions are
relative, and a key setting them blind would shuffle a column somebody else is
looking at.
Subtasks. The checklist inside a task’s notes is reported as steps and is
part of a rich-text document, not a list of rows. notes is its plain-text
projection, which is what an integration can usefully read.
Errors
See Errors for the full response shape.