Webex Preferences API

The Preferences API from Webex — 9 operation(s) for preferences.

OpenAPI Specification

webex-preferences-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Webex Admin Address Book Preferences 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: Preferences
paths:
  /meetingPreferences:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/MeetingPreferenceObject'
              example:
                audio:
                  defaultAudioType: webexAudio
                  otherTeleconferenceDescription: Example Description
                  enabledGlobalCallIn: true
                  enabledTollFree: false
                  enabledAutoConnection: false
                  audioPin: '1314'
                  officeNumber:
                    countryCode: '123'
                    number: '123456'
                    enabledCallInAuthentication: false
                    enabledCallMe: false
                  mobileNumber:
                    countryCode: '1'
                    number: '123456789'
                    enabledCallInAuthentication: false
                    enabledCallMe: true
                video:
                  videoDevices:
                  - deviceName: device1
                    deviceAddress: device1@example.com
                    isDefault: false
                  - deviceName: device2
                    deviceAddress: device2@example.com
                    isDefault: true
                schedulingOptions:
                  enabledJoinBeforeHost: false
                  joinBeforeHostMinutes: 0
                  enabledAutoShareRecording: false
                  enabledWebexAssistantByDefault: false
                  delegateEmails:
                  - marcus.hoffmann@example.com
                  - brenda.song@example.com
                sites:
                - siteUrl: site1-example.webex.com
                  default: false
                - siteUrl: site2-example.webex.com
                  default: false
                - siteUrl: site3-example.webex.com
                  default: false
                - siteUrl: site4-example.webex.com
                  default: true
                personalMeetingRoom:
                  topic: John's PMR
                  hostPin: '4325'
                  enabledAutoLock: false
                  autoLockMinutes: 10
                  enabledNotifyHost: true
                  supportCoHost: true
                  supportAnyoneAsCoHost: false
                  allowFirstUserToBeCoHost: false
                  allowAuthenticatedDevices: false
                  coHosts:
                  - email: john.andersen@example.com
                    displayName: John Andersen
                  personalMeetingRoomLink: https://site4-example.webex.com/meet/john
                  sipAddress: john.andersen@example.com
                  dialInIpAddress: 192.168.100.100
                  telephony:
                    accessCode: '1234567890'
                    callInNumbers:
                    - label: US Toll
                      callInNumber: '123456789'
                      tollType: toll
                    links:
                    - rel: globalCallinNumbers
                      href: /v1/meetings/0fc6ec1109e0d9b6c94e1f6caccda976/globalCallinNumbers
                      method: GET
        '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
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        description:
                          type: string
                  trackingId:
                    type: string
              example:
                message: The server understood the request, but refused to fulfill it because the access token is missing required scopes or the user is missing required roles or licenses.
                errors:
                - description: Not permitted to view or change other user's preferences.
                trackingId: B4A8FB611CFE4BF697CC49B345730269_1572666125876
        '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 Meeting Preference Details
      operationId: Get Meeting Preference Details
      description: Retrieves meeting preferences for the authenticated user.
      tags:
      - Preferences
      parameters:
      - name: userEmail
        in: query
        description: Email address for the user. This parameter is only used if the user or application calling the API has the required [admin-level scopes](/docs/meetings#adminorganization-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will return details of the meeting preferences for that user.
        example: john.andersen@example.com
        schema:
          type: string
      - name: siteUrl
        in: query
        description: URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will use the default site of the user. For admin use, if `siteUrl` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites](/docs/api/v1/meeting-preferences/get-site-list).
        example: site4-example.webex.com
        schema:
          type: string
  /meetingPreferences/personalMeetingRoom:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/PMRObject'
              example:
                topic: John's PMR
                hostPin: '4325'
                enabledAutoLock: false
                autoLockMinutes: 10
                enabledNotifyHost: true
                supportCoHost: true
                supportAnyoneAsCoHost: false
                allowFirstUserToBeCoHost: false
                allowAuthenticatedDevices: false
                coHosts:
                - email: john.andersen@example.com
                  displayName: John Andersen
                personalMeetingRoomLink: https://site4-example.webex.com/meet/john
                sipAddress: john.andersen@example.com
                dialInIpAddress: 192.168.100.100
                telephony:
                  accessCode: '1234567890'
                  callInNumbers:
                  - label: US Toll
                    callInNumber: '123456789'
                    tollType: toll
                  links:
                  - rel: globalCallinNumbers
                    href: /v1/meetings/0fc6ec1109e0d9b6c94e1f6caccda976/globalCallinNumbers
                    method: GET
        '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
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        description:
                          type: string
                  trackingId:
                    type: string
              example:
                message: Not permitted to view or change other user's preferences
                errors:
                - description: Not permitted to view or change other user's preferences
                trackingId: C385085C959545C8813E51803297E132_1562293603899
        '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 Personal Meeting Room Options
      operationId: Get Personal Meeting Room Options
      description: Retrieves the Personal Meeting Room options for the authenticated user.
      tags:
      - Preferences
      parameters:
      - name: userEmail
        in: query
        description: Email address for the user. This parameter is only used if the user or application calling the API has the [admin-level scopes](/docs/meetings#adminorganization-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will return details of the Personal Meeting Room options for that user.
        example: john.andersen@example.com
        schema:
          type: string
      - name: siteUrl
        in: query
        description: URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will use the default site of the user. For admin use, if `siteUrl` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites](/docs/api/v1/meeting-preferences/get-site-list).
        example: site4-example.webex.com
        schema:
          type: string
    put:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/PMRObject'
              example:
                topic: John's PMR
                hostPin: '4325'
                enabledAutoLock: false
                autoLockMinutes: 10
                enabledNotifyHost: true
                supportCoHost: true
                supportAnyoneAsCoHost: false
                allowFirstUserToBeCoHost: false
                allowAuthenticatedDevices: false
                coHosts:
                - email: john.andersen@example.com
                  displayName: John Andersen
                personalMeetingRoomLink: https://site4-example.webex.com/meet/john
                sipAddress: john.andersen@example.com
                dialInIpAddress: 192.168.100.100
                telephony:
                  accessCode: '1234567890'
                  callInNumbers:
                  - label: US Toll
                    callInNumber: '123456789'
                    tollType: toll
                  links:
                  - rel: globalCallinNumbers
                    href: /v1/meetings/0fc6ec1109e0d9b6c94e1f6caccda976/globalCallinNumbers
                    method: GET
        '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
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        description:
                          type: string
                  trackingId:
                    type: string
              example:
                message: The server understood the request, but refused to fulfill it because the access token is missing required scopes or the user is missing required roles or licenses.
                errors:
                - description: Not permitted to view or change other user's preferences.
                trackingId: 4A78EB66D02E4C78B9955AA504ECFC3D_1572666592909
        '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 Personal Meeting Room Options
      operationId: Update Personal Meeting Room Options
      description: Updates Personal Meeting Room options for the authenticated user.
      tags:
      - Preferences
      parameters:
      - name: userEmail
        in: query
        description: Email address for the user. This parameter is only used if the user or application calling the API has the [admin-level scopes](/docs/meetings#adminorganization-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will update Personal Meeting Room options for that user.
        example: john.andersen@example.com
        schema:
          type: string
      - name: siteUrl
        in: query
        description: URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will use the default site of the user. For admin use, if `siteUrl` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites](/docs/api/v1/meeting-preferences/get-site-list).
        example: site4-example.webex.com
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              topic: John's PMR
              hostPin: '4325'
              enabledAutoLock: false
              autoLockMinutes: 10
              enabledNotifyHost: true
              supportCoHost: true
              supportAnyoneAsCoHost: false
              allowFirstUserToBeCoHost: false
              allowAuthenticatedDevices: false
              coHosts:
              - email: john.andersen@example.com
                displayName: John Andersen
            schema:
              $ref: '#/components/schemas/UpdatePMRObject'
  /meetingPreferences/audio:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/AudioObject'
              example:
                defaultAudioType: webexAudio
                otherTeleconferenceDescription: Example Description
                enabledGlobalCallIn: true
                enabledTollFree: false
                enabledAutoConnection: false
                audioPin: '1314'
                officeNumber:
                  countryCode: '123'
                  number: '123456'
                  enabledCallInAuthentication: false
                  enabledCallMe: false
                mobileNumber:
                  countryCode: '1'
                  number: '123456789'
                  enabledCallInAuthentication: false
                  enabledCallMe: true
        '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
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        description:
                          type: string
                  trackingId:
                    type: string
              example:
                message: The server understood the request, but refused to fulfill it because the access token is missing required scopes or the user is missing required roles or licenses.
                errors:
                - description: Not permitted to view or change other user's preferences.
                trackingId: 4A78EB66D02E4C78B9955AA504ECFC3D_1572666592909
        '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 Audio Options
      operationId: Get Audio Options
      description: Retrieves audio options for the authenticated user.
      tags:
      - Preferences
      parameters:
      - name: userEmail
        in: query
        description: Email address for the user. This parameter is only used if the user or application calling the API has the [admin-level scopes](/docs/meetings#adminorganization-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will return details of the audio options for that user.
        example: john.andersen@example.com
        schema:
          type: string
      - name: siteUrl
        in: query
        description: URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will use the default site of the user. For admin use, if `siteUrl` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites](/docs/api/v1/meeting-preferences/get-site-list).
        example: site4-example.webex.com
        schema:
          type: string
    put:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/AudioObject'
              example:
                defaultAudioType: webexAudio
                otherTeleconferenceDescription: Example Description
                enabledGlobalCallIn: true
                enabledTollFree: false
                enabledAutoConnection: false
                audioPin: '1314'
                officeNumber:
                  countryCode: '123'
                  number: '123456'
                  enabledCallInAuthentication: false
                  enabledCallMe: false
                mobileNumber:
                  countryCode: '1'
                  number: '123456789'
                  enabledCallInAuthentication: false
                  enabledCallMe: true
        '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
          headers: {}
          content:
            application/json;charset=UTF-8:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        description:
                          type: string
                  trackingId:
                    type: string
              example:
                message: The server understood the request, but refused to fulfill it because the access token is missing required scopes or the user is missing required roles or licenses.
                errors:
                - description: Not permitted to view or change other user's preferences.
                trackingId: 4A78EB66D02E4C78B9955AA504ECFC3D_1572666592909
        '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 Audio Options
      operationId: Update Audio Options
      description: Updates audio options for the authenticated user.
      tags:
      - Preferences
      parameters:
      - name: userEmail
        in: query
        description: Email address for the user. This parameter is only used if the user or application calling the API has the [admin-level scopes](/docs/meetings#adminorganization-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will update audio options for that user.
        example: john.andersen@example.com
        schema:
          type: string
      - name: siteUrl
        in: query
        description: URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will use the default site of the user. For admin use, if `siteUrl` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites

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