Skip to content
Hoody.com

The Tasks endpoints inspect and manage background subagent tasks on a live agent session. Use these routes to ask a session to emit its task snapshot, request a task’s transcript from an upsert-poll cursor, or cancel one or all background tasks. All routes are request-response RPCs that forward an action to the daemon and return a plain JSON ack — task snapshots and transcripts arrive on the session’s WS/SSE stream, not in the HTTP response body. Background tasks survive session.cancel but are not restartable.

Request the session’s task snapshot. The daemon has no synchronous task-list response, so the snapshot (a tasks_snapshot event) is emitted on the session’s WS/SSE stream.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope: the .hoody project layer / record cwd / tool+workflow cwd. Required by routes that resolve a cwd (e.g. POST /todos; createTodo also accepts a body cwd).
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override selecting which on-disk .hoody install a stateless read/write resolves (HoodyPaths).
X-Hoody-ContainerheaderstringNoPer-request bound remote container (omitted = local). Rejected (400) on routes with no container dimension.
X-Hoody-RealmheaderstringNoPer-request realm selector: "global" or a 24-hex id (also accepted as ?realm=). Rejected (400 realm_scope_unsupported) on active-only / no-realm routes.
realmquerystringNoPer-request realm selector — the in:query alias of the X-Hoody-Realm header (read only when the header is absent): "global" or a 24-hex id. Rejected (400 realm_scope_unsupported) on active-only / no-realm routes.
Terminal window
curl -X GET "https://proj-c1-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/sessions/sess_01HZX3F4K7P8QCJR2VA9NMDYBW/tasks" \
-H "X-Hoody-Container: c1"

GET /api/v1/agent/sessions/{id}/tasks/{tid}/transcript

Section titled “GET /api/v1/agent/sessions/{id}/tasks/{tid}/transcript”

Request a task’s transcript from an after_seq upsert-poll cursor. The endpoint returns a plain JSON ack; the transcript arrives on the session’s stream as a task_transcript event. after_seq is an int64 UPSERT-POLL cursor (the open entry is re-sent at/below after_seq) — distinct from the gateway’s int64 stream seq and the daemon’s uint64 log seq; it is NOT a monotonic replay cursor.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
tidpathstringYesPath identifier.
after_seqqueryintegerNoint64 upsert-poll cursor; entries at/below it are re-sent (default 0).
X-Hoody-CwdheaderstringNoPer-request working-directory scope: the .hoody project layer / record cwd / tool+workflow cwd. Required by routes that resolve a cwd (e.g. POST /todos; createTodo also accepts a body cwd).
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override selecting which on-disk .hoody install a stateless read/write resolves (HoodyPaths).
X-Hoody-ContainerheaderstringNoPer-request bound remote container (omitted = local). Rejected (400) on routes with no container dimension.
X-Hoody-RealmheaderstringNoPer-request realm selector: "global" or a 24-hex id (also accepted as ?realm=). Rejected (400 realm_scope_unsupported) on active-only / no-realm routes.
realmquerystringNoPer-request realm selector — the in:query alias of the X-Hoody-Realm header (read only when the header is absent): "global" or a 24-hex id. Rejected (400 realm_scope_unsupported) on active-only / no-realm routes.
Terminal window
curl -X GET "https://proj-c1-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/sessions/sess_01HZX3F4K7P8QCJR2VA9NMDYBW/tasks/tsk_01HZX3F4NA7XQ9B5YC8VP6JKMT/transcript?after_seq=42" \
-H "X-Hoody-Container: c1"

POST /api/v1/agent/sessions/{id}/tasks/{tid}/cancel

Section titled “POST /api/v1/agent/sessions/{id}/tasks/{tid}/cancel”

Cancel a single background subagent task on a live session. The request is handled at the server layer so it works mid-turn.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
tidpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope: the .hoody project layer / record cwd / tool+workflow cwd. Required by routes that resolve a cwd (e.g. POST /todos; createTodo also accepts a body cwd).
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override selecting which on-disk .hoody install a stateless read/write resolves (HoodyPaths).
X-Hoody-ContainerheaderstringNoPer-request bound remote container (omitted = local). Rejected (400) on routes with no container dimension.
X-Hoody-RealmheaderstringNoPer-request realm selector: "global" or a 24-hex id (also accepted as ?realm=). Rejected (400 realm_scope_unsupported) on active-only / no-realm routes.
realmquerystringNoPer-request realm selector — the in:query alias of the X-Hoody-Realm header (read only when the header is absent): "global" or a 24-hex id. Rejected (400 realm_scope_unsupported) on active-only / no-realm routes.
Terminal window
curl -X POST "https://proj-c1-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/sessions/sess_01HZX3F4K7P8QCJR2VA9NMDYBW/tasks/tsk_01HZX3F4NA7XQ9B5YC8VP6JKMT/cancel" \
-H "X-Hoody-Container: c1"

POST /api/v1/agent/sessions/{id}/tasks/cancel

Section titled “POST /api/v1/agent/sessions/{id}/tasks/cancel”

Cancel all background subagent tasks on a live session. Internally this is session.task_cancel with an empty task id, which the daemon interprets as a cancel-all.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope: the .hoody project layer / record cwd / tool+workflow cwd. Required by routes that resolve a cwd (e.g. POST /todos; createTodo also accepts a body cwd).
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override selecting which on-disk .hoody install a stateless read/write resolves (HoodyPaths).
X-Hoody-ContainerheaderstringNoPer-request bound remote container (omitted = local). Rejected (400) on routes with no container dimension.
X-Hoody-RealmheaderstringNoPer-request realm selector: "global" or a 24-hex id (also accepted as ?realm=). Rejected (400 realm_scope_unsupported) on active-only / no-realm routes.
realmquerystringNoPer-request realm selector — the in:query alias of the X-Hoody-Realm header (read only when the header is absent): "global" or a 24-hex id. Rejected (400 realm_scope_unsupported) on active-only / no-realm routes.
Terminal window
curl -X POST "https://proj-c1-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/sessions/sess_01HZX3F4K7P8QCJR2VA9NMDYBW/tasks/cancel" \
-H "X-Hoody-Container: c1"