Create an agent chat
Creates an empty chat owned by the caller, with an optional title, model, and appearance, and returns it. Requires a Clerk session for a workspace member with the `ai:write` permission. The conversation itself is driven by the separate streaming turn route, not by this operation.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/workspaces/string/agent/chats" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "string", "workspaceId": "string", "title": "string", "parentSessionId": "string", "model": "string", "appearance": { "shape": "box", "color": "string", "accentColor": "string", "eyes": "dot", "eyePlacement": "centered", "motion": "still" }, "status": "idle", "runningMessageId": "string", "lastError": "string", "createdAt": "string", "updatedAt": "string" }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}List the caller's agent chats in a workspace
Returns the chats this user created in the workspace, most recently updated first, with each chat's status, model, appearance, and last error. A chat still marked `running` past the stuck threshold is reaped into `error` while the list is built. Requires a Clerk session for a workspace member with the `ai:read` permission; API keys cannot call this group.
Read an agent chat transcript
Returns the chat, the messages along its currently active thread with their parts, and the chat's plan when it has one. Requires a Clerk session for a workspace member with the `ai:read` permission; a chat that does not exist, or belongs to another user, is reported as not found. Live token output arrives on the separate streaming routes rather than here.