Record a routed conversation or steering message

POST/v1/threads/{threadId}/activity/messages

Deterministically route control commands, explicit worker/communicator/run replies, human/FYI messages, status questions, and worker instructions. Persists a visible delivery receipt without invoking or aborting the legacy execute route. Status questions receive a grounded response from the latest run projection when available.

How to call this endpoint

Every ACP API request uses bearer authentication. The examples here show the actual request path, auth header, and body shape that the platform expects.

Path, query, and header parameters

These parameters control which ACP object the endpoint acts on and how the request is processed.

Path parameters
NameLocationTypeRequiredDescription
threadIdpathstringYesThread ID
Query parameters
None.

Body schema

Content type: application/json · Required

FieldTypeRequiredDescription
contentstringYesRaw text content.
runIdstringNo
replyToRunIdstringNo
modecheckpoint | interrupt | fyiNo
targetTypestringNo
targetIdstringNo
intentstringNo
confidencenumberNo
reasonstringNo
idempotencyKeystringNo
clientMessageIdstringNoClient-generated retry identity. It is namespaced and hashed into server-owned record IDs; when no idempotencyKey is supplied it becomes the idempotency key.

What the API returns

Each response code below includes the documented payload shape for the ACP API.

202Message and delivery recorded; execution is not started by this endpointapplication/json
None.
Record a routed conversation or steering message
Loading...
Response 202
Loading...
See the ACP quickstart and SDK flow