{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/CreateSessionDTO", "title": "CreateSessionDTO", "type": "object", "properties": { "name": { "type": "string", "description": "This is a user-defined name for the session. Maximum length is 40 characters.", "maxLength": 40 }, "status": { "type": "string", "description": "This is the current status of the session. Can be either 'active' or 'completed'.", "enum": [ "active", "completed" ] }, "expirationSeconds": { "type": "number", "description": "Session expiration time in seconds. Defaults to 24 hours (86400 seconds) if not set.", "minimum": 60, "maximum": 2592000, "example": 86400 }, "assistantId": { "type": "string", "description": "This is the ID of the assistant associated with this session. Use this when referencing an existing assistant." }, "assistant": { "description": "This is the assistant configuration for this session. Use this when creating a new assistant configuration.\nIf assistantId is provided, this will be ignored.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" } ] }, "assistantOverrides": { "description": "These are the overrides for the assistant configuration.\nUse this to provide variable values and other overrides when using assistantId.\nVariable substitution will be applied to the assistant's messages and other text-based fields.", "allOf": [ { "$ref": "#/components/schemas/AssistantOverrides" } ] }, "squadId": { "type": "string", "description": "This is the squad ID associated with this session. Use this when referencing an existing squad." }, "squad": { "description": "This is the squad configuration for this session. Use this when creating a new squad configuration.\nIf squadId is provided, this will be ignored.", "allOf": [ { "$ref": "#/components/schemas/CreateSquadDTO" } ] }, "messages": { "type": "array", "description": "This is an array of chat messages in the session.", "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" } ] } }, "customer": { "description": "This is the customer information associated with this session.", "allOf": [ { "$ref": "#/components/schemas/CreateCustomerDTO" } ] }, "customerId": { "type": "string", "description": "This is the customerId of the customer associated with this session." }, "phoneNumberId": { "type": "string", "description": "This is the ID of the phone number associated with this session." }, "phoneNumber": { "description": "This is the phone number configuration for this session.", "allOf": [ { "$ref": "#/components/schemas/ImportTwilioPhoneNumberDTO" } ] } } }