Webex Tracking Codes API

The Tracking Codes API from Webex — 3 operation(s) for tracking codes.

OpenAPI Specification

webex-tracking-codes-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Webex Admin Address Book Tracking Codes 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: Tracking Codes
paths:
  /admin/meeting/config/trackingCodes:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTrackingCodesObject'
              example:
                items:
                - id: '1'
                  name: Department
                  siteUrl: example.webex.com
                  inputMode: select
                  options:
                  - value: Engineering
                    defaultValue: false
                  - value: Design
                    defaultValue: true
                  - value: Sales
                    defaultValue: false
                  hostProfileCode: optional
                  scheduleStartCodes:
                  - service: All
                    type: notApplicable
                  - service: MeetingCenter
                    type: required
                  - service: EventCenter
                    type: optional
                  - service: TrainingCenter
                    type: notUsed
                  - service: SupportCenter
                    type: notUsed
                - id: '2'
                  name: Division
                  siteUrl: example.webex.com
                  inputMode: editableSelect
                  options:
                  - value: Full-time
                    defaultValue: false
                  - value: Part-time
                    defaultValue: false
                  - value: Intern
                    defaultValue: true
                  hostProfileCode: optional
                  scheduleStartCodes:
                  - service: All
                    type: notApplicable
                  - service: MeetingCenter
                    type: optional
                  - service: EventCenter
                    type: required
                  - service: TrainingCenter
                    type: optional
                  - service: SupportCenter
                    type: notUsed
        '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
          headers: {}
          content: {}
        '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 Tracking Codes
      operationId: List Tracking Codes
      description: 'Lists tracking codes on a site by an admin user.


        * If `siteUrl` is specified, tracking codes of the specified site will be listed; otherwise, tracking codes of the user''s preferred site will be listed. All available Webex sites and the preferred sites of a user can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.


        * Admins can switch any Control Hub managed site from using classic tracking codes to mapped tracking codes in Control Hub. This is a one-time irreversible operation. Once the tracking codes are mapped to custom or user profile attributes, the response returns the mapped tracking codes.'
      tags:
      - Tracking Codes
      parameters:
      - name: siteUrl
        in: query
        description: URL of the Webex site which the API retrieves the tracking code from. If not specified, the API retrieves the tracking code from the user's preferred site. All available Webex sites and preferred sites of a user can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.
        example: example.webex.com
        schema:
          type: string
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTrackingCodeObject'
              example:
                id: '1'
                name: Department
                siteUrl: example.webex.com
                inputMode: select
                options:
                - value: Engineering
                  defaultValue: false
                - value: Design
                  defaultValue: true
                - value: Sales
                  defaultValue: false
                hostProfileCode: optional
                scheduleStartCodes:
                - service: All
                  type: notApplicable
                - service: MeetingCenter
                  type: required
                - service: EventCenter
                  type: optional
                - service: TrainingCenter
                  type: notUsed
                - service: SupportCenter
                  type: notUsed
        '400':
          description: Bad Request
          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 request could not be understood by the server due to malformed syntax. See 'errors' for more details.
                errors:
                - description: '''siteUrl'' cannot be empty'
                trackingId: 92B0280B23E64C249456513AC7409D56_1661400232754
        '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 a Tracking Code
      operationId: Create a Tracking Code
      description: 'Create a new tracking code by an admin user.


        * The `siteUrl` is required. The operation creates a tracking code for the specified site. All or a user''s available Webex sites can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.


        * The `inputMode` of `hostProfileSelect` is only available for a host profile and sign-up pages and does not apply to the meeting scheduler page or the meeting start page. The value for `scheduleStartCodes` must be `null` or the value for all services must be `notUsed` when the `inputMode` is `hostProfileSelect`.


        * The `hostProfileCode` of `required` is only allowed for a Site Admin managed site, and not for a Control Hub managed site.


        * When the `hostProfileCode` is `adminSet`, only `adminSet`, `notUsed`, and `notApplicable` are available for the types of `scheduleStartCodes`. When the `hostProfileCode` is not `adminSet`, only `optional`, `required`, `notUsed`, and `notApplicable` are available for `scheduleStartCodes`.


        * If the type of the `All` service has a value other than `notApplicable`, and another service, e.g. `EventCenter`, is missing from the `scheduleStartCodes`, then the type of this missing `EventCenter` service shares the same type as the `All` service. If the type of `All` service has a value other than `notApplicable`, and another service, e.g. `EventCenter`, has a type, then the type specified should be the same as the `All` service.


        * If the `All` service is missing from the `scheduleStartCodes`, any of the other four services, e.g. `EventCenter`, have a default type of `notUsed` if it is also missing from the `scheduleStartCodes`.


        * Admins can switch any Control Hub managed site from using classic tracking codes to mapped tracking codes in Control Hub, this is a one-time irreversible operation. Once the tracking codes are mapped to custom or user profile attributes, they cannot create tracking codes when the mapping process is in progress or the mapping process is completed.'
      tags:
      - Tracking Codes
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              name: Department
              siteUrl: example.webex.com
              inputMode: select
              options:
              - value: Engineering
                defaultValue: false
              - value: Design
                defaultValue: true
              - value: Sales
                defaultValue: false
              hostProfileCode: optional
              scheduleStartCodes:
              - service: All
                type: notApplicable
              - service: MeetingCenter
                type: required
              - service: EventCenter
                type: optional
              - service: TrainingCenter
                type: notUsed
              - service: SupportCenter
                type: notUsed
            schema:
              $ref: '#/components/schemas/CreateOrUpdateTrackingCodeObject'
  /admin/meeting/config/trackingCodes/{trackingCodeId}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTrackingCodeObject'
              example:
                id: '1'
                name: Department
                siteUrl: example.webex.com
                inputMode: select
                options:
                - value: Engineering
                  defaultValue: false
                - value: Design
                  defaultValue: true
                - value: Sales
                  defaultValue: false
                hostProfileCode: optional
                scheduleStartCodes:
                - service: All
                  type: notApplicable
                - service: MeetingCenter
                  type: required
                - service: EventCenter
                  type: optional
                - service: TrainingCenter
                  type: notUsed
                - service: SupportCenter
                  type: notUsed
        '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
          headers: {}
          content: {}
        '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 a Tracking Code
      operationId: Get a Tracking Code
      description: 'Retrieves details for a tracking code by an admin user.


        * If `siteUrl` is specified, the tracking code is retrieved from the specified site; otherwise, the tracking code is retrieved from the user''s preferred site. All available Webex sites and the preferred sites of a user can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.


        * Admins can switch any Control Hub managed site from using classic tracking codes to mapped tracking codes in Control Hub, this is a one-time irreversible operation. Once the tracking codes are mapped to custom or user profile attributes, the response returns details for a mapped tracking code.'
      tags:
      - Tracking Codes
      parameters:
      - name: trackingCodeId
        in: path
        description: Unique identifier for the tracking code whose details are being requested.
        required: true
        example: '1'
        schema:
          type: string
      - name: siteUrl
        in: query
        description: URL of the Webex site which the API retrieves the tracking code from. If not specified, the API retrieves the tracking code from the user's preferred site. All available Webex sites and the preferred sites of a user can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.
        example: example.webex.com
        schema:
          type: string
    put:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTrackingCodeObject'
              example:
                id: '1'
                name: Department
                siteUrl: example.webex.com
                inputMode: editableSelect
                options:
                - value: Engineering
                  defaultValue: true
                - value: Design
                  defaultValue: false
                - value: Sales
                  defaultValue: false
                hostProfileCode: optional
                scheduleStartCodes:
                - service: All
                  type: notApplicable
                - service: MeetingCenter
                  type: optional
                - service: EventCenter
                  type: notUsed
                - service: TrainingCenter
                  type: required
                - service: SupportCenter
                  type: notUsed
        '400':
          description: Bad Request
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        description:
                          type: string
                  trackingId:
                    type: string
              example:
                message: The requested resource could not be found.
                errors:
                - description: Tracking code ID '10001' is invalid.
                trackingId: 1050C347DF0B47AF9B0355866BC7BE7E_1661397671636
        '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 a Tracking Code
      operationId: Update a Tracking Code
      description: 'Updates details for a tracking code by an admin user.


        * The `siteUrl` is required. The operation updates a tracking code for the specified site. All of a user''s available Webex sites can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.


        * The `inputMode` of `hostProfileSelect` is only available for the host profile and sign-up pages and it doesn''t apply to the meeting scheduler page or meeting start page. Therefore, `scheduleStartCodes` must be `null` or type of all services must be `notUsed` when the `inputMode` is `hostProfileSelect`.


        * Currently, the `hostProfileCode` of `required` is only allowed for a Site Admin managed site, and not allowed for a Control Hub managed site.


        * When the `hostProfileCode` is `adminSet`, only `adminSet`, `notUsed` and `notApplicable` are available for the types of `scheduleStartCodes`. When the `hostProfileCode` is not `adminSet`, only `optional`, `required`, `notUsed` and `notApplicable` are available for types of `scheduleStartCodes`.


        * If the type of the `All` service has a value other than `notApplicable`, and another service, e.g. `EventCenter`, is missing from the `scheduleStartCodes`, then the type of this missing `EventCenter` service shares the same type as the `All` service silently. If the type of `All` service has a value other than `notApplicable`, and another service, e.g. `EventCenter`, has a type, then the type specified should be the same as the `All` service.


        * If the `All` service is missing from the `scheduleStartCodes`, any of the other four services, e.g. `EventCenter`, has a default type of `notUsed` if that service is also missing from the `scheduleStartCodes`.


        * Admins can switch any Control Hub managed site from using classic tracking codes to mapped tracking codes in Control Hub, this is a one-time irreversible operation. Once the tracking codes are mapped to custom or user profile attributes, they cannot update tracking codes when the mapping process is in progress or the mapping process is completed.'
      tags:
      - Tracking Codes
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              name: Department
              siteUrl: example.webex.com
              inputMode: editableSelect
              options:
              - value: Engineering
                defaultValue: true
              - value: Design
                defaultValue: false
              - value: Sales
                defaultValue: false
              hostProfileCode: optional
              scheduleStartCodes:
              - service: All
                type: notApplicable
              - service: MeetingCenter
                type: optional
              - service: EventCenter
                type: notUsed
              - service: TrainingCenter
                type: required
              - service: SupportCenter
                type: notUsed
            schema:
              $ref: '#/components/schemas/CreateOrUpdateTrackingCodeObject'
    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
          headers: {}
          content: {}
        '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 a Tracking Code
      operationId: Delete a Tracking Code
      description: 'Deletes a tracking code by an admin user.


        * The `siteUrl` is required. The operation deletes a tracking code for the specified site. All of a user''s available Webex sites can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.


        * Admins can switch any Control Hub managed site from using classic tracking codes to mapped tracking codes in Control Hub, this is a one-time irreversible operation. Once the tracking codes are mapped to custom or user profile attributes, they cannot delete tracking codes when the mapping process is in progress or the mapping process is completed.'
      tags:
      - Tracking Codes
      parameters:
      - name: trackingCodeId
        in: path
        description: Unique identifier for the tracking code to be deleted.
        required: true
        example: '1'
        schema:
          type: string
      - name: siteUrl
        in: query
        description: URL of the Webex site from which the API deletes the tracking code. All available Webex sites and preferred sites of a user can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.
        required: true
        example: example.webex.com
        schema:
          type: string
  /admin/meeting/userconfig/trackingCodes:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTrackingCodeForUserObject'
              example:
                personId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8xOGJiOWNjMC0zMWM2LTQ3MzYtYmE4OC0wMDk5ZmQzNDNmODE
                email: john.andersen@example.com
                siteUrl: example.webex.com
                trackingCodes:
                - id: '1'
                  name: Department
                  value: Engineering
                - id: '2'
                  name: Division
                  value: Full-time
        '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
          headers: {}
          content: {}
        '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 

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