SnozeDevelopers
API referenceAgent

Branch an agent chat from a message

Creates a new chat seeded from the source chat's history: branching from a user message copies everything before it and returns that message's text as `seed` to re-run, while branching from an assistant message copies through it. An optional `model` overrides the branch's model. Requires a Clerk session for a workspace member with the `ai:write` permission and the `ai.agent.enabled` control switched on; an unknown chat or message is reported as not found.

POST
/v1/workspaces/{workspaceId}/agent/chats/{chatId}/branch

Authorization

apiKey
headerAuthorizationBearer <snoze_sk_…>

Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.

Path Parameters

workspaceId*string
chatId*string

Request Body

application/json
  1. body
fromMessageId*string
model?string|null

Response Body

Success

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.snoze.dev/v1/workspaces/string/agent/chats/string/branch' \  -H 'Content-Type: application/json' \  -d '{  "fromMessageId": "string"}'
Example Response
{  "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"    },    "seed": "string",    "seedAttachments": [      {        "fileId": "string",        "name": "string",        "mediaType": "string",        "url": "string"      }    ]  }}