From pax8
Manages Pax8 subscriptions using API tools to list/filter by status/company/product/billing term, retrieve details, check license status/seat counts, track lifecycle, and optimize usage.
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin pax8This skill uses the workspace's default tool permissions.
Subscriptions in Pax8 represent active cloud product licenses assigned to a client company. When an order is placed and provisioned, it creates a subscription. Subscriptions are the core ongoing entity that MSPs manage -- adjusting seat counts as clients hire or leave, upgrading plans, or cancelling when a product is no longer needed. Every subscription is tied to a company and a product, with ...
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Walks every branching path and boundary condition in code, specs, or diffs, reporting only unhandled edge cases.
Subscriptions in Pax8 represent active cloud product licenses assigned to a client company. When an order is placed and provisioned, it creates a subscription. Subscriptions are the core ongoing entity that MSPs manage -- adjusting seat counts as clients hire or leave, upgrading plans, or cancelling when a product is no longer needed. Every subscription is tied to a company and a product, with a quantity (seat count), billing term, and status.
| Tool | Description | Key Parameters |
|---|---|---|
pax8-list-subscriptions | List and filter subscriptions | page, size, sort, status, billingTerm, companyId, productId |
pax8-get-subscription-by-uuid | Get a single subscription | uuid (required) |
Call pax8-list-subscriptions with optional parameters:
companyId to a company UUIDstatus to one of the allowed values (see below)billingTerm to monthly, annual, two-year, three-year, one-time, trial, or activationproductId to a product UUIDpage (0-based) and size (up to 200)Example: List all active subscriptions for a company:
pax8-list-subscriptions with companyId=a1b2c3d4-..., status=Active, size=200Example: List all trial subscriptions:
pax8-list-subscriptions with status=Trial, size=200Example: List all annual subscriptions:
pax8-list-subscriptions with billingTerm=annual, status=Active, size=200Call pax8-get-subscription-by-uuid with the uuid parameter.
Example:
pax8-get-subscription-by-uuid with uuid=s1u2b3s4-c5r6-7890-abcd-ef1234567890Order Placed --> Provisioning --> Active --> [Modify/Cancel] --> Cancelled
| |
PendingManual ActivePendingChange
PendingAutomated PendingCancel
WaitingForDetails
| State | Description |
|---|---|
Active | Subscription is live and billing |
Cancelled | Subscription has been terminated |
PendingManual | Awaiting manual provisioning by vendor |
PendingAutomated | Automated provisioning in progress |
PendingCancel | Cancellation request submitted, not yet complete |
WaitingForDetails | Additional information needed for provisioning |
Trial | Free trial period active |
Converted | Trial converted to paid subscription |
PendingActivation | Activation pending |
Activated | Recently activated |
| Term | Description | Commitment |
|---|---|---|
| Monthly | Month-to-month | Cancel anytime |
| Annual | 12-month commitment | Locked for 12 months |
| Two-Year | 24-month commitment | Locked for 24 months |
| Three-Year | 36-month commitment | Locked for 36 months |
| One-Time | Single purchase | No recurring billing |
| Trial | Free trial | No commitment |
The quantity field represents the number of licenses (seats, devices, or units depending on the product). Changing quantity triggers a billing adjustment:
| Field | Type | Description |
|---|---|---|
id | UUID | Subscription unique identifier |
companyId | UUID | Associated company ID |
productId | UUID | Associated product ID |
quantity | integer | Number of licenses/seats |
startDate | date | Subscription start date |
endDate | date | Subscription end date (for commitments) |
createdDate | datetime | When the subscription was created |
billingStart | date | When billing begins |
status | string | Current subscription state |
billingTerm | string | Billing term (Monthly, Annual) |
price | decimal | Current unit price |
commitmentTermId | UUID | Commitment term identifier |
| Field | Type | Description |
|---|---|---|
subscriptionId | UUID | Associated subscription |
resourceGroup | string | Usage resource group |
quantity | decimal | Usage quantity |
unitOfMeasure | string | Usage unit |
currentCharges | decimal | Charges for this period |
date | date | Usage date |
pax8-list-companies with company_namepax8-list-subscriptions with companyId and status=Activepax8-get-product-by-uuid with the productId to get product namesThis is one of the most valuable MSP workflows -- finding unused or underutilized licenses:
pax8-list-companies with size=200 to get all companiespax8-list-subscriptions with companyId and status=Activequantity * price)pax8-list-companies or pax8-get-company-by-uuidpax8-list-subscriptions with companyId and size=200 (no status filter to get all)pax8-list-subscriptions with status=Active and billingTerm=annualendDate to find upcoming renewalsFor usage-based products (e.g., Azure):
pax8-get-usage-summary with subscriptionId (required)resourceGroup or companyIdpax8-get-detailed-usage-summary with the usageSummaryIdSubscription:
{
"id": "s1u2b3s4-c5r6-7890-abcd-ef1234567890",
"companyId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"productId": "f9e8d7c6-b5a4-3210-fedc-ba0987654321",
"quantity": 25,
"startDate": "2025-06-01",
"endDate": "2026-05-31",
"createdDate": "2025-05-28T14:30:00.000Z",
"billingStart": "2025-06-01",
"status": "Active",
"billingTerm": "Annual",
"price": 17.10
}
| Error | Cause | Resolution |
|---|---|---|
| Subscription not found | Invalid UUID | Verify the UUID with pax8-list-subscriptions |
| Invalid status filter | Wrong status value | Use one of: Active, Cancelled, PendingManual, PendingAutomated, PendingCancel, WaitingForDetails, Trial, Converted, PendingActivation, Activated |
| Invalid billingTerm | Wrong billing term value | Use one of: monthly, annual, two-year, three-year, one-time, trial, activation |
| Current State | Attempted Action | Notes |
|---|---|---|
| Cancelled | Modify quantity | Cannot modify cancelled subscription |
| PendingCancel | Modify quantity | Cannot modify during cancellation |
| PendingManual | Cancel | Cannot cancel during provisioning |
| ActivePendingChange | Modify quantity | Wait for current change to complete |
Active state before making changescompanyId when checking a specific client's subscriptionsbillingTerm=monthly to quickly find candidates for annual commitment savings