Skip to main content
Version: 1.1.4

Tasks API

The Tasks API manages individual work items within a project.

Data model

FieldTypeDescription
idstringUnique identifier (e.g. task_01)
projectIdstringParent project ID
titlestringShort task title
descriptionstringLonger description
statusstringOne of todo, in_progress, done
prioritystringOne of low, medium, high
assigneestring | nullUsername of the assigned person
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last-update timestamp

Endpoints

List tasks

GET /api/tasks

Query parameters:

ParameterTypeDescription
projectIdstringFilter by parent project
assigneestringFilter by assigned user
statusstringFilter by task status

All filters are optional and can be combined.

Response: 200 OK

{
"data": [
{
"id": "task_01",
"projectId": "proj_01",
"title": "Create wireframes for landing page",
"status": "done",
"priority": "high",
"assignee": "alice",
"createdAt": "2025-11-05T10:00:00Z",
"updatedAt": "2025-11-20T15:00:00Z"
}
],
"count": 10
}

Get task

GET /api/tasks/:id

Response: 200 OK with the full task object.

Error: 404 Not Found if the task does not exist.

Create task

POST /api/tasks

Request body:

{
"projectId": "proj_01",
"title": "Implement dark mode",
"description": "Add CSS custom properties for dark theme",
"priority": "medium",
"assignee": "bob"
}
FieldRequiredDefault
projectIdyes
titleyes
descriptionno""
statusnotodo
prioritynomedium
assigneenonull

Response: 201 Created

Update task (partial)

PATCH /api/tasks/:id

Only the provided fields are updated. The id, projectId, and createdAt fields are preserved.

{
"status": "in_progress",
"assignee": "charlie"
}

Response: 200 OK with the updated task.

Error: 404 Not Found if the task does not exist.

Delete task

DELETE /api/tasks/:id

Response: 200 OK

{
"data": {
"id": "task_01",
"deleted": true
}
}

Error: 404 Not Found if the task does not exist.