FocusCrew

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.

GET/api/v1/tasks

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

FieldInTypeMeaning
statusqueryopen | backlog | soon | now | done | allWhich to-dos. Default open — everything not done.
projectqueryuuidOnly to-dos filed in this project.
Answer
{ "tasks": [ { "id": "…", "title": "Write the proposal", "status": "now", "dueDate": "2026-10-27", … } ] }

MCP tool: list_tasks

POST/api/v1/tasks

Write a to-do

A new to-do, in backlog unless you say which column. Everything but the title is optional.

FieldInTypeMeaning
title *bodystringUp to 200 characters.
descriptionbodystringUp to 2,000 characters.
statusbodybacklog | soon | now | doneThe column. New to-dos land in backlog.
dueDatebodyYYYY-MM-DDA calendar day.
dueTimebodyHH:MMOnly with a dueDate.
prioritybodylow | medium | highNothing means not said.
flaggedbodyboolean
projectIdsbodyuuid[]Projects to file it in.
labelIdsbodyuuid[]Labels to put on it.
urlbodystringOne http(s) link.
estimatedPomodorosbodyinteger1–20.
Body
{ "title": "Call the dentist", "dueDate": "2026-10-28", "status": "soon", "priority": "high" }

MCP tool: create_task

GET/api/v1/tasks/{id}

One to-do

One to-do you can open, archived ones included.

FieldInTypeMeaning
id *pathuuidThe id.

MCP tool: get_task

PATCH/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.

FieldInTypeMeaning
id *pathuuidThe id.
titlebodystringUp to 200 characters.
descriptionbodystringUp to 2,000 characters.
statusbodybacklog | soon | now | doneThe column. New to-dos land in backlog.
dueDatebodyYYYY-MM-DDA calendar day.
dueTimebodyHH:MMOnly with a dueDate.
prioritybodylow | medium | highNothing means not said.
flaggedbodyboolean
projectIdsbodyuuid[]Projects to file it in.
labelIdsbodyuuid[]Labels to put on it.
urlbodystringOne http(s) link.
estimatedPomodorosbodyinteger1–20.
Body
{ "status": "now", "dueDate": null }

MCP tool: update_task

POST/api/v1/tasks/{id}/complete

Tick a to-do off

Moves it to done — the same write as dragging it to Finished. A repeating to-do makes its next copy.

FieldInTypeMeaning
id *pathuuidThe id.

MCP tool: complete_task

DELETE/api/v1/tasks/{id}

Delete a to-do

For good. Focus time spent on it stays in the reports.

FieldInTypeMeaning
id *pathuuidThe id.

MCP tool: delete_task