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 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 User Tracking Codes operationId: Get User Tracking Codes description: 'Lists user''s tracking codes by an admin user. * At least one parameter, either `personId`, or `email` is required. `personId` must come before `email` if both are specified. Please note that `email` is specified in the request header. * If `siteUrl` is specified, the tracking codes of the specified site will be listed; otherwise, the tracking codes of a user''s preferred site are listed. 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. Please note that the user here is the admin user who invokes the API, not the user specified by `personId` or email. * 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 user''s mapped tracking codes. #### Request Header * `email`: Email address for the user whose tracking codes are being retrieved. The admin users can specify the email of a user on a site they manage and the API returns details for the user''s tracking codes. At least one parameter of `personId` or `email` is required.' tags: - Tracking Codes parameters: - name: siteUrl in: query description: URL of the Webex site from which the API retrieves the tracking code. 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 - name: personId in: query description: Unique identifier for the user whose tracking codes are being retrieved. The admin user can specify the `personId` of a user on a site they manage and the API returns details for the user's tracking codes. At least one parameter of `personId` or `email` is required. example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8xOGJiOWNjMC0zMWM2LTQ3MzYtYmE4OC0wMDk5ZmQzNDNmODE schema: type: string - name: email in: header description: e.g. john.andersen@example.com required: false schema: type: string example: john.andersen@example.com put: 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: Sales - id: 2 name: Division value: Part-time '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 request could not be understood by the server due to malformed syntax. See 'errors' for more details. errors: - description: Tracking code of '1' is not found. trackingId: 6B41C672FF384F50B0F368E09001496B_1661404838840 '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 User Tracking Codes operationId: Update User Tracking Codes description: 'Updates tracking codes for a specified user by an admin user. * The `siteUrl` is required. The operation updates a user''s tracking code on the specified site. All a user''s available Webex sites can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API. Please note that the user here is the admin user who invokes the API, not the user specified by `personId` or `email`. * A name that is not found in the site-level tracking codes cannot be set for a user''s tracking codes. All available site-level tracking codes for a site can be retrieved by the [List Tracking Codes](/docs/api/v1/tracking-codes/list-tracking-codes) API. * If the `inputMode` of a user''s tracking code is `select` or `hostProfileSelect`, its value must be one of the site-level options of that tracking code. All available site-level tracking codes for a site can be retrieved by the [List Tracking Codes](/docs/api/v1/tracking-codes/list-tracking-codes) 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 update user''s tracking codes when the mapping process is in progress or the mapping process is completed.' tags: - Tracking Codes parameters: [] requestBody: content: application/json: example: personId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8xOGJiOWNjMC0zMWM2LTQ3MzYtYmE4OC0wMDk5ZmQzNDNmODE email: john.andersen@example.com siteUrl: example.webex.com trackingCodes: - name: Department value: Sales - name: Division value: Part-time schema: $ref: '#/components/schemas/UpdateTrackingCodeForUserObject' components: schemas: ScheduleStartCodeObject: type: object required: - service - type properties: service: type: string enum: - All - MeetingCenter - EventCenter - TrainingCenter - SupportCenter description: "Service for schedule or sign up pages\n * `All` - Tracking codes apply to all services.\n * `MeetingCenter` - Users can set tracking codes when scheduling a meeting.\n * `EventCenter` - Users can set tracking codes when scheduling an event.\n * `TrainingCenter` - Users can set tracking codes when scheduling a training session.\n * `SupportCenter` - Users can set tracking codes when scheduling a support meeting.\n" type: type: string enum: - optional - required - adminSet - notUsed - notApplicable description: "Type for meeting scheduler or meeting start pages.\n * `optional` - Available to be chosen but not compulsory.\n * `required` - Officially compulsory.\n * `adminSet` - The value is set by admin. This value only applies when `hostProfileCode` is `adminSet`.\n * `notUsed` - The value cannot be used.\n * `notApplicable` - This value only applies to the service of `All`. When the type of `All` for a tracking code is `notApplicable`, there are different types for different services. For example, `required` for `MeetingCenter`, `optional` for `EventCenter` and `notUsed` for others.\n" GetTrackingCodeItemForUserObject: type: object required: - id - name - value properties: id: type: string example: '1' description: Unique identifier for tracking code. name: type: string example: Department description: Name for tracking code. value: type: string description: Value for tracking code. OptionsForCreateOrUpdateTrackingCodeObject: type: object required: - value - defaultValue properties: value: type: string description: The value of a tracking code option. `value` cannot be empty and the maximum size is 120 characters. defaultValue: type: boolean description: Whether or not the option is the default option of a tracking code. CreateOrUpdateTrackingCodeObject: type: object required: - name - siteUrl - options - inputMode - hostProfileCode - scheduleStartCodes properties: name: type: string example: Department description: Name for tracking code. The name cannot be empty and the maximum size is 120 characters. siteUrl: type: string example: example.webex.com description: Site URL for the tracking code. options: type: array items: $ref: '#/components/schemas/OptionsForCreateOrUpdateTrackingCodeObject' description: Tracking code option list. The maximum size of `options` is 500. inputMode: type: string enum: - text - select - editableSelect - hostProfileSelect description: "Select an option for how users can provide a code value. Please note that if users set `inputMode` as `hostProfileSelect`, `scheduleStartCode` should be `null`, which means `hostProfileSelect` only applies to \"Host Profile\".\n * `text` - Text input.\n * `select` - Drop down list which requires `options`.\n * `editableSelect` - Both text input and select from list.\n * `hostProfileSelect` - An input method is only available for the host profile and sign-up pages.\n" hostProfileCode: type: string enum: - optional - required - adminSet - notUsed description: "Type for the host profile.\n * `optional` - Available to be chosen but not compulsory.\n * `required` - Officially compulsory.\n * `adminSet` - The value is set by admin.\n * `notUsed` - The value cannot be used.\n" scheduleStartCodes: type: array items: $ref: '#/components/schemas/ScheduleStartCodeObject' description: Specify how tracking codes are used for each service on the meeting scheduler or meeting start pages. The maximum size of `scheduleStartCodes` is 5. UpdateTrackingCodeForUserObject: type: object required: - siteUrl properties: siteUrl: type: string example: example.webex.com description: Site URL for the tracking code. personId: type: string example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8xOGJiOWNjMC0zMWM2LTQ3MzYtYmE4OC0wMDk5ZmQzNDNmODE description: Unique identifier for the user. At least one parameter of `personId` or `email` is required. `personId` must precede `email` if both are specified. email: type: string example: john.andersen@example.com description: Email address for the user. At least one parameter of `personId` or `email` is required. `personId` must precede `email` if both are specified. trackingCodes: type: array items: $ref: '#/components/schemas/UpdateTrackingCodeItemForUserObject' description: Tracking code information for updates. UpdateTrackingCodeItemForUserObject: type: object required: - name - value properties: name: type: string example: Department description: Name for tracking code. The name cannot be empty and the maximum size is 120 characters. value: type: string description: Value for tracking code. `value` cannot be empty and the maximum size is 120 characters. OptionsForTrackingCodeObject: type: object required: - value - defaultValue properties: value: type: string description: The value of a tracking code option. `value` cannot be empty and the maximum size is 120 characters. defaultValue: type: boolean description: Whether or not the option is the default option of a tracking code. GetTrackingCodesObject: type: object properties: items: type: array items: $ref: '#/components/schemas/GetTrackingCodeObject' description: Tracking codes information. GetTrackingCodeForUserObject: type: object required: - siteUrl properties: siteUrl: type: string example: example.webex.com description: Site URL for the tracking code. personId: type: string example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8xOGJiOWNjMC0zMWM2LTQ3MzYtYmE4OC0wMDk5ZmQzNDNmODE description: Unique identifier for the user. email: type: string example: john.andersen@example.com description: Email address for the user. trackingCodes: type: array items: $ref: '#/components/schemas/GetTrackingCodeItemForUserObject' description: Tracking code information. GetTrackingCodeObject: type: object required: - id - name - siteUrl - options - inputMode - hostProfileCode - scheduleStartCodes properties: id: type: string example: '1' description: Unique identifier for tracking code. name: type: string example: Department description: Name for tracking code. siteUrl: type: string example: example.webex.com description: Site URL for the tracking code. options: type: array items: $ref: '#/components/schemas/OptionsForTrackingCodeObject' description: Tracking code option list. inputMode: type: string enum: - text - select - editableSelect - hostProfileSelect description: "An option for how an admin user can provide a code value.\n * `text` - Text input.\n * `select` - Drop down list which requires `options`.\n * `editableSelect` - Both text input and select from list.\n * `hostProfileSelect` - An input method is only available for the host profile and sign-up pages.\n" hostProfileCode: type: string enum: - optional - required - adminSet - notUsed description: "Type for the host profile.\n * `optional` - Available to be chosen but not compulsory.\n * `required` - Officially compulsory.\n * `adminSet` - The value is set by admin.\n * `notUsed` - The value cannot be used.\n" scheduleStartCodes: type: array items: $ref: '#/components/schemas/ScheduleStartCodeObject' description: Specify how tracking codes are used for each service on the meeting scheduler or meeting start pages. securitySchemes: oauth2: flows: authorizationCode: authorizationUrl: / scopes: {} tokenUrl: / type: oauth2 bearer-key: type: http description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN scheme: bearer bearerFormat: JWT bearerAuth: type: oauth2 description: OAuth 2.0 Bearer token authentication flows: authorizationCode: authorizationUrl: https://webexapis.com/v1/authorize tokenUrl: https://webexapis.com/v1/access_token scopes: spark:applications_token: Create access tokens for Service Apps