> For the complete documentation index, see [llms.txt](https://docs.zaia.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zaia.app/documentation/api-reference-alpha/reference/channels.md).

# Channels

## GET /api/v1/channels

> Retrieves multiple channels.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/channels":{"get":{"description":"Retrieves multiple channels.","tags":["Channels"],"parameters":[{"schema":{"type":"number","minimum":1,"default":1,"description":"The page number."},"required":false,"description":"The page number.","name":"pageNumber","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":10,"description":"The page size."},"required":false,"description":"The page size.","name":"pageSize","in":"query"},{"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}],"default":[]},"required":false,"name":"responderIds","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Search term to filter channels by name, description, or prompt."},"required":false,"description":"Search term to filter channels by name, description, or prompt.","name":"search","in":"query"},{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"responses":{"200":{"description":"Retrieves all channels for the workspace.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"updatedAt":{"type":"string","format":"date-time"},"delay":{"type":"integer","minimum":1,"maximum":60,"description":"The delay between the last user message and the beginning of the response generation."},"description":{"type":"string","nullable":true,"minLength":3,"maxLength":250,"description":"The internal description of the channel."},"detail":{"anyOf":[{"type":"object","properties":{"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the API is used."},"responseWebhookUrl":{"type":"string","minLength":3,"maxLength":500,"format":"uri","description":"The webhook URL that receives responses produced through the API channel."},"type":{"type":"string","enum":["api"],"description":"The channel subtype represented by this detail payload."}},"required":["initialMessage","responseWebhookUrl","type"]},{"type":"object","properties":{"allowClientSideMcp":{"type":"boolean","description":"Whether registering tools from the widget's parent page is allowed."},"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the widget is opened."},"loading":{"type":"string","enum":["private","named","explained"],"description":"The level of detail to be included in the loading message when the widget is opened."},"openOnLoad":{"type":"boolean","description":"Whether the widget should be opened automatically when the page is loaded."},"themes":{"type":"object","properties":{"dark":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]},"light":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]}},"required":["dark","light"],"description":"The widget theme palette configuration for the channel."},"type":{"type":"string","enum":["widget","widget-test"],"description":"The channel subtype represented by this detail payload."}},"required":["allowClientSideMcp","initialMessage","loading","openOnLoad","themes","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Waha (WhatsApp) account."},"type":{"type":"string","enum":["waha"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected WhatsApp account."},"type":{"type":"string","enum":["whatsapp"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Instagram account."},"type":{"type":"string","enum":["instagram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"splitLongerMessages":{"type":"boolean","description":"Whether longer messages should be split when delivering them to the connected Telegram account."},"type":{"type":"string","enum":["telegram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","splitLongerMessages","type"]}]},"maxAssistantMessagesPerChatOwner":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the channel."},"prompt":{"type":"string","nullable":true,"minLength":3,"maxLength":500,"description":"A prompt to be passed down to the agent in the context of this channel."},"responderId":{"type":"string","nullable":true,"format":"uuid","description":"The super identity of the responder (agents or squads) of the channel"},"showSenderName":{"type":"boolean","description":"Whether to display sender names in chat messages."},"status":{"type":"string","enum":["active","inactive"],"description":"The lifecycle status of the channel."},"useVoice":{"type":"string","enum":["on-audio/without-transcription","on-audio/with-transcription","always/without-transcription","always/with-transcription","never"],"description":"The voice behavior mode configured for the channel."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the channel."}},"required":["createdAt","id","isRemoved","updatedAt","delay","description","detail","maxAssistantMessagesPerChatOwner","name","prompt","responderId","showSenderName","status","useVoice","workspaceId"]}}}}},"400":{"description":"Bad Request.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```

## POST /api/v1/channels

> Creates a new channel.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/channels":{"post":{"description":"Creates a new channel.","tags":["Channels"],"parameters":[{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"delay":{"type":"integer","minimum":1,"maximum":60,"description":"The delay between the last user message and the beginning of the response generation."},"description":{"type":"string","nullable":true,"minLength":3,"maxLength":250,"description":"The internal description of the channel."},"detail":{"anyOf":[{"type":"object","properties":{"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the API is used."},"responseWebhookUrl":{"type":"string","minLength":3,"maxLength":500,"format":"uri","description":"The webhook URL that receives responses produced through the API channel."},"type":{"type":"string","enum":["api"],"description":"The channel subtype represented by this detail payload."}},"required":["initialMessage","responseWebhookUrl","type"]},{"type":"object","properties":{"allowClientSideMcp":{"type":"boolean","description":"Whether registering tools from the widget's parent page is allowed."},"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the widget is opened."},"loading":{"type":"string","enum":["private","named","explained"],"description":"The level of detail to be included in the loading message when the widget is opened."},"openOnLoad":{"type":"boolean","description":"Whether the widget should be opened automatically when the page is loaded."},"themes":{"type":"object","properties":{"dark":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]},"light":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]}},"required":["dark","light"],"description":"The widget theme palette configuration for the channel."},"type":{"type":"string","enum":["widget","widget-test"],"description":"The channel subtype represented by this detail payload."}},"required":["allowClientSideMcp","initialMessage","loading","openOnLoad","themes","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Waha (WhatsApp) account."},"type":{"type":"string","enum":["waha"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected WhatsApp account."},"type":{"type":"string","enum":["whatsapp"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Instagram account."},"type":{"type":"string","enum":["instagram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"splitLongerMessages":{"type":"boolean","description":"Whether longer messages should be split when delivering them to the connected Telegram account."},"type":{"type":"string","enum":["telegram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","splitLongerMessages","type"]}]},"maxAssistantMessagesPerChatOwner":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the channel."},"prompt":{"type":"string","nullable":true,"minLength":3,"maxLength":500,"description":"A prompt to be passed down to the agent in the context of this channel."},"responderId":{"type":"string","nullable":true,"format":"uuid","description":"The super identity of the responder (agents or squads) of the channel"},"showSenderName":{"type":"boolean","description":"Whether to display sender names in chat messages."},"status":{"type":"string","enum":["active","inactive"],"description":"The lifecycle status of the channel."},"useVoice":{"type":"string","enum":["on-audio/without-transcription","on-audio/with-transcription","always/without-transcription","always/with-transcription","never"],"description":"The voice behavior mode configured for the channel."}},"required":["delay","description","detail","maxAssistantMessagesPerChatOwner","name","prompt","responderId","showSenderName","status","useVoice"]}}}},"responses":{"200":{"description":"The channel was created.","content":{"application/json":{"schema":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"updatedAt":{"type":"string","format":"date-time"},"delay":{"type":"integer","minimum":1,"maximum":60,"description":"The delay between the last user message and the beginning of the response generation."},"description":{"type":"string","nullable":true,"minLength":3,"maxLength":250,"description":"The internal description of the channel."},"detail":{"anyOf":[{"type":"object","properties":{"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the API is used."},"responseWebhookUrl":{"type":"string","minLength":3,"maxLength":500,"format":"uri","description":"The webhook URL that receives responses produced through the API channel."},"type":{"type":"string","enum":["api"],"description":"The channel subtype represented by this detail payload."}},"required":["initialMessage","responseWebhookUrl","type"]},{"type":"object","properties":{"allowClientSideMcp":{"type":"boolean","description":"Whether registering tools from the widget's parent page is allowed."},"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the widget is opened."},"loading":{"type":"string","enum":["private","named","explained"],"description":"The level of detail to be included in the loading message when the widget is opened."},"openOnLoad":{"type":"boolean","description":"Whether the widget should be opened automatically when the page is loaded."},"themes":{"type":"object","properties":{"dark":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]},"light":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]}},"required":["dark","light"],"description":"The widget theme palette configuration for the channel."},"type":{"type":"string","enum":["widget","widget-test"],"description":"The channel subtype represented by this detail payload."}},"required":["allowClientSideMcp","initialMessage","loading","openOnLoad","themes","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Waha (WhatsApp) account."},"type":{"type":"string","enum":["waha"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected WhatsApp account."},"type":{"type":"string","enum":["whatsapp"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Instagram account."},"type":{"type":"string","enum":["instagram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"splitLongerMessages":{"type":"boolean","description":"Whether longer messages should be split when delivering them to the connected Telegram account."},"type":{"type":"string","enum":["telegram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","splitLongerMessages","type"]}]},"maxAssistantMessagesPerChatOwner":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the channel."},"prompt":{"type":"string","nullable":true,"minLength":3,"maxLength":500,"description":"A prompt to be passed down to the agent in the context of this channel."},"responderId":{"type":"string","nullable":true,"format":"uuid","description":"The super identity of the responder (agents or squads) of the channel"},"showSenderName":{"type":"boolean","description":"Whether to display sender names in chat messages."},"status":{"type":"string","enum":["active","inactive"],"description":"The lifecycle status of the channel."},"useVoice":{"type":"string","enum":["on-audio/without-transcription","on-audio/with-transcription","always/without-transcription","always/with-transcription","never"],"description":"The voice behavior mode configured for the channel."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the channel."}},"required":["createdAt","id","isRemoved","updatedAt","delay","description","detail","maxAssistantMessagesPerChatOwner","name","prompt","responderId","showSenderName","status","useVoice","workspaceId"]}}}},"400":{"description":"Invalid channel configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"403":{"description":"Plan limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"409":{"description":"A channel for this connection already exists.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```

## GET /api/v1/channels/{id}

> Retrieves a channel.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/channels/{id}":{"get":{"description":"Retrieves a channel.","tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"required":true,"description":"A UUID v4 string that identifies an entity.","name":"id","in":"path"},{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"responses":{"200":{"description":"Retrieves a channel.","content":{"application/json":{"schema":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"updatedAt":{"type":"string","format":"date-time"},"delay":{"type":"integer","minimum":1,"maximum":60,"description":"The delay between the last user message and the beginning of the response generation."},"description":{"type":"string","nullable":true,"minLength":3,"maxLength":250,"description":"The internal description of the channel."},"detail":{"anyOf":[{"type":"object","properties":{"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the API is used."},"responseWebhookUrl":{"type":"string","minLength":3,"maxLength":500,"format":"uri","description":"The webhook URL that receives responses produced through the API channel."},"type":{"type":"string","enum":["api"],"description":"The channel subtype represented by this detail payload."}},"required":["initialMessage","responseWebhookUrl","type"]},{"type":"object","properties":{"allowClientSideMcp":{"type":"boolean","description":"Whether registering tools from the widget's parent page is allowed."},"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the widget is opened."},"loading":{"type":"string","enum":["private","named","explained"],"description":"The level of detail to be included in the loading message when the widget is opened."},"openOnLoad":{"type":"boolean","description":"Whether the widget should be opened automatically when the page is loaded."},"themes":{"type":"object","properties":{"dark":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]},"light":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]}},"required":["dark","light"],"description":"The widget theme palette configuration for the channel."},"type":{"type":"string","enum":["widget","widget-test"],"description":"The channel subtype represented by this detail payload."}},"required":["allowClientSideMcp","initialMessage","loading","openOnLoad","themes","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Waha (WhatsApp) account."},"type":{"type":"string","enum":["waha"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected WhatsApp account."},"type":{"type":"string","enum":["whatsapp"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Instagram account."},"type":{"type":"string","enum":["instagram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"splitLongerMessages":{"type":"boolean","description":"Whether longer messages should be split when delivering them to the connected Telegram account."},"type":{"type":"string","enum":["telegram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","splitLongerMessages","type"]}]},"maxAssistantMessagesPerChatOwner":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the channel."},"prompt":{"type":"string","nullable":true,"minLength":3,"maxLength":500,"description":"A prompt to be passed down to the agent in the context of this channel."},"responderId":{"type":"string","nullable":true,"format":"uuid","description":"The super identity of the responder (agents or squads) of the channel"},"showSenderName":{"type":"boolean","description":"Whether to display sender names in chat messages."},"status":{"type":"string","enum":["active","inactive"],"description":"The lifecycle status of the channel."},"useVoice":{"type":"string","enum":["on-audio/without-transcription","on-audio/with-transcription","always/without-transcription","always/with-transcription","never"],"description":"The voice behavior mode configured for the channel."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the channel."}},"required":["createdAt","id","isRemoved","updatedAt","delay","description","detail","maxAssistantMessagesPerChatOwner","name","prompt","responderId","showSenderName","status","useVoice","workspaceId"]}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"404":{"description":"Channel not found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```

## DELETE /api/v1/channels/{id}

> Removes a channel.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/channels/{id}":{"delete":{"description":"Removes a channel.","tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"required":true,"description":"A UUID v4 string that identifies an entity.","name":"id","in":"path"},{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"responses":{"200":{"description":"The channel was removed.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"An informative message for a call that has no effective result to be returned."}},"required":["message"]}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"404":{"description":"Channel not found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```

## PATCH /api/v1/channels/{id}

> Updates a channel.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/channels/{id}":{"patch":{"description":"Updates a channel.","tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"required":true,"description":"A UUID v4 string that identifies an entity.","name":"id","in":"path"},{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"delay":{"type":"integer","minimum":1,"maximum":60,"description":"The delay between the last user message and the beginning of the response generation."},"description":{"type":"string","nullable":true,"minLength":3,"maxLength":250,"description":"The internal description of the channel."},"detail":{"anyOf":[{"type":"object","properties":{"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the API is used."},"responseWebhookUrl":{"type":"string","minLength":3,"maxLength":500,"format":"uri","description":"The webhook URL that receives responses produced through the API channel."},"type":{"type":"string","enum":["api"],"description":"The channel subtype represented by this detail payload."}},"required":["initialMessage","responseWebhookUrl","type"]},{"type":"object","properties":{"allowClientSideMcp":{"type":"boolean","description":"Whether registering tools from the widget's parent page is allowed."},"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the widget is opened."},"loading":{"type":"string","enum":["private","named","explained"],"description":"The level of detail to be included in the loading message when the widget is opened."},"openOnLoad":{"type":"boolean","description":"Whether the widget should be opened automatically when the page is loaded."},"themes":{"type":"object","properties":{"dark":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]},"light":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]}},"required":["dark","light"],"description":"The widget theme palette configuration for the channel."},"type":{"type":"string","enum":["widget","widget-test"],"description":"The channel subtype represented by this detail payload."}},"required":["allowClientSideMcp","initialMessage","loading","openOnLoad","themes","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Waha (WhatsApp) account."},"type":{"type":"string","enum":["waha"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected WhatsApp account."},"type":{"type":"string","enum":["whatsapp"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Instagram account."},"type":{"type":"string","enum":["instagram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"splitLongerMessages":{"type":"boolean","description":"Whether longer messages should be split when delivering them to the connected Telegram account."},"type":{"type":"string","enum":["telegram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","splitLongerMessages","type"]}]},"maxAssistantMessagesPerChatOwner":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the channel."},"prompt":{"type":"string","nullable":true,"minLength":3,"maxLength":500,"description":"A prompt to be passed down to the agent in the context of this channel."},"responderId":{"type":"string","nullable":true,"format":"uuid","description":"The super identity of the responder (agents or squads) of the channel"},"showSenderName":{"type":"boolean","description":"Whether to display sender names in chat messages."},"status":{"type":"string","enum":["active","inactive"],"description":"The lifecycle status of the channel."},"useVoice":{"type":"string","enum":["on-audio/without-transcription","on-audio/with-transcription","always/without-transcription","always/with-transcription","never"],"description":"The voice behavior mode configured for the channel."}}}}}},"responses":{"200":{"description":"The channel was updated.","content":{"application/json":{"schema":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"updatedAt":{"type":"string","format":"date-time"},"delay":{"type":"integer","minimum":1,"maximum":60,"description":"The delay between the last user message and the beginning of the response generation."},"description":{"type":"string","nullable":true,"minLength":3,"maxLength":250,"description":"The internal description of the channel."},"detail":{"anyOf":[{"type":"object","properties":{"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the API is used."},"responseWebhookUrl":{"type":"string","minLength":3,"maxLength":500,"format":"uri","description":"The webhook URL that receives responses produced through the API channel."},"type":{"type":"string","enum":["api"],"description":"The channel subtype represented by this detail payload."}},"required":["initialMessage","responseWebhookUrl","type"]},{"type":"object","properties":{"allowClientSideMcp":{"type":"boolean","description":"Whether registering tools from the widget's parent page is allowed."},"initialMessage":{"type":"string","nullable":true,"minLength":1,"maxLength":250,"description":"The initial message to be displayed when the widget is opened."},"loading":{"type":"string","enum":["private","named","explained"],"description":"The level of detail to be included in the loading message when the widget is opened."},"openOnLoad":{"type":"boolean","description":"Whether the widget should be opened automatically when the page is loaded."},"themes":{"type":"object","properties":{"dark":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]},"light":{"type":"object","properties":{"ownerMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"ownerMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageBackground":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"},"responderMessageColor":{"type":"string","nullable":true,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"}},"required":["ownerMessageBackground","ownerMessageColor","responderMessageBackground","responderMessageColor"]}},"required":["dark","light"],"description":"The widget theme palette configuration for the channel."},"type":{"type":"string","enum":["widget","widget-test"],"description":"The channel subtype represented by this detail payload."}},"required":["allowClientSideMcp","initialMessage","loading","openOnLoad","themes","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Waha (WhatsApp) account."},"type":{"type":"string","enum":["waha"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected WhatsApp account."},"type":{"type":"string","enum":["whatsapp"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"reactionTakeover":{"type":"object","properties":{"handoverEmojis":{"type":"array","items":{"type":"string","enum":["✅","✔️","☑️","📥","📩","📤","👍","🙌","🤝","👌","❤️"]},"minItems":1,"description":"The emojis that will handover the chat back to the agent."},"status":{"type":"boolean","description":"Whether the reaction takeover is enabled."}},"required":["handoverEmojis","status"],"description":"The reaction-based takeover policy configured for the channel."},"splitLongerMessages":{"type":"boolean","description":"Weather longer messages should be split when delivering them to the connected Instagram account."},"type":{"type":"string","enum":["instagram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","reactionTakeover","splitLongerMessages","type"]},{"type":"object","properties":{"connectionId":{"type":"string","nullable":true,"format":"uuid","description":"The backing connection ID used by this channel, when one exists."},"splitLongerMessages":{"type":"boolean","description":"Whether longer messages should be split when delivering them to the connected Telegram account."},"type":{"type":"string","enum":["telegram"],"description":"The channel subtype represented by this detail payload."}},"required":["connectionId","splitLongerMessages","type"]}]},"maxAssistantMessagesPerChatOwner":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the channel."},"prompt":{"type":"string","nullable":true,"minLength":3,"maxLength":500,"description":"A prompt to be passed down to the agent in the context of this channel."},"responderId":{"type":"string","nullable":true,"format":"uuid","description":"The super identity of the responder (agents or squads) of the channel"},"showSenderName":{"type":"boolean","description":"Whether to display sender names in chat messages."},"status":{"type":"string","enum":["active","inactive"],"description":"The lifecycle status of the channel."},"useVoice":{"type":"string","enum":["on-audio/without-transcription","on-audio/with-transcription","always/without-transcription","always/with-transcription","never"],"description":"The voice behavior mode configured for the channel."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the channel."}},"required":["createdAt","id","isRemoved","updatedAt","delay","description","detail","maxAssistantMessagesPerChatOwner","name","prompt","responderId","showSenderName","status","useVoice","workspaceId"]}}}},"400":{"description":"Invalid data provided.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"404":{"description":"Channel not found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```
