Send a message to a thread

View as Markdown
Adds a turn to a thread. If the latest run in the thread is still live (not terminal, not paused) the message steers it in place; otherwise a successor run is started in the same thread, carrying the previous conversation forward as context (spec §A.4). A thread holds at most one non-terminal run. Authorization: whoever may contribute to the thread’s container — its owner for a desk thread, any holder of `space:contribute` for a thread in a space (everyone else gets 404). Gated by `AGENTS_ENABLED`; disabled → 404. Returns `{ threadId, runId, steered, status, spaceId }` — 200 when steered, 201 for a successor run. 409 `agent_busy` when the run’s steering queue is full: with several participants that is routine, so retry after `retryAfterMs` (default ~3 s) rather than surfacing an error.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

threadIdstringRequired

Request

This endpoint expects an object.
messagestringRequired1-4000 characters

Response

The steered run.
threadIdstring
runIdstring
steeredboolean
statusstring
spaceIdstring

Errors

404
Not Found Error
409
Conflict Error