{
  "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
}