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.
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*stringturnId?||nullSuccess
application/json- response
data*curl -X POST 'https://api.snoze.dev/v1/workspaces/string/agent/chats/string/cancel'{ "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" } ] } }}Delete an agent chat
Cancels any turn still streaming on the chat, then soft-deletes it and returns its id. Requires a Clerk session for a workspace member with the `ai:write` permission; a chat that does not exist, or belongs to another user, is reported as not found.
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.