Tracks

Create, search, update, and bulk apply tasks and goals.


Use epismo track for active work.

Create a task

epismo track create --type task --title "Fix API docs" --personal \
  --task '{"status":"todo","dueDate":"2026-06-05"}'

Task statuses are backlog, todo, in_progress, and done. Dates use YYYY-MM-DD. On update, an empty string clears optional task date, status, parent, or goal linkage fields where supported.

Create a goal

epismo track create --type goal --title "Ship docs v1" --projects <project-id> \
  --goal '{"status":"on_track","progress":40}'

Goal statuses are not_started, on_track, at_risk, postponed, and completed.

Search tracks

epismo track search --type task --personal --filter '{"status":["todo","in_progress"]}'
epismo track search --type goal --projects <project-id> --filter '{"progressMin":50}'

epismo track search consumes credits. Use search results to narrow the target set, then call epismo track get <id> only for records that need detail.

Bulk apply

epismo track apply --personal --input '{
  "updateDrafts": [
    {"id":"t001","title":"Task A","task":{"status":"todo"}},
    {"id":"t002","title":"Task B","task":{"status":"todo","dependsOn":["t001"]}}
  ]
}'

Non-UUID draft IDs create new records and can be referenced by other drafts in the same request.

The server infers draft type from task or goal. Do not pass both on the same draft. New drafts require title; UUID drafts update existing records and keep omitted fields unchanged.