> For the complete documentation index, see [llms.txt](https://docs.epic-ai.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.epic-ai.com/api-dokumentation/widgets.md).

# Widgets

## GET /v1/widget/{chatbotId}/conversations/{conversationId}/messages

> Lists the messages of a conversation for the widget

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Widgets","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{}],"paths":{"/v1/widget/{chatbotId}/conversations/{conversationId}/messages":{"get":{"operationId":"WidgetController_listWidgetConversationMessages[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The Id of the chatbot.","schema":{"type":"string"}},{"name":"conversationId","required":true,"in":"path","description":"The Id of the conversation.","schema":{"type":"string"}},{"name":"token","required":true,"in":"query","description":"The widget token.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWidgetConversationMessagesResponseDto"}}}}},"summary":"Lists the messages of a conversation for the widget","tags":["Widgets"]}}},"components":{"schemas":{"ListWidgetConversationMessagesResponseDto":{"type":"object","properties":{"messages":{"description":"The list of messages.","type":"array","items":{"$ref":"#/components/schemas/MessageDto"}},"error":{"type":"string","description":"Optional error message."}},"required":["messages"]},"MessageDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the message."},"sender":{"type":"string","description":"The sender of the message (e.g., user, bot, agent)."},"type":{"type":"string","description":"The type of message (e.g., text, file, template)."},"persona":{"description":"The persona representing the sender.","allOf":[{"$ref":"#/components/schemas/MessagePersonaDto"}]},"providerMessageId":{"type":"string","description":"The message ID from the external provider."},"status":{"type":"string","description":"The delivery status of the message."},"created":{"type":"string","description":"Timestamp when the message was created."},"processed":{"type":"string","description":"Timestamp when the message was processed."},"sent":{"type":"string","description":"Timestamp when the message was sent."},"received":{"type":"string","description":"Timestamp when the message was received by the recipient."},"read":{"type":"string","description":"Timestamp when the message was read by the recipient."},"outgoing":{"type":"boolean","description":"Whether the message is outgoing (true) or incoming (false)."},"messengerId":{"type":"string","description":"The messenger ID associated with the message."},"contextId":{"type":"string","description":"The context ID for message threading."},"content":{"description":"The content of the message.","allOf":[{"$ref":"#/components/schemas/ContentDto"}]},"tags":{"description":"The list of tags associated with the message.","type":"array","items":{"type":"string"}},"error":{"type":"string","description":"Optional error message."},"isSensitive":{"type":"boolean","description":"Whether the message contains sensitive content."},"streamGroupId":{"type":"string","description":"The stream group ID for grouped streaming messages."},"delay":{"type":"number","description":"Delay in milliseconds before sending the message."}},"required":["id","sender","type","status","created","outgoing","content","tags"]},"MessagePersonaDto":{"type":"object","properties":{"image":{"type":"string","description":"The URL of the persona's avatar image."},"name":{"type":"string","description":"The display name of the persona."}},"required":["image","name"]},"ContentDto":{"type":"object","properties":{"text":{"type":"string"},"file":{"$ref":"#/components/schemas/MessageContentFileDto"},"buttons":{"$ref":"#/components/schemas/MessageContentButtonsDto"},"selectedButton":{"$ref":"#/components/schemas/MessageContentButtonReplyDto"},"template":{"$ref":"#/components/schemas/MessageTemplateDto"},"contact":{"$ref":"#/components/schemas/MessageContentContactDto"},"location":{"$ref":"#/components/schemas/MessageLocationDto"},"note":{"$ref":"#/components/schemas/MessageNoteDto"},"voiceHangup":{"$ref":"#/components/schemas/MessageVoiceHangupDto"},"voiceTransfer":{"$ref":"#/components/schemas/MessageVoiceTransferDto"},"agentHandover":{"$ref":"#/components/schemas/MessageAgentHandoverDto"},"email":{"$ref":"#/components/schemas/MessageContentEmailDto"},"transcription":{"$ref":"#/components/schemas/MessageContentTranscriptionDto"},"textToSpeech":{"$ref":"#/components/schemas/MessageContentTextToSpeechDto"},"reaction":{"$ref":"#/components/schemas/MessageContentReactionDto"},"callSettings":{"$ref":"#/components/schemas/MessageContentCallSettingsDto"},"metaWhatsappTemplate":{"$ref":"#/components/schemas/MessageMetaWhatsAppTemplateDto"},"operator":{"$ref":"#/components/schemas/OperatorDto"},"delay":{"type":"number"},"leadAiId":{"type":"string"}}},"MessageContentFileDto":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"type":{"type":"string"},"mimeType":{"type":"string"},"size":{"type":"number"},"attachmentRef":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"}},"required":["name","url","type","mimeType","size","attachmentRef"]},"MessageContentButtonsDto":{"type":"object","properties":{"buttons":{"type":"array","items":{"$ref":"#/components/schemas/MessageContentButtonDto"}}},"required":["buttons"]},"MessageContentButtonDto":{"type":"object","properties":{"label":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"},"payload":{"type":"string"}},"required":["label","type","value"]},"MessageContentButtonReplyDto":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"},"payload":{"type":"string"},"type":{"type":"string"},"reference":{"type":"string"}},"required":["label","value","reference"]},"MessageTemplateDto":{"type":"object","properties":{"body":{"type":"string"},"header":{"type":"string"},"footer":{"type":"string"}},"required":["body"]},"MessageContentContactDto":{"type":"object","properties":{"addresses":{"type":"array","items":{"$ref":"#/components/schemas/MessageContentContactAddressDto"}},"emails":{"type":"array","items":{"$ref":"#/components/schemas/MessageContentContactEmailDto"}},"name":{"$ref":"#/components/schemas/MessageContentContactNameDto"},"org":{"$ref":"#/components/schemas/MessageContentContactOrgDto"},"phones":{"type":"array","items":{"$ref":"#/components/schemas/MessageContentContactPhoneDto"}}},"required":["addresses","emails","phones"]},"MessageContentContactAddressDto":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"countryCode":{"type":"string"},"street":{"type":"string"},"type":{"type":"string"},"zip":{"type":"string"}}},"MessageContentContactEmailDto":{"type":"object","properties":{"email":{"type":"string","format":"email"},"type":{"type":"string"}},"required":["email"]},"MessageContentContactNameDto":{"type":"object","properties":{"firstName":{"type":"string"},"formattedName":{"type":"string"},"lastName":{"type":"string"}}},"MessageContentContactOrgDto":{"type":"object","properties":{"company":{"type":"string"},"title":{"type":"string"}}},"MessageContentContactPhoneDto":{"type":"object","properties":{"phone":{"type":"string"},"type":{"type":"string"},"waId":{"type":"string"}}},"MessageLocationDto":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"required":["latitude","longitude"]},"MessageNoteDto":{"type":"object","properties":{"text":{"type":"string"},"mentions":{"type":"array","items":{"type":"string"}}},"required":["text","mentions"]},"MessageVoiceHangupDto":{"type":"object","properties":{"reason":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["reason","headers"]},"MessageVoiceTransferDto":{"type":"object","properties":{"target":{"type":"string"},"reason":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["target","headers"]},"MessageAgentHandoverDto":{"type":"object","properties":{"reason":{"type":"string"},"timeoutSeconds":{"type":"number"},"agentId":{"type":"string"},"groupId":{"type":"string"},"assignmentMethod":{"type":"string"}},"required":["reason"]},"MessageContentEmailDto":{"type":"object","properties":{"subject":{"type":"string"},"body":{"type":"string"},"from":{"type":"string"},"to":{"type":"array","items":{"type":"string"}},"cc":{"type":"array","items":{"type":"string"}},"bcc":{"type":"array","items":{"type":"string"}},"attachmentIds":{"type":"array","items":{"type":"string"}},"references":{"type":"array","items":{"type":"string"}}},"required":["subject","body","from","to","cc","bcc","attachmentIds","references"]},"MessageContentTranscriptionDto":{"type":"object","properties":{"text":{"type":"string"},"language":{"type":"string"},"audioRef":{"type":"string"}},"required":["text","language","audioRef"]},"MessageContentTextToSpeechDto":{"type":"object","properties":{"text":{"type":"string"},"speech":{"type":"string"}},"required":["text"]},"MessageContentReactionDto":{"type":"object","properties":{"reactionToMid":{"type":"string"},"action":{"type":"string"},"reaction":{"type":"string"},"emoji":{"type":"string"}},"required":["reactionToMid","action","reaction","emoji"]},"MessageContentCallSettingsDto":{"type":"object","properties":{"userInputSpeechDetectionTimeout":{"type":"number"},"dtmf":{"type":"boolean"},"bargeIn":{"type":"boolean"}}},"MessageMetaWhatsAppTemplateDto":{"type":"object","properties":{"templateName":{"type":"string","description":"The name of the template on Meta."},"language":{"type":"string","description":"The language code of the template."},"bodyText":{"type":"string","description":"The body text of the message. Placeholders are in the form `{{1}}`."},"headerText":{"type":"string","description":"The text in the header (if present)."},"footerText":{"type":"string","description":"The text in the footer (if present)."},"header":{"description":"The header component, which can contain a file or text parameters.","allOf":[{"$ref":"#/components/schemas/MessageMetaWhatsAppTemplate_HeaderDto"}]},"bodyParameters":{"description":"A list of values that replace the placeholders in the `bodyText`.","type":"array","items":{"type":"string"}},"buttons":{"description":"A list of buttons attached to the message.","type":"array","items":{"$ref":"#/components/schemas/MessageMetaWhatsAppTemplate_ButtonDto"}}},"required":["templateName","language","bodyText","bodyParameters","buttons"]},"MessageMetaWhatsAppTemplate_HeaderDto":{"type":"object","properties":{"file":{"description":"The file attachment for the header.","allOf":[{"$ref":"#/components/schemas/MessageMetaWhatsAppTemplate_Header_FileDto"}]},"parameters":{"description":"List of parameter values for header placeholders.","type":"array","items":{"type":"string"}}},"required":["parameters"]},"MessageMetaWhatsAppTemplate_Header_FileDto":{"type":"object","properties":{"name":{"type":"string","description":"The file name."},"url":{"type":"string","description":"The URL to access the file."},"type":{"type":"string","description":"The file type category."},"mimeType":{"type":"string","description":"The MIME type of the file."},"size":{"type":"number","description":"The file size in bytes."},"attachmentRef":{"type":"string","description":"The internal attachment reference ID."}},"required":["name","url","type","mimeType","size","attachmentRef"]},"MessageMetaWhatsAppTemplate_ButtonDto":{"type":"object","properties":{"label":{"type":"string","description":"The display label of the button."},"type":{"type":"string","description":"The button type (e.g., QUICK_REPLY, URL, PHONE_NUMBER)."},"url":{"type":"string","description":"The URL for URL-type buttons."},"value":{"type":"string","description":"The value for quick reply buttons."}},"required":["label","type"]},"OperatorDto":{"type":"object","properties":{"operatorId":{"type":"string","description":"The unique identifier of the operator."}},"required":["operatorId"]}}}}
```

## POST /v1/widget/{chatbotId}/conversations

> Creates a new conversation via the widget

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Widgets","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{}],"paths":{"/v1/widget/{chatbotId}/conversations":{"post":{"operationId":"WidgetController_createWidgetConversation[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The Id of the chatbot.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWidgetConversationRequestDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWidgetConversationResponseDto"}}}},"400":{"description":"Invalid input data."}},"summary":"Creates a new conversation via the widget","tags":["Widgets"]}}},"components":{"schemas":{"CreateWidgetConversationRequestDto":{"type":"object","properties":{"widgetToken":{"type":"string","description":"The widget authentication token."},"channelId":{"type":"string","description":"The ID of the channel."},"language":{"type":"string","description":"The language code for the conversation."}},"required":["widgetToken","channelId","language"]},"CreateWidgetConversationResponseDto":{"type":"object","properties":{"conversation":{"description":"The newly created conversation.","nullable":true,"allOf":[{"$ref":"#/components/schemas/ConversationDto"}]},"newWebToken":{"type":"string","description":"A new web token if the previous one expired."},"error":{"type":"string","description":"Optional error message."}},"required":["conversation"]},"ConversationDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the conversation."},"contactId":{"type":"string","description":"The ID of the contact associated with this conversation."},"archived":{"type":"boolean","description":"Whether the conversation is archived."},"channelId":{"type":"string","description":"The ID of the channel for this conversation."},"channelType":{"type":"string","description":"The type of channel (e.g., web, whatsapp, telegram)."},"chatbotId":{"type":"string","description":"The ID of the chatbot handling this conversation."},"idToken":{"type":"string","description":"The ID token for this conversation."},"language":{"type":"string","description":"The language code of the conversation."},"operatorId":{"type":"string","description":"The ID of the assigned operator."},"photoUrl":{"type":"string","description":"The URL of the contact's photo."},"sessionCount":{"type":"number","description":"The number of sessions in this conversation."},"tags":{"description":"Tags associated with this conversation.","type":"array","items":{"type":"string"}},"unread":{"type":"boolean","description":"Whether the conversation has unread messages."},"variables":{"type":"object","description":"Custom variables for this conversation.","additionalProperties":{"type":"string"}},"lastBlock":{"description":"The last block visited in the flow.","allOf":[{"$ref":"#/components/schemas/ConversationBlockDto"}]},"lastButton":{"description":"The last button clicked by the user.","allOf":[{"$ref":"#/components/schemas/ConversationBlockDto"}]},"created":{"type":"string","description":"Timestamp when the conversation was created."},"updated":{"type":"string","description":"Timestamp when the conversation was last updated."},"providerId":{"type":"string","description":"The external provider ID for this conversation."},"name":{"type":"string","description":"The display name of the contact."},"lastMessage":{"description":"The content of the last message in the conversation.","allOf":[{"$ref":"#/components/schemas/ContentDto"}]},"snoozed":{"type":"string","description":"Timestamp until which the conversation is snoozed."},"lastUserAction":{"type":"string","description":"Timestamp of the last user action."},"mentions":{"description":"List of user IDs mentioned in this conversation.","type":"array","items":{"type":"string"}},"mentionsRead":{"type":"object","description":"Map of mentions to their read status.","additionalProperties":{"type":"boolean"}},"notes":{"description":"Notes attached to this conversation.","allOf":[{"$ref":"#/components/schemas/ConversationNotesDto"}]},"lastSender":{"type":"string","description":"The type of the last sender (user, bot, operator)."},"userInput":{"description":"Current user input state.","allOf":[{"$ref":"#/components/schemas/ConversationUserInputDto"}]},"environment":{"type":"string","description":"The environment.","enum":["dev","test","prod"]},"metadata":{"type":"object","description":"Custom metadata for this conversation.","additionalProperties":{"type":"string"}},"lastUserInput":{"type":"string","description":"The last user input text."},"leadAiConversation":{"description":"Lead AI conversation state.","allOf":[{"$ref":"#/components/schemas/ConversationLeadAiConversationDto"}]},"team":{"description":"The team assigned to this conversation.","allOf":[{"$ref":"#/components/schemas/ConversationTeamDto"}]},"state":{"description":"The current state of the conversation.\n\n- `0`: OPEN\n- `1`: BOT\n- `2`: IN_PROGRESS\n- `3`: CLOSED","allOf":[{"$ref":"#/components/schemas/ConversationStatus"}]},"lastAssignedOperatorId":{"type":"string","description":"The ID of the last assigned operator."},"lastSeen":{"type":"string","description":"Timestamp when the conversation was last seen."}},"required":["id","contactId","archived","channelId","channelType","chatbotId","idToken","language","operatorId","photoUrl","sessionCount","tags","unread","variables","created","updated","name","snoozed","lastUserAction","mentions","mentionsRead","environment","metadata","state"]},"ConversationBlockDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the block."},"name":{"type":"string","description":"The display name of the block."}},"required":["id","name"]},"ContentDto":{"type":"object","properties":{"text":{"type":"string"},"file":{"$ref":"#/components/schemas/MessageContentFileDto"},"buttons":{"$ref":"#/components/schemas/MessageContentButtonsDto"},"selectedButton":{"$ref":"#/components/schemas/MessageContentButtonReplyDto"},"template":{"$ref":"#/components/schemas/MessageTemplateDto"},"contact":{"$ref":"#/components/schemas/MessageContentContactDto"},"location":{"$ref":"#/components/schemas/MessageLocationDto"},"note":{"$ref":"#/components/schemas/MessageNoteDto"},"voiceHangup":{"$ref":"#/components/schemas/MessageVoiceHangupDto"},"voiceTransfer":{"$ref":"#/components/schemas/MessageVoiceTransferDto"},"agentHandover":{"$ref":"#/components/schemas/MessageAgentHandoverDto"},"email":{"$ref":"#/components/schemas/MessageContentEmailDto"},"transcription":{"$ref":"#/components/schemas/MessageContentTranscriptionDto"},"textToSpeech":{"$ref":"#/components/schemas/MessageContentTextToSpeechDto"},"reaction":{"$ref":"#/components/schemas/MessageContentReactionDto"},"callSettings":{"$ref":"#/components/schemas/MessageContentCallSettingsDto"},"metaWhatsappTemplate":{"$ref":"#/components/schemas/MessageMetaWhatsAppTemplateDto"},"operator":{"$ref":"#/components/schemas/OperatorDto"},"delay":{"type":"number"},"leadAiId":{"type":"string"}}},"MessageContentFileDto":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"type":{"type":"string"},"mimeType":{"type":"string"},"size":{"type":"number"},"attachmentRef":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"}},"required":["name","url","type","mimeType","size","attachmentRef"]},"MessageContentButtonsDto":{"type":"object","properties":{"buttons":{"type":"array","items":{"$ref":"#/components/schemas/MessageContentButtonDto"}}},"required":["buttons"]},"MessageContentButtonDto":{"type":"object","properties":{"label":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"},"payload":{"type":"string"}},"required":["label","type","value"]},"MessageContentButtonReplyDto":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"},"payload":{"type":"string"},"type":{"type":"string"},"reference":{"type":"string"}},"required":["label","value","reference"]},"MessageTemplateDto":{"type":"object","properties":{"body":{"type":"string"},"header":{"type":"string"},"footer":{"type":"string"}},"required":["body"]},"MessageContentContactDto":{"type":"object","properties":{"addresses":{"type":"array","items":{"$ref":"#/components/schemas/MessageContentContactAddressDto"}},"emails":{"type":"array","items":{"$ref":"#/components/schemas/MessageContentContactEmailDto"}},"name":{"$ref":"#/components/schemas/MessageContentContactNameDto"},"org":{"$ref":"#/components/schemas/MessageContentContactOrgDto"},"phones":{"type":"array","items":{"$ref":"#/components/schemas/MessageContentContactPhoneDto"}}},"required":["addresses","emails","phones"]},"MessageContentContactAddressDto":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"countryCode":{"type":"string"},"street":{"type":"string"},"type":{"type":"string"},"zip":{"type":"string"}}},"MessageContentContactEmailDto":{"type":"object","properties":{"email":{"type":"string","format":"email"},"type":{"type":"string"}},"required":["email"]},"MessageContentContactNameDto":{"type":"object","properties":{"firstName":{"type":"string"},"formattedName":{"type":"string"},"lastName":{"type":"string"}}},"MessageContentContactOrgDto":{"type":"object","properties":{"company":{"type":"string"},"title":{"type":"string"}}},"MessageContentContactPhoneDto":{"type":"object","properties":{"phone":{"type":"string"},"type":{"type":"string"},"waId":{"type":"string"}}},"MessageLocationDto":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"required":["latitude","longitude"]},"MessageNoteDto":{"type":"object","properties":{"text":{"type":"string"},"mentions":{"type":"array","items":{"type":"string"}}},"required":["text","mentions"]},"MessageVoiceHangupDto":{"type":"object","properties":{"reason":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["reason","headers"]},"MessageVoiceTransferDto":{"type":"object","properties":{"target":{"type":"string"},"reason":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["target","headers"]},"MessageAgentHandoverDto":{"type":"object","properties":{"reason":{"type":"string"},"timeoutSeconds":{"type":"number"},"agentId":{"type":"string"},"groupId":{"type":"string"},"assignmentMethod":{"type":"string"}},"required":["reason"]},"MessageContentEmailDto":{"type":"object","properties":{"subject":{"type":"string"},"body":{"type":"string"},"from":{"type":"string"},"to":{"type":"array","items":{"type":"string"}},"cc":{"type":"array","items":{"type":"string"}},"bcc":{"type":"array","items":{"type":"string"}},"attachmentIds":{"type":"array","items":{"type":"string"}},"references":{"type":"array","items":{"type":"string"}}},"required":["subject","body","from","to","cc","bcc","attachmentIds","references"]},"MessageContentTranscriptionDto":{"type":"object","properties":{"text":{"type":"string"},"language":{"type":"string"},"audioRef":{"type":"string"}},"required":["text","language","audioRef"]},"MessageContentTextToSpeechDto":{"type":"object","properties":{"text":{"type":"string"},"speech":{"type":"string"}},"required":["text"]},"MessageContentReactionDto":{"type":"object","properties":{"reactionToMid":{"type":"string"},"action":{"type":"string"},"reaction":{"type":"string"},"emoji":{"type":"string"}},"required":["reactionToMid","action","reaction","emoji"]},"MessageContentCallSettingsDto":{"type":"object","properties":{"userInputSpeechDetectionTimeout":{"type":"number"},"dtmf":{"type":"boolean"},"bargeIn":{"type":"boolean"}}},"MessageMetaWhatsAppTemplateDto":{"type":"object","properties":{"templateName":{"type":"string","description":"The name of the template on Meta."},"language":{"type":"string","description":"The language code of the template."},"bodyText":{"type":"string","description":"The body text of the message. Placeholders are in the form `{{1}}`."},"headerText":{"type":"string","description":"The text in the header (if present)."},"footerText":{"type":"string","description":"The text in the footer (if present)."},"header":{"description":"The header component, which can contain a file or text parameters.","allOf":[{"$ref":"#/components/schemas/MessageMetaWhatsAppTemplate_HeaderDto"}]},"bodyParameters":{"description":"A list of values that replace the placeholders in the `bodyText`.","type":"array","items":{"type":"string"}},"buttons":{"description":"A list of buttons attached to the message.","type":"array","items":{"$ref":"#/components/schemas/MessageMetaWhatsAppTemplate_ButtonDto"}}},"required":["templateName","language","bodyText","bodyParameters","buttons"]},"MessageMetaWhatsAppTemplate_HeaderDto":{"type":"object","properties":{"file":{"description":"The file attachment for the header.","allOf":[{"$ref":"#/components/schemas/MessageMetaWhatsAppTemplate_Header_FileDto"}]},"parameters":{"description":"List of parameter values for header placeholders.","type":"array","items":{"type":"string"}}},"required":["parameters"]},"MessageMetaWhatsAppTemplate_Header_FileDto":{"type":"object","properties":{"name":{"type":"string","description":"The file name."},"url":{"type":"string","description":"The URL to access the file."},"type":{"type":"string","description":"The file type category."},"mimeType":{"type":"string","description":"The MIME type of the file."},"size":{"type":"number","description":"The file size in bytes."},"attachmentRef":{"type":"string","description":"The internal attachment reference ID."}},"required":["name","url","type","mimeType","size","attachmentRef"]},"MessageMetaWhatsAppTemplate_ButtonDto":{"type":"object","properties":{"label":{"type":"string","description":"The display label of the button."},"type":{"type":"string","description":"The button type (e.g., QUICK_REPLY, URL, PHONE_NUMBER)."},"url":{"type":"string","description":"The URL for URL-type buttons."},"value":{"type":"string","description":"The value for quick reply buttons."}},"required":["label","type"]},"OperatorDto":{"type":"object","properties":{"operatorId":{"type":"string","description":"The unique identifier of the operator."}},"required":["operatorId"]},"ConversationNotesDto":{"type":"object","properties":{"notes":{"description":"List of notes attached to the conversation.","type":"array","items":{"type":"string"}}},"required":["notes"]},"ConversationUserInputDto":{"type":"object","properties":{"redirect":{"type":"string","description":"The redirect destination for user input."},"isSensitive":{"type":"boolean","description":"Whether the user input contains sensitive data."}},"required":["redirect"]},"ConversationLeadAiConversationDto":{"type":"object","properties":{"flowId":{"type":"string","description":"The ID of the flow being executed."},"stepId":{"type":"string","description":"The ID of the current step in the flow."},"interactions":{"type":"number","description":"The number of interactions in this conversation."},"executionId":{"type":"string","description":"The unique execution ID for this conversation flow."}},"required":["flowId","stepId","interactions","executionId"]},"ConversationTeamDto":{"type":"object","properties":{"teamId":{"type":"string","description":"The ID of the team assigned to this conversation."}},"required":["teamId"]},"ConversationStatus":{"type":"number","enum":[0,1,2,3,-1],"description":"The current state of the conversation.\n\n- `0`: OPEN\n- `1`: BOT\n- `2`: IN_PROGRESS\n- `3`: CLOSED"}}}}
```

## POST /v1/widget/{chatbotId}/contact

> Creates a new contact via the widget

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Widgets","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{}],"paths":{"/v1/widget/{chatbotId}/contact":{"post":{"operationId":"WidgetController_createWidgetContact[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The Id of the chatbot.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWidgetContactRequestDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWidgetContactResponseDto"}}}},"400":{"description":"Invalid input data."}},"summary":"Creates a new contact via the widget","tags":["Widgets"]}}},"components":{"schemas":{"CreateWidgetContactRequestDto":{"type":"object","properties":{"channelId":{"type":"string","description":"The ID of the channel."},"channelToken":{"type":"string","description":"The channel authentication token."},"originUrl":{"type":"string","description":"The origin URL where the widget is embedded."},"language":{"type":"string","description":"The language code for the widget."}},"required":["channelId","channelToken","originUrl","language"]},"CreateWidgetContactResponseDto":{"type":"object","properties":{"contactId":{"type":"string","description":"The ID of the newly created contact."},"widgetToken":{"type":"string","description":"The widget authentication token for the new contact."},"error":{"type":"string","description":"Optional error message."}}}}}}
```
