{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/Chat", "title": "Chat", "type": "object", "properties": { "assistantId": { "type": "string", "description": "This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead." }, "assistant": { "description": "This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" } ] }, "assistantOverrides": { "description": "These are the variable values that will be used to replace template variables in the assistant messages.\nOnly variable substitution is supported in chat contexts - other assistant properties cannot be overridden.", "allOf": [ { "$ref": "#/components/schemas/AssistantOverrides" } ] }, "squadId": { "type": "string", "description": "This is the squad that will be used for the chat. To use a transient squad, use `squad` instead." }, "squad": { "description": "This is the squad that will be used for the chat. To use an existing squad, use `squadId` instead.", "allOf": [ { "$ref": "#/components/schemas/CreateSquadDTO" } ] }, "name": { "type": "string", "description": "This is the name of the chat. This is just for your own reference.", "maxLength": 40 }, "sessionId": { "type": "string", "description": "This is the ID of the session that will be used for the chat.\nMutually exclusive with previousChatId." }, "input": { "description": "This is the input text for the chat.\nCan be a string or an array of chat messages.", "oneOf": [ { "type": "string", "title": "String" }, { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/SystemMessage", "title": "SystemMessage" }, { "$ref": "#/components/schemas/UserMessage", "title": "UserMessage" }, { "$ref": "#/components/schemas/AssistantMessage", "title": "AssistantMessage" }, { "$ref": "#/components/schemas/ToolMessage", "title": "ToolMessage" }, { "$ref": "#/components/schemas/DeveloperMessage", "title": "DeveloperMessage" } ] }, "title": "MessageArray" } ], "examples": [ "Hello, how can you help me?", [ { "role": "user", "content": "Hello, how can you help me?" } ] ] }, "stream": { "type": "boolean", "description": "This is a flag that determines whether the response should be streamed.\nWhen true, the response will be sent as chunks of text.", "default": false }, "previousChatId": { "type": "string", "description": "This is the ID of the chat that will be used as context for the new chat.\nThe messages from the previous chat will be used as context.\nMutually exclusive with sessionId." }, "id": { "type": "string", "description": "This is the unique identifier for the chat." }, "orgId": { "type": "string", "description": "This is the unique identifier for the org that this chat belongs to." }, "messages": { "type": "array", "description": "This is an array of messages used as context for the chat.\nUsed to provide message history for multi-turn conversations.", "items": { "oneOf": [ { "$ref": "#/components/schemas/SystemMessage", "title": "SystemMessage" }, { "$ref": "#/components/schemas/UserMessage", "title": "UserMessage" }, { "$ref": "#/components/schemas/AssistantMessage", "title": "AssistantMessage" }, { "$ref": "#/components/schemas/ToolMessage", "title": "ToolMessage" }, { "$ref": "#/components/schemas/DeveloperMessage", "title": "DeveloperMessage" } ] } }, "output": { "type": "array", "description": "This is the output messages generated by the system in response to the input.", "items": { "oneOf": [ { "$ref": "#/components/schemas/SystemMessage", "title": "SystemMessage" }, { "$ref": "#/components/schemas/UserMessage", "title": "UserMessage" }, { "$ref": "#/components/schemas/AssistantMessage", "title": "AssistantMessage" }, { "$ref": "#/components/schemas/ToolMessage", "title": "ToolMessage" }, { "$ref": "#/components/schemas/DeveloperMessage", "title": "DeveloperMessage" } ] } }, "createdAt": { "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the chat was created." }, "updatedAt": { "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the chat was last updated." }, "costs": { "type": "array", "description": "These are the costs of individual components of the chat in USD.", "items": { "oneOf": [ { "$ref": "#/components/schemas/ModelCost", "title": "ModelCost" }, { "$ref": "#/components/schemas/ChatCost", "title": "ChatCost" } ] } }, "cost": { "type": "number", "description": "This is the cost of the chat in USD." } }, "required": [ "id", "orgId", "createdAt", "updatedAt" ] }