Post agent activity (thought/action/response)
Stores activity in the in-process ring buffer and forwards `thought | action | response` to the Linear AgentSession. Linear forwarding is fire-and-forget (non-fatal on failure).
Short-lived worker runtime JWT minted by the platform. Claims bind the worker, project, organization, registration, and scopes.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/sessions/string/activity" \ -H "Content-Type: application/json" \ -d '{ "workerId": "string", "activity": { "type": "thought", "content": "string" } }'{
"forwarded": true,
"linearSessionId": "string",
"reason": "string"
}{
"error": "Session not found"
}{
"error": "Session not found"
}{
"error": "Session not found"
}{
"error": "Session not found"
}Get queued session detail for cloud runners
Lets a cloud runner-in-box (e2b/modal/daytona) fetch its session detail from the platform rather than the local daemon control API (`127.0.0.1:7734/api/daemon/sessions/:id`), which does not exist inside a cloud sandbox. The provisioner stamps `DONMAI_DAEMON_URL=<platform-url>` into the box's env so `donmai agent run` fetches its detail here. Source of truth is the Redis `work:items` hash. The full payload is available **only while the session is still QUEUED** - it is deleted on claim. Auth: bearer worker token (runtime JWT or legacy `WORKER_API_KEY`). The response includes `authToken`, system prompts, repo URL, and org ID - not readable without authentication.
Explicitly claim a pre-queued session
Allows a worker to claim a session that was polled but not auto-claimed (e.g. after a `nack` retry). Returns the `QueuedWork` item and short-lived git credentials on success. Workers that receive `preClaimed: true` from the poll response must NOT call this endpoint.