Skip to main content
2026-11-04
  • Added: optional StartDate and EndDate on V1.Credits.ListLedger, to return only ledger events with a timestamp in that range. Both are inclusive ISO 8601 dates.
2026-10-30
Governance in v1See Governance.
  • Added: the governance methods under v1:
    • V1.Customers.Entities.Retrieve, V1.Customers.Entities.List, V1.Customers.Entities.Archive and V1.Customers.Entities.Upsert.
    • V1.Customers.Entities.Entitlements.List and V1.Customers.Entities.Entitlements.Upsert. An entity entitlement ties an entity to a feature or currency with a usage limit and reset cadence.
    • V1.EntityTypes.List, V1.EntityTypes.Archive and V1.EntityTypes.Upsert. An entity type with active entities can’t be archived, and V1.EntityTypes.CheckActiveEntities reports whether any exist across all customers.
  • Added: Dimensions on V1.Customers.CheckEntitlement. Pass the entities the usage is attributed to, and the check also covers their governance budgets. The response then includes Chains. See Check.
  • ⚠️ Deprecated: the v1-beta governance methods, in favor of their v1 replacements:
2026-10-29
  • Added: SalesforceID on customers, the customer’s ID in the Salesforce integration. It’s returned when retrieving or listing customers, and accepted when provisioning, updating or importing them.
  • Added: ArchivedAt on entity types. V1Beta.EntityTypes.List omits archived entity types unless you set IncludeArchived.
  • Changed: upserting an archived entity or entity type restores it. Upserting an entity whose entity type is archived fails with a 400.
  • ⚠️ Deprecated: V1Beta.Customers.Entities.Unarchive. Upsert the entity to restore it.
2026-10-28
  • Fixed: the default base URL is https://edge.api.stigg.io again. Recent releases defaulted to https://api.stigg.io. A base URL you set yourself, in the client options or through STIGG_BASE_URL, is unaffected.
    • Note: callers behind an egress allowlist need edge.api.stigg.io permitted.
2026-10-28
  • Added: V1Beta.Customers.Governance.List (GET /api/v1-beta/customers/{id}/governance), a paginated governance query. It returns each node of the customer’s governance hierarchy with its limit, cadence, scope and current usage, and fetches the next page as you iterate. See Query governance.
  • Added: a Before cursor on the governance query, and Prev in its pagination, to page backwards.
  • Changed: the governance query’s feature, currency and entity type filters take up to 100 IDs each.
  • Added: EXPIRED status on credit reservations.
2026-10-22
Credit reservations
  • Added: reserve credits as part of an entitlement check. Pass ReserveAmount and a client-provided ReservationId to V1.Customers.CheckEntitlement for a credit entitlement. The check is decided and the credits held atomically, and RequestedUsage is ignored. Retrying with the same ReservationId returns the same result.
    • The hold lasts ReservationTtlSeconds (1 to 86400, default 3600), or until ReservationExpiresAt (at most 24 hours ahead). The two are mutually exclusive.
    • ReservationMetadata attaches a JSON-encoded object of string values.
  • Added: V1.Credits.Reservations.Release (POST /api/v1/credits/reservations/{reservationId}/release). It consumes ConsumedAmount from the credits that backed the reservation and returns the rest to the balance. Any amount above the reservation is consumed normally. Retrying a failed release with the same reservation ID applies it once.
  • Added: CREDITS_RESERVED, CREDITS_RESERVATION_RELEASED and CREDITS_RESERVATION_EXPIRED credit ledger event types. Ledger events gain ReservationId, Metadata, HoldReturnedAmount and a per-grant Breakdown, and the ledger list takes a ReservationId filter. A reservation event’s Amount is its net effect on the balance, so a reserve is negative, and so is a release that consumed more than was held.
Other changes
  • Changed: reported usage values may be fractional. They’re rounded half away from zero to 5 decimal places, and a value with a fractional part must have an absolute value below 2^35 (34,359,738,368). Previously only whole numbers were accepted.
  • Changed: the maximum unit quantity on addon and plan updates is no longer capped at 999,999.
2026-10-20
  • Added: Reserved, ReservedOnExpiredGrants and Reservation on credit entitlements, in entitlement check, customer entitlements and subscription provisioning responses. Reserved is the credits held by open reservations on active grants. It’s already included in CurrentUsage, so UsageLimit minus CurrentUsage is still the available balance. ReservedOnExpiredGrants is the credits still held on grants that expired during the hold. They can still be released, but aren’t part of the balance. Reservation is the reservation the request created, if any.
2026-10-15
  • Added: the credit usage GroupBy parameter accepts the reserved key featureId, alone or with up to 3 custom dimension keys (for example featureId,userId), to split each series by feature. The feature is returned in each series’ FeatureId and FeatureName, not as a tag.
2026-10-15
Usage reports, version 2
  • Added: V2.Usage.Report (POST /api/v2/usage). It reports usage like V1.Usage.Report, but returns the balance of each credit wallet once, in Credits, however many measurements drew from it. Each measurement’s Credit holds only the credits that measurement consumed.
  • ⚠️ Deprecated: V1.Usage.Report. Use V2.Usage.Report instead.
  • Added: Entities on the v2 usage report and credit consumption responses. It lists the current usage of each governance entitlement the request counted towards, and is absent when governance isn’t enabled.
Other changes
  • Added: CardBrand and WalletType on the customer’s default payment method, when retrieving or listing customers. CardBrand is the card brand reported by the billing provider, for example visa, mastercard or amex. WalletType is the digital wallet the card was added through, for example apple_pay or google_pay. Both are null when the billing provider doesn’t report them.
2026-09-29
Feature meters
  • Added: Meter on features, with an Aggregation (SUM, MAX, MIN, AVG, COUNT or UNIQUE, plus an optional Field) and Filters made of conditions. Returned on feature responses and accepted when creating a feature.
Other changes
  • Added: InvoiceId on the next invoice preview of contracts.
  • Added: HasSoftLimit on credit entitlements when provisioning or updating a subscription, and when creating a contract.
  • Added: optional ContractId when creating a contract. Sending the same ID again returns the existing contract instead of creating a second one.
  • Changed: Subscriptions is now optional when creating a contract, so a contract can be created empty and subscriptions attached later.
  • Added: PAYPAL payment method type on customers. The payment method type can now also be null.
  • ⚠️ Changed: the customer integration VendorIdentifier is narrowed to STRIPE, ZUORA, HUBSPOT and AWS_MARKETPLACE.
  • ⚠️ Removed: V1.Events.DataExport.MintScopedToken (data export scoped token).
2026-08-12
  • ⚠️ Removed: BillingModel and BillingCadence from the overage pricing model in AddonUpdateParams and PlanUpdateParams.
2026-08-05
Direct credit consumption
  • Added: Consume/ConsumeAsync methods to consume credits directly from a customer’s pool, without reporting usage against a metered feature or requiring an active subscription. See direct credit consumption.
Contracts
  • Added: support for creating and retrieving customer contracts. See contracts.
Other additions
  • Added: Airwallex payment provider integration.
  • Added: StripeInvoicing to customer vendor identifier enums.
  • Added: IdempotencyKey parameter on the usage report method.
  • Added: consumed field on the Credit model, and EventCount on credit usage Series/Point models.
  • Added: CreditEntitlement field on overage pricing for addons and plans.
  • Added: EventType parameter on the list credit ledger method.
  • Added: syncStates field on credit grants responses.
  • Added: DisplayName on entities, Description on entity types.
  • Added: consumption/estimate endpoints on customer events and usage.
Breaking changes
  • ⚠️ Moved: the governance retrieval endpoint to v1-beta customers.
  • ⚠️ Renamed: capabilityId to currencyId, and added featureId, in the customer assignments list.
  • ⚠️ Renamed: entity type fields to EntityTypeID in entity/governance models.
2026-06-28
  • Added: HasSoftLimit field on addon and plan entitlements. When a credit entitlement is configured as a soft limit, access checks return HasAccess: true and HasSoftLimit: true even after the credit balance reaches zero.
  • Added: RetrieveGovernance endpoint on v1-beta customers.
  • Added: SalesforceID parameter on subscription update, and cancellation_date on subscription provision/update params.
  • Added: credit field on the usage report response, and UsagePeriodEnd on the usage Credit model.
  • Added: offset/limit pagination for credit usage.
  • Added: scope_entity_ids field on the entitlement check response.
  • Added: XAccountID/XEnvironmentID header parameters across all endpoints.
  • Data export: added scoped token/sync, destinations create/update/delete, connection_status/last_sync_status fields, a ListModels endpoint, and an EnabledModels field.
  • ⚠️ Removed: capabilityId; added currency/feature/parent/scope fields to assignments.
  • Fixed: blocked syncing plans with a package pricing model to Zuora.
  • Changed: Cadence from an enum to a string in assignments models.
  • Fixed: UsageLimit is now nullable in assignments.
2026-06-01
This release brings the C# SDK up to the API as of June 2026. Highlights:
  • Added: plan and add-on management: V1.Plans.Update, Archive, CreateDraft, RemoveDraft and Publish, plan and add-on entitlements (V1.Plans.Entitlements, V1.Addons.Entitlements), and ListCharges / ListOverageCharges.
  • Added: credits: custom currencies (V1.Credits.CustomCurrencies), credit grants (V1.Credits.Grants.Create, List and Void), V1.Credits.ListLedger, V1.Credits.GetUsage and V1.Credits.GetAutoRecharge.
  • Added: entitlement checks: V1.Customers.CheckEntitlement and V1.Customers.RetrieveEntitlements.
  • Added: customer integrations: V1.Customers.Integrations.Link, List, Retrieve, Update and Unlink.
  • Added: the V1Beta governance API: entities, entity types, assignments and a beta entitlement check.
  • Added: BillingCurrency, BillingId, Language, Passthrough and Timezone on customers; BillingCycleAnchor, Entitlements, MinimumSpend and PriceOverrides on subscription provisioning and updates; Metadata on coupons; CompatibleAddonIds and DefaultTrialConfig on plans.
  • ⚠️ Changed: subscription add-ons and free items are identified by Id instead of AddonId; MinimumSpend takes Amount and Currency instead of Minimum; PriceOverrides take Amount and Currency instead of Price.
  • ⚠️ Removed: SubscriptionEntitlements from the subscription update request (use Entitlements).
2026-02-18
  • Various API updates and endpoint additions.
2026-03-19
  • Added: billingCycleAnchor property when provisioning and updating subscriptions. Accepts SubscriptionBillingCycleAnchor.UNCHANGED (default) to keep the existing billing cycle anchor, or SubscriptionBillingCycleAnchor.NOW to reset it to the current timestamp.
2026-01-29
  • Updated stainless config for API
2026-01-28
  • API updates
  • Handle unions containing unknown types properly
  • Improved HttpResponse qualification
2026-01-27
  • Removed custom code
2026-01-27
  • API updates
  • Improved cursor pagination
2026-01-27
  • API update
  • Commented out promotional endpoints
2026-01-26
Features:
  • Added ToString and Equals methods
  • Visibility changes to QueryString() and AddDefaultHeaders
  • SDK configuration and copy constructor tests