Webex Features: Announcement Playlist API

The Features: Announcement Playlist API from Webex — 3 operation(s) for features: announcement playlist.

OpenAPI Specification

webex-features-announcement-playlist-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'Webex Features: Announcement Playlist API'
  version: 1.0.0
  description: 'Operations tagged Features: Announcement Playlist across 2 of this provider''s published API definitions:
    webex-cloud-calling-openapi.json, webex-features-announcement-playlist-api-openapi.yml. Each path carries the servers
    of the definition it was published in.'
  x-provenance:
    method: harvested
    authored_by: Cisco Webex
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
    derived_view: Per-tag view of webex-cloud-calling-openapi.json, the provider's source document. Operations and schemas
      are the provider's, unmodified; only the partition is ours.
    derived_from: webex-cloud-calling-openapi.json
    operation_coverage: 7/7
  x-evidence:
  - type: source
    url: https://github.com/webex/webex-openapi-specs/blob/main/public-spec/webex-cloud-calling.json
  - type: raw
    url: https://raw.githubusercontent.com/webex/webex-openapi-specs/main/public-spec/webex-cloud-calling.json
tags:
- name: 'Features: Announcement Playlist'
paths:
  /telephony/config/announcements/playlists:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                required:
                - playlists
                properties:
                  playlists:
                    type: array
                    items:
                      $ref: '#/components/schemas/PlaylistObject'
                    description: Array of playlists.
              example:
                playlists:
                - id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9iYzZjOTYwYi01ZDJjLTRiM2QtYjRlZC0wNWY1ZmFhMTJjZjA
                  name: testingAnnouncementPlaylist
                  fileCount: 1
                  isInUse: true
                  lastUpdated: '2024-03-06 07:06:36'
                  level: ORGANIZATION
                  locationCount: 2
                - id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC80MzA1ZTYyZS1hMmIxLTRlNzktODQxMy1lYWQwZDVlYjcwNjM
                  name: testingAnnouncementPlaylistDuplicateFiles
                  fileCount: 1
                  isInUse: true
                  lastUpdated: '2024-03-08 10:21:37'
                  level: ORGANIZATION
                  locationCount: 1
        '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: List Announcement Playlists
      operationId: listAnnouncementPlaylists
      description: 'Fetch a list of announcement playlist at an organization.


        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 Playlist'
      parameters:
      - name: orgId
        in: query
        description: Get announcements playlist in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnnouncementPlaylistResponseWithId'
              example:
                id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9jNzAwNmI4ZC1kYmQ3LTQ3YjctOWQ0Ny05ZDJkMWEzYmY1Yzc
        '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: Create Announcement Playlist
      operationId: createAnnouncementPlaylist
      description: 'Create announcement Playlist at an organization level. A maximum of 25 announcement files can be included
        in a single playlist.


        This API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - 'Features: Announcement Playlist'
      parameters:
      - name: orgId
        in: query
        description: Create an announcement playlist in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              name: testingHydraAnnouncementPlaylistWithTwoFiles
              announcementIds:
              - Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8yMTkxMDhmNC1iMGVjLTRkNTMtODMzYy1kNTE1NWE4OWQzZTk
              - Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zY2I2Y2Q1MS02Zjk3LTRiMmYtYTA0Yy04MjRmOGQ2NjQyYTU
            schema:
              $ref: '#/components/schemas/PostAnnouncementPlaylistObject'
  /telephony/config/announcements/playlists/{playlistId}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnnouncementPlaylistGetResponse'
              example:
                id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9iYzZjOTYwYi01ZDJjLTRiM2QtYjRlZC0wNWY1ZmFhMTJjZjA
                name: testingAnnouncementPlaylist
                lastUpdated: '2024-03-06T07:06:36.396Z'
                fileSize: '4279'
                fileCount: 1
                announcements:
                - id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC83ODNmNjNhZi1jNDU1LTRhZWItODg0OS1jZThjNDQ4ZmNjNTg
                  name: TestAnnouncement1TT
                  mediaFileType: WAV
                  fileName: 12Soft Piano Music_16000_mon1 copy.wav
                  fileSize: '4279'
                  lastUpdated: '2023-06-06 13:51:02'
                  level: ORGANIZATION
        '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: Get Announcement Playlist
      operationId: getAnnouncementPlaylist
      description: 'Fetch details of announcement playlist by its ID at an organization level.


        This API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
      tags:
      - 'Features: Announcement Playlist'
      parameters:
      - name: playlistId
        in: path
        description: Unique identifier of an announcement playlist.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9jNzAwNmI4ZC1kYmQ3LTQ3YjctOWQ0Ny05ZDJkMWEzYmY1Yzc
        schema:
          type: string
      - name: orgId
        in: query
        description: Get an announcement playlist 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: Update Announcement Playlist
      operationId: updateAnnouncementPlaylist
      description: 'Modify an existing announcement playlist at an organization level.


        This API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - 'Features: Announcement Playlist'
      parameters:
      - name: playlistId
        in: path
        description: Unique identifier of an announcement playlist.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
        schema:
          type: string
      - name: orgId
        in: query
        description: Modify an announcement playlist in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              name: testingHydraAnnouncementPlaylistWithTwoFiles
              announcementIds:
              - Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8yMTkxMDhmNC1iMGVjLTRkNTMtODMzYy1kNTE1NWE4OWQzZTk
              - Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zY2I2Y2Q1MS02Zjk3LTRiMmYtYTA0Yy04MjRmOGQ2NjQyYTU
            schema:
              $ref: '#/components/schemas/PutAnnouncementPlaylistObject'
    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 Announcement Playlist
      operationId: deleteAnnouncementPlaylist
      description: 'Delete an announcement playlist for an organization.


        This API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - 'Features: Announcement Playlist'
      parameters:
      - name: playlistId
        in: path
        description: Unique identifier of an announcement playlist.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9jNzAwNmI4ZC1kYmQ3LTQ3YjctOWQ0Ny05ZDJkMWEzYmY1Yzc
        schema:
          type: string
      - name: orgId
        in: query
        description: Delete an announcement playlist in this organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
  /telephony/config/announcements/playlists/{playlistId}/locations:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaylistAssignedLocationResponse'
              example:
                id: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9iYzZjOTYwYi01ZDJjLTRiM2QtYjRlZC0wNWY1ZmFhMTJjZjA
                locations:
                - name: Atlas_Test_Location_Trunk_Limit
                  id: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2M3YWEzNjQzLTYyNmYtNGQ0Yy1hNzNmLTk0MTA3NDgzMjMxMg
                - name: Cy_location_full_page_Test02_DND
                  id: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzg4NzhlNzE4LTczMGItNGY2OC1iZTc3LTViMjNiNWUwOGUwZg
        '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: List Playlist Locations
      operationId: listPlaylistLocations
      description: 'Fetch list of locations which are assigned to the given announcement playlist


        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 Playlist'
      parameters:
      - name: playlistId
        in: path
        description: Unique identifier of playlist.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
        schema:
          type: string
      - name: orgId
        in: query
        description: Get location associated to a playlist 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: Update Playlist Locations
      operationId: updatePlaylistLocations
      description: 'Modify list of assigned locations or add new locations to the announcement playlist. This will assing
        the playlist to the location''s music on hold.


        This API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - 'Features: Announcement Playlist'
      parameters:
      - name: playlistId
        in: path
        description: Unique identifier of an announcement playlist.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zMjAxNjRmNC1lNWEzLTQxZmYtYTMyNi02N2MwOThlNDFkMWQ
        schema:
          type: string
      - name: orgId
        in: query
        description: Modify an assign location for announcement playlist for organization.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              locationIds:
              - Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2M3YWEzNjQzLTYyNmYtNGQ0Yy1hNzNmLTk0MTA3NDgzMjMxMg
              - Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzg4NzhlNzE4LTczMGItNGY2OC1iZTc3LTViMjNiNWUwOGUwZg
            schema:
              $ref: '#/components/schemas/PutPlaylistAssignedLocation'
components:
  schemas:
    PutPlaylistAssignedLocation:
      type: object
      required:
      - locationIds
      properties:
        locationIds:
          type: array
          items:
            type: string
            example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81ZTk3MzFlNy1iOWQ0LTRmMWQtYjYyMi05NDgwMDhhMjkzMzM, Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81ZTk3MzFlNy1iOWQ0LTRmMWQtYjYyMi05NDgwMDhhMjkzMzM
          description: Array of location IDs with which the playlist is associated.
    PlaylistAssignedLocationResponse:
      type: object
      required:
      - id
      - locations
      properties:
        id:
          type: string
          example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9iYzZjOTYwYi01ZDJjLTRiM2QtYjRlZC0wNWY1ZmFhMTJjZjA
          description: Unique identifier of the playlist.
        locations:
          type: array
          items:
            $ref: '#/components/schemas/LocationObject'
          description: Array of locations with which the playlist is associated.
    PutAnnouncementPlaylistObject:
      type: object
      properties:
        name:
          type: string
          example: testingHydraAnnouncementPlaylistWithTwoFiles
          description: Unique name for the announcement playlist.
        announcementIds:
          type: array
          items:
            type: string
            example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8yMTkxMDhmNC1iMGVjLTRkNTMtODMzYy1kNTE1NWE4OWQzZTk,Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC8zY2I2Y2Q1MS02Zjk3LTRiMmYtYTA0Yy04MjRmOGQ2NjQyYTU
          description: Array of `announcementIds` associated with the playlist.
    AnnouncementPlaylistResponseWithId:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          example: Y2lzY29zcGFyazovL3VzL0FOTk9VTkNFTUVOVC9jNzAwNmI4ZC1kYmQ3LTQ3YjctOWQ0Ny05ZDJkMWEzYmY1Yzc
          description: Unique identifier

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