To-dos
The to-dos endpoints of the FocusCrew API.
A * marks a required field. Path fields go in the address, query fields after a ?, body fields in JSON.
/api/v1/tasksYour to-dos
Your own to-dos and those in projects shared with you, with their labels, projects, steps and dates. Open ones unless you ask for a column.
| Field | In | Type | Meaning |
|---|---|---|---|
| status | query | open | backlog | soon | now | done | all | Which to-dos. Default open — everything not done. |
| project | query | uuid | Only to-dos filed in this project. |
{ "tasks": [ { "id": "…", "title": "Write the proposal", "status": "now", "dueDate": "2026-10-27", … } ] }MCP tool: list_tasks
/api/v1/tasksWrite a to-do
A new to-do, in backlog unless you say which column. Everything but the title is optional.
| Field | In | Type | Meaning |
|---|---|---|---|
| title * | body | string | Up to 200 characters. |
| description | body | string | Up to 2,000 characters. |
| status | body | backlog | soon | now | done | The column. New to-dos land in backlog. |
| dueDate | body | YYYY-MM-DD | A calendar day. |
| dueTime | body | HH:MM | Only with a dueDate. |
| priority | body | low | medium | high | Nothing means not said. |
| flagged | body | boolean | |
| projectIds | body | uuid[] | Projects to file it in. |
| labelIds | body | uuid[] | Labels to put on it. |
| url | body | string | One http(s) link. |
| estimatedPomodoros | body | integer | 1–20. |
{ "title": "Call the dentist", "dueDate": "2026-10-28", "status": "soon", "priority": "high" }MCP tool: create_task
/api/v1/tasks/{id}One to-do
One to-do you can open, archived ones included.
| Field | In | Type | Meaning |
|---|---|---|---|
| id * | path | uuid | The id. |
MCP tool: get_task
/api/v1/tasks/{id}Change a to-do
Send only the fields to change. `null` clears a date, priority or link. Moving to done stamps the completion; leaving done clears it.
| Field | In | Type | Meaning |
|---|---|---|---|
| id * | path | uuid | The id. |
| title | body | string | Up to 200 characters. |
| description | body | string | Up to 2,000 characters. |
| status | body | backlog | soon | now | done | The column. New to-dos land in backlog. |
| dueDate | body | YYYY-MM-DD | A calendar day. |
| dueTime | body | HH:MM | Only with a dueDate. |
| priority | body | low | medium | high | Nothing means not said. |
| flagged | body | boolean | |
| projectIds | body | uuid[] | Projects to file it in. |
| labelIds | body | uuid[] | Labels to put on it. |
| url | body | string | One http(s) link. |
| estimatedPomodoros | body | integer | 1–20. |
{ "status": "now", "dueDate": null }MCP tool: update_task
/api/v1/tasks/{id}/completeTick a to-do off
Moves it to done — the same write as dragging it to Finished. A repeating to-do makes its next copy.
| Field | In | Type | Meaning |
|---|---|---|---|
| id * | path | uuid | The id. |
MCP tool: complete_task
/api/v1/tasks/{id}Delete a to-do
For good. Focus time spent on it stays in the reports.
| Field | In | Type | Meaning |
|---|---|---|---|
| id * | path | uuid | The id. |
MCP tool: delete_task