{ "opencollection": "1.0.0", "info": { "name": "Webex Admin Address Book Features: Announcement Repository API", "version": "1.0.0" }, "items": [ { "info": { "name": "Features: Announcement Repository", "type": "folder" }, "items": [ { "info": { "name": "Fetch list of announcement greetings on location and organization level", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/announcements", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Get announcements in this organization." }, { "name": "locationId", "value": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx", "type": "query", "description": "Return the list of enterprise or Location announcement files. Without this parameter, the Enterprise level announcements are returned." }, { "name": "max", "value": "5", "type": "query", "description": "Limit the number of objects returned to this maximum count." }, { "name": "start", "value": "0", "type": "query", "description": "Start at the zero-based offset in the list of matching objects." }, { "name": "order", "value": "fileName-desc", "type": "query", "description": "Sort the list according to fileName or fileSize. The default sort will be in Ascending order." }, { "name": "fileName", "value": "RegionalAnnouncement", "type": "query", "description": "Return the list of announcements with the given fileName." }, { "name": "fileType", "value": "audio", "type": "query", "description": "Return the list of announcement files for this fileType." }, { "name": "mediaFileType", "value": "wav", "type": "query", "description": "Return the list of announcement files for this mediaFileType." }, { "name": "name", "value": "General Announcement", "type": "query", "description": "Return the list of announcement files for this announcement label." } ] }, "docs": "Fetch a list of binary announcement greetings at an organization as well as location level.\n\nAn admin can upload a file at an organization level. This file will be uploaded to the announcement repository.\n\nThis API requires a full or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`." }, { "info": { "name": "Upload a binary announcement greeting at organization level", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/telephony/config/announcements", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Create an announcement in this organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Upload a binary file to the announcement repository at an organization level.\n\nAn admin can upload a file at an organization level. This file will be uploaded to the announcement repository.\n\nYour request will need to be an `application/json` request with the announcement details including name, fileUri, fileName, and isTextToSpeech fields.\n\nThis API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`." }, { "info": { "name": "Fetch repository usage for announcements for an organization", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/announcements/usage", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Get announcement usage in this organization." } ] }, "docs": "Retrieves repository usage for announcements for an organization.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`." }, { "info": { "name": "Fetch details of a binary announcement greeting at the organization level", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/announcements/:announcementId", "params": [ { "name": "announcementId", "value": "Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ", "type": "path", "description": "Unique identifier of an announcement." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Get an announcement in this organization." } ] }, "docs": "Fetch details of a binary announcement greeting by its ID at an organization level.\n\nAn admin can upload a file at an organization level. This file will be uploaded to the announcement repository.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`." }, { "info": { "name": "Modify a binary announcement greeting at organization level", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/telephony/config/announcements/:announcementId", "params": [ { "name": "announcementId", "value": "Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ", "type": "path", "description": "Unique identifier of an announcement." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Modify an announcement in this organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Modify an existing announcement greeting at an organization level.\n\nAn admin can upload a file or modify an existing file at an organization level. This file will be uploaded to the announcement repository.\n\nYour request will need to be an `application/json` request with the announcement details including name, fileUri, fileName, and isTextToSpeech fields.\n\nThis API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`." }, { "info": { "name": "Delete an announcement greeting of the organization", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/telephony/config/announcements/:announcementId", "params": [ { "name": "announcementId", "value": "Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ", "type": "path", "description": "Unique identifier of an announcement." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Delete an announcement in this organization." } ] }, "docs": "Delete an announcement greeting for an organization.\n\nThis API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`." }, { "info": { "name": "Upload a binary announcement greeting at the location level", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/telephony/config/locations/:locationId/announcements", "params": [ { "name": "locationId", "value": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2U1MjQ0OGU5LTE1NjQtNDNlOS04YzY1LWMyYWMwNDY1ZWMwYw", "type": "path", "description": "Unique identifier of a location where an announcement is being created." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Create an announcement for location in this organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Upload a binary file to the announcement repository at a location level.\n\nAn admin can upload a file at a location level. This file will be uploaded to the announcement repository.\n\nYour request will need to be an `application/json` request with the announcement details including name, fileUri, fileName, and isTextToSpeech fields.\n\nThis API requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write`." }, { "info": { "name": "Fetch repository usage for announcements in a location", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/locations/:locationId/announcements/usage", "params": [ { "name": "locationId", "value": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2U1MjQ0OGU5LTE1NjQtNDNlOS04YzY1LWMyYWMwNDY1ZWMwYw", "type": "path", "description": "Unique identifier of a location where an announcement is being created." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Get announcement usage for location in this organization." } ] }, "docs": "Retrieves repository usage for announcements in a location.\n\nThis API requires a full or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`." }, { "info": { "name": "Fetch details of a binary announcement greeting at location level", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/locations/:locationId/announcements/:announcementId", "params": [ { "name": "locationId", "value": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2U1MjQ0OGU5LTE1NjQtNDNlOS04YzY1LWMyYWMwNDY1ZWMwYw", "type": "path", "description": "Unique identifier of a location where an announcement is being created." }, { "name": "announcementId", "value": "Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ", "type": "path", "description": "Unique identifier of an announcement." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Fetch an announcement for location in this organization." } ] }, "docs": "Fetch details of a binary announcement greeting by its ID at a location level.\n\nAn admin can upload a file at a location level. This file will be uploaded to the announcement repository.\n\nThis API requires a full or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`." }, { "info": { "name": "Modify a binary announcement greeting at location level", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/telephony/config/locations/:locationId/announcements/:announcementId", "params": [ { "name": "locationId", "value": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2U1MjQ0OGU5LTE1NjQtNDNlOS04YzY1LWMyYWMwNDY1ZWMwYw", "type": "path", "description": "Unique identifier of a location where an announcement is being created." }, { "name": "announcementId", "value": "Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ", "type": "path", "description": "Unique identifier of an announcement." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Modify an announcement for location in this organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Modify an existing announcement greeting at a location level.\n\nAn admin can upload a file or modify an existing file at a location level. This file will be uploaded to the announcement repository.\n\nYour request will need to be an `application/json` request with the announcement details including name, fileUri, fileName, and isTextToSpeech fields.\n\nThis API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`." }, { "info": { "name": "Delete an announcement greeting in a location", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/telephony/config/locations/:locationId/announcements/:announcementId", "params": [ { "name": "locationId", "value": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2U1MjQ0OGU5LTE1NjQtNDNlOS04YzY1LWMyYWMwNDY1ZWMwYw", "type": "path", "description": "Unique identifier of a location where announcement is being created." }, { "name": "announcementId", "value": "Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ", "type": "path", "description": "Unique identifier of an announcement." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Delete an announcement for location in this organization." } ] }, "docs": "Delete an announcement greeting in a location.\n\nThis API requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write`." }, { "info": { "name": "Generate a Text-to-Speech Prompt", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/telephony/config/textToSpeech/actions/generate/invoke", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Generate text-to-speech for this organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Generate a text-to-speech prompt from the provided text, voice, and language.\n\nText-to-speech (TTS) efficiently generates prompts, greetings, and announcements by converting written text into synthesized audio using the specified voice. The generated audio functions like a recorded WAV file, eliminating the need for manual recording.\n\nThis API requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write`." }, { "info": { "name": "Get Text-to-Speech Usage", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/textToSpeech/usage", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Get text-to-speech usage for this organization." } ] }, "docs": "Retrieve text-to-speech usage information, including the number of API calls made, the maximum allowed within the time window, and the timestamp indicating when the usage will reset.\n\nText-to-speech (TTS) efficiently generates prompts, greetings, and announcements by converting written text into synthesized audio using the specified voice. The generated audio functions like a recorded WAV file, eliminating the need for manual recording.\n\nThis API requires a full or read-only administrator or loc" }, { "info": { "name": "Get Text-to-Speech Generation Status", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/textToSpeech/:ttsId", "params": [ { "name": "ttsId", "value": "Y2lzY29zcGFyazovL3VzL1RFWFRfVE9fU1BFRUNILzMyMDE2NGY0LWU1YTMtNDFmZi1hMzI2LTY3YzA5OGU0MWQxZA", "type": "path", "description": "Unique identifier of the text-to-speech generation request." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Get text-to-speech status for this organization." } ] }, "docs": "Get the status of a text-to-speech generation request by its ID. If the status is SUCCESS, the response includes `promptUrl`, `kmsKeyUri`, and `fileUri` to preview or use the audio prompt.\n\nTo preview the audio prompt:\n\n1. Download the KMS key - use the Webex Node.js SDK and provide `kmsKeyUri` to download the key from KMS.\n\n2. Download the encrypted audio - The encrypted audio file content is stored in cloud and can be retrieved using `promptURL`.\n\n3. Decrypt the audio content - Use the jose li" }, { "info": { "name": "List Text-to-Speech Voices", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/textToSpeech/voices", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "List text-to-speech voices supported for this organization." } ] }, "docs": "Fetch a list of available text-to-speech voices. Use the returned voice ID in the generation request.\n\nText-to-speech (TTS) efficiently generates prompts, greetings, and announcements by converting written text into synthesized audio using the specified voice. The generated audio functions like a recorded WAV file, eliminating the need for manual recording.\n\nThis API requires a full or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read" } ] } ], "bundled": true }