{"openapi":"3.0.0","paths":{"/v1/chatbot/all":{"get":{"operationId":"ApiSmartAssistantV1Controller_getAllUserSmartAssistants","summary":"Get All Chatbots","description":"Get all your chatbots.","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSmartAssistantDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Chatbot"],"security":[{"x-api-key":[]}]}},"/v1/chatbot/{id}":{"get":{"operationId":"ApiSmartAssistantV1Controller_getSmartAssistantById","summary":"Get Chatbot By Id","description":"Get your chatbot by it's id.","parameters":[{"name":"id","required":true,"in":"path","description":"The chatbot's id.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSmartAssistantDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Chatbot"],"security":[{"x-api-key":[]}]},"delete":{"operationId":"ApiSmartAssistantV1Controller_deleteSmartAssistantById","summary":"Delete Chatbot By Id","description":"Delete your chatbot by it's id.","parameters":[{"name":"id","required":true,"in":"path","description":"The chatbot's id.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSmartAssistantDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Chatbot"],"security":[{"x-api-key":[]}]},"put":{"operationId":"ApiSmartAssistantV1Controller_updateSmartAssistant","summary":"Update Chatbot By Id","description":"Update a chatbot by it's id.","parameters":[{"name":"id","required":true,"in":"path","description":"The chatbot's id.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUpdateSmartAssistantDto"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSmartAssistantDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Chatbot"],"security":[{"x-api-key":[]}]}},"/v1/chatbot/avatar/{id}":{"put":{"operationId":"ApiSmartAssistantV1Controller_updateAvatar","summary":"Update Chatbot Avatar","description":"Update a chatbot's avatar.","parameters":[{"name":"id","required":true,"in":"path","description":"The chatbot's id.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Avatar file to upload. File must be smaller than 5MB.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Chatbot"],"security":[{"x-api-key":[]}]}},"/v1/chatbot":{"post":{"operationId":"ApiSmartAssistantV1Controller_createSmartAssistant","summary":"Create Chatbot","description":"Create a chatbot.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCreateSmartAssistantDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSmartAssistantDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Chatbot"],"security":[{"x-api-key":[]}]}},"/v1/chatbot/chat":{"post":{"operationId":"ApiSmartAssistantV1Controller_chatSmartAssistant","summary":"Chat With Chatbot","description":"Ask anything to your chatbot.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAskSmartAssistantDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSmartAssistantResponseDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"402":{"description":"Usage limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Chatbot"],"security":[{"x-api-key":[]}]}},"/v1/chatbot/chat-stream":{"post":{"operationId":"ApiSmartAssistantV1Controller_chatSmartAssistantWithStream","summary":"Chat With Chatbot With Streaming","description":"Ask anything to your chatbot with response streaming.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAskSmartAssistantDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCompletionEvent"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"402":{"description":"Usage limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Chatbot"],"security":[{"x-api-key":[]}]}},"/v1/resource/all":{"get":{"operationId":"ApiResourceController_getAllResources","summary":"Get All Resources","description":"Get all your resources.","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]}},"/v1/resource/{id}":{"get":{"operationId":"ApiResourceController_getResourceById","summary":"Get Resource By Id","description":"Get your resource by it's id.","parameters":[{"name":"id","required":true,"in":"path","description":"The resource's id.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]},"delete":{"operationId":"ApiResourceController_deleteResourceById","summary":"Delete Resource By Id","description":"Delete your resource by it's id.","parameters":[{"name":"id","required":true,"in":"path","description":"The resource's id.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"409":{"description":"Resource is used by chatbot(s)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceInUseErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]}},"/v1/resource/file":{"post":{"operationId":"ApiResourceController_uploadFileResource","summary":"Create File Resource","description":"Create a file resource by upload a PDF or MP4 file.","parameters":[],"requestBody":{"required":true,"description":"Resource file to upload. File must be smaller than 1000MB and video files must be shorter than 120 minutes.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"tags":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"402":{"description":"Usage limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"429":{"description":"Too many requests - Rate limit of 10 requests per minute exceeded"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]}},"/v1/resource/text":{"post":{"operationId":"ApiResourceController_createTextResource","summary":"Create Raw Text Resource","description":"Create a resource with raw text.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCreateRawTextResourceDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"402":{"description":"Usage limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"429":{"description":"Too many requests - Rate limit of 10 requests per minute exceeded"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]}},"/v1/resource/youtube":{"post":{"operationId":"ApiResourceController_createYoutubeResource","summary":"Create YouTube Resource","description":"Create a YouTube resource.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCreateYoutubeResourceDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"402":{"description":"Usage limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"429":{"description":"Too many requests - Rate limit of 10 requests per minute exceeded"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]}},"/v1/resource/website":{"post":{"operationId":"ApiResourceController_createWebsiteResource","summary":"Create Website Resource","description":"Create a Website resource.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCreateWebsiteResourceDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"402":{"description":"Usage limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"429":{"description":"Too many requests - Rate limit of 10 requests per minute exceeded"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]}},"/v1/resource/chat":{"post":{"operationId":"ApiResourceController_chatWithResource","summary":"Chat With Resource","description":"Ask anything to your resource.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiChatResourceDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResourceChatResponseDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"402":{"description":"Usage limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]}},"/v1/resource/chat-stream":{"post":{"operationId":"ApiResourceController_chatSmartAssistantWithStream","summary":"Chat With Resource With Streaming","description":"Ask anything to your resource with response streaming.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiChatResourceDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCompletionEvent"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"402":{"description":"Usage limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Resource"],"security":[{"x-api-key":[]}]}},"/v1/conversation/{id}":{"get":{"operationId":"ApiConversationController_getConversations","summary":"Get Chatbot Conversations","description":"Get the chatbot conversations.","parameters":[{"name":"id","required":true,"in":"path","description":"The chatbot's id.","schema":{"type":"string"}},{"name":"start","required":false,"in":"query","description":"The beginning of the date range to query. Unix timestamp in milliseconds.","schema":{"type":"number"}},{"name":"end","required":false,"in":"query","description":"The end of the date range to query. Unix timestamp in milliseconds.","schema":{"type":"number"}},{"name":"sourceTypes","required":false,"in":"query","description":"An array of conversation source types to filter on. Values can be 'app', 'website', 'link', 'discord', or 'zapier'. Leave empty to not filter on source type.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiExportedConversationsData"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Conversation"],"security":[{"x-api-key":[]}]}},"/v1/conversation":{"post":{"operationId":"ApiConversationController_saveConversation","summary":"Save Chatbot Conversation","description":"Save a chatbot conversation.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSaveConversationDto"}}}},"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiConversationDto"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Conversation"],"security":[{"x-api-key":[]}]}},"/v1/lead/{id}":{"get":{"operationId":"ApiLeadController_getConversations","summary":"Get Chatbot Leads","description":"Get the leads generated from the chatbot.","parameters":[{"name":"id","required":true,"in":"path","description":"The chatbot's id.","schema":{"type":"string"}},{"name":"start","required":false,"in":"query","description":"The beginning of the date range to query. Unix timestamp in milliseconds.","schema":{"type":"number"}},{"name":"end","required":false,"in":"query","description":"The end of the date range to query. Unix timestamp in milliseconds.","schema":{"type":"number"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiExportedLeadsData"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"404":{"description":"Element not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponseDto"}}}}},"tags":["Lead"],"security":[{"x-api-key":[]}]}}},"info":{"title":"Droxy API","description":"","version":"1.0","contact":{}},"tags":[],"servers":[{"url":"https://api.droxy.ai"}],"components":{"securitySchemes":{"x-api-key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"ApiErrorResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","description":"Error status code."},"message":{"description":"Error message or an array of error messages.","type":"array","items":{"type":"string"}},"error":{"type":"string","description":"Source of the error."}},"required":["statusCode","message","error"]},"WebsiteIntegrationDto":{"type":"object","properties":{"allowedDomains":{"description":"An array of domains that the chatbot is restricted to be embedded on.","type":"array","items":{"type":"string"}},"bubbleAlignment":{"type":"string","description":"The alignment of the chatbot's bubble. Values can be 'left' or 'right'. Defaults to 'right'."},"bubblePopupMessages":{"description":"Popup messages that are displayed on top of the chatbot's bubble when not opened.","type":"array","items":{"type":"string"}},"welcomeHeaderTitle":{"type":"string","description":"The welcome header title that is displayed when the chatbot's bubble is opened."},"welcomeHeaderSubtitle":{"type":"string","description":"The welcome header subtitle that is displayed when the chatbot's bubble is opened."}}},"ApiSmartAssistantDto":{"type":"object","properties":{"id":{"type":"string","description":"The chatbot's id."},"name":{"type":"string","description":"The chatbot's name."},"welcomeMessage":{"type":"string","description":"The chatbot's welcome message. Displayed when the chatbot is first opened."},"createdAt":{"type":"number","description":"The created date of the chatbot. Unix timestamp in milliseconds."},"creator":{"type":"string","description":"The user id of the creator.","deprecated":true},"organisation":{"type":"string","description":"The organisation id of the chatbot."},"resources":{"description":"An array of resource ids that the chatbot can use.","type":"array","items":{"type":"string"}},"chatbotMessageColor":{"type":"string","description":"The HEX background color of the chatbot's messages."},"userMessageColor":{"type":"string","description":"The HEX background color of the user's messages."},"conversationBackgroundColor":{"type":"string","description":"The HEX color of the chatbot's background color behind the messages of the selected conversation."},"secondaryBackgroundColor":{"type":"string","description":"The HEX color of the chatbot's secondary background color."},"gradientColors":{"description":"The HEX colors of the chatbot's gradient color. Must be an array of 4 colors.","type":"array","items":{"type":"string"}},"showBadge":{"type":"boolean","description":"Whether or not the chatbot should show the badge."},"enabledEmoji":{"type":"boolean","description":"Whether or not the chatbot should use emojis."},"customSystemPrompt":{"type":"string","description":"The custom system prompt the chatbot uses. This defines the behavior of the chatbot."},"model":{"type":"string","description":"The model the chatbot uses. Values can be 'gpt-4o-mini' | 'gpt-5-mini' | 'gpt-realtime' | 'gpt-4o-mini-realtime-preview' | 'claude-sonnet-4.6' | 'claude-haiku-4.5' | 'gemini-3-pro' | 'gemini-3-flash'."},"restrictAnswersToResourcesContentResponse":{"type":"string","description":"Answer the chatbot must return if information is not found in the resources. If not set, the chatbot will not be restricted to the knowledge from the resources."},"accessLevel":{"type":"string","description":"The access level of the chatbot. Values can be 'PUBLIC' | 'PRIVATE' | 'PROTECTED'."},"tags":{"description":"Tags assigned.","type":"array","items":{"type":"string"}},"websiteIntegration":{"description":"The website integration configuration of the chatbot. Defined if the chatbot is set to be integrated on one or more websites.","allOf":[{"$ref":"#/components/schemas/WebsiteIntegrationDto"}]}},"required":["id","name","welcomeMessage","createdAt","creator","organisation","resources","chatbotMessageColor","userMessageColor","conversationBackgroundColor","secondaryBackgroundColor","gradientColors","showBadge","enabledEmoji","model","accessLevel","tags"]},"ApiUpdateSmartAssistantDto":{"type":"object","properties":{"name":{"type":"string","description":"The chatbot's name."},"welcomeMessage":{"type":"string","description":"The chatbot's welcome message. Displayed when the chatbot is first opened."},"resourceIds":{"description":"An array of resource ids that the chatbot can use.","type":"array","items":{"type":"string"}},"chatbotMessageColor":{"type":"string","description":"The HEX background color of the chatbot's messages. Will default to #F6F7F8."},"userMessageColor":{"type":"string","description":"The HEX background color of the user's messages. Will default to #E0EEFA."},"conversationBackgroundColor":{"type":"string","description":"The HEX color of the chatbot's background color behind the messages of the selected conversation. Will default to #FFFFFF."},"secondaryBackgroundColor":{"type":"string","description":"The HEX color of the chatbot's secondary background color. Will default to #F6F7F8."},"gradientColors":{"type":"string","description":"The HEX color of the chatbot's gradient color. Set to empty string to remove the gradient."},"showBadge":{"type":"boolean","description":"Whether or not the chatbot should show the badge. Will default to false."},"enabledEmoji":{"type":"boolean","description":"Whether or not the chatbot should use emojis."},"customSystemPrompt":{"type":"string","description":"The custom system prompt the chatbot uses. This defines the behavior of the chatbot."},"model":{"type":"string","description":"The model the chatbot uses. Values can be 'gpt-4o-mini' | 'gpt-5-mini' | 'gpt-realtime' | 'gpt-4o-mini-realtime-preview' | 'claude-sonnet-4.6' | 'claude-haiku-4.5' | 'gemini-3-pro' | 'gemini-3-flash'."},"restrictAnswersToResourcesContentResponse":{"type":"string","description":"Answer the chatbot must return if information is not found in the resources. If not set, the chatbot will not be restricted to the knowledge from the resources."},"accessLevel":{"type":"string","description":"The access level of the chatbot. Values can be 'PUBLIC' | 'PRIVATE' | 'PROTECTED'."},"tags":{"description":"Tags to assign.","type":"array","items":{"type":"string"}},"password":{"type":"string","description":"If the chatbot is private, the password to access it. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character."}}},"ApiCreateSmartAssistantDto":{"type":"object","properties":{"name":{"type":"string","description":"The chatbot's name."},"welcomeMessage":{"type":"string","description":"The chatbot's welcome message. Displayed when the chatbot is first opened."},"resourceIds":{"description":"An array of resource ids that the chatbot can use.","type":"array","items":{"type":"string"}},"chatbotMessageColor":{"type":"string","description":"The HEX background color of the chatbot's messages. Will default to #F6F7F8."},"userMessageColor":{"type":"string","description":"The HEX background color of the user's messages. Will default to #E0EEFA."},"conversationBackgroundColor":{"type":"string","description":"The HEX color of the chatbot's background color behind the messages of the selected conversation. Will default to #FFFFFF."},"secondaryBackgroundColor":{"type":"string","description":"The HEX color of the chatbot's secondary background color. Will default to #F6F7F8."},"gradientColors":{"description":"The HEX colors of the chatbot's gradient color. Must be an array of 4 colors.","type":"array","items":{"type":"string"}},"showBadge":{"type":"boolean","description":"Whether or not the chatbot should show the badge. Will default to false."},"enabledEmoji":{"type":"boolean","description":"Whether or not the chatbot should use emojis. Defaults to false."},"personalityType":{"type":"string","description":"The personnality type of the chatbot. Values can be 'ASSISTANT' | 'COACH' | 'ADVISOR' | 'EXPERT' | 'CUSTOM'."},"toneType":{"type":"string","description":"The tone the chatbot uses. Values can be 'HUMOROUS' | 'FRIENDLY' | 'FORMAL' | 'CUSTOM'."},"customSystemPrompt":{"type":"string","description":"The custom system prompt the chatbot uses. Defined only if personalityType and toneType are set to 'CUSTOM'."},"model":{"type":"string","description":"The model the chatbot uses. Values can be 'gpt-4o-mini' | 'gpt-5-mini' | 'gpt-realtime' | 'gpt-4o-mini-realtime-preview' | 'claude-sonnet-4.6' | 'claude-haiku-4.5' | 'gemini-3-pro' | 'gemini-3-flash'."},"restrictAnswersToResourcesContentResponse":{"type":"string","description":"Answer the chatbot must return if information is not found in the resources. If not set, the chatbot will not be restricted to the knowledge from the resources."},"accessLevel":{"type":"string","description":"The access level of the chatbot. Values can be 'PUBLIC' | 'PRIVATE' | 'PROTECTED'."},"tags":{"description":"Tags to assign.","type":"array","items":{"type":"string"}},"password":{"type":"string","description":"If the chatbot is private, the password to access it. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character."},"websiteIntegration":{"description":"The website integration configuration of the chatbot. Defined if the chatbot is set to be integrated on one or more websites.","allOf":[{"$ref":"#/components/schemas/WebsiteIntegrationDto"}]}},"required":["name","resourceIds","showBadge","model","accessLevel"]},"ApiChatMessageDto":{"type":"object","properties":{"text":{"type":"string","description":"The message's text."},"fromUser":{"type":"boolean","description":"If the message is from the user."}},"required":["text","fromUser"]},"ApiAskSmartAssistantDto":{"type":"object","properties":{"chatbotId":{"type":"string","description":"The chatbot's id."},"conversation":{"description":"An array of messages.","type":"array","items":{"$ref":"#/components/schemas/ApiChatMessageDto"}}},"required":["chatbotId","conversation"]},"ApiSmartAssistantResponseDto":{"type":"object","properties":{"text":{"type":"string","description":"The chatbot's response."}},"required":["text"]},"ApiChatPartialResponse":{"type":"object","properties":{"text":{"type":"string","description":"The partial response's content."}},"required":["text"]},"ApiCompletionEvent":{"type":"object","properties":{"data":{"description":"The partial streaming response data.","allOf":[{"$ref":"#/components/schemas/ApiChatPartialResponse"}]},"type":{"type":"string","description":"The streaming event type. Values can be 'partialResponse' | 'streamEnd' | 'error'."},"statusCode":{"type":"number","description":"Error status code. (Only defined when an error occurs while streaming)"},"message":{"type":"string","description":"Error message. (Only defined when an error occurs while streaming)"},"error":{"type":"string","description":"Source of the error. (Only defined when an error occurs while streaming)"}},"required":["data","type","statusCode","message","error"]},"GoogleDriveResourceFile":{"type":"object","properties":{"googleDriveAccountId":{"type":"string","description":"Google Drive account id."},"fileId":{"type":"string","description":"File id."},"fileName":{"type":"string","description":"File name."},"mimeType":{"type":"string","description":"MIME type of the file. Values can be application/pdf | application/vnd.google-apps.document | application/vnd.google-apps.folder | application/vnd.google-apps.presentation."},"webViewLink":{"type":"string","description":"Webview link of the file."},"recursive":{"type":"string","description":"Specifies whether the file is a folder."}},"required":["googleDriveAccountId","fileId","fileName","mimeType","webViewLink","recursive"]},"ApiWebsiteDto":{"type":"object","properties":{"url":{"type":"string","description":"The website URL."},"subLinks":{"description":"An array of sub-URLs to include under the website URL.","type":"array","items":{"type":"string"}}},"required":["url","subLinks"]},"ApiResourceDto":{"type":"object","properties":{"id":{"type":"string","description":"The resource's id."},"organisation":{"type":"string","description":"The organisation id of the resource."},"creator":{"type":"string","description":"The user id of the creator.","deprecated":true},"fileName":{"type":"string","description":"The name of the resource."},"type":{"type":"string","description":"The type of the resource. Values can be VIDEO | PDF | TEXT | YOUTUBE | WEB | GOOGLE_DRIVE."},"createdAt":{"type":"number","description":"The created date of the resource. Unix timestamp in milliseconds."},"aiProcessingStatus":{"type":"string","description":"The status of the AI processing of the resource. Values can be NOT_STARTED | IN_PROGRESS | DONE | FAILED_NO_TEXT_FOUND | FAILED."},"youtubeVideoId":{"type":"number","description":"YouTube video id. Defined only of the resource type is YOUTUBE."},"googleDriveResourceFile":{"description":"Google Drive resource object. Defined only of the resource type is GOOGLE_DRIVE.","allOf":[{"$ref":"#/components/schemas/GoogleDriveResourceFile"}]},"website":{"description":"Website data. Defined only of the resource type is WEB.","allOf":[{"$ref":"#/components/schemas/ApiWebsiteDto"}]},"videoLength":{"type":"number","description":"Video length in seconds. Defined only of the resource type is VIDEO."},"fileSize":{"type":"number","description":"File length in bytes. Defined only of the resource type is PDF or VIDEO."},"syncFrequencyMs":{"type":"number","description":"Synchronization frequency in milliseconds."},"lastSync":{"type":"number","description":"Last synchronization date. Unix timestamp in milliseconds."},"tags":{"description":"Tags assigned.","type":"array","items":{"type":"string"}}},"required":["id","organisation","creator","fileName","type","createdAt","aiProcessingStatus","tags"]},"ApiResourceInUseErrorResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","description":"Error status code."},"message":{"description":"Error message or an array of error messages.","type":"array","items":{"type":"string"}},"error":{"type":"string","description":"Source of the error."},"chatbots":{"description":"An array of chatbot ids that are using the resource.","type":"array","items":{"type":"string"}}},"required":["statusCode","message","error","chatbots"]},"ApiCreateRawTextResourceDto":{"type":"object","properties":{"name":{"type":"string","description":"The title of the raw text resource."},"content":{"type":"string","description":"The content of the raw text resource. Must be between 10 and 10,000,000,000 characters."},"tags":{"description":"Tags to assign.","type":"array","items":{"type":"string"}}},"required":["name","content"]},"ApiCreateYoutubeResourceDto":{"type":"object","properties":{"youtubeVideoId":{"type":"string","description":"The YouTube video id."},"tags":{"description":"Tags to assign.","type":"array","items":{"type":"string"}}},"required":["youtubeVideoId"]},"ApiWebsiteSettingsDto":{"type":"object","properties":{"delayBetweenExtractionMs":{"type":"number","description":"Delay in milliseconds between each URL extraction to avoid rate limiting."},"removeSelectors":{"description":"Array of CSS selectors to exclude certain parts of the page during extraction. Useful for removing navigation, ads, or other unwanted content.","example":["header","footer",".cookie-banner","#ads","nav"],"type":"array","items":{"type":"string"}},"targetSelectors":{"description":"Array of CSS selectors to focus on specific elements within the page. Only the specified elements will be extracted.","example":["article",".main-content","#blog-post"],"type":"array","items":{"type":"string"}},"userAgent":{"type":"string","description":"Custom User-Agent string to identify the crawler. This can be whitelisted in Cloudflare or other firewalls to allow the crawler access.","example":"DroxyBot/1.0"}}},"ApiCreateWebsiteResourceDto":{"type":"object","properties":{"url":{"type":"string","description":"The website URL."},"subLinks":{"description":"An array of sub-URLs to include under the website URL.","default":[],"type":"array","items":{"type":"string"}},"syncFrequency":{"description":"An enum of the sync frequency. Values can be ONE_DAY | THREE_DAYS | SEVEN_DAYS | ONE_MONTH | NEVER.","type":"array","items":{"type":"string"}},"settings":{"description":"Settings for the website.","allOf":[{"$ref":"#/components/schemas/ApiWebsiteSettingsDto"}]},"tags":{"description":"Tags to assign.","type":"array","items":{"type":"string"}}},"required":["url","subLinks"]},"ApiChatResourceDto":{"type":"object","properties":{"resourceId":{"type":"string","description":"The resource's id."},"conversation":{"description":"An array of messages.","type":"array","items":{"$ref":"#/components/schemas/ApiChatMessageDto"}}},"required":["resourceId","conversation"]},"ApiResourceChatResponseDto":{"type":"object","properties":{"text":{"type":"string","description":"The resource's chat response."}},"required":["text"]},"WhatsAppConversationInfo":{"type":"object","properties":{"replyingPhoneNumberId":{"type":"string","description":"The unique identifier for the phone number used to reply to the user."},"replyingPhoneNumber":{"type":"string","description":"The formatted phone number used to reply to the user."},"senderPhoneNumber":{"type":"string","description":"The phone number of the user who sent the message."},"senderName":{"type":"string","description":"The name of the user who sent the message."}},"required":["replyingPhoneNumberId","replyingPhoneNumber","senderPhoneNumber","senderName"]},"FacebookConversationInfo":{"type":"object","properties":{"pageId":{"type":"string","description":"The facebook page id."},"senderId":{"type":"string","description":"The facebook sender id."},"senderName":{"type":"string","description":"The facebook sender name."}},"required":["pageId","senderId","senderName"]},"InstagramConversationInfo":{"type":"object","properties":{"instagramAccountId":{"type":"string","description":"The instagram account id."},"senderId":{"type":"string","description":"The instagram sender id."},"senderUsername":{"type":"string","description":"The instagram sender username."},"senderName":{"type":"string","description":"The instagram sender name."}},"required":["instagramAccountId","senderId","senderUsername"]},"ConversationSource":{"type":"object","properties":{"type":{"type":"string","description":"The conversation source type. Values can be 'app', 'website', 'link', 'discord', 'zapier', 'whatsapp' or 'api'."},"discordChannelId":{"type":"string","description":"The discord channel id. Defined only if the conversation source type is 'discord'."},"whatsAppInfo":{"description":"The phone number info. Defined only if the conversation source type is 'whatsapp'.","allOf":[{"$ref":"#/components/schemas/WhatsAppConversationInfo"}]},"facebookInfo":{"description":"The facebook info. Defined only if the conversation source type is 'facebook'.","allOf":[{"$ref":"#/components/schemas/FacebookConversationInfo"}]},"instagramInfo":{"description":"The instagram info. Defined only if the conversation source type is 'instagram'.","allOf":[{"$ref":"#/components/schemas/InstagramConversationInfo"}]}},"required":["type","discordChannelId","whatsAppInfo","facebookInfo","instagramInfo"]},"ApiDefaultExtractedConversationData":{"type":"object","properties":{"keyPoints":{"description":"The key points of the conversation analysis.","type":"array","items":{"type":"string"}},"nextSteps":{"description":"The next steps of the conversation analysis.","type":"array","items":{"type":"string"}},"sentimentAnalysis":{"type":"string","description":"The sentiment analysis of the conversation analysis. Values can be 'VERY_POSITIVE', 'POSITIVE', 'SLIGHTLY_POSITIVE', 'NEUTRAL', 'SLIGHTLY_NEGATIVE', 'NEGATIVE', or 'VERY_NEGATIVE'."},"intentClassification":{"type":"string","description":"The intent classification of the conversation analysis. Values can be 'APPOINTMENT', 'INQUIRY', 'COMPLAINT', 'FEEDBACK', or 'SUPPORT'."}},"required":["keyPoints","nextSteps","sentimentAnalysis","intentClassification"]},"ApiConversationAnalysisResult":{"type":"object","properties":{"summary":{"type":"string","description":"The summary of the conversation analysis."},"extractedData":{"description":"The extracted data of the conversation analysis.","allOf":[{"$ref":"#/components/schemas/ApiDefaultExtractedConversationData"}]},"customExtractedData":{"type":"object","description":"The custom extracted data of the conversation analysis."}},"required":["summary","extractedData","customExtractedData"]},"ApiConversationAnalysis":{"type":"object","properties":{"status":{"type":"string","description":"The status of the conversation analysis. Values can be 'GENERATING', 'REFRESHING', 'COMPLETED' or 'FAILED'."},"result":{"description":"The result of the conversation analysis.","allOf":[{"$ref":"#/components/schemas/ApiConversationAnalysisResult"}]}},"required":["status"]},"ApiExportedConversation":{"type":"object","properties":{"id":{"type":"string","description":"The conversation's ID."},"createdAt":{"type":"number","description":"The date the conversation was created. Unix timestamp in milliseconds."},"source":{"description":"The source of the conversation.","allOf":[{"$ref":"#/components/schemas/ConversationSource"}]},"messages":{"description":"An array of messages.","type":"array","items":{"$ref":"#/components/schemas/ApiChatMessageDto"}},"analysis":{"description":"The analysis of the conversation.","allOf":[{"$ref":"#/components/schemas/ApiConversationAnalysis"}]}},"required":["id","createdAt","source","messages"]},"ApiExportedConversationsData":{"type":"object","properties":{"chatbotName":{"type":"string","description":"The chatbot's name."},"startInterval":{"type":"string","description":"The beginning of the date range to query. Unix timestamp in milliseconds."},"endInterval":{"type":"string","description":"The end of the date range to query. Unix timestamp in milliseconds."},"createdAt":{"type":"string","description":"The date the chatbot was created. Unix timestamp in milliseconds."},"conversations":{"description":"An array of conversations.","type":"array","items":{"$ref":"#/components/schemas/ApiExportedConversation"}}},"required":["chatbotName","startInterval","endInterval","createdAt","conversations"]},"ChatMessageDto":{"type":"object","properties":{}},"ApiSaveConversationDto":{"type":"object","properties":{"conversationId":{"type":"string","description":"The conversation's id. If not defined, a new conversation will be created."},"chatbotId":{"type":"string","description":"The chatbot's id to associate the conversation with."},"messages":{"description":"An array of messages to save in the conversation.","type":"array","items":{"$ref":"#/components/schemas/ChatMessageDto"}},"override":{"type":"boolean","description":"The conversation's override flag. If true, the conversation will be overridden. If false, the conversation will be appended to the existing conversation. Will default to true."}},"required":["chatbotId","messages"]},"ApiConversationDto":{"type":"object","properties":{"id":{"type":"string","description":"The conversation id."},"user":{"type":"string","description":"The user id associated to the conversation."},"chatbot":{"type":"string","description":"The chatbot id associated to the conversation ."},"createdAt":{"type":"number","description":"The created date of the conversation. Unix timestamp in milliseconds."},"messages":{"description":"The array of messages for the conversation.","type":"array","items":{"$ref":"#/components/schemas/ApiChatMessageDto"}},"source":{"description":"The conversation's source.","allOf":[{"$ref":"#/components/schemas/ConversationSource"}]}},"required":["id","user","chatbot","createdAt","messages","source"]},"ApiExportedLeadData":{"type":"object","properties":{"createdAt":{"type":"number","description":"The date the lead was created. Unix timestamp in milliseconds."},"email":{"type":"string","description":"The lead's email."},"name":{"type":"string","description":"The lead's name."},"phone":{"type":"string","description":"The lead's phone number."}},"required":["createdAt","email","name","phone"]},"ApiExportedLeadsData":{"type":"object","properties":{"chatbotName":{"type":"string","description":"The chatbot's name."},"startInterval":{"type":"string","description":"The beginning of the date range to query. Unix timestamp in milliseconds."},"endInterval":{"type":"string","description":"The end of the date range to query. Unix timestamp in milliseconds."},"createdAt":{"type":"string","description":"The date the chatbot was created. Unix timestamp in milliseconds."},"leads":{"description":"An array of leads.","type":"array","items":{"$ref":"#/components/schemas/ApiExportedLeadData"}}},"required":["chatbotName","startInterval","endInterval","createdAt","leads"]}}}}