Webex · Capability
Webex Wholesale — Wholesale Provisioning
Webex Wholesale — Wholesale Provisioning. 14 operations. Lead operation: Send Consent User Move Email to Pending Wholesale Subscribers. Self-contained Naftiko capability covering one Webex business surface.
What You Can Do
POST
Sendconsentusermoveemailtopendingwholesalesubscribers
— Send Consent User Move Email to Pending Wholesale Subscribers
/v1/subscribers/{subscriberid}/emails/consentmove
GET
Listwholesalecustomers
— List Wholesale Customers
/v1/wholesale/customers
POST
Provisionawholesalecustomer
— Provision a Wholesale Customer
/v1/wholesale/customers
POST
Precheckawholesalecustomerprovisioning
— Precheck a Wholesale Customer Provisioning
/v1/wholesale/customers/validate
GET
Getawholesalecustomer
— Get a Wholesale Customer
/v1/wholesale/customers/{customerid}
PUT
Updateawholesalecustomer
— Update a Wholesale Customer
/v1/wholesale/customers/{customerid}
DELETE
Removeawholesalecustomer
— Remove a Wholesale Customer
/v1/wholesale/customers/{customerid}
GET
Listwholesalesubpartners
— List Wholesale Sub-partners
/v1/wholesale/subpartners
GET
Listwholesalesubscribers
— List Wholesale Subscribers
/v1/wholesale/subscribers
POST
Provisionawholesalesubscriber
— Provision a Wholesale Subscriber
/v1/wholesale/subscribers
POST
Precheckawholesalesubscriberprovisioning
— Precheck a Wholesale Subscriber Provisioning
/v1/wholesale/subscribers/validate
GET
Getawholesalesubscriber
— Get a Wholesale Subscriber
/v1/wholesale/subscribers/{subscriberid}
PUT
Updateawholesalesubscriber
— Update a Wholesale Subscriber
/v1/wholesale/subscribers/{subscriberid}
DELETE
Removeawholesalesubscriber
— Remove a Wholesale Subscriber
/v1/wholesale/subscribers/{subscriberid}
MCP Tools
send-consent-user-move-email
Send Consent User Move Email to Pending Wholesale Subscribers
list-wholesale-customers
List Wholesale Customers
read-only
idempotent
provision-wholesale-customer
Provision a Wholesale Customer
precheck-wholesale-customer-provisioning
Precheck a Wholesale Customer Provisioning
read-only
get-wholesale-customer
Get a Wholesale Customer
read-only
idempotent
update-wholesale-customer
Update a Wholesale Customer
idempotent
remove-wholesale-customer
Remove a Wholesale Customer
idempotent
list-wholesale-sub-partners
List Wholesale Sub-partners
read-only
idempotent
list-wholesale-subscribers
List Wholesale Subscribers
read-only
idempotent
provision-wholesale-subscriber
Provision a Wholesale Subscriber
precheck-wholesale-subscriber-provisioning
Precheck a Wholesale Subscriber Provisioning
read-only
get-wholesale-subscriber
Get a Wholesale Subscriber
read-only
idempotent
update-wholesale-subscriber
Update a Wholesale Subscriber
idempotent
remove-wholesale-subscriber
Remove a Wholesale Subscriber
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Webex Wholesale — Wholesale Provisioning
description: 'Webex Wholesale — Wholesale Provisioning. 14 operations. Lead operation: Send Consent User Move Email to Pending
Wholesale Subscribers. Self-contained Naftiko capability covering one Webex business surface.'
tags:
- Webex
- Wholesale Provisioning
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
WEBEX_API_KEY: WEBEX_API_KEY
capability:
consumes:
- type: http
namespace: wholesale-wholesale-provisioning
baseUri: ''
description: Webex Wholesale — Wholesale Provisioning business capability. Self-contained, no shared references.
resources:
- name: subscribers-subscriberId-emails-consentMove
path: /subscribers/{subscriberId}/emails/consentMove
operations:
- name: sendconsentusermoveemailtopendingwholesalesubscribers
method: POST
description: Send Consent User Move Email to Pending Wholesale Subscribers
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: subscriberId
in: path
type: string
description: A unique identifier for the subscriber in question.
required: true
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: wholesale-customers
path: /wholesale/customers
operations:
- name: listwholesalecustomers
method: GET
description: List Wholesale Customers
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: externalId
in: query
type: string
description: Customer external ID.
- name: orgId
in: query
type: string
description: The encoded Organization ID for the customer.
- name: status
in: query
type: array
description: Customer API status.
- name: offset
in: query
type: string
description: Offset value for implementing pagination.
- name: max
in: query
type: string
description: The maximum number of customers returned in the response.
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: provisionawholesalecustomer
method: POST
description: Provision a Wholesale Customer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: wholesale-customers-validate
path: /wholesale/customers/validate
operations:
- name: precheckawholesalecustomerprovisioning
method: POST
description: Precheck a Wholesale Customer Provisioning
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: wholesale-customers-customerId
path: /wholesale/customers/{customerId}
operations:
- name: getawholesalecustomer
method: GET
description: Get a Wholesale Customer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: customerId
in: path
type: string
description: A unique identifier for the customer in question.
required: true
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: includePackageLicenseInfo
in: query
type: boolean
description: If specified as true, a list of licenseIds will be returned for all provisioned packages
- name: updateawholesalecustomer
method: PUT
description: Update a Wholesale Customer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: customerId
in: path
type: string
description: A unique identifier for the customer to be updated.
required: true
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: removeawholesalecustomer
method: DELETE
description: Remove a Wholesale Customer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: customerId
in: path
type: string
description: A unique identifier for the customer in question.
required: true
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: wholesale-subPartners
path: /wholesale/subPartners
operations:
- name: listwholesalesubpartners
method: GET
description: List Wholesale Sub-partners
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: provisioningState
in: query
type: string
description: Status to filter sub-partners based on provisioning state.
- name: offset
in: query
type: string
description: Offset value for implementing pagination.
- name: max
in: query
type: string
description: The maximum number of sub-partners returned in the response.
- name: wholesale-subscribers
path: /wholesale/subscribers
operations:
- name: listwholesalesubscribers
method: GET
description: List Wholesale Subscribers
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: max
in: query
type: integer
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 [Webe
- name: offset
in: query
type: integer
description: Offset value to implement [pagination](/docs/basics#pagination).
- name: customerId
in: query
type: string
description: Wholesale customer ID.
- name: personId
in: query
type: string
description: The person ID of the subscriber used in the [/v1/people API](/docs/api/v1/people).
- name: externalCustomerId
in: query
type: string
description: Customer external ID.
- name: email
in: query
type: string
description: The email address of the subscriber.
- name: status
in: query
type: string
description: The provisioning status of the subscriber.
- name: after
in: query
type: string
description: Only include subscribers created after this date and time. Epoch time (in milliseconds) preferred,
but ISO 8601 date format also accepted.
- name: lastStatusChange
in: query
type: string
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 accep
- name: sortBy
in: query
type: string
description: Supported `sortBy` attributes are `created` and `lastStatusChange`. Default is `created`.
- name: sortOrder
in: query
type: string
description: Sort by `ASC` (ascending) or `DESC` (descending).
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: provisionawholesalesubscriber
method: POST
description: Provision a Wholesale Subscriber
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: wholesale-subscribers-validate
path: /wholesale/subscribers/validate
operations:
- name: precheckawholesalesubscriberprovisioning
method: POST
description: Precheck a Wholesale Subscriber Provisioning
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: wholesale-subscribers-subscriberId
path: /wholesale/subscribers/{subscriberId}
operations:
- name: getawholesalesubscriber
method: GET
description: Get a Wholesale Subscriber
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: subscriberId
in: path
type: string
description: A unique identifier for the subscriber in question.
required: true
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: updateawholesalesubscriber
method: PUT
description: Update a Wholesale Subscriber
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: subscriberId
in: path
type: string
description: A unique identifier for the subscriber in question.
required: true
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: removeawholesalesubscriber
method: DELETE
description: Remove a Wholesale Subscriber
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: subscriberId
in: path
type: string
description: A unique identifier for the subscriber in question.
required: true
- name: onBehalfOfSubPartnerOrgId
in: query
type: string
description: The encoded organization ID for the sub partner.
authentication:
type: bearer
token: '{{env.WEBEX_API_KEY}}'
exposes:
- type: rest
namespace: wholesale-wholesale-provisioning-rest
port: 8080
description: REST adapter for Webex Wholesale — Wholesale Provisioning. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/subscribers/{subscriberid}/emails/consentmove
name: subscribers-subscriberid-emails-consentmove
description: REST surface for subscribers-subscriberId-emails-consentMove.
operations:
- method: POST
name: sendconsentusermoveemailtopendingwholesalesubscribers
description: Send Consent User Move Email to Pending Wholesale Subscribers
call: wholesale-wholesale-provisioning.sendconsentusermoveemailtopendingwholesalesubscribers
with:
subscriberId: rest.subscriberId
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- path: /v1/wholesale/customers
name: wholesale-customers
description: REST surface for wholesale-customers.
operations:
- method: GET
name: listwholesalecustomers
description: List Wholesale Customers
call: wholesale-wholesale-provisioning.listwholesalecustomers
with:
externalId: rest.externalId
orgId: rest.orgId
status: rest.status
offset: rest.offset
max: rest.max
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- method: POST
name: provisionawholesalecustomer
description: Provision a Wholesale Customer
call: wholesale-wholesale-provisioning.provisionawholesalecustomer
with:
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/wholesale/customers/validate
name: wholesale-customers-validate
description: REST surface for wholesale-customers-validate.
operations:
- method: POST
name: precheckawholesalecustomerprovisioning
description: Precheck a Wholesale Customer Provisioning
call: wholesale-wholesale-provisioning.precheckawholesalecustomerprovisioning
with:
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/wholesale/customers/{customerid}
name: wholesale-customers-customerid
description: REST surface for wholesale-customers-customerId.
operations:
- method: GET
name: getawholesalecustomer
description: Get a Wholesale Customer
call: wholesale-wholesale-provisioning.getawholesalecustomer
with:
customerId: rest.customerId
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
includePackageLicenseInfo: rest.includePackageLicenseInfo
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateawholesalecustomer
description: Update a Wholesale Customer
call: wholesale-wholesale-provisioning.updateawholesalecustomer
with:
customerId: rest.customerId
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: removeawholesalecustomer
description: Remove a Wholesale Customer
call: wholesale-wholesale-provisioning.removeawholesalecustomer
with:
customerId: rest.customerId
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- path: /v1/wholesale/subpartners
name: wholesale-subpartners
description: REST surface for wholesale-subPartners.
operations:
- method: GET
name: listwholesalesubpartners
description: List Wholesale Sub-partners
call: wholesale-wholesale-provisioning.listwholesalesubpartners
with:
provisioningState: rest.provisioningState
offset: rest.offset
max: rest.max
outputParameters:
- type: object
mapping: $.
- path: /v1/wholesale/subscribers
name: wholesale-subscribers
description: REST surface for wholesale-subscribers.
operations:
- method: GET
name: listwholesalesubscribers
description: List Wholesale Subscribers
call: wholesale-wholesale-provisioning.listwholesalesubscribers
with:
max: rest.max
offset: rest.offset
customerId: rest.customerId
personId: rest.personId
externalCustomerId: rest.externalCustomerId
email: rest.email
status: rest.status
after: rest.after
lastStatusChange: rest.lastStatusChange
sortBy: rest.sortBy
sortOrder: rest.sortOrder
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- method: POST
name: provisionawholesalesubscriber
description: Provision a Wholesale Subscriber
call: wholesale-wholesale-provisioning.provisionawholesalesubscriber
with:
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/wholesale/subscribers/validate
name: wholesale-subscribers-validate
description: REST surface for wholesale-subscribers-validate.
operations:
- method: POST
name: precheckawholesalesubscriberprovisioning
description: Precheck a Wholesale Subscriber Provisioning
call: wholesale-wholesale-provisioning.precheckawholesalesubscriberprovisioning
with:
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/wholesale/subscribers/{subscriberid}
name: wholesale-subscribers-subscriberid
description: REST surface for wholesale-subscribers-subscriberId.
operations:
- method: GET
name: getawholesalesubscriber
description: Get a Wholesale Subscriber
call: wholesale-wholesale-provisioning.getawholesalesubscriber
with:
subscriberId: rest.subscriberId
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateawholesalesubscriber
description: Update a Wholesale Subscriber
call: wholesale-wholesale-provisioning.updateawholesalesubscriber
with:
subscriberId: rest.subscriberId
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: removeawholesalesubscriber
description: Remove a Wholesale Subscriber
call: wholesale-wholesale-provisioning.removeawholesalesubscriber
with:
subscriberId: rest.subscriberId
onBehalfOfSubPartnerOrgId: rest.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: wholesale-wholesale-provisioning-mcp
port: 9090
transport: http
description: MCP adapter for Webex Wholesale — Wholesale Provisioning. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: send-consent-user-move-email
description: Send Consent User Move Email to Pending Wholesale Subscribers
hints:
readOnly: false
destructive: false
idempotent: false
call: wholesale-wholesale-provisioning.sendconsentusermoveemailtopendingwholesalesubscribers
with:
subscriberId: tools.subscriberId
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- name: list-wholesale-customers
description: List Wholesale Customers
hints:
readOnly: true
destructive: false
idempotent: true
call: wholesale-wholesale-provisioning.listwholesalecustomers
with:
externalId: tools.externalId
orgId: tools.orgId
status: tools.status
offset: tools.offset
max: tools.max
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- name: provision-wholesale-customer
description: Provision a Wholesale Customer
hints:
readOnly: false
destructive: false
idempotent: false
call: wholesale-wholesale-provisioning.provisionawholesalecustomer
with:
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: precheck-wholesale-customer-provisioning
description: Precheck a Wholesale Customer Provisioning
hints:
readOnly: true
destructive: false
idempotent: false
call: wholesale-wholesale-provisioning.precheckawholesalecustomerprovisioning
with:
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-wholesale-customer
description: Get a Wholesale Customer
hints:
readOnly: true
destructive: false
idempotent: true
call: wholesale-wholesale-provisioning.getawholesalecustomer
with:
customerId: tools.customerId
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
includePackageLicenseInfo: tools.includePackageLicenseInfo
outputParameters:
- type: object
mapping: $.
- name: update-wholesale-customer
description: Update a Wholesale Customer
hints:
readOnly: false
destructive: false
idempotent: true
call: wholesale-wholesale-provisioning.updateawholesalecustomer
with:
customerId: tools.customerId
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-wholesale-customer
description: Remove a Wholesale Customer
hints:
readOnly: false
destructive: true
idempotent: true
call: wholesale-wholesale-provisioning.removeawholesalecustomer
with:
customerId: tools.customerId
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- name: list-wholesale-sub-partners
description: List Wholesale Sub-partners
hints:
readOnly: true
destructive: false
idempotent: true
call: wholesale-wholesale-provisioning.listwholesalesubpartners
with:
provisioningState: tools.provisioningState
offset: tools.offset
max: tools.max
outputParameters:
- type: object
mapping: $.
- name: list-wholesale-subscribers
description: List Wholesale Subscribers
hints:
readOnly: true
destructive: false
idempotent: true
call: wholesale-wholesale-provisioning.listwholesalesubscribers
with:
max: tools.max
offset: tools.offset
customerId: tools.customerId
personId: tools.personId
externalCustomerId: tools.externalCustomerId
email: tools.email
status: tools.status
after: tools.after
lastStatusChange: tools.lastStatusChange
sortBy: tools.sortBy
sortOrder: tools.sortOrder
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- name: provision-wholesale-subscriber
description: Provision a Wholesale Subscriber
hints:
readOnly: false
destructive: false
idempotent: false
call: wholesale-wholesale-provisioning.provisionawholesalesubscriber
with:
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: precheck-wholesale-subscriber-provisioning
description: Precheck a Wholesale Subscriber Provisioning
hints:
readOnly: true
destructive: false
idempotent: false
call: wholesale-wholesale-provisioning.precheckawholesalesubscriberprovisioning
with:
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-wholesale-subscriber
description: Get a Wholesale Subscriber
hints:
readOnly: true
destructive: false
idempotent: true
call: wholesale-wholesale-provisioning.getawholesalesubscriber
with:
subscriberId: tools.subscriberId
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.
- name: update-wholesale-subscriber
description: Update a Wholesale Subscriber
hints:
readOnly: false
destructive: false
idempotent: true
call: wholesale-wholesale-provisioning.updateawholesalesubscriber
with:
subscriberId: tools.subscriberId
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-wholesale-subscriber
description: Remove a Wholesale Subscriber
hints:
readOnly: false
destructive: true
idempotent: true
call: wholesale-wholesale-provisioning.removeawholesalesubscriber
with:
subscriberId: tools.subscriberId
onBehalfOfSubPartnerOrgId: tools.onBehalfOfSubPartnerOrgId
outputParameters:
- type: object
mapping: $.