Webex Features: Announcement Repository API

The Features: Announcement Repository API from Webex — 10 operation(s) for features: announcement repository.

OpenAPI Specification

webex-features-announcement-repository-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: 'Webex Admin Address Book Features: Announcement Repository API'
  version: 1.0.0
  description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling.
tags:
- name: 'Features: Announcement Repository'
paths:
  /telephony/config/announcements:
    get:
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - announcements
                properties:
                  announcements:
                    type: array
                    items:
                      $ref: '#/components/schemas/AnnouncementsListResponse'
                    description: Array of announcements.
              example:
                announcements:
                - id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
                  name: Public_Announcement
                  fileName: Sample_Greetings_file.wav
                  fileSize: '356'
                  mediaFileType: WAV
                  lastUpdated: '2022-02-22 22:27:54'
                  level: LOCATION
                  location:
                    id: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81ZTk3MzFlNy1iOWQ0LTRmMWQtYjYyMi05NDgwMDhhMjkzMzM
                    name: RCDN
                  isTextToSpeech: false
                - id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFrMWY
                  name: General Announcement
                  fileName: General_Greetings_file.wav
                  fileSize: '356'
                  mediaFileType: WAV
                  lastUpdated: '2022-02-22 22:27:54'
                  level: ORGANIZATION
                  isTextToSpeech: false
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Fetch list of announcement greetings on location and organization level
      operationId: Fetch list of announcement greetings on location and organization level
      description: 'Fetch a list of binary announcement greetings at an organization as well as location level.


        An admin can upload a file at an organization level. This file will be uploaded to the announcement repository.


        This API requires a full or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.'
      tags:
      - 'Features: Announcement Repository'
      parameters:
      - name: orgId
        in: query
        description: Get announcements in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
      - name: locationId
        in: query
        description: Return the list of enterprise or Location announcement files. Without this parameter, the Enterprise level announcements are returned.
        example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx
        schema:
          type: string
          enum:
          - all
          - locations
          - Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx
      - name: max
        in: query
        description: Limit the number of objects returned to this maximum count.
        example: '5'
        schema:
          type: number
      - name: start
        in: query
        description: Start at the zero-based offset in the list of matching objects.
        example: '0'
        schema:
          type: number
      - name: order
        in: query
        description: Sort the list according to fileName or fileSize. The default sort will be in Ascending order.
        example: fileName-desc
        schema:
          type: string
      - name: fileName
        in: query
        description: Return the list of announcements with the given fileName.
        example: RegionalAnnouncement
        schema:
          type: string
      - name: fileType
        in: query
        description: Return the list of announcement files for this fileType.
        example: audio
        schema:
          type: string
      - name: mediaFileType
        in: query
        description: Return the list of announcement files for this mediaFileType.
        example: wav
        schema:
          type: string
      - name: name
        in: query
        description: Return the list of announcement files for this announcement label.
        example: General Announcement
        schema:
          type: string
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnnouncementResponseWithId'
              example:
                id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Upload a binary announcement greeting at organization level
      operationId: Upload a binary announcement greeting at organization level
      description: 'Upload a binary file to the announcement repository at an organization level.


        An admin can upload a file at an organization level. This file will be uploaded to the announcement repository.


        Your request will need to be an `application/json` request with the announcement details including name, fileUri, fileName, and isTextToSpeech fields.


        This API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - 'Features: Announcement Repository'
      parameters:
      - name: orgId
        in: query
        description: Create an announcement in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnnouncementRequestBody'
            example:
              name: Public_Announcement
              fileUri: https://example.com/announcements/greeting.wav
              fileName: greeting.wav
              isTextToSpeech: false
  /telephony/config/announcements/usage:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnnouncementUsageResponse'
              example:
                totalFileSizeUsedKB: 356
                maxAudioFileSizeAllowedKB: 100
                maxVideoFileSizeAllowedKB: 100
                totalFileSizeLimitMB: 1000
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Fetch repository usage for announcements for an organization
      operationId: Fetch repository usage for announcements for an organization
      description: 'Retrieves repository usage for announcements for an organization.


        This API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
      tags:
      - 'Features: Announcement Repository'
      parameters:
      - name: orgId
        in: query
        description: Get announcement usage in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
  /telephony/config/announcements/{announcementId}:
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Delete an announcement greeting of the organization
      operationId: Delete an announcement greeting of the organization
      description: 'Delete an announcement greeting for an organization.


        This API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - 'Features: Announcement Repository'
      parameters:
      - name: announcementId
        in: path
        description: Unique identifier of an announcement.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
        schema:
          type: string
      - name: orgId
        in: query
        description: Delete an announcement in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnnouncementResponseWithPlaylist'
              example:
                id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
                name: Public_Announcement
                fileName: Sample_Greetings_file.wav
                fileSize: '356'
                mediaFileType: WAV
                lastUpdated: '2022-02-22 22:27:54Z'
                featureReferenceCount: 1
                featureReferences:
                - id: Y2lzY29zcGFyazovL3VzL0FVVE9fQVRURU5EQU5UL2J6QjJlRGd6Ym1GeU5rQm1iR1Y0TWk1amFYTmpieTVqYjIw
                  name: AUTO_ATTENDANT
                  type: WAV
                  locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzEyMzQ1
                  locationName: RCDN
                playlists:
                - id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9iYzZjOTYwYi01ZDJjLTRiM2QtYjRlZC0wNWY1ZmFhMTJjZjA
                  name: testingAnnouncementPlaylist
                - id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC80MzA1ZTYyZS1hMmIxLTRlNzktODQxMy1lYWQwZDVlYjcwNjM
                  name: testingAnnouncementPlaylistDuplicateFiles
                isTextToSpeech: false
                voice: en-US-Neural2-A
                language: en-US
                text: Welcome to our service. Please hold while we connect you.
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Fetch details of a binary announcement greeting at the organization level
      operationId: Fetch details of a binary announcement greeting at the organization level
      description: 'Fetch details of a binary announcement greeting by its ID at an organization level.


        An admin can upload a file at an organization level. This file will be uploaded to the announcement repository.


        This API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
      tags:
      - 'Features: Announcement Repository'
      parameters:
      - name: announcementId
        in: path
        description: Unique identifier of an announcement.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
        schema:
          type: string
      - name: orgId
        in: query
        description: Get an announcement in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Modify a binary announcement greeting at organization level
      operationId: Modify a binary announcement greeting at organization level
      description: 'Modify an existing announcement greeting at an organization level.


        An admin can upload a file or modify an existing file at an organization level. This file will be uploaded to the announcement repository.


        Your request will need to be an `application/json` request with the announcement details including name, fileUri, fileName, and isTextToSpeech fields.


        This API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - 'Features: Announcement Repository'
      parameters:
      - name: announcementId
        in: path
        description: Unique identifier of an announcement.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
        schema:
          type: string
      - name: orgId
        in: query
        description: Modify an announcement in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnnouncementRequestBody'
            example:
              name: Public_Announcement
              fileUri: https://example.com/announcements/greeting.wav
              fileName: greeting.wav
              isTextToSpeech: false
  /telephony/config/locations/{locationId}/announcements:
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnnouncementResponseWithId'
              example:
                id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Upload a binary announcement greeting at the location level
      operationId: Upload a binary announcement greeting at the location level
      description: 'Upload a binary file to the announcement repository at a location level.


        An admin can upload a file at a location level. This file will be uploaded to the announcement repository.


        Your request will need to be an `application/json` request with the announcement details including name, fileUri, fileName, and isTextToSpeech fields.


        This API requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - 'Features: Announcement Repository'
      parameters:
      - name: locationId
        in: path
        description: Unique identifier of a location where an announcement is being created.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2U1MjQ0OGU5LTE1NjQtNDNlOS04YzY1LWMyYWMwNDY1ZWMwYw
        schema:
          type: string
      - name: orgId
        in: query
        description: Create an announcement for location in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          typ

# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-features-announcement-repository-api-openapi.yml