{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/dust-tt/main/json-schema/dust-conversation-schema.json", "title": "Dust Conversation", "description": "A multi-turn conversation between users and Dust agents, containing messages and content fragments.", "type": "object", "properties": { "conversation": { "type": "object", "properties": { "id": { "type": "integer", "example": 67890 }, "created": { "type": "integer", "example": 1625097600 }, "sId": { "type": "string", "description": "Unique string identifier for the conversation", "example": "3d8f6a2c1b" }, "owner": { "$ref": "#/$defs/Workspace" }, "title": { "type": "string", "description": "Title of the conversation", "example": "Customer Inquiry #1234" }, "visibility": { "type": "string", "description": "Visibility setting of the conversation", "example": "private" }, "content": { "type": "array", "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "sId": { "type": "string", "description": "Unique string identifier for the message", "example": "9e7d5c3a1f" }, "type": { "type": "string", "description": "Type of the message", "example": "human" }, "visibility": { "type": "string", "description": "Visibility setting of the message", "example": "visible" }, "version": { "type": "integer", "example": 1 }, "created": { "type": "integer", "example": 1625097700 }, "user": { "$ref": "#/$defs/User" }, "mentions": { "type": "array", "items": { "$ref": "#/$defs/Mention" } }, "content": { "type": "string", "description": "Content of the message", "example": "Hello, I need help with my order." }, "context": { "$ref": "#/$defs/Context" }, "agentMessageId": { "type": "integer", "example": 1 }, "parentMessageId": { "type": "string", "description": "ID of the parent message", "example": "2b8e4f6a0c" }, "status": { "type": "string", "description": "Status of the message", "example": "completed" }, "actions": { "type": "array", "example": [] }, "chainOfThought": { "type": "string", "nullable": true, "description": "Chain of thought for the message", "example": "The user is asking about their order. I should first greet them and then ask for their order number." }, "rawContents": { "type": "array", "items": { "type": "object", "properties": { "step": { "type": "integer", "example": 1 }, "content": { "type": "string", "description": "Content for each step", "example": "Hello! I'd be happy to help you with your order. Could you please provide your order number?" } } } }, "error": { "type": "string", "nullable": true, "description": "Error message, if any", "example": null }, "configuration": { "$ref": "#/$defs/AgentConfiguration" } } } } } } } }, "$defs": { "AgentConfiguration": { "type": "object", "properties": { "id": { "type": "integer", "example": 12345 }, "sId": { "type": "string", "description": "Unique string identifier for the agent configuration", "example": "7f3a9c2b1e" }, "version": { "type": "integer", "example": 2 }, "versionCreatedAt": { "type": "string", "nullable": true, "description": "Timestamp of when the version was created", "example": "2023-06-15T14:30:00Z" }, "versionAuthorId": { "type": "string", "nullable": true, "description": "ID of the user who created this version", "example": "0ec9852c2f" }, "name": { "type": "string", "description": "Name of the agent configuration", "example": "Customer Support Agent" }, "description": { "type": "string", "description": "Description of the agent configuration", "example": "An AI agent designed to handle customer support inquiries" }, "instructions": { "type": "string", "nullable": true, "description": "Instructions for the agent", "example": "Always greet the customer politely and try to resolve their issue efficiently." }, "pictureUrl": { "type": "string", "description": "URL of the agent's picture", "example": "https://example.com/agent-images/support-agent.png" }, "status": { "type": "string", "description": "Current status of the agent configuration", "example": "active" }, "scope": { "type": "string", "description": "Scope of the agent configuration", "example": "workspace" }, "userFavorite": { "type": "boolean", "description": "Status of the user favorite for this configuration", "example": true }, "model": { "type": "object", "properties": { "providerId": { "type": "string", "description": "ID of the model provider", "example": "openai" }, "modelId": { "type": "string", "description": "ID of the specific model", "example": "gpt-4" }, "temperature": { "type": "number", "example": 0.7 } } }, "actions": { "type": "array", "example": [] }, "maxStepsPerRun": { "type": "integer", "example": 10 }, "templateId": { "type": "string", "nullable": true, "description": "ID of the template used for this configuration", "example": "b4e2f1a9c7" } } }, "Context": { "type": "object", "required": [ "username", "timezone" ], "properties": { "username": { "type": "string", "description": "Username in the current context", "example": "johndoe123" }, "timezone": { "type": "string", "description": "User's timezone", "example": "America/New_York" }, "fullName": { "type": "string", "description": "User's full name in the current context", "example": "John Doe" }, "email": { "type": "string", "description": "User's email in the current context", "example": "john.doe@example.com" }, "profilePictureUrl": { "type": "string", "description": "URL of the user's profile picture", "example": "https://example.com/profiles/johndoe123.jpg" }, "agenticMessageData": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "run_agent", "agent_handover" ], "description": "Type of the agentic message" }, "originMessageId": { "type": "string", "description": "ID of the origin message", "example": "2b8e4f6a0c" } } } } }, "Mention": { "type": "object", "properties": { "configurationId": { "type": "string", "description": "ID of the mentioned agent configuration", "example": "7f3a9c2b1e" } } }, "User": { "type": "object", "properties": { "sId": { "type": "string", "description": "Unique string identifier for the user", "example": "0ec9852c2f" }, "id": { "type": "integer", "example": 12345 }, "createdAt": { "type": "integer", "example": 1625097600 }, "username": { "type": "string", "description": "User's chosen username", "example": "johndoe" }, "email": { "type": "string", "description": "User's email address", "example": "john.doe@example.com" }, "firstName": { "type": "string", "description": "User's first name", "example": "John" }, "lastName": { "type": "string", "description": "User's last name", "example": "Doe" }, "fullName": { "type": "string", "description": "User's full name", "example": "John Doe" }, "provider": { "type": "string", "description": "Authentication provider used by the user", "example": "google" }, "image": { "type": "string", "description": "URL of the user's profile image", "example": "https://example.com/profile/johndoe.jpg" } } }, "Workspace": { "type": "object", "required": [ "regionalModelsOnly" ], "properties": { "id": { "type": "integer", "example": 67890 }, "sId": { "type": "string", "description": "Unique string identifier for the workspace", "example": "dQFf9l5FQY" }, "name": { "type": "string", "description": "Name of the workspace", "example": "My Awesome Workspace" }, "role": { "type": "string", "description": "User's role in the workspace", "example": "admin" }, "segmentation": { "type": "string", "nullable": true, "description": "Segmentation information for the workspace", "example": "enterprise" }, "flags": { "type": "array", "items": { "type": "string", "description": "Feature flags enabled for the workspace" }, "example": [ "advanced_analytics", "beta_features" ] }, "ssoEnforced": { "type": "boolean", "example": true }, "regionalModelsOnly": { "type": "boolean", "description": "When true, only models whose regionalAvailability includes the workspace's region are usable.", "example": false }, "whiteListedProviders": { "type": "array", "items": { "type": "string", "description": "List of allowed authentication providers" }, "example": [ "google", "github" ] }, "defaultEmbeddingProvider": { "type": "string", "nullable": true, "description": "Default provider for embeddings in the workspace", "example": "openai" } } } } }