> 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"],"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"]}]},"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"],"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"]}]},"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"],"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"]}]},"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"],"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"]}]},"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"],"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"]}]},"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"],"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"]}]},"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."}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.zaia.app/documentation/api-reference-alpha/reference/channels.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
