# Channel

{% hint style="info" %}
**API SUBPATH**: eva-channel
{% endhint %}

### Pagination and Listings

## GET /org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/{pageName}

> Retrieves all existing channels of bot

```json
{"openapi":"3.0.1","info":{"title":"eva-channel API Documentation","version":"4.8.0"},"tags":[{"name":"channels","description":"Management for finding, creating and removing Channels"}],"paths":{"/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/{pageName}":{"get":{"tags":["channels"],"summary":"Retrieves all existing channels of bot","operationId":"channelsOfBot","parameters":[{"name":"orgUUID","in":"path","description":"A valid organization Uuid","required":true,"schema":{"type":"string"}},{"name":"envUUID","in":"path","description":"A valid environment Uuid","required":true,"schema":{"type":"string"}},{"name":"botUUID","in":"path","description":"A valid bot Uuid","required":true,"schema":{"type":"string"}},{"name":"pageName","in":"path","description":"This parameter is a condition to return the channel All. Parameter that filters the channel all, when its value is 'channels' the channel all will not be returned","required":true,"schema":{"type":"string"}},{"name":"x-request-id","in":"header","description":"It is an identifier provided by the API client that will be used to identify distributed logs.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ChannelListDTO"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"408":{"description":"Request Timeout","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ValidationError"},{"$ref":"#/components/schemas/StandardError"}]}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}}}}}},"components":{"schemas":{"ChannelListDTO":{"type":"object","properties":{"data":{"type":"array","description":"List of bot's channel","items":{"$ref":"#/components/schemas/ChannelListDataDTO"}}},"description":"Response to get channels of the bot"},"ChannelListDataDTO":{"type":"object","properties":{"uuid":{"type":"string","description":"Channel's uuid"},"name":{"type":"string","description":"Channel's name"},"description":{"type":"string","description":"Channel's description"},"channelType":{"$ref":"#/components/schemas/ChannelTypeDTO"},"createdAt":{"type":"string","description":"Channel's date of creation"},"deletable":{"type":"boolean","description":"Boolean if it's deletable or not"}},"description":"Data returned of a bot's channel in the list"},"ChannelTypeDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Type's id","format":"int64"},"name":{"type":"string","description":"Type's name"},"image":{"type":"string","description":"Type's image","deprecated":true},"imageName":{"type":"string","description":"Type's image name"},"channelClassification":{"$ref":"#/components/schemas/ChannelClassificationDTO"}},"description":"Information about the channel's type"},"ChannelClassificationDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Classification's id","format":"int64"},"name":{"type":"string","description":"Classification's name"}},"description":"Information about the channel's classification"},"StandardError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"}}},"ValidationError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/FieldMessage"}}}},"FieldMessage":{"type":"object","properties":{"fieldName":{"type":"string"},"message":{"type":"string"},"errorCode":{"type":"string"}}}}}}
```

## GET /org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels

> Retrieves all existing channels of bot in pagination

```json
{"openapi":"3.0.1","info":{"title":"eva-channel API Documentation","version":"4.8.0"},"tags":[{"name":"channels","description":"Management for finding, creating and removing Channels"}],"paths":{"/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels":{"get":{"tags":["channels"],"summary":"Retrieves all existing channels of bot in pagination","operationId":"page","parameters":[{"name":"orgUUID","in":"path","description":"A valid organization Uuid","required":true,"schema":{"type":"string"}},{"name":"envUUID","in":"path","description":"A valid environment Uuid","required":true,"schema":{"type":"string"}},{"name":"botUUID","in":"path","description":"A valid bot Uuid","required":true,"schema":{"type":"string"}},{"name":"x-request-id","in":"header","description":"It is an identifier provided by the API client that will be used to identify distributed logs.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"It is the number of pages that will be returned, default value 0","required":true,"schema":{"type":"integer","format":"int32","default":0}},{"name":"linesPerPage","in":"query","description":"It is the number of channels per page, default value 5","required":true,"schema":{"type":"integer","format":"int32","default":5}},{"name":"orderBy","in":"query","description":"It is the channel attribute used for ordination the page, default attribute name","required":true,"schema":{"type":"string","default":"createdAt"}},{"name":"direction","in":"query","description":"It is the sorting type, default value DESC","required":true,"schema":{"type":"string","default":"DESC"}}],"responses":{"200":{"description":"Ok","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageChannelListDataDTO"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"408":{"description":"Request Timeout","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ValidationError"},{"$ref":"#/components/schemas/StandardError"}]}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}}}}}},"components":{"schemas":{"PageChannelListDataDTO":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"numberOfElements":{"type":"integer","format":"int32"},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/ChannelListDataDTO"}},"number":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"empty":{"type":"boolean"}}},"PageableObject":{"type":"object","properties":{"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"unpaged":{"type":"boolean"},"offset":{"type":"integer","format":"int64"},"sort":{"$ref":"#/components/schemas/SortObject"}}},"SortObject":{"type":"object","properties":{"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"},"empty":{"type":"boolean"}}},"ChannelListDataDTO":{"type":"object","properties":{"uuid":{"type":"string","description":"Channel's uuid"},"name":{"type":"string","description":"Channel's name"},"description":{"type":"string","description":"Channel's description"},"channelType":{"$ref":"#/components/schemas/ChannelTypeDTO"},"createdAt":{"type":"string","description":"Channel's date of creation"},"deletable":{"type":"boolean","description":"Boolean if it's deletable or not"}},"description":"Data returned of a bot's channel in the list"},"ChannelTypeDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Type's id","format":"int64"},"name":{"type":"string","description":"Type's name"},"image":{"type":"string","description":"Type's image","deprecated":true},"imageName":{"type":"string","description":"Type's image name"},"channelClassification":{"$ref":"#/components/schemas/ChannelClassificationDTO"}},"description":"Information about the channel's type"},"ChannelClassificationDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Classification's id","format":"int64"},"name":{"type":"string","description":"Classification's name"}},"description":"Information about the channel's classification"},"StandardError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"}}},"ValidationError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/FieldMessage"}}}},"FieldMessage":{"type":"object","properties":{"fieldName":{"type":"string"},"message":{"type":"string"},"errorCode":{"type":"string"}}}}}}
```

{% openapi src="/files/DLJjeKKrGUlECtFdnz6t" path="/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/dashboard" method="get" %}
[eva-channel-4.7.0.yaml](https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2Fx8xaOwj7iOoo1Uv2OmOQ%2Feva-channel-4.7.0.yaml?alt=media\&token=cab6a624-1860-4bc8-b44c-c25ab16c4b6b)
{% endopenapi %}

{% hint style="info" %}
Because both the listing at the flow tree and the pagination persist in the screen for a long period of time, the listing methods retrieve full information and should be locally stored to handle their data, rather than continuously requesting for each channel's data on a nominal GET info method.
{% endhint %}

### CRUD Operation

## POST /org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels

> Endpoint responsible to create a new channel in bot

```json
{"openapi":"3.0.1","info":{"title":"eva-channel API Documentation","version":"4.8.0"},"tags":[{"name":"channels","description":"Management for finding, creating and removing Channels"}],"paths":{"/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels":{"post":{"tags":["channels"],"summary":"Endpoint responsible to create a new channel in bot","operationId":"insert","parameters":[{"name":"orgUUID","in":"path","description":"It is the organization uuid where the bot is.","required":true,"schema":{"type":"string"}},{"name":"envUUID","in":"path","description":"It is the environment uuid where the bot is.","required":true,"schema":{"type":"string"}},{"name":"botUUID","in":"path","description":"It is the identification of the bot.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelInsertRequestDTO"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ChannelDataDTO"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"408":{"description":"Request Timeout","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ValidationError"},{"$ref":"#/components/schemas/StandardError"}]}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}}}}}},"components":{"schemas":{"ChannelInsertRequestDTO":{"required":["name","typeId"],"type":"object","properties":{"name":{"maxLength":45,"type":"string","description":"Name of the channel"},"description":{"maxLength":200,"type":"string","description":"Description of the channel"},"typeId":{"type":"integer","description":"Type of the channel. Types: 1 - Amazon Echo, 2 - Google Home, 5 - Alexa, 6 - Cortana, 7 - Google Assistant, 8 - Siri, 9 - Facebook Messenger, 10 - RCS, 11 - SMS, 12 - Skype, 13 - Augmented Reality, 17 - Phone, 18 - Virtual Reality, 19 - Web, 20 - Web Mobile, 21 - App Mobile, 22 - WhatsApp, 24 - Skype for Business, 25 - Telegram, 26 - X, 27 - Infobip, 33 - Apple Business Chat, 34 - Microsoft Teams, 35 - Wechat, 36 - Kakao, 37 - Line, 38 - Instagram, 39 - Amazon Connect, 40 - Genesys, 41 - Odigo, 42 - Twillio, 43 - Infobip Conversations, 44 - Naka, 45 - Digital Humans, 46 - Slack","format":"int64"},"ivrConfiguration":{"$ref":"#/components/schemas/IvrConfigurationDTO"},"ivrType":{"type":"boolean"}},"description":"DTO received to insert a channel with name, description and typeId"},"IvrConfigurationDTO":{"required":["dnis","vendor"],"type":"object","properties":{"vendor":{"maxLength":14,"pattern":"EVG|VXML","type":"string","description":"Type of ivr, e.g. EVG and VXML."},"dnis":{"type":"string","description":"Number where the call was received. This is usually the local call center number."},"secret":{"type":"string","description":"Authentication key for the IVR."},"fetchData":{"$ref":"#/components/schemas/FetchDataDTO"},"transferCall":{"$ref":"#/components/schemas/TransferCallDTO"},"defaultErrorHandling":{"$ref":"#/components/schemas/ErrorHandlingDTO"},"callEstablishmentErrorHandling":{"$ref":"#/components/schemas/ErrorHandlingDTO"},"settings":{"$ref":"#/components/schemas/SettingsDTO"},"ttsAudioConfiguration":{"$ref":"#/components/schemas/TtsAudioConfigurationDTO"},"dtmfMenu":{"$ref":"#/components/schemas/DtmfMenuDTO"},"voiceMenu":{"$ref":"#/components/schemas/VoiceMenuDTO"},"vxml":{"type":"boolean"},"evg":{"type":"boolean"},"secretSizeValid":{"type":"boolean"}},"description":"IVR Configuration"},"FetchDataDTO":{"required":["audio","timeoutInterval"],"type":"object","properties":{"timeoutInterval":{"maximum":60000,"minimum":10,"type":"integer","description":"The default amount of time in milliseconds the IVR will wait for a page/json fetch.","format":"int64","default":45000},"audio":{"$ref":"#/components/schemas/AudioDTO"}},"description":"Fetch data"},"AudioDTO":{"type":"object","properties":{"url":{"maxLength":2048,"type":"string","description":"The path to the default audio file to be used during IVR platform fetch events."},"delay":{"maximum":60000,"minimum":0,"type":"integer","description":"The default value for the fetch audio delay","format":"int64","default":0},"minimum":{"maximum":60000,"minimum":0,"type":"integer","description":"The minimum time in milliseconds to play a fetch audio source","format":"int64","default":0},"interval":{"maximum":60000,"minimum":0,"type":"integer","description":"Controls the time interval between fetch audio loops","format":"int64","default":0}},"description":"The audio configuration for fetch events"},"TransferCallDTO":{"type":"object","properties":{"uui":{"maxLength":4096,"type":"string","description":"A custom message that will be transferred along with the call via the user-to-user SIP header. We recommend to use a hexadecimal encoding."},"destination":{"maxLength":4096,"type":"string","description":"Call destination, where it will be transferred to. You can declare it as sip or tel."}},"description":"Transfer call"},"ErrorHandlingDTO":{"required":["transferOnError"],"type":"object","properties":{"transferOnError":{"type":"boolean","description":"When set to true the call will be transferred after the message is played, when set to false or when the property is not specified the call will be terminated after the message. To make the call transfer we will use the default transfer settings."},"audio":{"$ref":"#/components/schemas/AudioDTO"},"tts":{"maxLength":4096,"type":"string","description":"The field content will be synthesized by the IVR, you can fill it with free text or with an SSML."},"transferCall":{"$ref":"#/components/schemas/TransferCallDTO"}},"description":"Call establishment error handling"},"SettingsDTO":{"required":["conversationTimeout","firstConversationRequest","maxCallDuration","regionalExpressionsFileUrl","sendPostCallEvents","welcomeTimeout"],"type":"object","properties":{"firstConversationRequest":{"maximum":4096,"type":"object","description":"If you want to start the conversation with a different flow, fill in this field.","oneOf":[{"$ref":"#/components/schemas/ConversationRequestDTO"}],"default":{"text":"","code":"%EVA_WELCOME_MSG","context":{}}},"conversationTimeout":{"maximum":300000,"minimum":10,"type":"integer","description":"Maximum waiting time for eva response.","format":"int64","default":40000},"sendPostCallEvents":{"type":"boolean","description":"Sends messages to eva such as: user disconnected.","default":true},"regionalExpressionsFileUrl":{"maxLength":2048,"type":"string","description":"This property gives a contextual understanding of expressions and words variations. For example, in English it's common to say O (letter) instead of zero when giving a phone number. To help the STT intelligence understand this is the number 0 and not a letter, you can use a JSON file that gathers all 'Regional Expressions'"},"welcomeTimeout":{"maximum":300000,"minimum":10,"type":"integer","description":"Maximum waiting time for eva response the welcome flow.","format":"int64","default":40000},"maxCallDuration":{"maximum":1800000,"minimum":1000,"type":"integer","description":"Maximum temple that a call can be active, property used to counter loop errors.","format":"int64","default":300000}},"description":"Settings for the first conversation request"},"ConversationRequestDTO":{"type":"object","properties":{"text":{"type":"string","description":"The user's input text"},"code":{"type":"string","description":"A code used to trigger specific conversation flows"},"intent":{"type":"string","description":"The recognized intent from the user's input"},"confidence":{"type":"number","description":"The confidence score of the recognized intent","format":"double"},"entities":{"type":"object","additionalProperties":{"type":"object","description":"Entities extracted from the user's input"},"description":"Entities extracted from the user's input"},"context":{"type":"object","additionalProperties":{"type":"object","description":"Contextual information relevant to the conversation"},"description":"Contextual information relevant to the conversation"}},"description":"Represents a request to initiate or continue a conversation with a bot."},"TtsAudioConfigurationDTO":{"required":["bargeIn","bargeInOffset","flush","mask","time","tts","voiceBargeIn"],"type":"object","properties":{"mask":{"maxLength":4096,"type":"string","description":"In the example above, we used a mask with the variable $TEXT to replace with the content you have written in the text template, so you don't have to repeat it in the xml. If the content of the answer is an xml starting with \"<speak\" the default xml won't be used."},"tts":{"$ref":"#/components/schemas/TtsVoiceProviderDTO"},"flush":{"type":"boolean","description":"Whether the audio should be flushed or just queued.","default":false},"bargeIn":{"type":"boolean","description":"Allows users to interrupt an audio using a DTMF keypad input. For ex., in a menu audio, the user wouldn't have to wait all the options to finally be able to choose.","default":false},"voiceBargeIn":{"type":"boolean","description":"Whether the audio should be flushed or just queued.","default":false},"bargeInOffset":{"maximum":300000,"minimum":0,"type":"integer","description":"This configuration allows users to interact with the IVR from a specific point in the audio. For ex., if you set the value 300ms, this means that the user will be able to interact with the IVR when it is 300 milliseconds before the audio stops playing.","format":"int64"},"time":{"maximum":45000,"type":"integer","description":"Silence duration in milliseconds. Maximum value accepted is 45.000 ms.","format":"int32"}},"description":"Text-to-speech audio configuration"},"TtsVoiceProviderDTO":{"required":["voiceProvider","voiceProviderConfig"],"type":"object","properties":{"voiceProvider":{"pattern":"NONE|MICROSOFT|MICROSOFT_BY_SYNTPHONY|CISCO_GOOGLE|GOOGLE|AZURE_WHISPER","type":"string","description":"ASR Provider Name. So far, only the 'MICROSOFT', 'MICROSOFT_BY_SYNTPHONY', 'GOOGLE_CISCO', 'GOOGLE' and 'AZURE_WHISPER' value are supported."},"voiceProviderConfig":{"type":"object","description":"Credentials to access provider.","oneOf":[{"$ref":"#/components/schemas/MicrosoftProviderDTO"},{"$ref":"#/components/schemas/MicrosoftProviderBySyntphonyDTO"},{"$ref":"#/components/schemas/TtsCiscoGoogleProviderDTO"},{"$ref":"#/components/schemas/GoogleProviderDTO"}]}},"description":"TTS provider information"},"MicrosoftProviderDTO":{"required":["language","region","subscriptionKey"],"type":"object","properties":{"language":{"type":"string","description":"Language code used for speech recognition (e.g., en-US)"},"nativeLogFile":{"type":"string","description":"Optional path to a native log file for debugging or auditing"},"disableCrlCheck":{"type":"boolean","description":"Flag to disable CRL (Certificate Revocation List) check for secure connections"},"region":{"type":"string","description":"Azure region where the Microsoft ASR service is hosted"},"subscriptionKey":{"type":"string","description":"Subscription key for accessing the Microsoft ASR service"}},"description":"Represents the configuration settings for using Microsoft's Automatic Speech Recognition (ASR) service."},"MicrosoftProviderBySyntphonyDTO":{"required":["language"],"type":"object","properties":{"language":{"type":"string","description":"Language code used for speech recognition (e.g., en-US)"},"nativeLogFile":{"type":"string","description":"Optional path to a native log file for debugging or auditing"},"disableCrlCheck":{"type":"boolean","description":"Flag to disable CRL (Certificate Revocation List) check for secure connections"}},"description":"Represents the configuration settings for using Microsoft's Automatic Speech Recognition (ASR) service."},"TtsCiscoGoogleProviderDTO":{"required":["language","voiceName"],"type":"object","properties":{"cache":{"type":"boolean","description":"Indicates whether the TTS output should be cached"},"voiceName":{"type":"string","description":"Name of the voice to be used for TTS synthesis"},"language":{"type":"string","description":"Language code used for TTS synthesis (e.g., en-US)"}},"description":"Represents the configuration for using Cisco or Google as the Text-to-Speech (TTS) provider."},"GoogleProviderDTO":{"required":["credential","languageCode","location","projectName","recognizerModel","recognizerName","speechEndpoint"],"type":"object","properties":{"projectName":{"type":"string"},"location":{"type":"string"},"recognizerName":{"type":"string"},"recognizerModel":{"type":"string"},"languageCode":{"type":"string"},"speechEndpoint":{"type":"string"},"credential":{"type":"string"}}},"DtmfMenuDTO":{"required":["interdigitTimeout","numberOfDigits","terminationTimeout","timeoutInterval"],"type":"object","properties":{"interdigitTimeout":{"maximum":60000,"minimum":0,"type":"integer","description":"Inter-digit timeout in milliseconds for the user to enter a DTMF input.","format":"int32","default":5000},"numberOfDigits":{"maximum":100,"minimum":1,"type":"integer","description":"Numbers of digits to be captured.","format":"int32","default":1},"timeoutInterval":{"maximum":60000,"minimum":1,"type":"integer","description":"Pause timeout in milliseconds for the user to send an input (DTMF or speech).","format":"int32","default":15000},"terminationTimeout":{"maximum":60000,"minimum":1,"type":"integer","description":"Timeout in milliseconds since the user's last input (DTMF or speech) before terminating the call.","format":"int32","default":2500},"terminationCharacter":{"pattern":"^[0-9*# ]*$|^NONE$","type":"string","description":"Character indicating when the DTMF input has finished. Defaults to #.","default":"#"}},"description":"DTMF menu configuration"},"VoiceMenuDTO":{"required":["asr","confidence","incompleteTimeout","maxSpeechTimeout","sensitivity","timeoutInterval"],"type":"object","properties":{"timeoutInterval":{"maximum":60000,"minimum":1,"type":"integer","description":"Timeout in milliseconds","format":"int32","default":15000},"sensitivity":{"maximum":1,"minimum":0,"type":"number","description":"Noise reduction sensitivity","format":"double","default":0.25},"confidence":{"maximum":1,"minimum":0,"type":"number","description":"The speech recognition confidence level","format":"double","default":0.6},"maxSpeechTimeout":{"maximum":300000,"minimum":0,"type":"integer","description":"The maximum duration of user speech","format":"int32","default":20000},"incompleteTimeout":{"maximum":60000,"minimum":10,"type":"integer","description":"Timeout in milliseconds the IVR will wait for a page/json fetch","format":"int32","default":20000},"asr":{"$ref":"#/components/schemas/AsrVoiceProviderDTO"}},"description":"Voice menu configuration"},"AsrVoiceProviderDTO":{"required":["voiceProvider","voiceProviderConfig"],"type":"object","properties":{"voiceProvider":{"pattern":"NONE|MICROSOFT|MICROSOFT_BY_SYNTPHONY|CISCO_GOOGLE|GOOGLE|AZURE_WHISPER","type":"string","description":"ASR Provider Name. So far, only the 'MICROSOFT', 'MICROSOFT_BY_SYNTPHONY', 'GOOGLE_CISCO', 'GOOGLE' and 'AZURE_WHISPER' value are supported."},"voiceProviderConfig":{"type":"object","description":"Credentials to access provider.","oneOf":[{"$ref":"#/components/schemas/MicrosoftProviderDTO"},{"$ref":"#/components/schemas/MicrosoftProviderBySyntphonyDTO"},{"$ref":"#/components/schemas/AsrCiscoGoogleProviderDTO"},{"$ref":"#/components/schemas/GoogleProviderDTO"},{"$ref":"#/components/schemas/AzureWhisperProviderDTO"}]}},"description":"ASR provider information"},"AsrCiscoGoogleProviderDTO":{"required":["language"],"type":"object","properties":{"language":{"type":"string","description":"Language code used for speech recognition (e.g., en-US)"}},"description":"Represents the configuration for using Cisco or Google as the Automatic Speech Recognition (ASR) provider."},"AzureWhisperProviderDTO":{"required":["azureOpenAIEndpoint","azureOpenAIKey","gptDeployment","languageCode","prompt","whisperDeployment"],"type":"object","properties":{"azureOpenAIKey":{"type":"string"},"azureOpenAIEndpoint":{"type":"string"},"gptDeployment":{"type":"string"},"whisperDeployment":{"type":"string"},"languageCode":{"type":"string"},"prompt":{"type":"string"}}},"ChannelDataDTO":{"type":"object","properties":{"uuid":{"type":"string","description":"Channel's uuid"},"botUuid":{"type":"string","description":"Channel's uuid of bot"},"name":{"type":"string","description":"Channel's name"},"description":{"type":"string","description":"Channel's description"},"channelType":{"$ref":"#/components/schemas/ChannelTypeDTO"},"ivrConfiguration":{"$ref":"#/components/schemas/IvrConfigurationDTO"},"createdAt":{"type":"string","description":"Channel's date of creation","format":"date-time"},"updatedAt":{"type":"string","description":"Channel's date of update","format":"date-time"}},"description":"Data returned of a channel"},"ChannelTypeDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Type's id","format":"int64"},"name":{"type":"string","description":"Type's name"},"image":{"type":"string","description":"Type's image","deprecated":true},"imageName":{"type":"string","description":"Type's image name"},"channelClassification":{"$ref":"#/components/schemas/ChannelClassificationDTO"}},"description":"Information about the channel's type"},"ChannelClassificationDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Classification's id","format":"int64"},"name":{"type":"string","description":"Classification's name"}},"description":"Information about the channel's classification"},"StandardError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"}}},"ValidationError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/FieldMessage"}}}},"FieldMessage":{"type":"object","properties":{"fieldName":{"type":"string"},"message":{"type":"string"},"errorCode":{"type":"string"}}}}}}
```

{% openapi src="/files/DLJjeKKrGUlECtFdnz6t" path="/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/{channelUUID}/view" method="get" %}
[eva-channel-4.7.0.yaml](https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2Fx8xaOwj7iOoo1Uv2OmOQ%2Feva-channel-4.7.0.yaml?alt=media\&token=cab6a624-1860-4bc8-b44c-c25ab16c4b6b)
{% endopenapi %}

## PUT /org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/{channelUUID}

> Update all channels associated with a object referenced within ChannelUpdatedDTO and channelUUID.

```json
{"openapi":"3.0.1","info":{"title":"eva-channel API Documentation","version":"4.8.0"},"tags":[{"name":"channels","description":"Management for finding, creating and removing Channels"}],"paths":{"/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/{channelUUID}":{"put":{"tags":["channels"],"summary":"Update all channels associated with a object referenced within ChannelUpdatedDTO and channelUUID.","operationId":"update","parameters":[{"name":"orgUUID","in":"path","description":"A valid organization Uuid","required":true,"schema":{"type":"string"}},{"name":"envUUID","in":"path","description":"A valid environment Uuid","required":true,"schema":{"type":"string"}},{"name":"botUUID","in":"path","description":"A valid bot Uuid","required":true,"schema":{"type":"string"}},{"name":"channelUUID","in":"path","description":"A valid channel uuid for update","required":true,"schema":{"type":"string"}},{"name":"x-request-id","in":"header","description":"It is an identifier provided by the API client that will be used to identify distributed logs.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelUpdateRequestDTO"}}},"required":true},"responses":{"200":{"description":"Ok","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ChannelUpdatedDTO"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"408":{"description":"Request Timeout","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ValidationError"},{"$ref":"#/components/schemas/StandardError"}]}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}}}}}},"components":{"schemas":{"ChannelUpdateRequestDTO":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the channel"},"description":{"type":"string","description":"Description of the channel"},"ivrConfiguration":{"$ref":"#/components/schemas/IvrConfigurationDTO"}},"description":"A body containing a List of ChannelUpdatedDTO. Refer to the model for instructions on how to build them."},"IvrConfigurationDTO":{"required":["dnis","vendor"],"type":"object","properties":{"vendor":{"maxLength":14,"pattern":"EVG|VXML","type":"string","description":"Type of ivr, e.g. EVG and VXML."},"dnis":{"type":"string","description":"Number where the call was received. This is usually the local call center number."},"secret":{"type":"string","description":"Authentication key for the IVR."},"fetchData":{"$ref":"#/components/schemas/FetchDataDTO"},"transferCall":{"$ref":"#/components/schemas/TransferCallDTO"},"defaultErrorHandling":{"$ref":"#/components/schemas/ErrorHandlingDTO"},"callEstablishmentErrorHandling":{"$ref":"#/components/schemas/ErrorHandlingDTO"},"settings":{"$ref":"#/components/schemas/SettingsDTO"},"ttsAudioConfiguration":{"$ref":"#/components/schemas/TtsAudioConfigurationDTO"},"dtmfMenu":{"$ref":"#/components/schemas/DtmfMenuDTO"},"voiceMenu":{"$ref":"#/components/schemas/VoiceMenuDTO"},"vxml":{"type":"boolean"},"evg":{"type":"boolean"},"secretSizeValid":{"type":"boolean"}},"description":"IVR Configuration"},"FetchDataDTO":{"required":["audio","timeoutInterval"],"type":"object","properties":{"timeoutInterval":{"maximum":60000,"minimum":10,"type":"integer","description":"The default amount of time in milliseconds the IVR will wait for a page/json fetch.","format":"int64","default":45000},"audio":{"$ref":"#/components/schemas/AudioDTO"}},"description":"Fetch data"},"AudioDTO":{"type":"object","properties":{"url":{"maxLength":2048,"type":"string","description":"The path to the default audio file to be used during IVR platform fetch events."},"delay":{"maximum":60000,"minimum":0,"type":"integer","description":"The default value for the fetch audio delay","format":"int64","default":0},"minimum":{"maximum":60000,"minimum":0,"type":"integer","description":"The minimum time in milliseconds to play a fetch audio source","format":"int64","default":0},"interval":{"maximum":60000,"minimum":0,"type":"integer","description":"Controls the time interval between fetch audio loops","format":"int64","default":0}},"description":"The audio configuration for fetch events"},"TransferCallDTO":{"type":"object","properties":{"uui":{"maxLength":4096,"type":"string","description":"A custom message that will be transferred along with the call via the user-to-user SIP header. We recommend to use a hexadecimal encoding."},"destination":{"maxLength":4096,"type":"string","description":"Call destination, where it will be transferred to. You can declare it as sip or tel."}},"description":"Transfer call"},"ErrorHandlingDTO":{"required":["transferOnError"],"type":"object","properties":{"transferOnError":{"type":"boolean","description":"When set to true the call will be transferred after the message is played, when set to false or when the property is not specified the call will be terminated after the message. To make the call transfer we will use the default transfer settings."},"audio":{"$ref":"#/components/schemas/AudioDTO"},"tts":{"maxLength":4096,"type":"string","description":"The field content will be synthesized by the IVR, you can fill it with free text or with an SSML."},"transferCall":{"$ref":"#/components/schemas/TransferCallDTO"}},"description":"Call establishment error handling"},"SettingsDTO":{"required":["conversationTimeout","firstConversationRequest","maxCallDuration","regionalExpressionsFileUrl","sendPostCallEvents","welcomeTimeout"],"type":"object","properties":{"firstConversationRequest":{"maximum":4096,"type":"object","description":"If you want to start the conversation with a different flow, fill in this field.","oneOf":[{"$ref":"#/components/schemas/ConversationRequestDTO"}],"default":{"text":"","code":"%EVA_WELCOME_MSG","context":{}}},"conversationTimeout":{"maximum":300000,"minimum":10,"type":"integer","description":"Maximum waiting time for eva response.","format":"int64","default":40000},"sendPostCallEvents":{"type":"boolean","description":"Sends messages to eva such as: user disconnected.","default":true},"regionalExpressionsFileUrl":{"maxLength":2048,"type":"string","description":"This property gives a contextual understanding of expressions and words variations. For example, in English it's common to say O (letter) instead of zero when giving a phone number. To help the STT intelligence understand this is the number 0 and not a letter, you can use a JSON file that gathers all 'Regional Expressions'"},"welcomeTimeout":{"maximum":300000,"minimum":10,"type":"integer","description":"Maximum waiting time for eva response the welcome flow.","format":"int64","default":40000},"maxCallDuration":{"maximum":1800000,"minimum":1000,"type":"integer","description":"Maximum temple that a call can be active, property used to counter loop errors.","format":"int64","default":300000}},"description":"Settings for the first conversation request"},"ConversationRequestDTO":{"type":"object","properties":{"text":{"type":"string","description":"The user's input text"},"code":{"type":"string","description":"A code used to trigger specific conversation flows"},"intent":{"type":"string","description":"The recognized intent from the user's input"},"confidence":{"type":"number","description":"The confidence score of the recognized intent","format":"double"},"entities":{"type":"object","additionalProperties":{"type":"object","description":"Entities extracted from the user's input"},"description":"Entities extracted from the user's input"},"context":{"type":"object","additionalProperties":{"type":"object","description":"Contextual information relevant to the conversation"},"description":"Contextual information relevant to the conversation"}},"description":"Represents a request to initiate or continue a conversation with a bot."},"TtsAudioConfigurationDTO":{"required":["bargeIn","bargeInOffset","flush","mask","time","tts","voiceBargeIn"],"type":"object","properties":{"mask":{"maxLength":4096,"type":"string","description":"In the example above, we used a mask with the variable $TEXT to replace with the content you have written in the text template, so you don't have to repeat it in the xml. If the content of the answer is an xml starting with \"<speak\" the default xml won't be used."},"tts":{"$ref":"#/components/schemas/TtsVoiceProviderDTO"},"flush":{"type":"boolean","description":"Whether the audio should be flushed or just queued.","default":false},"bargeIn":{"type":"boolean","description":"Allows users to interrupt an audio using a DTMF keypad input. For ex., in a menu audio, the user wouldn't have to wait all the options to finally be able to choose.","default":false},"voiceBargeIn":{"type":"boolean","description":"Whether the audio should be flushed or just queued.","default":false},"bargeInOffset":{"maximum":300000,"minimum":0,"type":"integer","description":"This configuration allows users to interact with the IVR from a specific point in the audio. For ex., if you set the value 300ms, this means that the user will be able to interact with the IVR when it is 300 milliseconds before the audio stops playing.","format":"int64"},"time":{"maximum":45000,"type":"integer","description":"Silence duration in milliseconds. Maximum value accepted is 45.000 ms.","format":"int32"}},"description":"Text-to-speech audio configuration"},"TtsVoiceProviderDTO":{"required":["voiceProvider","voiceProviderConfig"],"type":"object","properties":{"voiceProvider":{"pattern":"NONE|MICROSOFT|MICROSOFT_BY_SYNTPHONY|CISCO_GOOGLE|GOOGLE|AZURE_WHISPER","type":"string","description":"ASR Provider Name. So far, only the 'MICROSOFT', 'MICROSOFT_BY_SYNTPHONY', 'GOOGLE_CISCO', 'GOOGLE' and 'AZURE_WHISPER' value are supported."},"voiceProviderConfig":{"type":"object","description":"Credentials to access provider.","oneOf":[{"$ref":"#/components/schemas/MicrosoftProviderDTO"},{"$ref":"#/components/schemas/MicrosoftProviderBySyntphonyDTO"},{"$ref":"#/components/schemas/TtsCiscoGoogleProviderDTO"},{"$ref":"#/components/schemas/GoogleProviderDTO"}]}},"description":"TTS provider information"},"MicrosoftProviderDTO":{"required":["language","region","subscriptionKey"],"type":"object","properties":{"language":{"type":"string","description":"Language code used for speech recognition (e.g., en-US)"},"nativeLogFile":{"type":"string","description":"Optional path to a native log file for debugging or auditing"},"disableCrlCheck":{"type":"boolean","description":"Flag to disable CRL (Certificate Revocation List) check for secure connections"},"region":{"type":"string","description":"Azure region where the Microsoft ASR service is hosted"},"subscriptionKey":{"type":"string","description":"Subscription key for accessing the Microsoft ASR service"}},"description":"Represents the configuration settings for using Microsoft's Automatic Speech Recognition (ASR) service."},"MicrosoftProviderBySyntphonyDTO":{"required":["language"],"type":"object","properties":{"language":{"type":"string","description":"Language code used for speech recognition (e.g., en-US)"},"nativeLogFile":{"type":"string","description":"Optional path to a native log file for debugging or auditing"},"disableCrlCheck":{"type":"boolean","description":"Flag to disable CRL (Certificate Revocation List) check for secure connections"}},"description":"Represents the configuration settings for using Microsoft's Automatic Speech Recognition (ASR) service."},"TtsCiscoGoogleProviderDTO":{"required":["language","voiceName"],"type":"object","properties":{"cache":{"type":"boolean","description":"Indicates whether the TTS output should be cached"},"voiceName":{"type":"string","description":"Name of the voice to be used for TTS synthesis"},"language":{"type":"string","description":"Language code used for TTS synthesis (e.g., en-US)"}},"description":"Represents the configuration for using Cisco or Google as the Text-to-Speech (TTS) provider."},"GoogleProviderDTO":{"required":["credential","languageCode","location","projectName","recognizerModel","recognizerName","speechEndpoint"],"type":"object","properties":{"projectName":{"type":"string"},"location":{"type":"string"},"recognizerName":{"type":"string"},"recognizerModel":{"type":"string"},"languageCode":{"type":"string"},"speechEndpoint":{"type":"string"},"credential":{"type":"string"}}},"DtmfMenuDTO":{"required":["interdigitTimeout","numberOfDigits","terminationTimeout","timeoutInterval"],"type":"object","properties":{"interdigitTimeout":{"maximum":60000,"minimum":0,"type":"integer","description":"Inter-digit timeout in milliseconds for the user to enter a DTMF input.","format":"int32","default":5000},"numberOfDigits":{"maximum":100,"minimum":1,"type":"integer","description":"Numbers of digits to be captured.","format":"int32","default":1},"timeoutInterval":{"maximum":60000,"minimum":1,"type":"integer","description":"Pause timeout in milliseconds for the user to send an input (DTMF or speech).","format":"int32","default":15000},"terminationTimeout":{"maximum":60000,"minimum":1,"type":"integer","description":"Timeout in milliseconds since the user's last input (DTMF or speech) before terminating the call.","format":"int32","default":2500},"terminationCharacter":{"pattern":"^[0-9*# ]*$|^NONE$","type":"string","description":"Character indicating when the DTMF input has finished. Defaults to #.","default":"#"}},"description":"DTMF menu configuration"},"VoiceMenuDTO":{"required":["asr","confidence","incompleteTimeout","maxSpeechTimeout","sensitivity","timeoutInterval"],"type":"object","properties":{"timeoutInterval":{"maximum":60000,"minimum":1,"type":"integer","description":"Timeout in milliseconds","format":"int32","default":15000},"sensitivity":{"maximum":1,"minimum":0,"type":"number","description":"Noise reduction sensitivity","format":"double","default":0.25},"confidence":{"maximum":1,"minimum":0,"type":"number","description":"The speech recognition confidence level","format":"double","default":0.6},"maxSpeechTimeout":{"maximum":300000,"minimum":0,"type":"integer","description":"The maximum duration of user speech","format":"int32","default":20000},"incompleteTimeout":{"maximum":60000,"minimum":10,"type":"integer","description":"Timeout in milliseconds the IVR will wait for a page/json fetch","format":"int32","default":20000},"asr":{"$ref":"#/components/schemas/AsrVoiceProviderDTO"}},"description":"Voice menu configuration"},"AsrVoiceProviderDTO":{"required":["voiceProvider","voiceProviderConfig"],"type":"object","properties":{"voiceProvider":{"pattern":"NONE|MICROSOFT|MICROSOFT_BY_SYNTPHONY|CISCO_GOOGLE|GOOGLE|AZURE_WHISPER","type":"string","description":"ASR Provider Name. So far, only the 'MICROSOFT', 'MICROSOFT_BY_SYNTPHONY', 'GOOGLE_CISCO', 'GOOGLE' and 'AZURE_WHISPER' value are supported."},"voiceProviderConfig":{"type":"object","description":"Credentials to access provider.","oneOf":[{"$ref":"#/components/schemas/MicrosoftProviderDTO"},{"$ref":"#/components/schemas/MicrosoftProviderBySyntphonyDTO"},{"$ref":"#/components/schemas/AsrCiscoGoogleProviderDTO"},{"$ref":"#/components/schemas/GoogleProviderDTO"},{"$ref":"#/components/schemas/AzureWhisperProviderDTO"}]}},"description":"ASR provider information"},"AsrCiscoGoogleProviderDTO":{"required":["language"],"type":"object","properties":{"language":{"type":"string","description":"Language code used for speech recognition (e.g., en-US)"}},"description":"Represents the configuration for using Cisco or Google as the Automatic Speech Recognition (ASR) provider."},"AzureWhisperProviderDTO":{"required":["azureOpenAIEndpoint","azureOpenAIKey","gptDeployment","languageCode","prompt","whisperDeployment"],"type":"object","properties":{"azureOpenAIKey":{"type":"string"},"azureOpenAIEndpoint":{"type":"string"},"gptDeployment":{"type":"string"},"whisperDeployment":{"type":"string"},"languageCode":{"type":"string"},"prompt":{"type":"string"}}},"ChannelUpdatedDTO":{"type":"object","properties":{"code":{"type":"string","description":"Return the text: 'resource.updated'"},"message":{"type":"string","description":"Return the text: 'This resource is updated'"}},"description":"Response when update succesfully a channel"},"StandardError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"}}},"ValidationError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/FieldMessage"}}}},"FieldMessage":{"type":"object","properties":{"fieldName":{"type":"string"},"message":{"type":"string"},"errorCode":{"type":"string"}}}}}}
```

{% openapi src="/files/DLJjeKKrGUlECtFdnz6t" path="/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/{channelUUID}" method="delete" %}
[eva-channel-4.7.0.yaml](https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2Fx8xaOwj7iOoo1Uv2OmOQ%2Feva-channel-4.7.0.yaml?alt=media\&token=cab6a624-1860-4bc8-b44c-c25ab16c4b6b)
{% endopenapi %}

### Auxiliary Methods

{% openapi src="/files/DLJjeKKrGUlECtFdnz6t" path="/org/{orgUUID}/env/{envUUID}/channels/type" method="get" %}
[eva-channel-4.7.0.yaml](https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2Fx8xaOwj7iOoo1Uv2OmOQ%2Feva-channel-4.7.0.yaml?alt=media\&token=cab6a624-1860-4bc8-b44c-c25ab16c4b6b)
{% endopenapi %}

{% openapi src="/files/DLJjeKKrGUlECtFdnz6t" path="/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/providers" method="get" %}
[eva-channel-4.7.0.yaml](https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2Fx8xaOwj7iOoo1Uv2OmOQ%2Feva-channel-4.7.0.yaml?alt=media\&token=cab6a624-1860-4bc8-b44c-c25ab16c4b6b)
{% endopenapi %}

## Endpoint for validating if a channel already exists with the provided name or DNIS

> This endpoint performs validation based on the request type using corresponding Validator class (ChannelValidator or DnisValidator). It validates if a channel with the provided name or DNIS already exists.

```json
{"openapi":"3.0.1","info":{"title":"eva-channel API Documentation","version":"4.8.0"},"tags":[{"name":"channels","description":"Management for finding, creating and removing Channels"}],"paths":{"/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/validate":{"post":{"tags":["channels"],"summary":"Endpoint for validating if a channel already exists with the provided name or DNIS","description":"This endpoint performs validation based on the request type using corresponding Validator class (ChannelValidator or DnisValidator). It validates if a channel with the provided name or DNIS already exists.","operationId":"validateByNameOrDnis","parameters":[{"name":"orgUUID","in":"path","description":"A valid organization Uuid","required":true,"schema":{"type":"string"}},{"name":"envUUID","in":"path","description":"A valid environment Uuid","required":true,"schema":{"type":"string"}},{"name":"botUUID","in":"path","description":"A valid bot Uuid","required":true,"schema":{"type":"string"}},{"name":"x-request-id","in":"header","description":"It is an identifier provided by the API client that will be used to identify distributed logs.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateDTO"}}},"required":true},"responses":{"204":{"description":"No Content","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ChannelListDTO"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"408":{"description":"Request Timeout","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"409":{"description":"Conflict. A channel with the provided name or DNIS already exists. The 'name' or 'DNIS' value in the message of the response should provide more information.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ValidationError"},{"$ref":"#/components/schemas/StandardError"}]}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}}}}}},"components":{"schemas":{"ValidateDTO":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"Value that will be validated"},"type":{"pattern":"CHANNEL|DNIS|MICROSOFT|MICROSOFT_BY_SYNTPHONY|CISCO_GOOGLE|GOOGLE|AZURE_WHISPER|CONVERSATION","type":"string","description":"Validation type."},"voiceProviderType":{"type":"string","description":"Is required when the type is a vendor: ,'MICROSOFT','MICROSOFT_BY_SYNTPHONY','CISCO_GOOGLE','GOOGLE', 'AZURE_WHISPER', The type must be: 'ASR' or 'TTS'","enum":["ASR","TTS"]},"channelUUID":{"type":"string","description":"Value that will be validated"}}},"ChannelListDTO":{"type":"object","properties":{"data":{"type":"array","description":"List of bot's channel","items":{"$ref":"#/components/schemas/ChannelListDataDTO"}}},"description":"Response to get channels of the bot"},"ChannelListDataDTO":{"type":"object","properties":{"uuid":{"type":"string","description":"Channel's uuid"},"name":{"type":"string","description":"Channel's name"},"description":{"type":"string","description":"Channel's description"},"channelType":{"$ref":"#/components/schemas/ChannelTypeDTO"},"createdAt":{"type":"string","description":"Channel's date of creation"},"deletable":{"type":"boolean","description":"Boolean if it's deletable or not"}},"description":"Data returned of a bot's channel in the list"},"ChannelTypeDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Type's id","format":"int64"},"name":{"type":"string","description":"Type's name"},"image":{"type":"string","description":"Type's image","deprecated":true},"imageName":{"type":"string","description":"Type's image name"},"channelClassification":{"$ref":"#/components/schemas/ChannelClassificationDTO"}},"description":"Information about the channel's type"},"ChannelClassificationDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Classification's id","format":"int64"},"name":{"type":"string","description":"Classification's name"}},"description":"Information about the channel's classification"},"StandardError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"}}},"ValidationError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/FieldMessage"}}}},"FieldMessage":{"type":"object","properties":{"fieldName":{"type":"string"},"message":{"type":"string"},"errorCode":{"type":"string"}}}}}}
```

## POST /org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/validate-template

> Validating the existence of a channel in the database

```json
{"openapi":"3.0.1","info":{"title":"eva-channel API Documentation","version":"4.8.0"},"tags":[{"name":"channels","description":"Management for finding, creating and removing Channels"}],"paths":{"/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/validate-template":{"post":{"tags":["channels"],"summary":"Validating the existence of a channel in the database","operationId":"validateTemplate","parameters":[{"name":"orgUUID","in":"path","description":"A valid organization Uuid","required":true,"schema":{"type":"string"}},{"name":"envUUID","in":"path","description":"A valid environment Uuid","required":true,"schema":{"type":"string"}},{"name":"botUUID","in":"path","description":"A valid bot Uuid","required":true,"schema":{"type":"string"}},{"name":"x-request-id","in":"header","description":"It is an identifier provided by the API client that will be used to identify distributed logs.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateDTO"}}},"required":true},"responses":{"200":{"description":"No Content","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ChannelListDTO"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"408":{"description":"Request Timeout","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ValidationError"},{"$ref":"#/components/schemas/StandardError"}]}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StandardError"}}}}}}}},"components":{"schemas":{"ValidateDTO":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"Value that will be validated"},"type":{"pattern":"CHANNEL|DNIS|MICROSOFT|MICROSOFT_BY_SYNTPHONY|CISCO_GOOGLE|GOOGLE|AZURE_WHISPER|CONVERSATION","type":"string","description":"Validation type."},"voiceProviderType":{"type":"string","description":"Is required when the type is a vendor: ,'MICROSOFT','MICROSOFT_BY_SYNTPHONY','CISCO_GOOGLE','GOOGLE', 'AZURE_WHISPER', The type must be: 'ASR' or 'TTS'","enum":["ASR","TTS"]},"channelUUID":{"type":"string","description":"Value that will be validated"}}},"ChannelListDTO":{"type":"object","properties":{"data":{"type":"array","description":"List of bot's channel","items":{"$ref":"#/components/schemas/ChannelListDataDTO"}}},"description":"Response to get channels of the bot"},"ChannelListDataDTO":{"type":"object","properties":{"uuid":{"type":"string","description":"Channel's uuid"},"name":{"type":"string","description":"Channel's name"},"description":{"type":"string","description":"Channel's description"},"channelType":{"$ref":"#/components/schemas/ChannelTypeDTO"},"createdAt":{"type":"string","description":"Channel's date of creation"},"deletable":{"type":"boolean","description":"Boolean if it's deletable or not"}},"description":"Data returned of a bot's channel in the list"},"ChannelTypeDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Type's id","format":"int64"},"name":{"type":"string","description":"Type's name"},"image":{"type":"string","description":"Type's image","deprecated":true},"imageName":{"type":"string","description":"Type's image name"},"channelClassification":{"$ref":"#/components/schemas/ChannelClassificationDTO"}},"description":"Information about the channel's type"},"ChannelClassificationDTO":{"type":"object","properties":{"id":{"type":"integer","description":"Classification's id","format":"int64"},"name":{"type":"string","description":"Classification's name"}},"description":"Information about the channel's classification"},"StandardError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"}}},"ValidationError":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorType":{"type":"string","enum":["API_ERROR","API_INFO","USER_ERROR"]},"message":{"type":"string"},"path":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/FieldMessage"}}}},"FieldMessage":{"type":"object","properties":{"fieldName":{"type":"string"},"message":{"type":"string"},"errorCode":{"type":"string"}}}}}}
```

### Websnippet CRUD

{% openapi src="/files/DLJjeKKrGUlECtFdnz6t" path="/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/{channelUUID}/websnippet" method="post" %}
[eva-channel-4.7.0.yaml](https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2Fx8xaOwj7iOoo1Uv2OmOQ%2Feva-channel-4.7.0.yaml?alt=media\&token=cab6a624-1860-4bc8-b44c-c25ab16c4b6b)
{% endopenapi %}

{% openapi src="/files/DLJjeKKrGUlECtFdnz6t" path="/org/{orgUUID}/env/{envUUID}/bot/{botUUID}/channels/{channelUUID}/websnippet" method="get" %}
[eva-channel-4.7.0.yaml](https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2Fx8xaOwj7iOoo1Uv2OmOQ%2Feva-channel-4.7.0.yaml?alt=media\&token=cab6a624-1860-4bc8-b44c-c25ab16c4b6b)
{% endopenapi %}


---

# Agent Instructions: 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:

```
GET https://docs.conversational-ai.syntphony.com/user-guide/api-docs/api-guidelines/management-api/instance-api/channel.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
