Examples

Liveness & setup

curl http://YOUR_TODOLESS_HOST:7070/api/hook-health
curl http://YOUR_TODOLESS_HOST:7070/api/setup-status

Account

# Bootstrap the first account (fresh instance)
curl -X POST http://YOUR_TODOLESS_HOST:7070/api/register -H "Content-Type: application/json" \
  -d '{"email": "demo@example.com", "password": "correct-horse-battery", "passwordConfirm": "correct-horse-battery", "name": "Alex", "user_type": "family_member", "family_name": "Example Family", "language": "nl"}'

# Log in
curl -X POST http://YOUR_TODOLESS_HOST:7070/api/collections/users/auth-with-password -H "Content-Type: application/json" \
  -d '{"identity": "demo@example.com", "password": "correct-horse-battery"}'

Tasks & groceries

TOKEN="YOUR_SESSION_TOKEN"

# Create a task
curl -X POST http://YOUR_TODOLESS_HOST:7070/api/tasks -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"title": "Book dentist appointment", "priority": 2, "due_date": "2026-10-05"}'

# Add a subtask
curl -X POST http://YOUR_TODOLESS_HOST:7070/api/tasks/TASK_ID/subtasks -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"title": "Check the calendar"}'

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

# List your open tasks (unified entries API)
curl "http://YOUR_TODOLESS_HOST:7070/api/entries?type=task&status=todo" -H "Authorization: Bearer $TOKEN"

# Create a shopping item
curl -X POST http://YOUR_TODOLESS_HOST:7070/api/groceries -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"title": "Oat milk", "quantity": "2", "shop_id": "sh0abc1"}'

Collections

TOKEN="YOUR_SESSION_TOKEN"
curl "http://YOUR_TODOLESS_HOST:7070/api/collections/labels/records" -H "Authorization: Bearer $TOKEN"
curl "http://YOUR_TODOLESS_HOST:7070/api/collections/sprints/records" -H "Authorization: Bearer $TOKEN"