openapi: 3.0.0 info: title: Webex Admin Address Book Wholesale Provisioning 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: Wholesale Provisioning paths: /wholesale/customers: get: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/CustomerListResponse' example: items: - id: Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4 orgId: Y2lzY29zcGFyazovL3VzL09yZ2FuaXphdGlvbi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDk externalId: c1677a16-557a-4fb4-b48f-24adde57ec99 address: addressLine1: 771 Alder Drive addressLine2: Cisco Site 5 city: Milpitas stateOrProvince: CA zipOrPostalCode: '95035' country: US status: provisioned_with_errors packages: - common_area_calling - webex_calling - webex_meetings - webex_suite - webex_voice - cx_essentials - webex_calling_standard resourceDetails: packages: - name: common_area_calling status: provisioned - name: webex_calling status: error warnings: - errorCode: 2560 description: One or more Webex Calling services are unavailable due to maintenance, unable to start provisioning. Consult status.webex.com and retry later. - name: webex_meetings status: provisioned - name: webex_suite status: provisioned - name: webex_voice status: provisioned - name: cx_essentials status: provisioned - name: webex_calling_standard status: provisioned '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: List Wholesale Customers operationId: List Wholesale Customers description: Return a list of wholesale customers. There are a number of filter options, which can be combined in a single request. tags: - Wholesale Provisioning parameters: - name: externalId in: query description: Customer external ID. example: c1677a16-557a-4fb4-b48f-24adde57ec99 schema: type: string - name: orgId in: query description: The encoded Organization ID for the customer. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDg schema: type: string - name: status in: query description: Customer API status. example: provisioned_with_errors schema: type: array items: type: string example: provisioned_with_errors description: Customer API status. - name: offset in: query description: Offset value for implementing pagination. example: '10' schema: type: string - name: max in: query description: The maximum number of customers returned in the response. example: '10' schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string post: responses: '202': description: Accepted headers: Location: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ResourceURL' example: url: https://webexapis.com/v1/wholesale/customers/Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4 '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Provision a Wholesale Customer operationId: Provision a Wholesale Customer description: "Provision a Wholesale customer for Cisco Webex services.\n\nThis API will allow a Service Provider to map the Wholesale customer and assign the required licenses and entitlements for Webex, Calling and Meetings.\n\nThe Wholesale customer provisioning is asynchronous and thus a background task is created when this endpoint is invoked.\n\n**packages Note:**\n\n* `cisco_calling_plan` is dependent on: `common_area_calling`, `webex_calling`, `webex_suite`, `webex_voice`, `cx_essentials`, `webex_calling_standard`\n\n* `attendant_console` is dependent on: `webex_calling`, `webex_suite`, `cx_essentials`\n\n
\n After successful invocation of this endpoint a URL will be returned in the `Location` header, which will point to the [Get a Wholesale Customer](/docs/api/v1/wholesale-provisioning/get-a-wholesale-customer) endpoint for this customer.\n
" tags: - Wholesale Provisioning parameters: - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string requestBody: content: application/json: example: provisioningId: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2 packages: - common_area_calling orgId: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDg externalId: c1677a16-557a-4fb4-b48f-24adde57ec99 address: addressLine1: '"771 Alder Drive"' addressLine2: '"Cisco Site 5"' city: '"Milpitas"' stateOrProvince: '"CA"' zipOrPostalCode: '"95035"' country: '"US"' customerInfo: name: '"John''s Pizza"' primaryEmail: '"john.anderson@acme.com"' language: '''en''' provisioningParameters: calling: location: name: '"Head Office"' address: addressLine1: '"771 Alder Drive"' addressLine2: '"Cisco Site 5"' city: '"Milpitas"' stateOrProvince: '"CA"' zipOrPostalCode: '"95035"' country: '"US"' timezone: '"America/Los_Angeles"' language: '"en_us"' emergencyLocationIdentifier: '"95547321"' meetings: timezone: '"America/Los_Angeles"' packages: limits: webex_calling: 50 common_area_calling: 50 webex_meetings: 50 webex_suite: 50 webex_voice: 50 cx_essentials: 50 webex_calling_standard: 50 attendant_console: 50 subPartnerAdminEmail: admin@subpartnerorg.com schema: type: object required: - provisioningId - packages - externalId - address properties: provisioningId: type: string example: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2 description: 'This Provisioning ID defines how this customer is to be provisioned for Webex Services. Each Customer Template will have their own unique Provisioning ID. This ID will be displayed under the chosen Customer Template on [Webex Control Hub](https://admin.webex.com).' packages: type: array items: $ref: '#/components/schemas/WholesalePackagesCustomer' description: The complete list of Webex Wholesale packages to be assigned to the customer. orgId: type: string example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDg description: The organization ID of the enterprise in Webex. Mandatory for existing customers. externalId: type: string example: c1677a16-557a-4fb4-b48f-24adde57ec99 description: External ID of the Wholesale customer. address: type: object required: - addressLine1 - city - country properties: addressLine1: type: string example: '"771 Alder Drive"' description: Address line 1. addressLine2: type: string example: '"Cisco Site 5"' description: Address line 2. city: type: string example: '"Milpitas"' description: Customer's city. stateOrProvince: type: string example: '"CA"' description: State or Province of the customer. This attribute may be required in specific geographies, please refer to address section in the admin guide for more information. zipOrPostalCode: type: string example: '"95035"' description: Postal/Zip code of the customer. This attribute may be required in specific geographies, please refer to address section in the admin guide for more information. country: type: string example: '"US"' description: ISO2 country code of the customer size = 2. This attribute is used to determine the default Dial In number for the Webex Meeting Sites. Refer to the Address section of [help page](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cloudCollaboration/wholesale_rtm/wbxbw_b_wholesale-rtm-solution-guide/wbxbw_m_overview-of-webex-wholesale.html#Cisco_Reference.dita_7875bb3e-10c0-4214-8173-7845db31c7a6) for more information. description: Billing Address of the customer. (There is a 50 character limit on each address line) customerInfo: type: object required: - name - primaryEmail properties: name: type: string example: '"John''s Pizza"' description: The name of the Wholesale customer. Name cannot include the "%" character. primaryEmail: type: string example: '"john.anderson@acme.com"' description: The primary email address of the customer. language: type: string example: '''en''' description: The {ISO-639-1}_{ISO-3166} or {ISO-639-1} locale or language code used as preferred language for organization and Webex Meeting Sites. Refer to the [help page](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cloudCollaboration/wholesale_rtm/wbxbw_b_wholesale-rtm-solution-guide/wbxbw_m_overview-of-webex-wholesale.html#Cisco_Reference.dita_deb994cb-9c48-4488-b352-54495c54ba1e) for more information. description: Mandatory for new customer. Optional if Organization ID is provided. provisioningParameters: type: object properties: calling: type: object required: - location properties: location: type: object required: - name - address - timezone - language properties: name: type: string example: '"Head Office"' description: Name of the wholesale customer office. address: type: object required: - addressLine1 - city - country properties: addressLine1: type: string example: '"771 Alder Drive"' addressLine2: type: string example: '"Cisco Site 5"' city: type: string example: '"Milpitas"' stateOrProvince: type: string example: '"CA"' description: State or Province of the customer in ISO 3166 format. This attribute may be required in specific geographies, please refer to address section in the admin guide for more information. zipOrPostalCode: type: string example: '"95035"' description: Postal/Zip code of the customer. This attribute may be required in specific geographies, please refer to address section in the admin guide for more information. country: type: string example: '"US"' description: Address of the wholesale customer. (There is a 50 character limit on each address line) timezone: type: string example: '"America/Los_Angeles"' description: Customer timezone for calling package. The full list of supported timezones can be found at [List of Time Zones for Wholesale Provisioning](https://help.webex.com/en-us/article/nuh0amab/List-of-Time-Zones-for-Wholesale-Provisioning). language: type: string example: '"en_us"' description: Determine language for all generated emails and voice announcements. emergencyLocationIdentifier: type: string example: '"95547321"' description: SIP Header for any emergency calls from this location. description: Mandatory when provisioning calling packages. meetings: type: object properties: timezone: type: string example: '"America/Los_Angeles"' description: Customer timezone for meetings package. packages: type: object properties: limits: type: object properties: webex_calling: type: number example: 50 common_area_calling: type: number example: 50 webex_meetings: type: number example: 50 webex_suite: type: number example: 50 webex_voice: type: number example: 50 cx_essentials: type: number example: 50 webex_calling_standard: type: number example: 50 attendant_console: type: number example: 50 description: Packages followed by their respective limits. subPartnerAdminEmail: type: string example: admin@subpartnerorg.com description: The email of the sub partner organization admin. /wholesale/customers/{customerId}: get: responses: '200': description: OK headers: Location: schema: type: string content: application/json: schema: $ref: '#/components/schemas/Customer' example: id: Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4 orgId: Y2lzY29zcGFyazovL3VzL09yZ2FuaXphdGlvbi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDk externalId: c1677a16-557a-4fb4-b48f-24adde57ec99 address: addressLine1: 771 Alder Drive addressLine2: Cisco Site 5 city: Milpitas stateOrProvince: CA zipOrPostalCode: '95035' country: US status: provisioned packages: - webex_calling resourceDetails: packages: - name: webex_calling status: provisioned warnings: - errorCode: 2560 description: One or more Webex Calling services are unavailable due to maintenance, unable to start provisioning. Consult status.webex.com and retry later. licenseIds: - Y2lzY29zcGFyazovL3VzL0xJQ0VOU0UvYjdjNGRlZTgtODZmNi00YzAxLWJkYjMtMTM3MjM2ZWY3NGRmOlNMV0NBXzdmYTBkZjhjLTlmNTEtNGE1Zi05YzY4LTU1ODRlNWM2N2E0Yg '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Get a Wholesale Customer operationId: Get a Wholesale Customer description: Retrieves details of a provisioned Wholesale customer on Cisco Webex. tags: - Wholesale Provisioning parameters: - name: customerId in: path description: A unique identifier for the customer in question. required: true example: Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4 schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string - name: includePackageLicenseInfo in: query description: If specified as true, a list of licenseIds will be returned for all provisioned packages example: 'true' schema: type: boolean put: responses: '202': description: Accepted headers: Location: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ResourceURL' example: url: https://webexapis.com/v1/wholesale/customers/Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4 '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Update a Wholesale Customer operationId: Update a Wholesale Customer description: "Updates certain details of a provisioned Wholesale customer for Cisco Webex services.\n\nThe Wholesale customer provisioning is asynchronous and thus a background task is created when this endpoint is invoked.\n\n**packages Note:**\n\n* `cisco_calling_plan` is dependent on: `common_area_calling`, `webex_calling`, `webex_suite`, `webex_voice`, `cx_essentials`, `webex_calling_standard`\n\n* `attendant_console` is dependent on: `webex_calling`, `webex_suite`, `cx_essentials`\n\n
\n After successful invocation of this endpoint a URL will be returned in the `Location` header, which will point to the [Get a Wholesale Customer](/docs/api/v1/wholesale-provisioning/get-a-wholesale-customer) endpoint for this customer.\n
" tags: - Wholesale Provisioning parameters: - name: customerId in: path description: A unique identifier for the customer to be updated. required: true example: Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4 schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string requestBody: content: application/json: example: externalId: c1677a16-557a-4fb4-b48f-24adde57ec99 packages: - common_area_calling address: addressLine1: '"771 Alder Drive"' addressLine2: '"Cisco Site 5"' city: '"Milpitas"' stateOrProvince: '"CA"' zipOrPostalCode: '"95035"' country: '"US"' provisioningParameters: calling: location: name: '"Head Office"' address: addressLine1: '"771 Alder Drive"' addressLine2: '"Cisco Site 5"' city: '"Milpitas"' stateOrProvince: '"CA"' zipOrPostalCode: '"95035"' country: '"US"' timezone: '"America/Los_Angeles"' language: '"en_us"' emergencyLocationIdentifier: '"95547321"' meetings: timezone: '"America/Los_Angeles"' packages: limits: webex_calling: 50 common_area_calling: 50 webex_meetings: 50 webex_suite: 50 webex_voice: 50 cx_essentials: 50 webex_calling_standard: 50 attendant_console: 50 subPartnerAdminEmail: admin@subpartnerorg.com schema: type: object required: - packages properties: externalId: type: string example: c1677a16-557a-4fb4-b48f-24adde57ec99 description: External ID of the Wholesale customer. packages: type: array items: $ref: '#/components/schemas/WholesalePackagesCustomer' description: The complete list of Webex Wholesale packages to be assigned to the customer, including any packages already provisioned. If a package has already been assigned to this customer and is not present in this list, then that package is removed. address: type: object required: - addressLine1 - city - country properties: addressLine1: type: string example: '"771 Alder Drive"' description: Address line 1. addressLine2: type: string example: '"Cisco Site 5"' description: Address line 2. city: type: string example: '"Milpitas"' description: Customer's city. stateOrProvince: type: string example: '"CA"' description: State or Province of the customer. This attribute may be required in specific geographies, please refer to address section in the admin guide for more information. zipOrPostalCode: type: string example: '"95035"' description: Postal/Zip code of the customer. This attribute may be required in specific geographies, please refer to address section in the admin guide for more information. country: type: string example: '"US"' description: ISO2 country code of the customer size = 2. description: Billing Address of the customer. (There is a 50 character limit on each address line) provisioningParameters: type: object properties: calling: type: object required: - location properties: location: type: object required: - name - address - timezone - language properties: name: type: string example: '"Head Office"' description: Name of the wholesale customer office. address: type: object required: - addressLine1 - city - country properties: addressLine1: type: string example: '"771 Alder Drive"' addressLine2: type: string example: '"Cisco Site 5"' city: type: string example: '"Milpitas"' stateOrProvince: type: string example: '"CA"' description: State or Province of the customer in ISO 3166 format. This attribute may be required in specific geographies, please refer to address section in the admin guide for more information. zipOrPostalCode: type: string example: '"95035"' description: Postal/Zip code of the customer. This attribute may be required in specific geographies, please refer to address section in the admin guide for more information. country: type: string example: '"US"' description: Address of the wholesale customer. (There is a 50 character limit on each address line) timezone: type: string example: '"America/Los_Angeles"' description: Customer timezone for calling package. The full list of supported timezones can be found at [List of Time Zones for Wholesale Provisioning](https://help.webex.com/en-us/article/nuh0amab/List-of-Time-Zones-for-Wholesale-Provisioning). language: type: string example: '"en_us"' description: Determine language for all generated emails and voice announcements. emergencyLocationIdentifier: type: string example: '"95547321"' description: SIP Header for any emergency calls from this location. meetings: type: object properties: timezone: type: string example: '"America/Los_Angeles"' description: Customer timezone for meetings package. packages: type: object properties: limits: type: object properties: webex_calling: type: number example: 50 common_area_calling: type: number example: 50 webex_meetings: type: number example: 50 webex_suite: type: number example: 50 webex_voice: type: number example: 50 cx_essentials: type: number example: 50 webex_calling_standard: type: number example: 50 attendant_console: type: number example: 50 description: Packages followed by their respective limits. description: Provisioning parameters are required when updating an existing package. subPartnerAdminEmail: type: string example: admin@subpartnerorg.com description: The email of the sub partner organization admin. delete: responses: '202': description: Accepted headers: {} content: {} '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Remove a Wholesale Customer operationId: Remove a Wholesale Customer description: Removes the mapping between a Wholesale Customer and a Cisco Webex organization.. tags: - Wholesale Provisioning parameters: - name: customerId in: path description: A unique identifier for the customer in question. required: true example: Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4 schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string /wholesale/customers/validate: post: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/CustomerProvisioningPrecheckResponse' example: message: success info: - infoCode: 100 description: Provisioning preCheck validation successful. '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Precheck a Wholesale Customer Provisioning operationId: Precheck a Wholesale Customer Provisioning description: 'Allows the Partner sales team to verify likely success of provisioning a Wholesale customer. **packages Note:** * `cisco_calling_plan` is dependent on: `common_area_calling`, `webex_calling`, `webex_suite`, `webex_voice`, `cx_essentials`, `webex_calling_standard` * `attendant_console` is dependent on: `webex_calling`, `webex_suite`, `cx_essentials`
The Prerequisite for using this API is to have `wxc-wholesale` entitlement or `webex-wholesale-partner-testing` setting enabled for the Partner Organization. The Provisioning Precheck APIs supports two variants of Wholesale Customer Provisioning Precheck Requests. Please refer to [Using the Provisioning Precheck APIs](/docs/api/guides/webex-for-wholesale#using-the-precheck-provisioning-api) section in [Webex for Wholesale](/docs/api/guides/webex-for-wholesale) guide for more information.
' tags: - Wholesale Provisioning parameters: - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string requestBody: content: application/json: example: address: addressLine1: 771 Alder Drive addressLine2: Cisco Site 5 city: Milpitas stateOrProvince: CA zipOrPostalCode: '95035' country: US customerInfo: primaryEmail: john.anderson@acme.com schema: type: object required: - address properties: provisioningId: type: string example: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2 description: 'Defines how this wholesale customer is to be provisioned for Cisco Webex Services. Each Customer Template will have its unique Provisioning ID. This ID will be displayed under the chosen Customer Template on Cisco Webex Control Hub.' packages: type: array items: $ref: '#/components/schemas/WholesalePackagesCustomer' description: The complete list of Webex Wholesale packages to be assigned to the Wholesale customer. orgId: type: string example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDg description: The organization ID of the enterprise in Cisco Webex. externalId: type: string example: c1677a16-557a-4fb4-b48f-24adde57ec99 description: External ID of the Wholesale customer. address: type: object required: - addressLine1 - city - country properties: addressLine1: type: string example: '"771 Alder Drive"' description: Address line 1. addressLine2: type: string example: '"Cisco Site 5"' description: Address line 2. city: type: string example: '"Milpitas"' description: Customer's city. stateOrProvince: type: string example: '"CA"' description: State or Province of the Wholesale customer. This attribute may be required in specific geographies. Please refer to [Wholesale Customer Address Requirement](/docs/api/guides/webex-for-wholesale#wholesale-customer-address-requirement) for more information. zipOrPostalCode: type: string example: '"95035"' description: Postal/Zip code of the Wholesale customer. This attribute may be required in specific geographies. Please refer to [Wholesale Customer Address Requirement](/docs/api/guides/webex-for-wholesale#wholesale-customer-address-requirement) for more information. country: type: string example: '"US"' description: ISO2 country code of the Wholesale customer size = 2. description: Billing address of the Wholesale customer. (There is a 50 character limit on each address line) customerInfo: type: object required: - primaryEmail properties: name: type: string example: '"John''s Pizza"' description: The name of the Wholesale customer. primaryEmail: type: string example: '"john.anderson@acme.com"' description: The primary email address of the Wholesale customer. provisioningParameters: type: object properties: calling: type: object required: - location properties: location: type: object required: - name - address - timezone - language properties: name: type: string example: '"Head Office"' description: Name of the wholesale customer office. address: type: object required: - addressLine1 - city - country properties: addressLine1: type: string example: '"771 Alder Drive"' addressLine2: type: string example: '"Cisco Site 5"' city: type: string example: '"Milpitas"' stateOrProvince: type: string example: '"CA"' description: State or Province of the Wholesale customer in ISO 3166 format. This attribute may be required in specific geographies. Please refer to [Wholesale Customer Address Requirement](/docs/api/guides/webex-for-wholesale#wholesale-customer-address-requirement) for more information. zipOrPostalCode: type: string example: '"95035"' description: Postal/Zip code of the Wholesale customer. This attribute may be required in specific geographies. Please refer to [Wholesale Customer Address Requirement](/docs/api/guides/webex-for-wholesale#wholesale-customer-address-requirement) for more information. country: type: string example: '"US"' description: Address of the wholesale customer.(There is a 50 character limit on each address line) timezone: type: string example: '"America/Los_Angeles"' description: Customer timezone for calling package. The full list of supported timezones can be found at [List of Time Zones for Wholesale Provisioning](https://help.webex.com/en-us/article/nuh0amab/List-of-Time-Zones-for-Wholesale-Provisioning). language: type: string example: '"en_us"' description: Determine language for all generated emails and voice announcements. emergencyLocationIdentifier: type: string example: '"95547321"' description: SIP Header for any emergency calls from this location. meetings: type: object properties: timezone: type: string example: '"America/Los_Angeles"' description: Wholesale Customer timezone for meetings package. packages: type: object properties: limits: type: object properties: webex_calling: type: number example: 50 common_area_calling: type: number example: 50 webex_meetings: type: number example: 50 webex_suite: type: number example: 50 webex_voice: type: number example: 50 cx_essentials: type: number example: 50 webex_calling_standard: type: number example: 50 attendant_console: type: number example: 50 description: Packages followed by their respective limits. /wholesale/subPartners: get: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/SubPartnersListResponse' example: subPartners: - orgId: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE subscriptionId: Sub23452345 provisioningState: active created: '2023-02-16T14:10:18.855Z' billingStartDate: '2023-02-22T13:43:41.117Z' - orgId: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xNmY5MzE2ZC02OWI0LTQ2MDMtYTQ5YS0zOTIyYzUxMGQ1YWQ subscriptionId: Sub23452345 provisioningState: active created: '2023-02-16T14:10:18.855Z' billingStartDate: '2023-02-22T13:43:41.117Z' '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: List Wholesale Sub-partners operationId: List Wholesale Sub-partners description: Lists all of the associated sub-partners. There are a number of filter and pagination options that can be combined in a single request. tags: - Wholesale Provisioning parameters: - name: provisioningState in: query description: Status to filter sub-partners based on provisioning state. example: active schema: type: string - name: offset in: query description: Offset value for implementing pagination. example: '10' schema: type: string - name: max in: query description: The maximum number of sub-partners returned in the response. example: '10' schema: type: string /wholesale/subscribers: get: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/SubscriberListResponse' example: items: - id: Y2lzY29zcGFyazovL3VzL1NVQlNDUklCRVIvZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2 personId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY email: johnandersen@acme.com package: webex_calling customerId: Y2lzY29zcGFyazovL3VzL0NVU1RPTUVSL2Y1YjM2MTg3LWM4ZGQtNDcyNy04YjJmLWY5YzQ0N2YyOTA0Ng== externalCustomerId: c1677a16-557a-4fb4-b48f-24adde57ec99 status: provisioned lastStatusChange: '2021-08-06T02:05:41.791232Z' created: '2021-08-06T02:03:00.062Z' packages: - webex_calling - id: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY personId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY email: johnandersen@acme.com customerId: Y2lzY29zcGFyazovL3VzL0NVU1RPTUVSL2Y1YjM2MTg3LWM4ZGQtNDcyNy04YjJmLWY5YzQ0N2YyOTA0Ng== externalCustomerId: c1677a16-557a-4fb4-b48f-24adde57ec99 package: webex_meetings status: provisioned lastStatusChange: '2021-08-06T02:05:41.791232Z' created: '2021-08-06T02:03:00.062Z' packages: - webex_meetings '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: List Wholesale Subscribers operationId: List Wholesale Subscribers description: Allows a Service Provider to search for their associated subscribers. There are a number of filter options, which can be combined in a single request. tags: - Wholesale Provisioning parameters: - name: max in: query description: Limit the maximum number of subscribers returned in the search response, up to 100 per page. Refer to the [Pagination](/docs/basics#pagination) section of [Webex REST API Basics](/docs/api/basics). example: '10' schema: type: integer default: 50 - name: offset in: query description: Offset value to implement [pagination](/docs/basics#pagination). example: '4' schema: type: integer - name: customerId in: query description: Wholesale customer ID. example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY schema: type: string - name: personId in: query description: The person ID of the subscriber used in the [/v1/people API](/docs/api/v1/people). example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY schema: type: string - name: externalCustomerId in: query description: Customer external ID. example: c1677a16-557a-4fb4-b48f-24adde57ec99 schema: type: string - name: email in: query description: The email address of the subscriber. example: john.anderson@acme.com schema: type: string - name: status in: query description: The provisioning status of the subscriber. example: provisioned schema: type: string - name: after in: query description: Only include subscribers created after this date and time. Epoch time (in milliseconds) preferred, but ISO 8601 date format also accepted. example: '1579046400245' schema: type: string - name: lastStatusChange in: query description: Only include subscribers with a provisioning status change after this date and time. Epoch time (in milliseconds) preferred, but ISO 8601 date format also accepted. example: '1579046400245' schema: type: string - name: sortBy in: query description: Supported `sortBy` attributes are `created` and `lastStatusChange`. Default is `created`. example: userCreationTimestamp schema: type: string - name: sortOrder in: query description: Sort by `ASC` (ascending) or `DESC` (descending). example: ASC schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string post: responses: '200': description: OK headers: Location: schema: type: string content: application/json: schema: $ref: '#/components/schemas/Subscriber' example: id: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY personId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY email: johnandersen@acme.com customerId: Y2lzY29zcGFyazovL3VzL0NVU1RPTUVSL2Y1YjM2MTg3LWM4ZGQtNDcyNy04YjJmLWY5YzQ0N2YyOTA0Ng externalCustomerId: c1677a16-557a-4fb4-b48f-24adde57ec99 package: webex_calling status: provisioned lastStatusChange: '2021-08-06T02:05:41.791232Z' created: '2021-08-06T02:03:00.062Z' packages: - webex_calling '202': description: Accepted (returned if an active free account is found, and requires consent based flow to onboard) headers: Location: schema: type: string content: application/json: schema: $ref: '#/components/schemas/Subscriber' example: id: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY email: johnandersen@acme.com customerId: Y2lzY29zcGFyazovL3VzL0NVU1RPTUVSL2Y1YjM2MTg3LWM4ZGQtNDcyNy04YjJmLWY5YzQ0N2YyOTA0Ng externalCustomerId: c1677a16-557a-4fb4-b48f-24adde57ec99 package: webex_calling status: pending_user_migration lastStatusChange: '2021-08-06T02:05:41.791232Z' created: '2021-08-06T02:03:00.062Z' packages: - webex_calling '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Provision a Wholesale Subscriber operationId: Provision a Wholesale Subscriber description: 'Provision a new Wholesale subscriber for Cisco Webex services. This API allows a Service Provider to map the Wholesale subscriber to a Cisco Webex Wholesale customer and assign the required licenses and entitlements for Webex, Calling and Meetings. **Note:** * If this subscriber is an existing Webex Calling entitled user, the `locationId`, `primaryPhoneNumber` and `extension` are optional and if provided are ignored. **packages Note:** * `attendant_console` is dependent on: `webex_calling`, `webex_suite`, `cx_essentials`
Either `packages` or `package` field is required but not both.
' tags: - Wholesale Provisioning parameters: - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string requestBody: content: application/json: example: customerId: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2OjQyODVmNTk0LTViNTEtNDdiZS05Mzk2LTZjMzZlMmFkODNhNQ email: john.anderson@acme.com packages: - webex_calling provisioningParameters: firstName: John lastName: Andersen primaryPhoneNumber: '+12405551212' extension: '51212' locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAxMjM0NTY3LTg5YWItY2RlZi0wMTIzLTQ1Njc4OWFiY2RlZg== schema: type: object required: - customerId - email - provisioningParameters properties: customerId: type: string example: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2OjQyODVmNTk0LTViNTEtNDdiZS05Mzk2LTZjMzZlMmFkODNhNQ description: ID of the Provisioned Customer for Webex Wholesale. email: type: string example: john.anderson@acme.com description: The email address of the subscriber (mandatory for the trusted email provisioning flow). package: type: string enum: - webex_calling - webex_meetings - webex_suite - webex_voice - cx_essentials - webex_calling_standard description: "The Webex Wholesale package to be assigned to the subscriber. **NOTE:** This parameter will be deprecated soon. Please\n\nuse `packages` instead.\n * `webex_calling` - Calling Basic Package.\n * `webex_meetings` - Meetings Package.\n * `webex_suite` - Suite Package.\n * `webex_voice` - Voice Package.\n * `cx_essentials` - Customer Assist Package.\n * `webex_calling_standard` - Webex Calling Standard Package.\n" packages: type: array items: $ref: '#/components/schemas/WholesalePackagesSubscriber' description: The complete list of Webex Wholesale packages assigned to the subscriber. Currently accepts only one package in the list. provisioningParameters: type: object properties: firstName: type: string example: '"John"' description: The first name of the subscriber. lastName: type: string example: '"Andersen"' description: The last name of the subscriber. primaryPhoneNumber: type: string example: '"+12405551212"' description: The primary phone number configured for the subscriber. A primary phone number, extension, or both must be supplied when assigning a calling-enabled package, unless the subscriber is an existing Webex Calling entitled user. extension: type: string example: '"51212"' description: The extension configured for the subscriber. An extension, primary phone number or both must be supplied when assigning a calling-enabled package, unless the subscriber is an existing Webex Calling entitled user. locationId: type: string example: '"Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAxMjM0NTY3LTg5YWItY2RlZi0wMTIzLTQ1Njc4OWFiY2RlZg=="' description: A unique identifier for the location. This ID should be retrieved via the [List Locations](/docs/api/v1/locations/list-locations) API. /wholesale/subscribers/{subscriberId}: get: responses: '200': description: OK headers: Location: schema: type: string content: application/json: schema: $ref: '#/components/schemas/Subscriber' example: id: Y2lzY29zcGFyazovL3VzL1NVQlNDUklCRVIvZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2 personId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY email: johnandersen@acme.com customerId: Y2lzY29zcGFyazovL3VzL0NVU1RPTUVSL2Y1YjM2MTg3LWM4ZGQtNDcyNy04YjJmLWY5YzQ0N2YyOTA0Ng externalCustomerId: c1677a16-557a-4fb4-b48f-24adde57ec99 package: webex_calling status: provisioned lastStatusChange: '2021-08-06T02:05:41.791232Z' created: '2021-08-06T02:03:00.062Z' packages: - webex_calling '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Get a Wholesale Subscriber operationId: Get a Wholesale Subscriber description: Retrieves details of a provisioned Wholesale subscriber on Cisco Webex. tags: - Wholesale Provisioning parameters: - name: subscriberId in: path description: A unique identifier for the subscriber in question. required: true example: Y2lzY29zcGFyazovL3VzL1NVQlNDUklCRVIvNjk3MGU2YmItNzQzOS00ZmZiLWFkMzQtZDNmZjAxNjdkZGFk schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string put: responses: '200': description: OK headers: Location: schema: type: string content: application/json: schema: $ref: '#/components/schemas/Subscriber' example: id: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY personId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY email: johnandersen@acme.com customerId: Y2lzY29zcGFyazovL3VzL0NVU1RPTUVSL2Y1YjM2MTg3LWM4ZGQtNDcyNy04YjJmLWY5YzQ0N2YyOTA0Ng externalCustomerId: c1677a16-557a-4fb4-b48f-24adde57ec99 package: webex_calling status: provisioned lastStatusChange: '2021-08-06T02:05:41.791232Z' created: '2021-08-06T02:03:00.062Z' packages: - webex_calling '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Update a Wholesale Subscriber operationId: Update a Wholesale Subscriber description: 'Updates certain details of a provisioned Wholesale subscriber. **Note:** * The `provisioningParameters` attributes should only be supplied when changing from the webex_meetings package to any calling-enabled package. * Even in that scenario, if this subscriber is an existing Webex Calling entitled user, these attributes are optional and if provided are ignored. **packages Note:** * `attendant_console` is dependent on: `webex_calling`, `webex_suite`, `cx_essentials`
Either `packages` or `package` field is required but not both.
' tags: - Wholesale Provisioning parameters: - name: subscriberId in: path description: A unique identifier for the subscriber in question. required: true example: Y2lzY29zcGFyazovL3VzL1NVQlNDUklCRVIvNjk3MGU2YmItNzQzOS00ZmZiLWFkMzQtZDNmZjAxNjdkZGFk schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string requestBody: content: application/json: example: packages: - webex_calling provisioningParameters: primaryPhoneNumber: +1-240-555-1212 extension: '5221' locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAxMjM0NTY3LTg5YWItY2RlZi0wMTIzLTQ1Njc4OWFiY2RlZg== schema: type: object properties: package: $ref: '#/components/schemas/WholesalePackagesSubscriber' description: 'The Webex Wholesale package to be assigned to the subscriber. **NOTE:** This parameter will be deprecated soon. Please use `packages` instead.' packages: type: array items: $ref: '#/components/schemas/WholesalePackagesSubscriber' description: The complete list of Webex Wholesale packages assigned to the subscriber. Currently accepts only one package in the list. provisioningParameters: type: object properties: primaryPhoneNumber: type: string example: '"+1-240-555-1212"' description: The primary phone number configured for the subscriber. A primary phone number, extension, or both must be supplied when changing from the webex_meetings package to any calling-enabled package. extension: type: string example: '"5221"' description: The extension configured for the subscriber. An extension, primary phone number or both must be supplied when changing from the webex_meetings package to any calling-enabled package. locationId: type: string example: '"Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAxMjM0NTY3LTg5YWItY2RlZi0wMTIzLTQ1Njc4OWFiY2RlZg=="' description: A unique identifier for the location. This id should be retrieved via the [List Locations](/docs/api/v1/locations/list-locations) API. delete: responses: '204': description: No Content headers: {} content: {} '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Remove a Wholesale Subscriber operationId: Remove a Wholesale Subscriber description: Removes the mapping between Wholesale Subscriber and a Webex user. tags: - Wholesale Provisioning parameters: - name: subscriberId in: path description: A unique identifier for the subscriber in question. required: true example: Y2lzY29zcGFyazovL3VzL1NVQlNDUklCRVIvNjk3MGU2YmItNzQzOS00ZmZiLWFkMzQtZDNmZjAxNjdkZGFk schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string /wholesale/subscribers/validate: post: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/SubscriberProvisioningPrecheckResponse' example: message: success info: - infoCode: 100 description: Provisioning preCheck validation successful. '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '410': description: 'Gone: The requested resource is no longer available.' '415': description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.' '423': description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.' '428': description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.' '429': description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.' '500': description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).' '502': description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.' '503': description: 'Service Unavailable: Server is overloaded with requests. Try again later.' '504': description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.' summary: Precheck a Wholesale Subscriber Provisioning operationId: Precheck a Wholesale Subscriber Provisioning description: 'Allows the Partner sales team to verify likely success of provisioning a wholesale subscriber. **packages Note:** * `attendant_console` is dependent on: `webex_calling`, `webex_suite`, `cx_essentials`
The Prerequisite for using this API is to have `wxc-wholesale` entitlement or `webex-wholesale-partner-testing` setting enabled for the Partner Organization. The Provisioning Precheck APIs supports three variants of Wholesale Subscriber Provisioning Precheck Requests. Please refer to [Using the Provisioning Precheck API](/docs/api/guides/webex-for-wholesale#using-the-precheck-provisioning-api) section in [Webex for Wholesale](/docs/api/guides/webex-for-wholesale) guide for more information.
Either `packages` or `package` field is required but not both.
' tags: - Wholesale Provisioning parameters: - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string requestBody: content: application/json: example: customerId: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2OjQyODVmNTk0LTViNTEtNDdiZS05Mzk2LTZjMzZlMmFkODNhNQ email: alice.anderson@acme.com schema: type: object required: - email properties: provisioningId: type: string example: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2 description: 'Defines how this wholesale subscriber is to be provisioned for Cisco Webex Services. Each Customer template has its unique provisioning ID. This ID is displayed under the chosen customer template on Cisco Webex Control Hub.' customerId: type: string example: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2OjQyODVmNTk0LTViNTEtNDdiZS05Mzk2LTZjMzZlMmFkODNhNQ description: ID of the Provisioned Customer for Webex Wholesale. email: type: string example: john.anderson@acme.com description: The email address of the subscriber. package: type: string enum: - webex_calling - webex_meetings - webex_suite - webex_voice - cx_essentials - webex_calling_standard description: "The Webex Wholesale package to be assigned to the subscriber. **NOTE:** This parameter will be deprecated soon. Please\n\nuse `packages` instead.\n * `webex_calling` - Calling Basic Package.\n * `webex_meetings` - Meetings Package.\n * `webex_suite` - Suite Package.\n * `webex_voice` - Voice Package.\n * `cx_essentials` - Customer Assist Package.\n * `webex_calling_standard` - Webex Calling Standard Package.\n" packages: type: array items: $ref: '#/components/schemas/WholesalePackagesSubscriber' description: The complete list of Webex Wholesale packages assigned to the subscriber. Currently accepts only one package in the list. provisioningParameters: type: object properties: firstName: type: string example: '"John"' description: The first name of the subscriber. lastName: type: string example: '"Andersen"' description: The last name of the subscriber. primaryPhoneNumber: type: string example: '"+12405551212"' description: The primary phone number configured for the subscriber. extension: type: string example: '"51212"' description: The extension configured for the subscriber. An extension, primary phone number or both must be supplied when creating a subscriber. locationId: type: string example: '"Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAxMjM0NTY3LTg5YWItY2RlZi0wMTIzLTQ1Njc4OWFiY2RlZg=="' description: A unique identifier for the location. This ID should be retrieved via the Locations API - List Locations. customerInfo: type: object required: - primaryEmail properties: primaryEmail: type: string example: '"john.anderson@acme.com"' description: The primary email address of the customer. /subscribers/{subscriberId}/emails/consentMove: post: responses: '204': description: No Content headers: {} content: {} '400': description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.' '401': description: 'Unauthorized: Authentication credentials were missing or incorrect.' '403': description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.' '404': description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.' '405': description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.' '409': description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.' '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: Send Consent User Move Email to Pending Wholesale Subscribers operationId: Send Consent User Move Email to Pending Wholesale Subscribers description: Allows a Service Provider to send the user consent move email to a subscriber who is currently in `pending_user_migration` state. tags: - Wholesale Provisioning parameters: - name: subscriberId in: path description: A unique identifier for the subscriber in question. required: true example: Y2lzY29zcGFyazovL3VzL1NVQlNDUklCRVIvNjk3MGU2YmItNzQzOS00ZmZiLWFkMzQtZDNmZjAxNjdkZGFk schema: type: string - name: onBehalfOfSubPartnerOrgId in: query description: The encoded organization ID for the sub partner. example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wZTE4MmUxNS05ZmNhLTQ0NzgtYmEzOC1jNGFiMmUyN2FlZDA= schema: type: string components: schemas: ResourceDetails: type: object properties: packages: type: array items: $ref: '#/components/schemas/Package' CustomerProvisioningPrecheckResponse: type: object properties: message: type: string example: success description: A textual representation of the Precheck response message containing the `infoCode` object in the case of a success response and the `errorCode` object in the case of failure. info: type: object properties: infoCode: type: number example: 100 description: Provisioning Precheck `infoCode`. description: type: string example: Provisioning Precheck validation successful. description: A textual description of the `infoCode`. description: A list of `ProvisioningPreCheckResponseInfo` objects. WholesalePackagesSubscriber: type: string enum: - webex_calling - webex_meetings - webex_suite - webex_voice - cx_essentials - webex_calling_standard - attendant_console - cx_premium_agent - cx_standard_agent description: " * `webex_calling` - Calling Basic Package.\n * `webex_meetings` - Meetings Package.\n * `webex_suite` - Suite Package.\n * `webex_voice` - Voice Package.\n * `cx_essentials` - Customer Assist Package.\n * `webex_calling_standard` - Webex Calling Standard Package.\n * `attendant_console` - Attendant Console Package.\n * `cx_premium_agent` - Contact Center Premium Agent Package.\n * `cx_standard_agent` - Contact Center Standard Agent Package.\n" Address: type: object properties: addressLine1: type: string example: 771 Alder Drive description: Address Line 1. addressLine2: type: string example: Cisco Site 5 description: Address Line 2. city: type: string example: Milpitas description: Customer's city. stateOrProvince: type: string example: CA description: State or Province of the customer. zipOrPostalCode: type: string example: '95035' description: Postal/Zip code of the customer. country: type: string example: '`US`:' description: ISO2 country code of the customer, 2 characters. This attribute is used to determine the default Dial In number for the Webex Meeting Sites. Refer to the Address section of [help page](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cloudCollaboration/wholesale_rtm/wbxbw_b_wholesale-rtm-solution-guide/wbxbw_m_overview-of-webex-wholesale.html#Cisco_Reference.dita_7875bb3e-10c0-4214-8173-7845db31c7a6) for more information. Subscriber: type: object properties: id: type: string example: '''Y2lzY29zcGFyazovL3VzL1NVQlNDUklCRVIvNjk3MGU2YmItNzQzOS00ZmZiLWFkMzQtZDNmZjAxNjdkZGFk''' description: A unique Cisco identifier for the subscriber. personId: type: string example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY description: The person id of the subscriber used in the /people API. Only presented when status is `provisioned`. email: type: string example: john.anderson@acme.com description: The email address of the subscriber. customerId: type: string example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY description: A unique identifier for the customer. externalCustomerId: type: string example: c1677a16-557a-4fb4-b48f-24adde57ec99 description: External ID of the Wholesale customer. package: type: string enum: - webex_calling - webex_meetings - webex_suite - webex_voice - cx_essentials - webex_calling_standard description: "The Webex Wholesale Package assigned to the subscriber.\n * `webex_calling` - Calling Basic Package.\n * `webex_meetings` - Meetings Package.\n * `webex_suite` - Suite Package.\n * `webex_voice` - Voice Package.\n * `cx_essentials` - Customer Assist Package.\n * `webex_calling_standard` - Webex Calling Standard Package.\n" packages: type: array items: $ref: '#/components/schemas/WholesalePackagesSubscriber' description: The list of Webex Wholesale packages assigned to the subscriber. status: type: string enum: - provisioned - pending_user_migration description: "The provisioning status of the user.\n * `provisioned` - The subscriber is fully provisioned on Cisco Webex.\n * `pending_user_migration` - The subscriber user migration is pending.\n" errors: type: array items: $ref: '#/components/schemas/Error' description: "List of errors that occurred during that last attempt to provision/update this subscriber.\n\n *Note:*\n\n+ This list captures errors that occurred during provisioning of the subscriber.\n\n+ Any errors that occur during initial API request validation will be captured directly in error response with appropriate HTTP status code." created: type: string example: '2019-10-18T14:26:16.000Z' description: The date and time the subscriber was provisioned. lastStatusChange: type: string example: '2020-03-18T16:05:34.000Z' description: The date and time the provisioning status of the subscriber last changed. Customer: type: object properties: id: type: string example: '''Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4''' description: A unique Cisco identifier for the customer. This value should be used for the `customerId` parameter in the Wholesale Customers and Wholesale Subscribers API. orgId: type: string example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY description: The Organization ID of the enterprise on Cisco Webex, to be used when referencing this customer on other Cisco Webex APIs. Only presented when status is `provisioned`. externalId: type: string example: c1677a16-557a-4fb4-b48f-24adde57ec99 description: External ID of the Customer. address: $ref: '#/components/schemas/Address' status: type: string enum: - provisioned - provisioned_with_errors - provisioning - updating - deleting - error - pending_rpl_review description: "The provisioning status of the customer.\n * `provisioned` - Customer is fully provisioned on Cisco Webex.\n * `provisioned_with_errors` - Customer is provisioned with errors.\n * `provisioning` - Customer is provisioning.\n * `updating` - Customer is updating.\n * `deleting` - Customer is being deleted.\n * `error` - An error occurred provisioning the customer on Cisco Webex.\n * `pending_rpl_review` - The customer is pending a Denied Party List compliance check.\n" packages: type: array items: $ref: '#/components/schemas/WholesalePackagesCustomer' description: List of package names provisioned resourceDetails: $ref: '#/components/schemas/ResourceDetails' errors: type: array items: $ref: '#/components/schemas/Error' description: "List of errors that occurred during that last attempt to provision/update this customer.\n\n *Note:*\n\n+ This list captures errors that occurred during *asynchronous or background* provisioning of the customer, *after* the API has been accepted and 202 response returned.\n\n+ Any errors that occur during initial API request validation will be captured directly in error response with appropriate HTTP status code." Package: type: object properties: name: $ref: '#/components/schemas/WholesalePackagesCustomer' description: The Webex Wholesale Packages assigned to the customer. status: type: string enum: - provisioned - provisioning - deleting - error description: "The provisioning status of the a particular package.\n * `provisioned` - Customer is fully provisioned on Cisco Webex.\n * `provisioning` - Customer is provisioning.\n * `deleting` - Customer is being deleted.\n * `error` - An error occurred provisioning the customer on Cisco Webex.\n" warnings: type: array items: $ref: '#/components/schemas/Error' description: "List of warnings that occurred during that last attempt to provision/update this customer.\n\n *Note:*\n\n+ This list captures errors that occurred during *asynchronous or background* provisioning of the customer, *after* the API has been accepted and 202 response returned.\n\n+ Any errors that occur during initial API request validation will be captured directly in error response with appropriate HTTP status code." errors: type: array items: $ref: '#/components/schemas/Error' description: "List of errors that occurred during that last attempt to provision/update this customer.\n\n *Note:*\n\n+ This list captures errors that occurred during *asynchronous or background* provisioning of the customer, *after* the API has been accepted and 202 response returned.\n\n+ Any errors that occur during initial API request validation will be captured directly in error response with appropriate HTTP status code." licenseIds: type: array items: type: string example: Y2lzY29zcGFyazovL3VzL0xJQ0VOU0UvYjdjNGRlZTgtODZmNi00YzAxLWJkYjMtMTM3MjM2ZWY3NGRmOlNMV0NBXzdmYTBkZjhjLTlmNTEtNGE1Zi05YzY4LTU1ODRlNWM2N2E0Yg description: List of licenseIds for the package. WholesalePackagesCustomer: type: string enum: - common_area_calling - webex_calling - webex_meetings - webex_suite - webex_voice - cx_essentials - webex_calling_standard - cisco_calling_plan - attendant_console - cx_premium_agent - cx_standard_agent - cx_voice_ports - cx_ai_assistant - webex_ai_agent description: " * `common_area_calling` - Webex Common Area Calling Package.\n * `webex_calling` - Webex Calling Package.\n * `webex_meetings` - Webex Meetings Package.\n * `webex_suite` - Webex Suite Package.\n * `webex_voice` - Webex Voice Package.\n * `cx_essentials` - Customer Assist Package.\n * `webex_calling_standard` - Webex Calling Standard Package.\n * `cisco_calling_plan` - Cisco Calling Plan Package.\n * `attendant_console` - Attendant Console Package.\n * `cx_premium_agent` - Contact Center Premium Agent Package.\n * `cx_standard_agent` - Contact Center Standard Agent Package.\n * `cx_voice_ports` - Contact Center Voice Ports Package.\n * `cx_ai_assistant` - Contact Center AI Assistant Package.\n * `webex_ai_agent` - Webex AI Agent Package.\n" CustomerListResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/Customer' description: An array of Customer objects. SubscriberListResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/Subscriber' description: An array of Subscriber objects. ResourceURL: type: object properties: url: type: string example: '"https://webexapis.com/v1/wholesale/customers/Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvNTJjZjU3NmQtNjBhOC00MDdhLWIyMmMtNDY3YzUxNTkxOTA4"' description: A URL which points to the [Get a Wholesale Customer](/docs/api/v1/wholesale-provisioning/get-a-wholesale-customer) endpoint for the provisioned customer. SubPartnersListResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/SubPartner' description: An array of `SubPartner` objects. SubscriberProvisioningPrecheckResponse: type: object properties: message: type: string example: success description: A textual representation of the Precheck response message containing the `infoCode` object in the case of a success response and the `errorCode` object in the case of failure. info: type: object properties: infoCode: type: number example: 100 description: Provisioning Precheck `infoCode`. description: type: string example: Provisioning Precheck validation successful. description: A textual description of the `infoCode`. description: A list of `ProvisioningPreCheckResponseInfo` objects. Error: type: object properties: errorCode: type: number example: 10022 description: An error code that identifies the reason for the error. description: type: string example: The email is already associated with an existing user. description: A textual representation of the error code. SubPartner: type: object properties: orgId: type: string example: '''Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE''' description: The Organization ID for the sub-partner. subscriptionId: type: string example: '''Sub23452345''' description: The Wholesale Subscription ID of the partner. provisioningState: type: string enum: - active - suspended description: "The provisioning status of the sub-partner.\n * `active` - Sub-partner can provision new customers and subscribers or update, delete existing ones.\n * `suspended` - Sub-partner cannot provision, update customers and subscribers but can delete existing ones.\n" created: type: string example: '''2023' description: 02-16T14:10:18.855Z' (string) - The date and time the sub-partner was created. billingStartDate: type: string example: '''2023' description: 02-22T13:43:41.117Z' (string) - The date and time from which new billing for the sub-partner started. 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