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}'| Command | Cost |
|---|---|
epismo track search |
2 credits |
epismo track create |
1 credit |
epismo track update |
1 credit |
epismo track get |
1 credit |
epismo track apply |
1 credit |
epismo track delete |
1 credit |
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 '{
"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 and can be referenced by other upserts in the same request.
The server infers the track type from task or goal. Do not pass both on the same upsert. New tracks require title; UUID ids update existing records and keep omitted fields unchanged.