Skip to main content
Workspaces group threads, provider configuration, skills, MCP policy, tasks, artifacts, and settings. Clients can list workspaces, create new ones, select the active workspace for a connection, persist the current workspace, and rename existing workspaces. Threads are the primary conversation container. A thread has a workspace, mode (Message or Agent), model, model provider, optional name, visibility, and turn history. Chat is a compatibility value for older threads.

Workspace methods

Workspace shape

Listing workspaces

Response:

workspace/default

Use this when a client needs a workspace id and wants the gateway to create the default workspace if it does not exist.
Response:

Creating a workspace

The client generates the workspace_id. name is optional; if omitted, the gateway assigns a default display name. Set make_current when the new workspace should become the persisted current workspace.
Response:

Selecting a workspace

workspace/select associates the current WebSocket connection with a workspace. Set make_current when the selection should also be persisted as the gateway’s current workspace.
After selecting a workspace, clients should reload workspace-scoped views such as the thread tree, providers, MCP servers, skills, tasks, and artifacts.

Updating a workspace

Use workspace/update to rename a workspace.

Workspace notifications

The gateway sends workspace/changed when a workspace is created, updated, or when the current workspace changes. The notification payload has kind (created, updated, or current_changed) and workspace.

Thread methods

Starting a thread

Important fields: Response:

Thread tree

thread/tree returns all threads plus folders and placement rows for a workspace. Clients should use this instead of trying to infer sidebar layout from thread rows alone.
Result shape:

Timeline and thread access

Use thread/timeline/page for the semantic conversation projection. It returns paginated blocks for messages, turn work, detached task runs, assistant output, terminal state, and pending runtime requests. Use turn/items/page for raw item events inside a specific turn. Neither API is the agent’s semantic recall surface; thread episodic context is an internal bounded prompt layer described in Thread Episodic Context. Thread access also includes participant membership and a per-principal read cursor. Participant changes publish thread/participants/changed; read progress publishes thread/read/changed. Clients should refetch the affected thread or timeline after either notification.

Thread notifications

Thread subscription is connection-scoped. Starting or interacting with a thread associates the connection with that thread/workspace; thread/unsubscribe removes the thread subscription for that connection.