Tasks

Tasks are the core of todoless: dates, labels, assignees, flags, comments, subtasks, recurring rules, sprint and project links.

Create a task

Use the custom endpoint (recommended for integrations):

curl -X POST http://YOUR_TODOLESS_HOST:7070/api/tasks \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Buy milk",
    "status": "todo",
    "description": "Semi-skimmed",
    "priority": 2,
    "labels": ["l0abc1"],
    "due_date": "2026-10-01",
    "assigned_to": "u0abc123",
    "flag": false
  }'
FieldTypeNotes
titlestring (required)Task title
statusstringtodo / doing / done
descriptionstringFree text
prioritynumberPriority level
labelsarray of label idsValidated against family and visibility rules
assigned_touser idAssignee
due_datedateISO date
horizonstringPlanning horizon
flagbooleanFlagged for attention
archivedbooleanArchive flag
subtasksarrayOptional subtasks created with the task

Add a subtask

curl -X POST http://YOUR_TODOLESS_HOST:7070/api/tasks/TASK_ID/subtasks \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Check labels"}'

Update a task

PATCH /api/tasks/{taskId} updates owner tasks only. Setting status to ‘done’ stamps completed_at:

curl -X PATCH http://YOUR_TODOLESS_HOST:7070/api/tasks/TASK_ID \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "done"}'

Task collection

For full control (filters, sorting, bulk listing) use the tasks collection:

# List family tasks
curl "http://YOUR_TODOLESS_HOST:7070/api/collections/tasks/records?perPage=50" \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN"

# Create via the collection
curl -X POST http://YOUR_TODOLESS_HOST:7070/api/collections/tasks/records \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Collect dry cleaning"}'