Skip to content
LogoLogo

Persist a private turn for server-owned generation

Persist a private turn for server-owned generation

POST/api/v1/workspaces/{workspace_id}/discuss/turns

Admits the turn immediately and orders its response behind any active foreground run. Standalone greetings receive a source-independent reply after authorization. Greetings containing a substantive question or resource references use normal evidence retrieval.

Path Parameters

workspace_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

Request Body

application/json
contentRequired
string·max 8000
parts
object[]·max 4

Optional per-turn metadata only: task_selection with selection_id (Core freezes result_set_id/version), turn_preferences with locale and IANA timezone, evidence_collection with exact id/version, or search_result with query and result_version from the first 20 unfiltered work results. At most one of each. Evidence collection pins require current private ownership and the latest version; stale pins return revision_conflict before admission. Identical acknowledged retries recover the historical handle without granting current source authority. Core repeats and reauthorizes that lexical query before Send; a changed version returns revision_conflict without admitting a turn. Search metadata grants no action authority or exhaustive coverage. Other part types or fields are rejected.

entity_references
object[]·max 5

attachment_ids
string <uuid>[]·max 5

Clean files in the caller's private stream; at most 20 MiB combined. Empty content requires at least one file.

context
object

Responses