---
title: "Report an agent activity-state signal for a session"
method: POST
path: "/api/v1/sessions/{sessionId}/activity"
tags: ["sessions"]
---

# Report an agent activity-state signal for a session

`POST /api/v1/sessions/{sessionId}/activity`

## Path parameters

- `sessionId` string, required — Session identifier, e.g. project-1.

## Request body

- SetActivityRequest
  - `agentSessionId` string — Native agent session identifier used to resume its transcript.
  - `event` string — AO hook sub-command that produced this state (e.g. post-tool-use).
  - `latestAssistantUpdate` string — Latest assistant update exposed by the provider hook.
  - `latestUserPrompt` string — Latest real user prompt exposed by the provider hook.
  - `launchId` string — AO process generation that produced the signal.
  - `state` 'active' | 'idle' | 'waiting_input' | 'blocked' | 'exited' — Agent activity state reported by an agent hook. Optional for metadata-only hooks.
  - `toolName` string — Native tool name, for tool-use hook events.
  - `toolUseId` string — Native tool-use id, for tool-use hook events.
  - `transcriptPath` string — Read-only provider-native transcript path exposed by the hook.
  - `usage` UsageHookMetadata
    - `harness` 'claude-code' | 'codex', required
    - `modelId` string
    - `providerId` string — Canonical provider routing hint derived by the trusted local Claude hook.
    - `subagentId` string
    - `subagentTranscriptPath` string
    - `transcriptPath` string

## Response `200`

OK

- SetActivityResponse
  - `ok` boolean, required
  - `sessionId` string, required
  - `state` string, required

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `500` — Internal Server Error
- `501` — Not Implemented

## Changes

- **2026-08-28** `e853ada076ff` — 1 info
  - added the new optional request property `usage/providerId`
- **2026-08-09** `641f372d664d` — 3 info
  - added the new optional request property `latestAssistantUpdate`
  - added the new optional request property `latestUserPrompt`
  - added the new optional request property `transcriptPath`
- **2026-08-06** `966e7144cdbc` — 1 info
  - added the new optional request property `usage`
- **2026-07-24** `d202268a973f` — 1 info
  - added the new optional request property `launchId`
- **2026-07-16** `7a49ff91f2db` — 2 info
  - added the new optional request property `agentSessionId`
  - the request property `state` became optional

[Full history](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/changes/api/v1/sessions/:sessionId/activity/post.md)

---

[API](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon.md) · [All operations](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/composiohq/agent-orchestrator-http-daemon/revisions/513f2a8dd71b/schema)
