Skip to main content
Tools Reference

Sherweb Tools

Written By Christopher Scaminaci

Last updated 7 days ago

Sherweb Tools

sher_ · 21 tools · Free 17 · Pro 4 Cloud marketplace ordering, subscriptions and billing. Credentials are a client id and secret plus a subscription key that every call must carry; the scope, distributor or service provider, is chosen from the path. No endpoint pages - there is no page, limit or offset parameter anywhere in the API. The Service Provider API is in Sherweb's beta programme. Amendments, cancellations and orders are asynchronous: they return a tracking id, which sher_track_request polls.

All connector tools · Sherweb setup guide

Sherweb tool groups

Billing

ToolPlanAccessSummary
sher_get_payable_chargesFreeRead-onlyGet the Distributor billing 'payable charges' report — the charges YOU (the partner) owe Sherweb for a billing period.
sher_get_receivable_chargesFreeRead-onlyGet the Service Provider 'receivable charges' report for one customer — the charges YOU bill that customer for a billing period.

[Sherweb] Get the Distributor billing 'payable charges' report — the charges YOU (the partner) owe Sherweb for a billing period. This is the only endpoint in Sherweb's public Distributor API (production). Optionally pass a date (yyyy-MM-dd) to select the billing period; omit it for the current/default period. Returns raw JSON. Requires an OAuth key entitled to the 'distributor' scope — a distributor-only key will not be able to call the service-provider (sher_*) tools and vice versa.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
datestringnonullOptional billing-period date in yyyy-MM-dd format. Omit for the current/default period.

[Sherweb] Get the Service Provider 'receivable charges' report for one customer — the charges YOU bill that customer for a billing period. customerId is required (from sher_list_customers). Optionally pass a date (yyyy-MM-dd) to select the billing period; omit for the current/default period. Service Provider API is in Sherweb Beta. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id to report on (from sher_list_customers). Required.
datestringnonullOptional billing-period date in yyyy-MM-dd format. Omit for the current/default period.

Customers

ToolPlanAccessSummary
sher_configure_customer_platformsProWriteEnable/configure one or more vendor platforms for a customer.
sher_get_customer_platform_detailsFreeRead-onlyGet the details of one platform as configured for a customer.
sher_get_customer_platform_meter_usagesFreeRead-onlyGet metered (consumption-based) usage for one platform of a customer — e.g. usage-billed products under that platform.
sher_get_customer_platforms_configurationsFreeRead-onlyGet the platform configurations already enabled for a customer (which vendor platforms — e.g. Microsoft — are configured, and their parameter values).
sher_list_customersFreeRead-onlyList all customers in your Sherweb Service Provider account.

[Sherweb] Enable/configure one or more vendor platforms for a customer. customerId is required (from sher_list_customers). Provide a JSON object body: { "platformConfigurations": [ { "platformId": "<uuid from sher_list_platforms>", "requiredParameters": [ { "identifier": "<from sher_get_platform_required_parameters>", "value": "..." } ] } ] }. requiredParameters is optional per platform. On success Sherweb returns an empty body, surfaced here as . Service Provider API is in Sherweb Beta.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id to configure (from sher_list_customers). Required.
fieldsJsonstringyesJSON object body. Required: platformConfigurations (array of { platformId (uuid, required), requiredParameters (optional array of { identifier (required), value }) }).

[Sherweb] Get the details of one platform as configured for a customer. Both customerId (from sher_list_customers) and platformId (from sher_list_platforms or sher_get_customer_platforms_configurations) are required. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id (from sher_list_customers). Required.
platformIdstringyesThe platform id (uuid, from sher_list_platforms). Required.

[Sherweb] Get metered (consumption-based) usage for one platform of a customer — e.g. usage-billed products under that platform. Both customerId (from sher_list_customers) and platformId (from sher_list_platforms) are required. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id (from sher_list_customers). Required.
platformIdstringyesThe platform id (uuid, from sher_list_platforms). Required.

[Sherweb] Get the platform configurations already enabled for a customer (which vendor platforms — e.g. Microsoft — are configured, and their parameter values). customerId is required (from sher_list_customers). Use sher_get_platform_required_parameters to learn which parameters a platform needs before enabling more via sher_configure_customer_platforms. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id (from sher_list_customers). Required.

[Sherweb] List all customers in your Sherweb Service Provider account. Each customer carries the customerId used by nearly every other sher_* Service Provider tool (catalogs, platform config, billing, orders). No pagination — the full collection is returned. Service Provider API is in Sherweb Beta. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.

Catalog & Platforms

ToolPlanAccessSummary
sher_get_customer_catalogFreeRead-onlyGet the full purchasable catalog for a customer — the SKUs available to order for them, with product metadata.
sher_get_customer_catalog_items_pricingFreeRead-onlyGet pricing information for specific catalog SKUs for a customer.
sher_get_platform_required_parametersFreeRead-onlyGet the parameters each platform requires when configuring it for a customer (identifiers and metadata).
sher_get_platforms_for_skusFreeRead-onlyResolve which platform each of a set of SKUs belongs to.
sher_get_product_sku_mappingFreeRead-onlyMap vendor product identifiers to Sherweb SKUs for a platform (Microsoft only).
sher_list_platformsFreeRead-onlyList all vendor platforms available in your Sherweb Service Provider account (e.g. Microsoft), each with its platformId (uuid).

[Sherweb] Get the full purchasable catalog for a customer — the SKUs available to order for them, with product metadata. customerId is required (from sher_list_customers). Use the returned SKUs with sher_get_customer_catalog_items_pricing for pricing and with sher_validate_place_order / sher_place_order to order. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id (from sher_list_customers). Required.

[Sherweb] Get pricing information for specific catalog SKUs for a customer. This is a read (POST-as-read, no side effects). customerId is required (from sher_list_customers). Provide a JSON object body: { "skus": ["SKU-1", "SKU-2"] } (SKUs from sher_get_customer_catalog). Returns raw JSON pricing per SKU.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id (from sher_list_customers). Required.
fieldsJsonstringyesJSON object body. Required: skus (array of SKU strings from sher_get_customer_catalog).

[Sherweb] Get the parameters each platform requires when configuring it for a customer (identifiers and metadata). This is a read (POST-as-read, no side effects). Provide a JSON object body: { "platformIds": ["<uuid>", "<uuid>"] } (from sher_list_platforms). Use the returned identifiers to build the requiredParameters for sher_configure_customer_platforms. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
fieldsJsonstringyesJSON object body. Required: platformIds (array of platform uuid strings from sher_list_platforms).

[Sherweb] Resolve which platform each of a set of SKUs belongs to. This is a read (POST-as-read, no side effects). Provide a JSON object body: { "skus": ["SKU-1", "SKU-2"] }. Returns raw JSON mapping SKUs to platforms.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
fieldsJsonstringyesJSON object body. Required: skus (array of SKU strings).

[Sherweb] Map vendor product identifiers to Sherweb SKUs for a platform (Microsoft only). This is a read (POST-as-read, no side effects). Provide a JSON object body: { "platformId": "<uuid>", "productIds": ["<ProductID:SkuID>"] } — each productId is a Microsoft 'ProductID:SkuID' pair; platformId is the Microsoft platform uuid from sher_list_platforms. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
fieldsJsonstringyesJSON object body. Required: platformId (Microsoft platform uuid), productIds (array of Microsoft 'ProductID:SkuID' strings).

[Sherweb] List all vendor platforms available in your Sherweb Service Provider account (e.g. Microsoft), each with its platformId (uuid). platformId is used by sher_configure_customer_platforms, sher_get_customer_platform_details, sher_get_customer_platform_meter_usages, sher_get_product_sku_mapping, and sher_get_customer_subscription_meters. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.

Subscriptions

ToolPlanAccessSummary
sher_cancel_subscriptionsProDestructiveCancel one or more of a customer's subscriptions.
sher_create_subscriptions_amendmentProDestructiveAmend (change the quantity of) one or more of a customer's subscriptions.
sher_get_customer_subscription_metersFreeRead-onlyGet the subscription meters for one customer on one platform — the metered/consumption counters underlying usage-based billing.
sher_get_customer_subscriptions_detailsFreeRead-onlyGet the detailed subscription list for a customer — each subscription's id, product, quantity, term, and status.
sher_get_customer_subscriptions_pricing_informationFreeRead-onlyGet pricing information for a customer's subscriptions — per-subscription unit prices and fees.

[Sherweb] Cancel one or more of a customer's subscriptions. This is DESTRUCTIVE and ASYNCHRONOUS — cancellation may end the customer's service and cannot be undone through this API. customerId is required (from sher_list_customers). Provide a JSON object body: { "subscriptionIds": ["<uuid from sher_get_customer_subscriptions_details>"] }. Returns a requestTrackingId — poll sher_track_request with it to learn the outcome. Sherweb may instead return an empty 204, surfaced here as . Service Provider API is in Sherweb Beta.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id whose subscriptions are cancelled (from sher_list_customers). Required.
fieldsJsonstringyesJSON object body. Required: subscriptionIds (array of subscription uuid strings from sher_get_customer_subscriptions_details).

[Sherweb] Amend (change the quantity of) one or more of a customer's subscriptions. This is an ASYNCHRONOUS operation. customerId is required (from sher_list_customers). Provide a JSON object body: { "subscriptionAmendmentParameters": [ { "subscriptionId": "<uuid from sher_get_customer_subscriptions_details>", "newQuantity": <int> } ] }. Returns a requestTrackingId — poll sher_track_request with it to learn the outcome (Queued/Processing/Success/Failure). Sherweb may instead return an empty 204, surfaced here as . Service Provider API is in Sherweb Beta.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id whose subscriptions are amended (from sher_list_customers). Required.
fieldsJsonstringyesJSON object body. Required: subscriptionAmendmentParameters (array of { subscriptionId (uuid), newQuantity (int) }).

[Sherweb] Get the subscription meters for one customer on one platform — the metered/consumption counters underlying usage-based billing. Both customerId (from sher_list_customers) and platformId (from sher_list_platforms) are required. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id (from sher_list_customers). Required.
platformIdstringyesThe platform id (uuid, from sher_list_platforms). Required.

[Sherweb] Get the detailed subscription list for a customer — each subscription's id, product, quantity, term, and status. customerId is required (from sher_list_customers). The returned subscriptionId feeds sher_create_subscriptions_amendment and sher_cancel_subscriptions. (Supersedes the deprecated GetCustomerSubscriptions endpoint.) Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id (from sher_list_customers). Required.

[Sherweb] Get pricing information for a customer's subscriptions — per-subscription unit prices and fees. customerId is required (from sher_list_customers). (Supersedes the deprecated GetCustomerSubscriptions endpoint, paired with sher_get_customer_subscriptions_details.) Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id (from sher_list_customers). Required.

Orders

ToolPlanAccessSummary
sher_place_orderProDestructivePlace an order for a customer.
sher_track_requestFreeRead-onlyTrack the status of an asynchronous Service Provider request by its trackingId — the requestTrackingId returned by sher_place_order, sher_create_subscriptions_amendment, or sher_cancel_subscriptions.
sher_validate_place_orderFreeRead-onlyValidate an order for a customer WITHOUT placing it — a dry-run that checks the cart against catalog/quantity/dependency rules and has no side effects.

[Sherweb] Place an order for a customer. This is a real purchase and is billable — validate first with sher_validate_place_order. customerId is required (from sher_list_customers). Provide a JSON object body: { "cartItems": [ { "sku": "...", "quantity": <int>, "purchaseOrderNumber": "<optional, perpetual licenses only>" } ], "orderedBy": "<optional>" }. Returns a requestTrackingId — poll sher_track_request with it to confirm the order completed (Queued/Processing/Success/Failure). Service Provider API is in Sherweb Beta.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id to order for (from sher_list_customers). Required.
fieldsJsonstringyesJSON object body. Required: cartItems (array of { sku, quantity (int), purchaseOrderNumber (optional) }); optional: orderedBy.

[Sherweb] Track the status of an asynchronous Service Provider request by its trackingId — the requestTrackingId returned by sher_place_order, sher_create_subscriptions_amendment, or sher_cancel_subscriptions. Returns the request status: Unknown, Queued, Processing, Success, or Failure. Poll until it reaches Success or Failure. Returns raw JSON.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
trackingIdstringyesThe tracking id returned by an async operation (sher_place_order / sher_create_subscriptions_amendment / sher_cancel_subscriptions). Required.

[Sherweb] Validate an order for a customer WITHOUT placing it — a dry-run that checks the cart against catalog/quantity/dependency rules and has no side effects. Always run this before sher_place_order. customerId is required (from sher_list_customers). Provide a JSON object body: { "cartItems": [ { "sku": "...", "quantity": <int>, "purchaseOrderNumber": "<optional>" } ], "orderedBy": "<optional>" }. A valid cart returns an empty body, surfaced here as ; an invalid cart returns HTTP 400 with a ProblemDetails body describing the violation.

ParamTypeRequiredDefaultDescription
acceptLanguagestringnonullOptional response language: 'en' or 'fr'. Omit for the account default.
customerIdstringyesThe customer id to order for (from sher_list_customers). Required.
fieldsJsonstringyesJSON object body. Required: cartItems (array of { sku, quantity (int), purchaseOrderNumber (optional) }); optional: orderedBy.