Skip to main content
Base URL: http://localhost:3100

List tasks

status
string
Filter by status: backlog, todo, in_progress, in_review, done
priority
string
Filter by priority: low, medium, high
GET /tasks
Example
curl http://localhost:3100/tasks?status=todo

Create a task

POST /tasks
title
string
required
Task title
description
string
Task description (markdown)
status
string
default:"backlog"
Initial status
priority
string
default:"medium"
Priority level
labels
string[]
Array of label strings
requesters
string[]
Array of requester identifiers
dedupe_key
string
Deduplication key in area::intent::object format
Example
curl -X POST http://localhost:3100/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Fix login timeout",
    "description": "Users report 30s timeout on login page",
    "priority": "high",
    "labels": ["bug", "auth"]
  }'

Get a task

GET /tasks/:id
Example
curl http://localhost:3100/tasks/42

Update a task

PATCH /tasks/:id
All body fields are optional. Only provided fields are updated.
Example
curl -X PATCH http://localhost:3100/tasks/42 \
  -H "Content-Type: application/json" \
  -d '{"status": "in_progress", "priority": "high"}'

Delete a task

DELETE /tasks/:id
Example
curl -X DELETE http://localhost:3100/tasks/42

List task comments

GET /tasks/:id/comments
Returns all comments for a task in chronological order.

Add a task comment

POST /tasks/:id/comments
body
string
required
Comment text
Example
curl -X POST http://localhost:3100/tasks/42/comments \
  -H "Content-Type: application/json" \
  -d '{"body": "Investigated — root cause is connection pooling"}'