Tracks
Create, update, search, delete, and bulk apply tasks and goals.
Use track endpoints for active work.
Create a task
POST /v1/tracks
Authorization: Bearer <token>
Content-Type: application/json
{
"type": "task",
"title": "Review docs",
"scope": { "type": "personal" },
"task": { "status": "todo", "dueDate": "2026-06-05" }
}Create a goal
{
"type": "goal",
"title": "Ship documentation v1",
"scope": { "type": "projects", "ids": ["project-id"] },
"goal": { "status": "on_track", "progress": 40 }
}Search
Task filters include status, assignee, goalId, parentId, dependsOn, date ranges, and doneAt ranges. Goal filters include status, progressMin, progressMax, and date ranges.
When type is task, goal-only filters such as progressMin and progressMax are invalid. When type is goal, task-only filters such as assignee, goalId, parentId, dependsOn, and doneAtFrom / doneAtTo are invalid.
| Operation | Cost |
|---|---|
tracks.search |
2 credits |
tracks.get |
1 credit |
tracks.review |
AI token usage |
tracks.apply |
1 credit |
tracks.create/update/delete |
1 credit |
Use search results to narrow the target set before fetching individual tracks.
Bulk apply
{
"scope": { "type": "personal" },
"upserts": [
{ "id": "t001", "title": "Task A", "task": { "status": "todo" } },
{ "id": "t002", "title": "Task B", "task": { "status": "todo", "dependsOn": ["t001"] } }
]
}Non-UUID ids create new records. UUID ids update existing records.
In upserts, type is inferred from task or goal. Passing both is invalid. New tracks require title; UUID ids keep omitted fields unchanged.
Review
POST /v1/tracks/review
Authorization: Bearer <token>
Content-Type: application/json
{
"targetIds": ["task-or-goal-id"],
"instruction": "Focus on what should change in the source workflow pack."
}Generates a read-only review for one or more tasks or goals. The response returns a review object containing stats and generated Markdown content for detailed reviews:
{
"targets": [{ "id": "task-or-goal-id", "title": "Review docs", "entityType": "task" }],
"review": {
"stats": {
"relatedTaskCount": 4,
"doneTaskCount": 2,
"logCount": 5,
"sourceCount": 2
},
"content": "## Summary\n..."
}
}Detailed reviews consume credits based on AI token usage. Lightweight review stats returned from track status updates are free of charge.
See Logs for appending, listing (one track or across every track), and deleting activity/comment logs.