Use this skill when working with Sherweb subscriptions - viewing subscriptions, changing quantities, license management, subscription lifecycle, and quantity change workflows. Covers subscription states, seat adjustments, and provisioning status.
Subscriptions in Sherweb represent active cloud product licenses assigned to a customer through the distributor platform. When the MSP provisions a product for a customer via Sherweb, a subscription is created that tracks the product, quantity (seats/licenses), billing cycle, and status. Subscriptions are the core ongoing entity that MSPs manage -- adjusting seat counts as clients grow or contract, monitoring provisioning status, and ensuring license compliance.
| Tool | Description | Key Parameters |
|---|---|---|
sherweb_subscriptions_list | List subscriptions, optionally filtered by customer | customerId, page, pageSize, status |
sherweb_subscriptions_get| Get detailed information about a specific subscription |
subscriptionId (required) |
sherweb_subscriptions_change_quantity | Change the seat/license quantity on a subscription | subscriptionId (required), quantity (required) |
Call sherweb_subscriptions_list with optional parameters:
customerId to a customer IDstatus to one of the allowed values (see below)page (1-based) and pageSize (default 25)Example: List all active subscriptions for a customer:
sherweb_subscriptions_list with customerId=cust-abc-123, status=Active, pageSize=100Example: List all subscriptions across all customers:
sherweb_subscriptions_list with pageSize=100Call sherweb_subscriptions_get with the subscriptionId parameter.
Example:
sherweb_subscriptions_get with subscriptionId=sub-def-456Call sherweb_subscriptions_change_quantity with:
subscriptionId - the subscription to modifyquantity - the new desired quantity (absolute number, not a delta)Example: Increase seats from 25 to 30:
sherweb_subscriptions_change_quantity with subscriptionId=sub-def-456, quantity=30Provisioning --> Active --> [Modify Quantity / Cancel] --> Cancelled
| |
Suspended PendingChange
|
Reactivated --> Active
| State | Description |
|---|---|
Active | Subscription is live, provisioned, and billing |
Suspended | Subscription temporarily paused (payment or compliance issue) |
Cancelled | Subscription has been terminated |
Provisioning | Initial setup in progress |
PendingChange | A quantity or configuration change is being processed |
PendingCancellation | Cancellation request submitted, not yet complete |
Failed | Provisioning or modification failed |
The quantity field represents the number of licenses (seats, devices, or units depending on the product). Key rules:
Active (not Suspended, PendingChange, etc.)sherweb_subscriptions_get to see the current seat countsherweb_subscriptions_change_quantity with the new quantitysherweb_subscriptions_get again to confirm the change was applied| Field | Type | Description |
|---|---|---|
id | string | Subscription unique identifier |
customerId | string | Customer this subscription belongs to |
customerName | string | Customer display name |
productName | string | Product or SKU name |
productId | string | Product identifier |
quantity | integer | Current number of licenses/seats |
status | string | Current subscription state |
billingCycle | string | Billing frequency (Monthly, Yearly) |
startDate | date | Subscription start date |
endDate | date | Subscription end date (for term commitments) |
renewalDate | date | Next renewal date |
createdDate | datetime | When the subscription was created |
modifiedDate | datetime | Last modification timestamp |
autoRenew | boolean | Whether the subscription auto-renews |
| Field | Type | Description |
|---|---|---|
subscriptionId | string | Subscription that was modified |
previousQuantity | integer | Quantity before the change |
newQuantity | integer | Quantity after the change |
status | string | Change status (Completed, Pending, Failed) |
effectiveDate | date | When the change takes effect |
sherweb_customers_list with searchsherweb_subscriptions_list with customerId and status=Activesherweb_customers_list to get all customers (paginate through all pages)sherweb_subscriptions_list with customerId and status=Activesherweb_subscriptions_list filtered by customerIdActive and note the current quantitysherweb_subscriptions_change_quantity with the new (higher) quantitysherweb_subscriptions_getsherweb_subscriptions_change_quantity with the new (lower) quantitysherweb_subscriptions_list with status=ActiverenewalDate within the next 30 dayssherweb_subscriptions_list with pageSize=100 (no status filter to get all)Subscription:
{
"id": "sub-def-456",
"customerId": "cust-abc-123",
"customerName": "Acme Corporation",
"productName": "Microsoft 365 Business Premium",
"productId": "prod-m365-bp",
"quantity": 25,
"status": "Active",
"billingCycle": "Monthly",
"startDate": "2025-06-01",
"endDate": null,
"renewalDate": "2026-04-01",
"createdDate": "2025-05-28T14:30:00.000Z",
"modifiedDate": "2026-02-15T09:00:00.000Z",
"autoRenew": true
}
Quantity Change Response:
{
"subscriptionId": "sub-def-456",
"previousQuantity": 25,
"newQuantity": 30,
"status": "Completed",
"effectiveDate": "2026-03-10"
}
| Error | Cause | Resolution |
|---|---|---|
| Subscription not found | Invalid subscriptionId | Verify the ID with sherweb_subscriptions_list |
| Invalid quantity | Below minimum or above maximum | Check product requirements for quantity limits |
| Cannot modify | Subscription not in Active state | Verify subscription status before attempting changes |
| Quantity decrease restricted | Annual commitment prevents decrease | Wait for renewal period or contact Sherweb support |
| Change already pending | A previous change is still processing | Wait for the pending change to complete before submitting another |
| Authentication error | Expired or invalid token | Re-authenticate using OAuth 2.0 client credentials flow |
| Current State | Attempted Action | Notes |
|---|---|---|
| Cancelled | Change quantity | Cannot modify cancelled subscriptions |
| Suspended | Change quantity | Resolve suspension before modifying |
| Provisioning | Change quantity | Wait for provisioning to complete |
| PendingChange | Change quantity | Wait for current change to finish |
| PendingCancellation | Change quantity | Cannot modify during cancellation |
Active before changing quantitycustomerId when checking a specific client