Switch which version of a message is active
Points the chat's active thread at the latest leaf beneath the given message, so a regenerated or edited branch becomes the visible conversation, and returns the resulting transcript. Requires a Clerk session for a workspace member with the `ai:write` permission; an unknown chat or a message id that is not part of it is reported as not found.
apiKeyAuthorizationBearer <snoze_sk_…>Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
workspaceId*stringchatId*stringmessageId*stringSuccess
application/json- response
data*curl -X POST 'https://api.snoze.dev/v1/workspaces/string/agent/chats/string/messages/string/switch'{ "data": { "chat": { "id": "string", "workspaceId": "string", "title": "string", "parentSessionId": "string", "model": "string", "appearance": { "shape": "box", "color": "string", "accentColor": "string", "eyes": "dot", "eyePlacement": "centered", "motion": "still", "finish": "flat", "gradientColor": "string", "glowColor": "string", "intensity": "subtle", "cosmetics": { "head": "none", "face": "none" } }, "status": "idle", "runningMessageId": "string", "streamIdentity": { "turnId": "string", "messageId": "string" }, "lastError": "string", "background": { "enabled": true, "continuations": 0, "deadlineAt": 0 }, "createdAt": "string", "updatedAt": "string" }, "messages": [ { "id": "string", "role": "user", "parts": [], "metadata": { "seq": 0, "parentMessageId": "string", "createdAt": "string", "model": "string", "snozeAi": true, "credits": 0, "versionIndex": 0, "versionCount": 0, "versionIds": [ "string" ] } } ], "plan": { "todos": [ { "text": "string", "status": "pending" } ] } }}Cancel the running turn on an agent chat
Aborts the selected streamed turn and closes any approval or question card that was waiting on the person, then returns the resulting transcript. Pass the observed launch UUID as turnId; omitted turnId or legacy stops only identity-null runs and cannot stop a newer UUID-owned launch. Requires a Clerk session for a workspace member with the `ai:write` permission, and stays available even when the agent feature control is off. Naturally idempotent: cancelling a chat with nothing running changes nothing.
Read the staged set of a bulk assistant write
A set-based assistant write (updating every record a filter matches, or importing rows) stages the exact records it will change before it runs; the approval card shows a sample and this pages through all of them, in staging order, with each record's field-level before and after values. The set is immutable: it is what the approved call runs. `offset` (default 0) and `limit` (1-200, default 50) select the page; `nextOffset` is present while more rows follow. Requires a Clerk session for a workspace member with the `ai:read` permission who owns the chat; an unknown chat, message, or a call that staged nothing is reported as not found.