Allow customers to have multiple subscriptions to the same product
When customers can provision multiple instances of your product, it’s possible to monetize each instance separately.Common use cases include products that represent a website (i.e. Wix, HotJar) or an application. Each website or application can have a subscription to a different tier while allowing the customer to pay for all of their subscriptions using the same payment method.Different sub-accounts and user roles can also be monetized using a similar method.Luckily, Stigg gives you the flexibility to implement this pricing model.
Due to the fact that multiple “instances” of the product can be created, Stigg needs to know what instance a subscription should apply to, entitlements needs to be checked for, and widgets rendered for.This is achieved by passing a resource ID, which represents the ID of the entity that the subscription applies to (for example: website ID, app ID, etc.) to Stigg.The resource ID needs to be provided during subscription provisioning and update, entitlement checks and widget rendering.
In order to grant a product instance access to gated functionality and bill for it, provision a subscription for that instance in Stigg.This can be achieved programmatically by using Stigg’s backend SDKs, or directly from the Stigg app. In either cases, ensure to pass the resource ID parameter to associate the provisioned subscription with the relevant product instance.
To provision a new subscription, click on the ”+ Add” button under the Subscriptions section of the customer details screen of the relevant customer.Provide a resource ID to provision a subscription for the relevant product instance.
Whenever a certain feature is consumed by a product instance, report this usage to Stigg. The reported usage will be used to track, limit and bill the customer’s usage of metered features. Pass the resource ID parameter to associate the reported usage with the relevant product instance.
const requestedUsage = 10;const entitlement = await stiggClient.getMeteredEntitlement({ customerId: 'customer-demo-01', resourceId: 'resource-01', featureId: 'feature-demo-03', options: { requestedUsage } });if (entitlement.hasAccess) { // has access and the requested usage is within the allowed quota } else { // the customer has exceeded his quota for this feature }
In order to check the entitlements of a specific product instance in the frontend, after initializing the Stigg frontend SDK, set the context of the product instance by passing its ID as the resource ID to the SDK.
import { useStiggContext } from '@stigg/react-sdk';function Component() { const { stigg } = useStiggContext(); const resourceId = 'resource-01'; useEffect(() => { stigg.setResource(resourceId); return () => stigg.clearResource(); // automatically reset the context once the component is removed }, [stigg, resourceId]);}
// set the current product instance contextstiggClient.setResource('resource-01');// reset the context when no longer in a product instance contextstigg.clearResource();
Pass the resource ID parameter to check the entitlement for the relevant product instance.
const requestedUsage = 10;const entitlement = stiggClient.getMeteredEntitlement({ featureId: 'feature-demo-01', resourceId: 'resource-01', options: { requestedUsage }});if (entitlement.hasAccess) { // has access and the requested usage is within the allowed quota } else { // the customer has exceeded his quota for this feature }
At any give time it’s only possible to check the entitlements of the product instance that was set as the current context.Attempting to check an entitlement of a difference product instance (by passing a different resource ID than that of the one that was set as the current context) will return fallback value of the feature. If no fallback value was set, access to the feature will be defined.Therefore, setting the correct resource ID as the current context is crucial.
Providing visibility for the current active subscription
Stigg allows you to fetch to the current active subscription of a specific product instance.Doing so can be used to provide your customers with visibility for the currently active subscription for the specific product instance.To fetch the active subscriptions of a specific product instance, use the getActiveSubscriptionsList method and pass its ID as the resource ID to the SDK.
When customer attempt to access a gated feature, it’s useful to allow them to resolve the issue within the context of their action by offering them the ability to upgrade to a paid plan.The in-app upgrade experience can be fully self-served, as well as one that requires an interaction with a sales representative.Stigg offers embeddable widgets that can be used offer customers with an in-app upgrade experience.
Stigg’s in-app paywall widget allows customers to select what plan they’d like to upgrade to.Pass the resource ID parameter to render a paywall for the current product instance.
<Paywall highlightedPlanId='plan-id' resourceId='resource-01' onPlanSelected={({ plan, customer }) => { // Handle customer intention to subscribe to plan }} />
Stigg’s customer portal widget can be used to communicate to customers what plan they’re currently on, what features they’re entitled for, how much they’ve consumed of them, and the ability to manage their subscription.The Stigg customer portal widget provide such visibility separately for each product instance, while allow customers to use the same payment method in order to pay for all of the subscriptions.Pass the resource ID parameter to render a customer portal for the current product instance.
Ensure that the resource ID is passed both to the CustomerPortalandPaywall components.
<CustomerPortal resourceId='resource-01' paywallComponent={ <Paywall resourceId='resource-01' // rest of paywall parameters /> } // rest of customer portal parameters/>
Stigg’s Checkout widget allows you to easily accept payments without ever worrying about changes to your pricing model or migration to another billing provider.Pass the resource ID parameter to render a checkout experience for the current product instance.
Stigg can be integrated with billing solutions (such as Stripe, Zuora and Airwallex) to bill customers for their subscriptions.When such an integration is in place the same payment method can be used to pay for all of the subscription; however, each subscription will be billed according to its own billing period, and will generate a separate invoice.
In addition to multi-instance products, Stigg allows you to define products that customers will have a single active subscription for at a certain point in time.Using a combination of a single instance product with a multi-instance product, allows you to implement an account + sub-account and platform + app instance monetization models. An example of such a model can be seen at Webflow.To do so, create another product, but this type set its subscription type to “single active subscription”.When a customer is subscribed to both a single and multi-instance product, and both products grant access to the same entitlement, the customer will have access to the maximum entitlement value amongst the different products.For more details see:
How are customer entitlements calculated in Stigg?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Stigg","description":"Stigg is a subscription and entitlement management platform for SaaS companies. Model pricing with plans, add-ons, credits, and usage-based billing; provision customers and subscriptions; enforce feature access; render pricing tables, paywalls, and customer portals; and integrate with Stripe, Zuora, HubSpot, Salesforce, and AWS Marketplace. Available as backend SDKs (Node.js, Python, Ruby, Go, Java, .NET), frontend SDKs (React, Vue, Next.js), GraphQL API, and REST API.","colors":{"primary":"#436633","light":"#92E759","dark":"#92E759"},"logo":{"light":"https://mintcdn.com/stigg/HmCBL4eVQuHwqjnY/logo/light.svg?fit=max\u0026auto=format\u0026n=HmCBL4eVQuHwqjnY\u0026q=85\u0026s=8579b37d1f3d11f4198506c9e602caa3","dark":"https://mintcdn.com/stigg/VJsr65Ru_PpGBlIr/logo/dark.svg?fit=max\u0026auto=format\u0026n=VJsr65Ru_PpGBlIr\u0026q=85\u0026s=1015fd0f2902e88f82cfc983376de8a1"},"favicon":"https://mintcdn.com/stigg/RB-JAyGY2_V2sWZw/favicon.png?fit=max\u0026auto=format\u0026n=RB-JAyGY2_V2sWZw\u0026q=85\u0026s=1c445af29076b2cb99bb12013aa66883","api":{"playground":{"proxy":false}},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#FFFFFF","dark":"#131512"}},"navbar":{"links":[{"href":"https://status.stigg.io/","label":"Status"}],"primary":{"type":"button","label":"Go to Stigg","href":"https://app.stigg.io/"}},"footer":{"socials":{"website":"https://www.stigg.io/","twitter":"https://twitter.com/GetStigg","linkedin":"https://www.linkedin.com/company/getstigg"}},"seo":{"indexing":"navigable"},"icons":{"library":"fontawesome"},"integrations":{"ga4":{"measurementId":"G-W4NT0H7LD8"},"gtm":{"tagId":"GTM-W7B4F9H8"},"segment":{"key":"EAinkIzT3atuAztLrDyktKzfMsEk42bI"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stigg","hasAudioNarration":false,"actualSubdomain":"stigg","customDomains":["docs.stigg.io"],"gitSource":{"type":"github","owner":"stiggio","repo":"docs","deployBranch":"master","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af345ff62bde90d30847ff8","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Documentation","count":287},{"language":"default","tag":"API Reference","count":261},{"language":"default","tag":"REST","count":176},{"language":"default","tag":"Pricing and packaging","count":99},{"language":"default","tag":"Integrations","count":64},{"language":"default","tag":"Webhooks","count":61},{"language":"default","tag":"Subscriptions","count":41},{"language":"default","tag":"Plans","count":41},{"language":"default","tag":"Customers, subscriptions and contracts","count":38},{"language":"default","tag":"GraphQL","count":36}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"content/custom.css","content":"@font-face{font-family:\"Söhne\";src:url(\"/fonts/soehne-buch.woff2\") format(\"woff2\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:\"Söhne\";src:url(\"/fonts/soehne-leicht.woff2\") format(\"woff2\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:\"Söhne Mono\";src:url(\"/fonts/soehne-mono-buch.woff2\") format(\"woff2\");font-weight:400;font-style:normal;font-display:swap}:root{--font-inter: \"Söhne\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n system-ui, sans-serif !important;--font-paper-mono: \"Söhne Mono\", ui-monospace, SFMono-Regular, Menlo,\n Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important}:root{--gray-50: 255 255 255 !important;--gray-100: 255 255 255 !important;--gray-200: 234 234 234 !important;--gray-300: 213 213 213 !important;--gray-400: 181 181 181 !important;--gray-500: 149 149 149 !important;--gray-600: 128 128 128 !important;--gray-700: 104 104 104 !important;--gray-800: 81 81 81 !important;--gray-900: 57 57 57 !important;--gray-950: 19 19 19 !important}#page-title{font-family:\"Söhne\", sans-serif;font-size:34px;font-weight:400;line-height:1.2}.mdx-content,.prose{font-family:\"Söhne\", sans-serif}.mdx-content :where(p,[data-as=\"p\"]):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:16px;font-weight:400;margin-top:0;margin-bottom:24px}.mdx-content :where(h1):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:34px;font-weight:400;line-height:1.2;margin-top:48px;margin-bottom:24px}.mdx-content :where(h2):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:28px;font-weight:400;line-height:1.3;margin-top:48px;margin-bottom:24px}.mdx-content :where(h3):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:24px;font-weight:400;line-height:1.35;margin-top:32px;margin-bottom:16px}.mdx-content :where(h4):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:18px;font-weight:400;line-height:1.4;margin-top:32px;margin-bottom:16px}.mdx-content :where(h5):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:22px;font-weight:400;line-height:1.4;margin-top:24px;margin-bottom:12px}.mdx-content :where(h6):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:20px;font-weight:400;line-height:1.4;margin-top:24px;margin-bottom:12px}.mdx-content :where(ul):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)),.mdx-content :where(ol):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:16px;font-weight:400}.mdx-content :where(blockquote):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:16px;font-weight:400;line-height:1.5;padding:12px 16px;margin-top:16px;margin-bottom:16px}.mdx-content :where(blockquote cite):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,[class~=\"not-prose\"] *)){display:block;font-family:\"Söhne Mono\", monospace;font-size:14px;text-transform:uppercase;font-style:normal}.mdx-content :where(img):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){border-radius:8px;margin-top:80px;margin-bottom:80px;max-width:min(850px, 100%)}.mdx-content :where(figcaption):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:14px;margin-top:20px}.eyebrow{font-family:\"Söhne Mono\", monospace;font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:0.04em}@media (max-width: 768px){#page-title{font-size:28px}.mdx-content :where(p,[data-as=\"p\"]):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:16px;margin-bottom:20px}.mdx-content :where(h1):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:28px;margin-bottom:20px}.mdx-content :where(h2):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:24px;margin-top:36px;margin-bottom:20px}.mdx-content :where(h3):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:20px;margin-top:24px;margin-bottom:12px}.mdx-content :where(h4):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:18px;margin-top:24px;margin-bottom:12px}.mdx-content :where(h5):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)),.mdx-content :where(h6):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:18px}.mdx-content :where(ul):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)),.mdx-content :where(ol):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:16px}.mdx-content :where(blockquote):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){font-size:16px;padding:12px 16px;margin-top:12px;margin-bottom:12px}.mdx-content :where(img):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){margin-top:60px;margin-bottom:60px;max-width:100%}.mdx-content :where(figcaption):not(:where(.card *,[data-component-part=\"tab-content\"] *,[data-component-part=\"callout-content\"] *,blockquote *,[class~=\"not-prose\"] *)){margin-top:16px}.eyebrow{font-size:12px}}#topbar-cta-button a>span:first-child{background-color:#ffffff;border-radius:4px;opacity:1;transition:background-color 0.15s ease}#topbar-cta-button a:hover>span:first-child{background-color:#92e759;opacity:1}#topbar-cta-button a .z-10,#topbar-cta-button a .z-10 span,#topbar-cta-button a .z-10 svg{color:#131512!important}.navbar-link a:hover,.navbar-link a:hover span{color:#436633!important}.dark .navbar-link a:hover,.dark .navbar-link a:hover span{color:#92e759!important}.mdx-content,.prose{--tw-prose-links: #436633;--tw-prose-invert-links: #92e759}.mdx-content :where(a):not(:where([class~=\"not-prose\"] *)),.prose :where(a){text-decoration-color:#92e759}.mdx-content :where(a):not(:where([class~=\"not-prose\"] *)):hover,.prose :where(a):hover{color:#28382b}.dark .mdx-content :where(a):not(:where([class~=\"not-prose\"] *)):hover,.dark .prose :where(a):hover{color:#436633}:root{--welcome-accent: #436633;--welcome-accent-fg: #ffffff;--welcome-subtle: #f2f7f3;--welcome-subtle-border: #dfe8d6;--welcome-surface: #ffffff;--welcome-panel: #fafafa;--welcome-border: #e4e4e7;--welcome-text: #18181b;--welcome-text-2: #52525b;--welcome-text-3: #8a8a93}.dark{--welcome-accent: #92e759;--welcome-accent-fg: #131512;--welcome-subtle: rgba(146, 231, 89, 0.08);--welcome-subtle-border: rgba(146, 231, 89, 0.22);--welcome-surface: #131512;--welcome-panel: #1a1d19;--welcome-border: rgba(255, 255, 255, 0.1);--welcome-text: #f4f4f5;--welcome-text-2: #b5b5b5;--welcome-text-3: #8a8a8a}.welcome-featured{margin:32px 0 16px;padding:16px;border:1px solid var(--welcome-subtle-border);border-radius:12px;background:linear-gradient(180deg, var(--welcome-subtle), var(--welcome-surface))}.welcome-featured-head{display:flex;align-items:flex-start;gap:12px;color:var(--welcome-text);text-decoration:none}.welcome-featured-head:hover .welcome-featured-title,.welcome-featured-head:hover .welcome-arrow{color:var(--welcome-accent)}.welcome-icon{flex:none;width:34px;height:34px;border-radius:8px;background:var(--welcome-subtle);display:flex;align-items:center;justify-content:center;color:var(--welcome-accent)}.welcome-icon svg,.welcome-arrow svg,.welcome-flow-arrow svg,.welcome-flow-outcome svg{background-color:currentColor!important}.welcome-featured-text{display:flex;flex-direction:column;gap:4px}.welcome-featured-title{font-size:16px;font-weight:500}.welcome-featured-desc{font-size:14px;line-height:1.6;color:var(--welcome-text-2)}.welcome-arrow{margin-left:auto;align-self:center;color:var(--welcome-text-3)}.welcome-featured pre,.welcome-featured [class*=\"code-block\"]{margin-bottom:0!important}.welcome-flow{margin:24px 0 8px;padding:20px;border:1px solid var(--welcome-border);border-radius:12px;background:var(--welcome-panel)}.welcome-step{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px;border:1px solid var(--welcome-border);border-radius:8px;background:var(--welcome-surface);color:var(--welcome-text);text-align:center}.welcome-step strong{font-size:14px;font-weight:500}.welcome-step-key{border:1.5px solid var(--welcome-accent);background:var(--welcome-subtle)}.welcome-label{font-size:11px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--welcome-text-3)}.welcome-muted{font-size:12px;color:var(--welcome-text-3)}.welcome-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px}.welcome-pill{padding:3px 9px;border:1px solid var(--welcome-subtle-border);border-radius:9999px;background:var(--welcome-surface);color:var(--welcome-accent);font-size:11px;font-weight:600}.welcome-flow-steps{display:flex;align-items:stretch}.welcome-step{flex:1;min-width:0;justify-content:flex-start}.welcome-step-n{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid var(--welcome-border);border-radius:9999px;background:var(--welcome-panel);color:var(--welcome-text-2);font-size:11px;font-weight:600}.welcome-step-key .welcome-step-n{border-color:var(--welcome-accent);background:var(--welcome-accent);color:var(--welcome-accent-fg)}.welcome-flow-arrow{flex:0 0 26px;display:flex;align-items:center;justify-content:center;color:var(--welcome-text-3)}.welcome-flow-outcomes{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:14px}.welcome-flow-outcome{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--welcome-text-2)}.welcome-flow-pass svg{color:var(--welcome-accent)}.welcome-flow-fail svg{color:#dc2626}.welcome-flow-outcome strong{font-weight:600;color:var(--welcome-text)}@media (max-width: 768px){.welcome-flow-steps{flex-direction:column}.welcome-flow-arrow{height:26px;transform:rotate(90deg)}}.welcome-stack{margin:24px 0 8px;padding:20px;display:flex;flex-direction:column;align-items:center;border:1px solid var(--welcome-border);border-radius:12px;background:var(--welcome-panel)}.welcome-runtime{width:100%;padding:16px;display:flex;flex-direction:column;gap:12px;border:1.5px solid var(--welcome-accent);border-radius:10px;background:var(--welcome-subtle)}.welcome-runtime>.welcome-label{color:var(--welcome-accent)}.welcome-caps{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px}.welcome-cap,.welcome-downstream{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--welcome-border);border-radius:8px;background:var(--welcome-surface);color:var(--welcome-text);text-decoration:none;transition:border-color 0.15s ease}.welcome-cap:hover,.welcome-downstream:hover{border-color:var(--welcome-accent)}.welcome-cap-head{display:flex;align-items:center;gap:10px}.welcome-cap-head .welcome-icon{width:28px;height:28px}.welcome-cap-head strong{font-size:15px;font-weight:500}.welcome-cap-desc{font-size:13px;line-height:1.55;color:var(--welcome-text-2)}.welcome-cap-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--welcome-accent)}.welcome-cap-link svg,.welcome-stack-arrow svg{background-color:currentColor!important}.welcome-stack-arrow{height:32px;display:flex;align-items:center;color:var(--welcome-text-3)}.welcome-downstream{width:min(100%, 360px)}.welcome-icon-neutral{background:var(--welcome-panel);color:var(--welcome-text-2)}.welcome-deploy-strip{width:100%;margin-top:16px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px dashed var(--welcome-border);border-radius:8px}.welcome-deploy-opts{display:flex;gap:8px}.welcome-deploy-opts span{padding:2px 10px;border:1px solid var(--welcome-border);border-radius:9999px;background:var(--welcome-surface);color:var(--welcome-text-2);font-size:12px;font-weight:600}@media (max-width: 768px){.welcome-caps{grid-template-columns:1fr}.welcome-deploy-strip{flex-direction:column;gap:8px}}.welcome-sys{margin:24px 0 8px;padding:28px 20px 20px;display:flex;flex-direction:column;border:1px solid var(--welcome-border);border-radius:12px;background-color:var(--welcome-panel);background-image:radial-gradient(var(--welcome-border) 1px, transparent 1px);background-size:16px 16px}.welcome-zone{position:relative;border:1px solid var(--welcome-border);border-radius:10px;background:var(--welcome-surface)}.welcome-zone-key{border:1.5px solid var(--welcome-accent)}.welcome-zone-tab{position:absolute;top:-11px;left:12px;padding:2px 8px;border:1px solid var(--welcome-border);border-radius:9999px;background:var(--welcome-surface);color:var(--welcome-text-2);font-size:11px;font-weight:600;white-space:nowrap}.welcome-zone-key .welcome-zone-tab{border-color:var(--welcome-accent);background:var(--welcome-accent);color:var(--welcome-accent-fg)}.welcome-zone-body{padding:20px 12px 12px;display:flex;flex-direction:column;gap:8px}.welcome-zone-key .welcome-zone-body{border-radius:9px;background:var(--welcome-subtle)}.welcome-zone-body>.welcome-label:not(:first-child){margin-top:4px}.welcome-row{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:8px}.welcome-box{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--welcome-border);border-radius:8px;background:var(--welcome-surface);color:var(--welcome-text)}.welcome-box>span:last-child:not(.welcome-icon){display:flex;flex-direction:column;min-width:0}.welcome-box strong{font-size:13px;font-weight:500;line-height:1.3}.welcome-box .welcome-muted{font-size:11px;line-height:1.3}.welcome-more{color:var(--welcome-accent)}.welcome-box .welcome-icon{width:26px;height:26px;border-radius:6px}.welcome-box .welcome-icon svg{width:13px;height:13px}.welcome-wires{display:flex;justify-content:center;gap:48px;padding:2px 0}.welcome-wire-row{display:flex;align-items:center;gap:10px}.welcome-wire-label{font-size:11px;line-height:1.3;color:var(--welcome-text-2)}.welcome-wire{position:relative;display:block;width:2px;height:40px;margin:8px 0;background-image:repeating-linear-gradient(180deg, var(--welcome-accent) 0 5px, transparent 5px 10px);background-size:2px 10px;animation:welcome-dash 0.9s linear infinite}.welcome-wire::after,.welcome-wire-both::before{content:\"\";position:absolute;left:-4px;border:5px solid transparent}.welcome-wire::after{bottom:-8px;border-top-color:var(--welcome-accent)}.welcome-wire-both::before{top:-8px;border-bottom-color:var(--welcome-accent)}.welcome-wire-up{animation-direction:reverse}.welcome-wire-up::after{top:-8px;bottom:auto;border-top-color:transparent;border-bottom-color:var(--welcome-accent)}@keyframes welcome-dash{to{background-position:0 10px}}@media (prefers-reduced-motion: reduce){.welcome-wire{animation:none}}@media (max-width: 768px){.welcome-row{grid-template-columns:1fr}.welcome-wires{gap:16px}.welcome-wire-label{max-width:110px}}.welcome-split{display:grid;grid-template-columns:minmax(0, 1fr) 120px minmax(0, 1fr);align-items:center}.welcome-split-wide{grid-template-columns:minmax(0, 1.7fr) 120px minmax(0, 1fr)}.welcome-links{display:flex;flex-direction:column;gap:18px;padding:0 4px}.welcome-link{display:flex;flex-direction:column;gap:6px}.welcome-link .welcome-wire-label{font-size:10.5px;text-align:center}.welcome-wire-h{width:auto;height:2px;margin:0 8px;background-image:repeating-linear-gradient(90deg, var(--welcome-accent) 0 5px, transparent 5px 10px);background-size:10px 2px;animation-name:welcome-dash-h}.welcome-wire-h::after{top:-4px;bottom:auto;left:auto;right:-8px;border-color:transparent;border-left-color:var(--welcome-accent)}.welcome-wire-h.welcome-wire-rev{animation-direction:reverse}.welcome-wire-h.welcome-wire-rev::after{right:auto;left:-8px;border-left-color:transparent;border-right-color:var(--welcome-accent)}.welcome-wire-h.welcome-wire-both::before{top:-4px;left:-8px;border-color:transparent;border-right-color:var(--welcome-accent)}@keyframes welcome-dash-h{to{background-position:10px 0}}.welcome-lock{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10.5px;line-height:1.3;text-align:center;color:var(--welcome-text-3)}.welcome-lock svg{width:14px;height:14px;background-color:currentColor!important}.welcome-group{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px dashed var(--welcome-border);border-radius:8px}.welcome-group-managed{border-color:var(--welcome-accent);background:var(--welcome-subtle)}.welcome-group-managed>.welcome-label{color:var(--welcome-accent)}.welcome-pipe{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.welcome-chip{padding:4px 9px;border:1px solid var(--welcome-border);border-radius:6px;background:var(--welcome-surface);color:var(--welcome-text);font-size:12px;line-height:1.3}.welcome-pipe-arrow{padding-left:14px;color:var(--welcome-accent);font-size:12px;line-height:1.2}.welcome-inline-wire{display:flex;align-items:center;gap:10px;padding-left:24px}@media (max-width: 768px){.welcome-split,.welcome-split-wide{grid-template-columns:1fr}.welcome-links{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 16px;padding:8px 0 18px}.welcome-link{flex-direction:row-reverse;align-items:center;gap:10px}.welcome-link .welcome-wire-label{max-width:110px;text-align:left}.welcome-wire-h{width:2px;height:36px;margin:8px 0;background-image:repeating-linear-gradient(180deg, var(--welcome-accent) 0 5px, transparent 5px 10px);background-size:2px 10px;animation-name:welcome-dash}.welcome-wire-h::after{top:auto;bottom:-8px;left:-4px;right:auto;border-color:transparent;border-top-color:var(--welcome-accent)}.welcome-wire-h.welcome-wire-rev::after{top:-8px;bottom:auto;left:-4px;border-color:transparent;border-bottom-color:var(--welcome-accent)}.welcome-wire-h.welcome-wire-both::before{top:-8px;left:-4px;border-color:transparent;border-bottom-color:var(--welcome-accent)}}"}],"page":{"pagePath":"guides/i-want-to/add-multiple-subscriptions","slug":"/guides/i-want-to/add-multiple-subscriptions","pageMetadata":{"title":"Allow customers to have multiple subscriptions to the same product","og:title":"Allow customers to have multiple subscriptions to the same product - Stigg Documentation","twitter:title":"Allow customers to have multiple subscriptions to the same product - Stigg Documentation","related":[{"Multiple active subscriptions":"/documentation/managing-customers-and-subscriptions/subscriptions/multiple-active-subscriptions"},{"Creating products":"/documentation/modeling-your-pricing-in-stigg/products/creating-products"}],"description":null,"href":"/guides/i-want-to/add-multiple-subscriptions"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{Card,CodeBlock,CodeGroup,Heading,OptimizedImage,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`When customers can provision multiple instances of your product, it’s possible to monetize each instance separately.`}),`\n`,_jsxs(_components.p,{children:[`Common use cases include products that represent a website (i.e. `,_jsx(_components.a,{href:`https://www.wix.com/upgrade/website`,children:`Wix`}),`, `,_jsx(_components.a,{href:`https://www.hotjar.com/choose-your-plan`,children:`HotJar`}),`) or an application. Each website or application can have a subscription to a different tier while allowing the customer to pay for all of their subscriptions using the same payment method.`]}),`\n`,_jsx(_components.p,{children:`Different sub-accounts and user roles can also be monetized using a similar method.`}),`\n`,_jsx(_components.p,{children:`Luckily, Stigg gives you the flexibility to implement this pricing model.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/67563a5-image.png?fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=60b142c284d3f3c3b0924386c8dbce0e`,alt:``,\"data-og-width\":`1320`,width:`1320`,\"data-og-height\":`800`,height:`800`,\"data-path\":`images/docs/67563a5-image.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/67563a5-image.png?w=280\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=c5698a67d80422b79b865bc249a2a0c9 280w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/67563a5-image.png?w=560\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=9bf0f92991f709acf7af2a4f9aec306b 560w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/67563a5-image.png?w=840\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=8e8f847d96be8483d01e659c9fc90818 840w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/67563a5-image.png?w=1100\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=5c9bb26529ea349542ddb35718a8234c 1100w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/67563a5-image.png?w=1650\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=53b1ee7d925536ebb64ab8d18a51a1b3 1650w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/67563a5-image.png?w=2500\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=700d4da5022dea8a0001dce384a3a5ea 2500w`}),`\n`,_jsx(Heading,{level:`1`,id:`implementing-the-pricing-model-using-stigg`,children:`Implementing the pricing model using Stigg`}),`\n`,_jsx(Heading,{level:`2`,id:`product-configuration`,children:`Product configuration`}),`\n`,_jsxs(_components.p,{children:[`When a new product is `,_jsx(_components.a,{href:`/documentation/modeling-your-pricing-in-stigg/products/creating-products`,children:`created`}),` or its details are `,_jsx(_components.a,{href:`/documentation/modeling-your-pricing-in-stigg/products/editing-product-details`,children:`edited`}),`, set the product’s subscription type `,_jsx(_components.strong,{children:`multiple active subscriptions`}),`.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/stigg/8tviKNnHCor59SIf/images/docs/f8e885a-small-Screenshot_2023-05-04_at_13.15.01.png?fit=max\u0026auto=format\u0026n=8tviKNnHCor59SIf\u0026q=85\u0026s=6242f631ee9fb752cd9f05dec62295f3`,alt:``,\"data-og-width\":`1276`,width:`1276`,\"data-og-height\":`1024`,height:`1024`,\"data-path\":`images/docs/f8e885a-small-Screenshot_2023-05-04_at_13.15.01.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stigg/8tviKNnHCor59SIf/images/docs/f8e885a-small-Screenshot_2023-05-04_at_13.15.01.png?w=280\u0026fit=max\u0026auto=format\u0026n=8tviKNnHCor59SIf\u0026q=85\u0026s=42070381587a242bd04562d4f6e14a51 280w, https://mintcdn.com/stigg/8tviKNnHCor59SIf/images/docs/f8e885a-small-Screenshot_2023-05-04_at_13.15.01.png?w=560\u0026fit=max\u0026auto=format\u0026n=8tviKNnHCor59SIf\u0026q=85\u0026s=7c23a56a87289059cae4e4ff9189a7fc 560w, https://mintcdn.com/stigg/8tviKNnHCor59SIf/images/docs/f8e885a-small-Screenshot_2023-05-04_at_13.15.01.png?w=840\u0026fit=max\u0026auto=format\u0026n=8tviKNnHCor59SIf\u0026q=85\u0026s=bef5b5feab06a20b0e91f71f4199dfe7 840w, https://mintcdn.com/stigg/8tviKNnHCor59SIf/images/docs/f8e885a-small-Screenshot_2023-05-04_at_13.15.01.png?w=1100\u0026fit=max\u0026auto=format\u0026n=8tviKNnHCor59SIf\u0026q=85\u0026s=dfa552360e2e3382fb29b361b927fbda 1100w, https://mintcdn.com/stigg/8tviKNnHCor59SIf/images/docs/f8e885a-small-Screenshot_2023-05-04_at_13.15.01.png?w=1650\u0026fit=max\u0026auto=format\u0026n=8tviKNnHCor59SIf\u0026q=85\u0026s=aed744652396a2ba30a74fca30b1fd51 1650w, https://mintcdn.com/stigg/8tviKNnHCor59SIf/images/docs/f8e885a-small-Screenshot_2023-05-04_at_13.15.01.png?w=2500\u0026fit=max\u0026auto=format\u0026n=8tviKNnHCor59SIf\u0026q=85\u0026s=8180940ad8363f24380c44cd8e08be11 2500w`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The subscription type can’t be changed after a subscription to the product is provisioned.`})}),`\n`,_jsx(Heading,{level:`2`,id:`resource-id`,children:`Resource ID`}),`\n`,_jsx(_components.p,{children:`Due to the fact that multiple “instances” of the product can be created, Stigg needs to know what instance a subscription should apply to, entitlements needs to be checked for, and widgets rendered for.`}),`\n`,_jsxs(_components.p,{children:[`This is achieved by passing a `,_jsx(_components.strong,{children:`resource ID`}),`, which represents the ID of the entity that the subscription applies to (for example: website ID, app ID, etc.) to Stigg.`]}),`\n`,_jsx(_components.p,{children:`The resource ID needs to be provided during subscription provisioning and update, entitlement checks and widget rendering.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/stigg/_E1NPxWRKvYZ5hDE/images/docs/8f18665-image.png?fit=max\u0026auto=format\u0026n=_E1NPxWRKvYZ5hDE\u0026q=85\u0026s=3cb883d6f06cecfe2187b6c5ed31fe31`,alt:``,\"data-og-width\":`1338`,width:`1338`,\"data-og-height\":`680`,height:`680`,\"data-path\":`images/docs/8f18665-image.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stigg/_E1NPxWRKvYZ5hDE/images/docs/8f18665-image.png?w=280\u0026fit=max\u0026auto=format\u0026n=_E1NPxWRKvYZ5hDE\u0026q=85\u0026s=1967ab4a895b7a9734a3ec320b31459b 280w, https://mintcdn.com/stigg/_E1NPxWRKvYZ5hDE/images/docs/8f18665-image.png?w=560\u0026fit=max\u0026auto=format\u0026n=_E1NPxWRKvYZ5hDE\u0026q=85\u0026s=cd7d1adbd2346a3ff7862868b4b86907 560w, https://mintcdn.com/stigg/_E1NPxWRKvYZ5hDE/images/docs/8f18665-image.png?w=840\u0026fit=max\u0026auto=format\u0026n=_E1NPxWRKvYZ5hDE\u0026q=85\u0026s=f8f064af84d2c0bd7fd921a34417ac0c 840w, https://mintcdn.com/stigg/_E1NPxWRKvYZ5hDE/images/docs/8f18665-image.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_E1NPxWRKvYZ5hDE\u0026q=85\u0026s=df052486c82dccac4c3f2a9f4a3c25b5 1100w, https://mintcdn.com/stigg/_E1NPxWRKvYZ5hDE/images/docs/8f18665-image.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_E1NPxWRKvYZ5hDE\u0026q=85\u0026s=fa9c7bf3d2d961e473c59215a92cf466 1650w, https://mintcdn.com/stigg/_E1NPxWRKvYZ5hDE/images/docs/8f18665-image.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_E1NPxWRKvYZ5hDE\u0026q=85\u0026s=f99c7be67f3bcf76e4bf07fb2f3069d0 2500w`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/2259864-small-Screenshot_2023-05-04_at_13.31.56.png?fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=df750c58097f7c7600692227ffdd1aba`,alt:``,\"data-og-width\":`2830`,width:`2830`,\"data-og-height\":`1024`,height:`1024`,\"data-path\":`images/docs/2259864-small-Screenshot_2023-05-04_at_13.31.56.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/2259864-small-Screenshot_2023-05-04_at_13.31.56.png?w=280\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=9e4a4d7400dc4e242a2bef6d3c394915 280w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/2259864-small-Screenshot_2023-05-04_at_13.31.56.png?w=560\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=ddb7e500c766421c8b6680f377b34454 560w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/2259864-small-Screenshot_2023-05-04_at_13.31.56.png?w=840\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=8ffc5193af6a415586a652ffac6d33da 840w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/2259864-small-Screenshot_2023-05-04_at_13.31.56.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=b29ed4d59697e65b06784ae924a813ba 1100w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/2259864-small-Screenshot_2023-05-04_at_13.31.56.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=a116de7dd7aba996f51f39860879ae3b 1650w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/2259864-small-Screenshot_2023-05-04_at_13.31.56.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=a20b74e98dc15b96eb9cc58a472e8ed2 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`provisioning-subscriptions`,children:`Provisioning subscriptions`}),`\n`,_jsx(_components.p,{children:`In order to grant a product instance access to gated functionality and bill for it, provision a subscription for that instance in Stigg.`}),`\n`,_jsxs(_components.p,{children:[`This can be achieved programmatically by using Stigg’s backend SDKs, or directly from the Stigg app. In either cases, ensure to pass the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` parameter to associate the provisioned subscription with the relevant product instance.`]}),`\n`,_jsx(Heading,{level:`3`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(_components.p,{children:`A customer that all provisioned subscription will be associated with must existing in Stigg, see:`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`/documentation/managing-customers-and-subscriptions/customers/creating-customers`,children:`Creating a new customer`})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/api-and-sdks/api-reference/rest/customers-create`,children:`Provisioning customers via REST API`}),` or `,_jsx(_components.a,{href:`/api-and-sdks/integration/backend/nodejs#provisioning-customers`,children:`Node.js SDK (Legacy)`})]}),`\n`,_jsx(Heading,{level:`3`,id:`provisioning-subscriptions-using-the-stigg-backend-sdks`,children:`Provisioning subscriptions using the Stigg backend SDKs`}),`\n`,_jsxs(_components.p,{children:[`Pass the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` parameter to provision a subscription for the relevant product instance.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`6`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` subscription = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stiggClient.provisionSubscription({ `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` customerId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'customer-demo-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` planId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'plan-basic'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // rest parameters`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})})}),`\n`,_jsx(_components.p,{children:`For more details and additional frameworks, see:`}),`\n`,_jsx(Card,{title:`Backend integration`,icon:`code`,href:`/documentation/getting-started/get-started-with-sdks#backend-sdks`,horizontal:true}),`\n`,_jsx(Heading,{level:`3`,id:`provisioning-subscriptions-using-the-stigg-app`,children:`Provisioning subscriptions using the Stigg app`}),`\n`,_jsx(_components.p,{children:`To provision a new subscription, click on the ”+ Add” button under the Subscriptions section of the customer details screen of the relevant customer.`}),`\n`,_jsxs(_components.p,{children:[`Provide a `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` to provision a subscription for the relevant product instance.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/stigg/fP4soQQ7PxwZeQ0V/images/docs/dfeabd0-small-Screenshot_2023-05-04_at_13.30.41.png?fit=max\u0026auto=format\u0026n=fP4soQQ7PxwZeQ0V\u0026q=85\u0026s=dd45c569bcd9061f2259847470079203`,alt:``,\"data-og-width\":`1758`,width:`1758`,\"data-og-height\":`1024`,height:`1024`,\"data-path\":`images/docs/dfeabd0-small-Screenshot_2023-05-04_at_13.30.41.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stigg/fP4soQQ7PxwZeQ0V/images/docs/dfeabd0-small-Screenshot_2023-05-04_at_13.30.41.png?w=280\u0026fit=max\u0026auto=format\u0026n=fP4soQQ7PxwZeQ0V\u0026q=85\u0026s=3d40e956b218837de8e287e90e220fbc 280w, https://mintcdn.com/stigg/fP4soQQ7PxwZeQ0V/images/docs/dfeabd0-small-Screenshot_2023-05-04_at_13.30.41.png?w=560\u0026fit=max\u0026auto=format\u0026n=fP4soQQ7PxwZeQ0V\u0026q=85\u0026s=4710eabc73eae1e6e24e9c23cfff06ab 560w, https://mintcdn.com/stigg/fP4soQQ7PxwZeQ0V/images/docs/dfeabd0-small-Screenshot_2023-05-04_at_13.30.41.png?w=840\u0026fit=max\u0026auto=format\u0026n=fP4soQQ7PxwZeQ0V\u0026q=85\u0026s=87329e957cdf6c0e54856e85c7bd50c8 840w, https://mintcdn.com/stigg/fP4soQQ7PxwZeQ0V/images/docs/dfeabd0-small-Screenshot_2023-05-04_at_13.30.41.png?w=1100\u0026fit=max\u0026auto=format\u0026n=fP4soQQ7PxwZeQ0V\u0026q=85\u0026s=6bd694c6ddb02f2017bbacbc5214abf4 1100w, https://mintcdn.com/stigg/fP4soQQ7PxwZeQ0V/images/docs/dfeabd0-small-Screenshot_2023-05-04_at_13.30.41.png?w=1650\u0026fit=max\u0026auto=format\u0026n=fP4soQQ7PxwZeQ0V\u0026q=85\u0026s=b952ec542f917ea4504f81a6d9ca4c27 1650w, https://mintcdn.com/stigg/fP4soQQ7PxwZeQ0V/images/docs/dfeabd0-small-Screenshot_2023-05-04_at_13.30.41.png?w=2500\u0026fit=max\u0026auto=format\u0026n=fP4soQQ7PxwZeQ0V\u0026q=85\u0026s=bf40984b0afdfd1a86b6b594dd24d1e9 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`reporting-feature-usage`,children:`Reporting feature usage`}),`\n`,_jsxs(_components.p,{children:[`Whenever a certain feature is consumed by a product instance, report this usage to Stigg. The reported usage will be used to track, limit and bill the customer’s usage of metered features. Pass the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` parameter to associate the reported usage with the relevant product instance.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`6`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stiggClient.reportUsage({ `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` customerId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'customer-test-id'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` featureId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'feature-seats'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` value: 10,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})})}),`\n`,_jsx(_components.p,{children:`For more details and additional frameworks, see:`}),`\n`,_jsx(Card,{title:`Backend integration`,icon:`code`,href:`/documentation/getting-started/get-started-with-sdks#backend-sdks`,horizontal:true}),`\n`,_jsx(Heading,{level:`2`,id:`enforcing-feature-access`,children:`Enforcing feature access`}),`\n`,_jsx(_components.p,{children:`Stigg offers an API, as well as backend and frontend SDKs for enforcing customer access to features according to their entitlement for those features.`}),`\n`,_jsx(Heading,{level:`3`,id:`backend-enforcement`,children:`Backend enforcement`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`16`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requestedUsage = 10;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` entitlement = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stiggClient.getMeteredEntitlement({ `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` customerId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'customer-demo-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` featureId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'feature-demo-03'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` options: { `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requestedUsage`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (entitlement.hasAccess) { `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // has access and the requested usage is within the allowed quota `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // the customer has exceeded his quota for this feature `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(_components.p,{children:`For more details and additional frameworks, see:`}),`\n`,_jsx(Card,{title:`Backend integration`,icon:`code`,href:`/documentation/getting-started/get-started-with-sdks#backend-sdks`,horizontal:true}),`\n`,_jsx(Heading,{level:`3`,id:`frontend-enforcement`,children:`Frontend enforcement`}),`\n`,_jsxs(_components.p,{children:[`In order to check the entitlements of a specific product instance in the frontend, after `,_jsx(_components.a,{href:`/api-and-sdks/integration/frontend/javascript#initializing-the-sdk`,children:`initializing the Stigg frontend SDK`}),`, set the context of the product instance by passing its ID as the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` to the SDK.`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`React`,numberOfLines:`11`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { useStiggContext } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '@stigg/react-sdk'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`function`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Component() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { stigg } = useStiggContext();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId = `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` useEffect(() => {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stigg.setResource(resourceId);`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` () => stigg.clearResource(); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// automatically reset the context once the component is removed`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }, [stigg, resourceId]);`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`5`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// set the current product instance context`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`stiggClient.setResource(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// reset the context when no longer in a product instance context`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`stigg.clearResource();`})}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`Pass the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` parameter to check the entitlement for the relevant product instance.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`15`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requestedUsage = 10;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` entitlement = stiggClient.getMeteredEntitlement({ `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` featureId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'feature-demo-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` options: { `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requestedUsage`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (entitlement.hasAccess) { `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // has access and the requested usage is within the allowed quota `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // the customer has exceeded his quota for this feature `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:`At any give time it’s only possible to check the entitlements of the product instance that was set as the current context.`}),_jsxs(_components.p,{children:[`Attempting to check an entitlement of a difference product instance (by passing a different `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` than that of the one that was set as the current context) will return `,_jsx(_components.a,{href:`/documentation/high-availability-and-scale/local-caching-and-fallback-strategy#fallback-strategy`,children:`fallback value`}),` of the feature. If no fallback value was set, access to the feature will be defined.`]}),_jsxs(_components.p,{children:[`Therefore, setting the correct `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` as the current context is crucial.`]})]}),`\n`,_jsx(_components.p,{children:`For more details and additional frameworks, see:`}),`\n`,_jsx(Card,{title:`Frontend integration`,icon:`code`,href:`/documentation/getting-started/get-started-with-sdks#frontend-sdks`,horizontal:true}),`\n`,_jsx(Heading,{level:`2`,id:`providing-visibility-for-the-current-active-subscription`,children:`Providing visibility for the current active subscription`}),`\n`,_jsx(_components.p,{children:`Stigg allows you to fetch to the current active subscription of a specific product instance.`}),`\n`,_jsx(_components.p,{children:`Doing so can be used to provide your customers with visibility for the currently active subscription for the specific product instance.`}),`\n`,_jsxs(_components.p,{children:[`To fetch the active subscriptions of a specific product instance, use the `,_jsx(_components.code,{children:`getActiveSubscriptionsList`}),` method and pass its ID as the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` to the SDK.`]}),`\n`,_jsx(Heading,{level:`3`,id:`backend`,children:`Backend`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` subscriptions = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stiggClient.getActiveSubscriptionsList({ `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` customerId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'customer-demo-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`frontend`,children:`Frontend`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`3`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` subscriptions = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stiggClient.getActiveSubscriptionsList({ `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`additional-frameworks`,children:`Additional frameworks`}),`\n`,_jsx(Card,{title:`Integrating Stigg into your codebase`,icon:`code`,href:`/documentation/getting-started/get-started-with-sdks`,horizontal:true}),`\n`,_jsx(Heading,{level:`2`,id:`offering-an-in-app-upgrade-experience`,children:`Offering an in-app upgrade experience`}),`\n`,_jsx(_components.p,{children:`When customer attempt to access a gated feature, it’s useful to allow them to resolve the issue within the context of their action by offering them the ability to upgrade to a paid plan.`}),`\n`,_jsx(_components.p,{children:`The in-app upgrade experience can be fully self-served, as well as one that requires an interaction with a sales representative.`}),`\n`,_jsx(_components.p,{children:`Stigg offers embeddable widgets that can be used offer customers with an in-app upgrade experience.`}),`\n`,_jsx(Heading,{level:`3`,id:`in-app-paywall`,children:`In-app paywall`}),`\n`,_jsxs(_components.p,{children:[`Stigg’s `,_jsx(_components.a,{href:`/documentation/snap-in-widgets/pricing-table`,children:`in-app paywall widget`}),` allows customers to select what plan they’d like to upgrade to.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/stigg/rbfzdbhZ6y5pB9n-/images/docs/991e3c8-Screenshot_2023-01-22_at_15.18.04.png?fit=max\u0026auto=format\u0026n=rbfzdbhZ6y5pB9n-\u0026q=85\u0026s=d5b64cbc464dcaaf1a13b32cf29f8c6b`,alt:``,\"data-og-width\":`3100`,width:`3100`,\"data-og-height\":`1774`,height:`1774`,\"data-path\":`images/docs/991e3c8-Screenshot_2023-01-22_at_15.18.04.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stigg/rbfzdbhZ6y5pB9n-/images/docs/991e3c8-Screenshot_2023-01-22_at_15.18.04.png?w=280\u0026fit=max\u0026auto=format\u0026n=rbfzdbhZ6y5pB9n-\u0026q=85\u0026s=a4a9c2d61b37ed1bc22525aa5cfceec8 280w, https://mintcdn.com/stigg/rbfzdbhZ6y5pB9n-/images/docs/991e3c8-Screenshot_2023-01-22_at_15.18.04.png?w=560\u0026fit=max\u0026auto=format\u0026n=rbfzdbhZ6y5pB9n-\u0026q=85\u0026s=1f1d24220ad843c6d983710605faf046 560w, https://mintcdn.com/stigg/rbfzdbhZ6y5pB9n-/images/docs/991e3c8-Screenshot_2023-01-22_at_15.18.04.png?w=840\u0026fit=max\u0026auto=format\u0026n=rbfzdbhZ6y5pB9n-\u0026q=85\u0026s=24e6adb509218077fc1780cc16f52f4c 840w, https://mintcdn.com/stigg/rbfzdbhZ6y5pB9n-/images/docs/991e3c8-Screenshot_2023-01-22_at_15.18.04.png?w=1100\u0026fit=max\u0026auto=format\u0026n=rbfzdbhZ6y5pB9n-\u0026q=85\u0026s=3c1c8ae2c232bdb4072f8d3f97f58180 1100w, https://mintcdn.com/stigg/rbfzdbhZ6y5pB9n-/images/docs/991e3c8-Screenshot_2023-01-22_at_15.18.04.png?w=1650\u0026fit=max\u0026auto=format\u0026n=rbfzdbhZ6y5pB9n-\u0026q=85\u0026s=b7ffb3fe62bf7c1f3e73e53fafcc7501 1650w, https://mintcdn.com/stigg/rbfzdbhZ6y5pB9n-/images/docs/991e3c8-Screenshot_2023-01-22_at_15.18.04.png?w=2500\u0026fit=max\u0026auto=format\u0026n=rbfzdbhZ6y5pB9n-\u0026q=85\u0026s=82cc0862d692bdc962e6520662c05422 2500w`}),`\n`,_jsxs(_components.p,{children:[`Pass the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` parameter to render a paywall for the current product instance.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`React`,numberOfLines:`7`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003cPaywall `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` highlightedPlanId=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'plan-id'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` onPlanSelected={({ plan, customer }) => { `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Handle customer intention to subscribe to plan `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }} `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/>`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`in-app-customer-portal`,children:`In-app customer portal`}),`\n`,_jsxs(_components.p,{children:[`Stigg’s `,_jsx(_components.a,{href:`/documentation/snap-in-widgets/customer-portal`,children:`customer portal widget`}),` can be used to communicate to customers what plan they’re currently on, what features they’re entitled for, how much they’ve consumed of them, and the ability to manage their subscription.`]}),`\n`,_jsxs(_components.p,{children:[`The Stigg customer portal widget provide such visibility `,_jsx(_components.strong,{children:`separately for each product instance`}),`, while allow customers to use the same payment method in order to pay for all of the subscriptions.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/215e47c-small-Screenshot_2023-05-04_at_14.21.02.png?fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=00619fa14838a0d7f8d3d0d35c88db60`,alt:``,\"data-og-width\":`1064`,width:`1064`,\"data-og-height\":`1024`,height:`1024`,\"data-path\":`images/docs/215e47c-small-Screenshot_2023-05-04_at_14.21.02.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/215e47c-small-Screenshot_2023-05-04_at_14.21.02.png?w=280\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=2959f3bb44834a0838d79d77820b7f60 280w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/215e47c-small-Screenshot_2023-05-04_at_14.21.02.png?w=560\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=68d0ea49b7bffbe309d9b647ade250ee 560w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/215e47c-small-Screenshot_2023-05-04_at_14.21.02.png?w=840\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=1ad2007b3711e13af9f5e7a5cb148a5d 840w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/215e47c-small-Screenshot_2023-05-04_at_14.21.02.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=0d1f5fb4d2a0d27088a16aad884ec313 1100w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/215e47c-small-Screenshot_2023-05-04_at_14.21.02.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=f61d29c3d2242cbca0b8944e1c58fbe1 1650w, https://mintcdn.com/stigg/ghlUDOmd1mRIOf61/images/docs/215e47c-small-Screenshot_2023-05-04_at_14.21.02.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ghlUDOmd1mRIOf61\u0026q=85\u0026s=29bf26da4041eb44e77e04f0f05316d2 2500w`}),`\n`,_jsxs(_components.p,{children:[`Pass the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` parameter to render a customer portal for the current product instance.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Ensure that the resource ID is passed both to the `,_jsx(_components.code,{children:`CustomerPortal`}),` `,_jsx(_components.strong,{children:`and`}),` `,_jsx(_components.code,{children:`Paywall`}),` components.`]})}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`React`,numberOfLines:`10`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003cCustomerPortal`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` resourceId=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` paywallComponent={`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \u003cPaywall`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \t resourceId=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` \t// rest of paywall parameters`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` />`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // rest of customer portal parameters`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/>`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`checkout`,children:`Checkout`}),`\n`,_jsxs(_components.p,{children:[`Stigg’s `,_jsx(_components.a,{href:`/documentation/snap-in-widgets/checkout`,children:`Checkout widget`}),` allows you to easily accept payments without ever worrying about changes to your pricing model or migration to another billing provider.`]}),`\n`,_jsxs(_components.p,{children:[`Pass the `,_jsx(_components.a,{href:`#resource-id`,children:`resource ID`}),` parameter to render a checkout experience for the current product instance.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`React`,numberOfLines:`7`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003cCheckout`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` planId={`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003cTARGET_PLAN_ID>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\t\t\t\tresourceId=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'resource-01'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` onCheckoutCompleted={({ success, error }) => {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // TODO: handle checkout widget completion`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` />`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`customization`,children:`Customization`}),`\n`,_jsxs(_components.p,{children:[`Stigg’s widgets can be `,_jsx(_components.a,{href:`/api-and-sdks/integration/frontend/react#customization-options`,children:`fully customized`}),` to align with your app’s styling.`]}),`\n`,_jsx(Heading,{level:`3`,id:`additional-frameworks-2`,children:`Additional frameworks`}),`\n`,_jsx(_components.p,{children:`For more details about Stigg’s widgets and additional frameworks, see:`}),`\n`,_jsx(Card,{title:`Frontend integration`,icon:`code`,href:`/documentation/getting-started/get-started-with-sdks#frontend-sdks`,horizontal:true}),`\n`,_jsx(Heading,{level:`2`,id:`billing-your-customers`,children:`Billing your customers`}),`\n`,_jsxs(_components.p,{children:[`Stigg can be integrated with `,_jsx(_components.a,{href:`/documentation/native-integrations/overview#billing`,children:`billing solutions`}),` (such as `,_jsx(_components.a,{href:`/documentation/native-integrations/billing/stripe/overview`,children:`Stripe`}),`, `,_jsx(_components.a,{href:`/documentation/native-integrations/billing/zuora/overview`,children:`Zuora`}),` and `,_jsx(_components.a,{href:`/documentation/native-integrations/billing/airwallex`,children:`Airwallex`}),`) to bill customers for their subscriptions.`]}),`\n`,_jsx(_components.p,{children:`When such an integration is in place the same payment method can be used to pay for all of the subscription; however, each subscription will be billed according to its own billing period, and will generate a separate invoice.`}),`\n`,_jsx(Heading,{level:`1`,id:`combination-with-single-instance-products`,children:`Combination with single instance products`}),`\n`,_jsx(_components.p,{children:`In addition to multi-instance products, Stigg allows you to define products that customers will have a single active subscription for at a certain point in time.`}),`\n`,_jsxs(_components.p,{children:[`Using a combination of a single instance product with a multi-instance product, allows you to implement an account + sub-account and platform + app instance monetization models. An example of such a model can be seen at `,_jsx(_components.a,{href:`https://webflow.com/pricing`,children:`Webflow`}),`.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/75a1213-image.png?fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=02e5fb285dfeecdaae135ac24686c3f6`,alt:``,\"data-og-width\":`1320`,width:`1320`,\"data-og-height\":`1240`,height:`1240`,\"data-path\":`images/docs/75a1213-image.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/75a1213-image.png?w=280\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=a2536bcfa616fcd30b1d90de44bf6f22 280w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/75a1213-image.png?w=560\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=810aff87687480bc7c44d945f5f2cba5 560w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/75a1213-image.png?w=840\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=5edaf77920efc563a0a8b69c4aa0f6d9 840w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/75a1213-image.png?w=1100\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=60a24d0cfe7be1311232ce3bcafa6515 1100w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/75a1213-image.png?w=1650\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=d4e6b169c1d5ebca34d7775b09726586 1650w, https://mintcdn.com/stigg/FdQMosJ2Bzlx8vcI/images/docs/75a1213-image.png?w=2500\u0026fit=max\u0026auto=format\u0026n=FdQMosJ2Bzlx8vcI\u0026q=85\u0026s=d5ea5c846d2ff94d387e8cd470f141ed 2500w`}),`\n`,_jsx(_components.p,{children:`To do so, create another product, but this type set its subscription type to “single active subscription”.`}),`\n`,_jsx(_components.p,{children:`When a customer is subscribed to both a single and multi-instance product, and both products grant access to the same entitlement, the customer will have access to the maximum entitlement value amongst the different products.`}),`\n`,_jsx(_components.p,{children:`For more details see:`}),`\n`,_jsx(Card,{title:`How are customer entitlements calculated in Stigg?`,icon:`message-question`,href:`/documentation/managing-customers-and-subscriptions/entitlements/entitlement-calculation`,horizontal:true})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Allow customers to have multiple subscriptions to the same product","og:title":"Allow customers to have multiple subscriptions to the same product - Stigg Documentation","twitter:title":"Allow customers to have multiple subscriptions to the same product - Stigg Documentation","related":[{"Multiple active subscriptions":"/documentation/managing-customers-and-subscriptions/subscriptions/multiple-active-subscriptions"},{"Creating products":"/documentation/modeling-your-pricing-in-stigg/products/creating-products"}],"description":null,"href":"/guides/i-want-to/add-multiple-subscriptions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Implementing the pricing model using Stigg","slug":"implementing-the-pricing-model-using-stigg","depth":1,"children":[]},{"title":"Product configuration","slug":"product-configuration","depth":2,"children":[]},{"title":"Resource ID","slug":"resource-id","depth":2,"children":[]},{"title":"Provisioning subscriptions","slug":"provisioning-subscriptions","depth":2,"children":[{"title":"Prerequisites","slug":"prerequisites","depth":3,"children":[]},{"title":"Provisioning subscriptions using the Stigg backend SDKs","slug":"provisioning-subscriptions-using-the-stigg-backend-sdks","depth":3,"children":[]},{"title":"Provisioning subscriptions using the Stigg app","slug":"provisioning-subscriptions-using-the-stigg-app","depth":3,"children":[]}]},{"title":"Reporting feature usage","slug":"reporting-feature-usage","depth":2,"children":[]},{"title":"Enforcing feature access","slug":"enforcing-feature-access","depth":2,"children":[{"title":"Backend enforcement","slug":"backend-enforcement","depth":3,"children":[]},{"title":"Frontend enforcement","slug":"frontend-enforcement","depth":3,"children":[]}]},{"title":"Providing visibility for the current active subscription","slug":"providing-visibility-for-the-current-active-subscription","depth":2,"children":[{"title":"Backend","slug":"backend","depth":3,"children":[]},{"title":"Frontend","slug":"frontend","depth":3,"children":[]},{"title":"Additional frameworks","slug":"additional-frameworks","depth":3,"children":[]}]},{"title":"Offering an in-app upgrade experience","slug":"offering-an-in-app-upgrade-experience","depth":2,"children":[{"title":"In-app paywall","slug":"in-app-paywall","depth":3,"children":[]},{"title":"In-app customer portal","slug":"in-app-customer-portal","depth":3,"children":[]},{"title":"Checkout","slug":"checkout","depth":3,"children":[]},{"title":"Customization","slug":"customization","depth":3,"children":[]},{"title":"Additional frameworks","slug":"additional-frameworks-2","depth":3,"children":[]}]},{"title":"Billing your customers","slug":"billing-your-customers","depth":2,"children":[]},{"title":"Combination with single instance products","slug":"combination-with-single-instance-products","depth":1,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/stigg/14aedc563c3207a3/content/custom.js"],"subdomain":"stigg","siteName":"Stigg","title":"Allow customers to have multiple subscriptions to the same product - Stigg Documentation","relatedPages":[{"title":"Multiple active subscriptions","link":"/documentation/managing-customers-and-subscriptions/subscriptions/multiple-active-subscriptions"},{"title":"Creating products","link":"/documentation/modeling-your-pricing-in-stigg/products/creating-products"}],"relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T16:28:31.229Z","originalFileLocation":"guides/i-want-to/add-multiple-subscriptions.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Stigg\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Allow customers to have multiple subscriptions to the same product - Stigg Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Stigg\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stigg.mintlify.site/_mintlify/api/og/v2?division=Subscriptions+and+billing\u0026amp;title=Allow+customers+to+have+multiple+subscriptions+to+the+same+product\u0026amp;theme=95c7681964b0230df066a164\u0026amp;signature=d64fb418661cfb674a1063f3eb6b0feb4013ec59bf954a328f89ecf46c64bfde\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Allow customers to have multiple subscriptions to the same product - Stigg Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stigg.mintlify.site/_mintlify/api/og/v2?division=Subscriptions+and+billing\u0026amp;title=Allow+customers+to+have+multiple+subscriptions+to+the+same+product\u0026amp;theme=95c7681964b0230df066a164\u0026amp;signature=d64fb418661cfb674a1063f3eb6b0feb4013ec59bf954a328f89ecf46c64bfde\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/stigg/7i-fa_rP-Js-8M8l/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Stigg\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#436633\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/i-want-to/add-multiple-subscriptions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stigg.io/#organization\",\"name\":\"Stigg\",\"url\":\"https://docs.stigg.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/stigg/HmCBL4eVQuHwqjnY/logo/light.svg?fit=max\u0026auto=format\u0026n=HmCBL4eVQuHwqjnY\u0026q=85\u0026s=8579b37d1f3d11f4198506c9e602caa3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stigg.io#website\",\"name\":\"Stigg\",\"url\":\"https://docs.stigg.io\",\"publisher\":{\"@id\":\"https://docs.stigg.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions#webpage\",\"url\":\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions\",\"name\":\"Allow customers to have multiple subscriptions to the same product\",\"dateModified\":\"2026-11-10T16:28:31.229Z\",\"isPartOf\":{\"@id\":\"https://docs.stigg.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Subscriptions and billing\",\"item\":\"https://docs.stigg.io/guides/i-want-to/provision-enterprise-subscriptions\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Allow customers to have multiple subscriptions to the same product\",\"item\":\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions#article\",\"headline\":\"Allow customers to have multiple subscriptions to the same product\",\"name\":\"Allow customers to have multiple subscriptions to the same product\",\"url\":\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stigg.io/guides/i-want-to/add-multiple-subscriptions#webpage\"},\"dateModified\":\"2026-11-10T16:28:31.229Z\",\"publisher\":{\"@id\":\"https://docs.stigg.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stigg.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Stigg\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Stigg\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/guides/i-want-to/add-multiple-subscriptions.md","siteName":"Stigg","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/documentation/getting-started/welcome-to-stigg"}]},{"tab":"Guides","icon":"map","groups":[{"group":"Quick start","pages":[{"title":"Provisioning customers","href":"/guides/quick-start-guides/provisioning-customers"},{"title":"Provisioning subscriptions","href":"/guides/quick-start-guides/creating-subscriptions"},{"title":"Gating access to features","href":"/guides/quick-start-guides/gating-access-to-features"},{"title":"Rendering paywalls","href":"/guides/quick-start-guides/rendering-paywalls"},{"title":"Rendering custom paywalls","href":"/guides/quick-start-guides/rendering-custom-paywalls"},{"title":"Rendering a customer portal","href":"/guides/quick-start-guides/rendering-customer-portal"}]},{"group":"Credits","pages":[{"title":"Monetize my product using credits","href":"/guides/i-want-to/set-up-credits"},{"title":"Deduct credits directly","href":"/guides/i-want-to/deduct-credits-directly"},{"title":"Reserve and settle credits","href":"/guides/i-want-to/reserve-and-settle-credits"},{"title":"Charge credits for metered usage","href":"/guides/i-want-to/charge-credits-for-metered-usage"},{"title":"Monetize your product using recurring credits","href":"/guides/i-want-to/set-up-recurring-credits"},{"title":"Grant credits as entitlements in plans and add-ons","href":"/guides/i-want-to/grant-credits-in-plans-and-add-ons"},{"title":"Set up credits auto-recharge","href":"/guides/i-want-to/set-up-credits-auto-recharge"},{"title":"Notify customers about low credit balance","href":"/guides/i-want-to/notify-customers-about-low-credit-balance"},{"title":"Model OpenAI-style token pricing","href":"/guides/i-want-to/model-openai-style-token-pricing"}]},{"group":"AI agents","pages":[{"title":"Meter LLM token usage","href":"/guides/ai-agents/meter-llm-token-usage"},{"title":"Meter LLM gateway spend","href":"/guides/ai-agents/meter-llm-gateway-spend"},{"title":"Set budgets for AI agents","href":"/guides/ai-agents/set-budgets-for-ai-agents"},{"title":"Meter usage from your own gateway","href":"/guides/ai-agents/meter-usage-from-your-own-gateway"}]},{"group":"Entitlements and access enforcement","pages":[{"title":"Enforce metered feature limits","href":"/guides/i-want-to/enforce-metered-feature-limits"},{"title":"Implement a team plan with separate usage enforcement for each team member","href":"/guides/i-want-to/guide-team-plan"},{"title":"Gate API endpoints with AWS API Gateway","href":"/api-and-sdks/integration/additional-deployment-methods/aws-api-gateway"}]},{"group":"Pricing and packaging","pages":[{"title":"Implement a freemium model to increase conversion","href":"/guides/i-want-to/add-freemium"},{"title":"Configure hybrid pricing","href":"/guides/i-want-to/configure-hybrid-pricing"},{"group":"Trials","pages":[{"title":"Add a time-based trial experience to my product","href":"/guides/i-want-to/add-free-trials"},{"title":"Run a trial with add‑ons while keeping an active paid plan","href":"/guides/i-want-to/configure-trial-add-on"},{"title":"Launch a trial for a paid plan with unlimited usage-based features","href":"/guides/i-want-to/offer-unlimited-usage-during-trial"}]}]},{"group":"Subscriptions and billing","pages":[{"title":"Provision enterprise subscriptions","description":null,"href":"/guides/i-want-to/provision-enterprise-subscriptions"},{"title":"Allow customers to have multiple subscriptions to the same product","href":"/guides/i-want-to/add-multiple-subscriptions"},{"title":"Allow customers to subscribe to my product using a payment link","description":null,"href":"/guides/i-want-to/subscribe-using-payment-link"},{"title":"Bill customers using invoices","href":"/guides/i-want-to/bill-customers-using-invoices"}]},{"group":"Migration","pages":[{"title":"Migrate to Stigg from a legacy or in-house system","href":"/guides/i-want-to/migrate-from-legacy-systems"}]}]},{"tab":"API Reference","icon":"code","dropdowns":[{"dropdown":"Overview","icon":"compass","pages":[{"title":"API Reference","mode":"custom","href":"/api-and-sdks/api-reference/overview"}]},{"dropdown":"REST","icon":"server","groups":[{"group":"Get started","pages":[{"title":"Introduction","href":"/api-and-sdks/api-reference/rest/introduction"}]},{"group":"Essentials","pages":[{"title":"Authentication","href":"/api-and-sdks/api-reference/rest/authentication"},{"title":"Pagination","href":"/api-and-sdks/api-reference/rest/pagination"},{"title":"Responses","href":"/api-and-sdks/api-reference/rest/responses"},{"title":"Rate Limits","href":"/api-and-sdks/integration/rest/rate-limits"},{"title":"Access enforcement at scale","href":"/api-and-sdks/api-reference/rest/using-at-scale"}]},{"group":"SDK reference","pages":[{"title":"Backend","href":"/api-and-sdks/references/sdk/backend/rest/index"},{"title":"Agent SDK","href":"/api-and-sdks/references/sdk/backend/rest/agent-sdk"},{"group":"Frontend","pages":[{"title":"JavaScript SDK","href":"/api-and-sdks/references/sdk/frontend/javascript-rest"},{"title":"React SDK","href":"/api-and-sdks/references/sdk/frontend/react-rest"},{"title":"Vue.js SDK","href":"/api-and-sdks/references/sdk/frontend/vue-rest"},{"title":"Embed SDK","href":"/api-and-sdks/references/sdk/frontend/embed-rest"}]}]},{"group":"CLI reference","pages":[{"title":"CLI reference","href":"/api-and-sdks/cli-reference"}]},{"group":"SDK documentation","pages":[{"group":"Frontend","pages":[{"title":"JavaScript","href":"/api-and-sdks/integration/frontend/javascript"},{"title":"React","href":"/api-and-sdks/integration/frontend/react"},{"title":"Vue.js","href":"/api-and-sdks/integration/frontend/vuejs"},{"title":"Next.js","href":"/api-and-sdks/integration/frontend/nextjs"},{"title":"Webflow, Wordpress and plain HTML SDK","href":"/api-and-sdks/integration/frontend/html"},{"title":"Hardening client-side access","href":"/api-and-sdks/integration/frontend/hardening-client-side-access"}]}]},{"group":"Subscriptions","pages":[{"title":"Get a single subscription by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/subscriptions/{id}","href":"/api-reference/subscriptions/get-a-single-subscription-by-id"},{"title":"Update a subscription","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/subscriptions/{id}","href":"/api-reference/subscriptions/update-a-subscription"},{"title":"Get a list of subscriptions","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/subscriptions","href":"/api-reference/subscriptions/get-a-list-of-subscriptions"},{"title":"Provision subscription","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions","href":"/api-reference/subscriptions/provision-subscription"},{"title":"Transfer subscription to resource","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/{id}/transfer","href":"/api-reference/subscriptions/transfer-subscription-to-resource"},{"title":"Migrate subscription to latest plan version","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/{id}/migrate","href":"/api-reference/subscriptions/migrate-subscription-to-latest-plan-version"},{"title":"Delegate subscription payment to customer","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/{id}/delegate","href":"/api-reference/subscriptions/delegate-subscription-payment-to-customer"},{"title":"Cancel pending payment update","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/subscriptions/{id}/future-update/pending-payment","href":"/api-reference/subscriptions/cancel-pending-payment-update"},{"title":"Cancel scheduled update","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/subscriptions/{id}/future-update/schedule","href":"/api-reference/subscriptions/cancel-scheduled-update"},{"title":"Preview subscription","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/preview","href":"/api-reference/subscriptions/preview-subscription"},{"title":"Cancel subscription","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/{id}/cancel","href":"/api-reference/subscriptions/cancel-subscription"},{"title":"Charge subscription usage","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/{id}/usage/charge","href":"/api-reference/subscriptions/charge-subscription-usage"},{"title":"Trigger subscription usage sync","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/{id}/usage/sync","href":"/api-reference/subscriptions/trigger-subscription-usage-sync"},{"title":"Mark subscription invoice as paid","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/{id}/invoice/paid","href":"/api-reference/subscriptions/mark-subscription-invoice-as-paid"}]},{"group":"Bulk Import","pages":[{"title":"Bulk import subscriptions","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/subscriptions/import","href":"/api-reference/bulk-import/bulk-import-subscriptions"},{"title":"Bulk import customers","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/import","href":"/api-reference/bulk-import/bulk-import-customers"}]},{"group":"Usage","pages":[{"title":"Get usage history","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/usage/{customerId}/history/{featureId}","href":"/api-reference/usage/get-usage-history"},{"title":"Report usage events","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/events","href":"/api-reference/usage/report-usage-events"},{"title":"Estimate event credit cost","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/events/estimate","href":"/api-reference/usage/estimate-event-credit-cost"},{"title":"Report usage measurements","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/usage","href":"/api-reference/usage/report-usage-measurements"},{"title":"Estimate usage credit cost","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/usage/estimate","href":"/api-reference/usage/estimate-usage-credit-cost"},{"title":"Report usage measurements (v2)","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v2/usage","href":"/api-reference/usage/report-usage-measurements-v2"}]},{"group":"Coupons","pages":[{"title":"Get a list of coupons","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/coupons","href":"/api-reference/coupons/get-a-list-of-coupons"},{"title":"Create coupon","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/coupons","href":"/api-reference/coupons/create-coupon"},{"title":"Get a single coupon by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/coupons/{id}","href":"/api-reference/coupons/get-a-single-coupon-by-id"},{"title":"Update a coupon","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/coupons/{id}","href":"/api-reference/coupons/update-a-coupon"},{"title":"Archive coupon","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/coupons/{id}/archive","href":"/api-reference/coupons/archive-coupon"}]},{"group":"Products","pages":[{"title":"Get a list of products","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/products","href":"/api-reference/products/get-a-list-of-products"},{"title":"Create product","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/products","href":"/api-reference/products/create-product"},{"title":"Update a product","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/products/{id}","href":"/api-reference/products/update-a-product"},{"title":"Archive product","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/products/{id}/archive","href":"/api-reference/products/archive-product"},{"title":"Unarchive product","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/products/{id}/unarchive","href":"/api-reference/products/unarchive-product"},{"title":"Duplicate product","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/products/{id}/duplicate","href":"/api-reference/products/duplicate-product"}]},{"group":"Features","pages":[{"title":"Get a single feature by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/features/{id}","href":"/api-reference/features/get-a-single-feature-by-id"},{"title":"Update a feature","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/features/{id}","href":"/api-reference/features/update-a-feature"},{"title":"Get a list of features","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/features","href":"/api-reference/features/get-a-list-of-features"},{"title":"Create a feature","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/features","href":"/api-reference/features/create-a-feature"},{"title":"Archive feature","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/features/{id}/archive","href":"/api-reference/features/archive-feature"},{"title":"Unarchive feature","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/features/{id}/unarchive","href":"/api-reference/features/unarchive-feature"}]},{"group":"Addons","pages":[{"title":"Get a list of addons","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/addons","href":"/api-reference/addons/get-a-list-of-addons"},{"title":"Create an addon","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/addons","href":"/api-reference/addons/create-an-addon"},{"title":"Get a single addon by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/addons/{id}","href":"/api-reference/addons/get-a-single-addon-by-id"},{"title":"Update a addon","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/addons/{id}","href":"/api-reference/addons/update-a-addon"},{"title":"Archive an addon","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/addons/{id}/archive","href":"/api-reference/addons/archive-an-addon"},{"title":"List addon charges","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/addons/{id}/charges","href":"/api-reference/addons/list-addon-charges"},{"title":"Create addon draft","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/addons/{id}/draft","href":"/api-reference/addons/create-addon-draft"},{"title":"Remove addon draft","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/addons/{id}/draft","href":"/api-reference/addons/remove-addon-draft"},{"title":"Publish addon","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/addons/{id}/publish","href":"/api-reference/addons/publish-addon"}]},{"group":"Plans","pages":[{"title":"Get a list of plans","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/plans","href":"/api-reference/plans/get-a-list-of-plans"},{"title":"Create plan","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/plans","href":"/api-reference/plans/create-plan"},{"title":"Get a single plan by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/plans/{id}","href":"/api-reference/plans/get-a-single-plan-by-id"},{"title":"Update a plan","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/plans/{id}","href":"/api-reference/plans/update-a-plan"},{"title":"Archive plan","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/plans/{id}/archive","href":"/api-reference/plans/archive-plan"},{"title":"List plan charges","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/plans/{id}/charges","href":"/api-reference/plans/list-plan-charges"},{"title":"List plan overage charges","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/plans/{id}/overage-charges","href":"/api-reference/plans/list-plan-overage-charges"},{"title":"Create plan draft","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/plans/{id}/draft","href":"/api-reference/plans/create-plan-draft"},{"title":"Remove plan draft","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/plans/{id}/draft","href":"/api-reference/plans/remove-plan-draft"},{"title":"Publish plan","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/plans/{id}/publish","href":"/api-reference/plans/publish-plan"}]},{"group":"Promotional Entitlements","pages":[{"title":"Get a list of promotional entitlements","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/promotional-entitlements","href":"/api-reference/promotional-entitlements/get-a-list-of-promotional-entitlements"},{"title":"Create a promotional entitlements","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/promotional-entitlements","href":"/api-reference/promotional-entitlements/create-a-promotional-entitlements"},{"title":"Revoke promotional entitlement","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/customers/{id}/promotional-entitlements/{featureId}","href":"/api-reference/promotional-entitlements/revoke-promotional-entitlement"}]},{"group":"Customers","pages":[{"title":"Get a list of customer resources","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/resources","href":"/api-reference/customers/get-a-list-of-customer-resources"},{"title":"Get a single customer by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}","href":"/api-reference/customers/get-a-single-customer-by-id"},{"title":"Update a customer","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/customers/{id}","href":"/api-reference/customers/update-a-customer"},{"title":"Get a list of customers","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers","href":"/api-reference/customers/get-a-list-of-customers"},{"title":"Provision customer","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers","href":"/api-reference/customers/provision-customer"},{"title":"Archive customer","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/archive","href":"/api-reference/customers/archive-customer"},{"title":"Unarchive customer","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/unarchive","href":"/api-reference/customers/unarchive-customer"},{"title":"Attach payment method","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/payment-method","href":"/api-reference/customers/attach-payment-method"},{"title":"Detach payment method","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/customers/{id}/payment-method","href":"/api-reference/customers/detach-payment-method"}]},{"group":"Customer Integrations","pages":[{"title":"Get a list of customer integrations","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/integrations","href":"/api-reference/customer-integrations/get-a-list-of-customer-integrations"},{"title":"Link customer integration","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/integrations","href":"/api-reference/customer-integrations/link-customer-integration"},{"title":"Get a single customer integration by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/integrations/{integrationId}","href":"/api-reference/customer-integrations/get-a-single-customer-integration-by-id"},{"title":"Unlink customer integration","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/customers/{id}/integrations/{integrationId}","href":"/api-reference/customer-integrations/unlink-customer-integration"},{"title":"Update a customer integration","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/customers/{id}/integrations/{integrationId}","href":"/api-reference/customer-integrations/update-a-customer-integration"}]},{"group":"Data Export","pages":[{"title":"Add data-export destination","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/data-export/destinations","href":"/api-reference/data-export/add-data-export-destination"},{"title":"Remove data-export destination","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/data-export/destinations/{destinationId}","href":"/api-reference/data-export/remove-data-export-destination"},{"title":"Update data-export destination selection","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/data-export/destinations/{destinationId}","href":"/api-reference/data-export/update-data-export-destination-selection"},{"title":"Trigger data-export sync","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/data-export/sync","href":"/api-reference/data-export/trigger-data-export-sync"},{"title":"List data-export models","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/data-export/models","href":"/api-reference/data-export/list-data-export-models"}]},{"group":"Entitlements","pages":[{"title":"Get entitlements state","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/entitlements","href":"/api-reference/entitlements/get-entitlements-state"},{"title":"Check entitlement","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/entitlements/check","href":"/api-reference/entitlements/check-entitlement"}]},{"group":"Plan Entitlements","pages":[{"title":"Get a list of plan entitlements","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/plans/{planId}/entitlements","href":"/api-reference/plan-entitlements/get-a-list-of-plan-entitlements"},{"title":"Create plan entitlements","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/plans/{planId}/entitlements","href":"/api-reference/plan-entitlements/create-plan-entitlements"},{"title":"Delete plan entitlement","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/plans/{planId}/entitlements/{id}","href":"/api-reference/plan-entitlements/delete-plan-entitlement"},{"title":"Update a plan entitlement","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/plans/{planId}/entitlements/{id}","href":"/api-reference/plan-entitlements/update-a-plan-entitlement"}]},{"group":"Addon Entitlements","pages":[{"title":"Get a list of addon entitlements","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/addons/{addonId}/entitlements","href":"/api-reference/addon-entitlements/get-a-list-of-addon-entitlements"},{"title":"Create addon entitlements","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/addons/{addonId}/entitlements","href":"/api-reference/addon-entitlements/create-addon-entitlements"},{"title":"Delete addon entitlement","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/addons/{addonId}/entitlements/{id}","href":"/api-reference/addon-entitlements/delete-addon-entitlement"},{"title":"Update a addon entitlement","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/addons/{addonId}/entitlements/{id}","href":"/api-reference/addon-entitlements/update-a-addon-entitlement"}]},{"group":"Credit grants","pages":[{"title":"Get a list of credit grants","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/credits/grants","href":"/api-reference/credit-grants/get-a-list-of-credit-grants"},{"title":"Create a credit grant","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/credits/grants","href":"/api-reference/credit-grants/create-a-credit-grant"},{"title":"Void credit grant","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/credits/grants/{id}/void","href":"/api-reference/credit-grants/void-credit-grant"}]},{"group":"Credit consumption","pages":[{"title":"Consume credits","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/credits/consumption","href":"/api-reference/credit-consumption/consume-credits"},{"title":"Consume credits asynchronously","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/credits/consumption/async","href":"/api-reference/credit-consumption/consume-credits-asynchronously"}]},{"group":"Credit reservations","pages":[{"title":"Release a credit reservation","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/credits/reservations/{reservationId}/release","href":"/api-reference/credit-reservations/release-a-credit-reservation"}]},{"group":"Credit usage","pages":[{"title":"Get credit usage","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/credits/usage","href":"/api-reference/credit-usage/get-credit-usage"}]},{"group":"Auto recharge","pages":[{"title":"Get automatic recharge configuration","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/credits/auto-recharge","href":"/api-reference/auto-recharge/get-automatic-recharge-configuration"}]},{"group":"Custom currencies","pages":[{"title":"Get a list of custom currencys","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/credits/custom-currencies","href":"/api-reference/custom-currencies/get-a-list-of-custom-currencys"},{"title":"Create custom currency","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/credits/custom-currencies","href":"/api-reference/custom-currencies/create-custom-currency"},{"title":"Update custom currency","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/credits/custom-currencies/{currencyId}","href":"/api-reference/custom-currencies/update-custom-currency"},{"title":"Archive custom currency","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/credits/custom-currencies/{currencyId}/archive","href":"/api-reference/custom-currencies/archive-custom-currency"},{"title":"Unarchive custom currency","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/credits/custom-currencies/{currencyId}/unarchive","href":"/api-reference/custom-currencies/unarchive-custom-currency"},{"title":"List custom currency associated entities","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/credits/custom-currencies/{currencyId}/associated-entities","href":"/api-reference/custom-currencies/list-custom-currency-associated-entities"}]},{"group":"Credit ledger","pages":[{"title":"Get a list of credit ledger events","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/credits/ledger","href":"/api-reference/credit-ledger/get-a-list-of-credit-ledger-events"}]},{"group":"Contracts","pages":[{"title":"Get a list of contracts","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/contracts","href":"/api-reference/contracts/get-a-list-of-contracts"},{"title":"Create contract","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/contracts","href":"/api-reference/contracts/create-contract"},{"title":"List pricing models","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/contracts/pricing-models","href":"/api-reference/contracts/list-pricing-models"},{"title":"List legal entities","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/contracts/legal-entities","href":"/api-reference/contracts/list-legal-entities"},{"title":"Get a single contract by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/contracts/{id}","href":"/api-reference/contracts/get-a-single-contract-by-id"},{"title":"Update a contract","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/contracts/{id}","href":"/api-reference/contracts/update-a-contract"},{"title":"Delete contract","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/contracts/{id}/archive","href":"/api-reference/contracts/delete-contract"},{"title":"Add contract line items","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/contracts/{id}/billing/items","href":"/api-reference/contracts/add-contract-line-items"},{"title":"Delete contract line item","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/contracts/{id}/billing/items/{itemRef}","href":"/api-reference/contracts/delete-contract-line-item"},{"title":"Update contract line item rows","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/contracts/{id}/billing/items/{itemRef}","href":"/api-reference/contracts/update-contract-line-item-rows"},{"title":"Delete contract line item row","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/contracts/{id}/billing/items/{itemRef}/rows/{rowIndex}","href":"/api-reference/contracts/delete-contract-line-item-row"},{"title":"Set contract billing terms","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/contracts/{id}/billing/terms","href":"/api-reference/contracts/set-contract-billing-terms"},{"title":"Set contract billing settings","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml patch /api/v1/contracts/{id}/billing/settings","href":"/api-reference/contracts/set-contract-billing-settings"},{"title":"List contract credit notes","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/contracts/{id}/billing/credit-notes","href":"/api-reference/contracts/list-contract-credit-notes"},{"title":"Get contract invoice schedule","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/contracts/{id}/billing/invoice-schedule","href":"/api-reference/contracts/get-contract-invoice-schedule"},{"title":"Get contract billing summary","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/contracts/{id}/billing/summary","href":"/api-reference/contracts/get-contract-billing-summary"},{"title":"Publish contract billing","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/contracts/{id}/billing/publish","href":"/api-reference/contracts/publish-contract-billing"},{"title":"Edit contract billing in place","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/contracts/{id}/billing/edit-active","href":"/api-reference/contracts/edit-contract-billing-in-place"},{"title":"Attach subscriptions to contract","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/contracts/{id}/subscriptions","href":"/api-reference/contracts/attach-subscriptions-to-contract"},{"title":"Detach subscription from contract","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml delete /api/v1/contracts/{id}/subscriptions/{subscriptionId}","href":"/api-reference/contracts/detach-subscription-from-contract"},{"title":"Refresh contract usage","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/contracts/{id}/usage/refresh","href":"/api-reference/contracts/refresh-contract-usage"},{"title":"List customer contracts","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/contracts","href":"/api-reference/contracts/list-customer-contracts"}]},{"group":"Invoices","pages":[{"title":"Get a list of invoices","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/invoices","href":"/api-reference/invoices/get-a-list-of-invoices"},{"title":"Get a single invoice by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/invoices/{invoiceRef}","href":"/api-reference/invoices/get-a-single-invoice-by-id"},{"title":"Generate invoice PDF","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/invoices/{invoiceRef}/pdf/generate","href":"/api-reference/invoices/generate-invoice-pdf"},{"title":"Get invoice PDF status","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/invoices/{invoiceRef}/pdf/status","href":"/api-reference/invoices/get-invoice-pdf-status"},{"title":"Download invoice PDF","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/invoices/{invoiceRef}/pdf","href":"/api-reference/invoices/download-invoice-pdf"},{"title":"Mark invoice as paid","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/invoices/{invoiceRef}/paid","href":"/api-reference/invoices/mark-invoice-as-paid"},{"title":"Issue credit note","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/invoices/{invoiceRef}/credit-note","href":"/api-reference/invoices/issue-credit-note"}]},{"group":"Governance Entity Types","pages":[{"title":"Get a list of entity types","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/entity-types","href":"/api-reference/governance-entity-types/get-a-list-of-entity-types"},{"title":"Upsert entity types","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml put /api/v1/entity-types","href":"/api-reference/governance-entity-types/upsert-entity-types"},{"title":"Archive entity types","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/entity-types/archive","href":"/api-reference/governance-entity-types/archive-entity-types"},{"title":"Check whether an entity type has active entities","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/entity-types/{id}/has-active-entities","href":"/api-reference/governance-entity-types/check-whether-an-entity-type-has-active-entities"}]},{"group":"Governance Entity Types (v1-beta)","pages":[{"title":"Get a list of entity types","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1-beta/entity-types","href":"/api-reference/governance-entity-types-v1-beta/get-a-list-of-entity-types"},{"title":"Upsert entity types","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml put /api/v1-beta/entity-types","href":"/api-reference/governance-entity-types-v1-beta/upsert-entity-types"},{"title":"Archive entity types","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1-beta/entity-types/archive","href":"/api-reference/governance-entity-types-v1-beta/archive-entity-types"},{"title":"Check whether an entity type has active entities","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1-beta/entity-types/{id}/has-active-entities","href":"/api-reference/governance-entity-types-v1-beta/check-whether-an-entity-type-has-active-entities"}]},{"group":"Governance Entities","pages":[{"title":"Get a list of entities","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/entities","href":"/api-reference/governance-entities/get-a-list-of-entities"},{"title":"Upsert entities","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml put /api/v1/customers/{id}/entities","href":"/api-reference/governance-entities/upsert-entities"},{"title":"Get a single entity by ID","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/entities/{entityId}","href":"/api-reference/governance-entities/get-a-single-entity-by-id"},{"title":"Archive entities","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1/customers/{id}/entities/archive","href":"/api-reference/governance-entities/archive-entities"}]},{"group":"Governance Entities (v1-beta)","pages":[{"title":"Get a list of entitys","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1-beta/customers/{id}/entities","href":"/api-reference/governance-entities-v1-beta/get-a-list-of-entitys"},{"title":"Upsert entities","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml put /api/v1-beta/customers/{id}/entities","href":"/api-reference/governance-entities-v1-beta/upsert-entities"},{"title":"Get a single entity by ID","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1-beta/customers/{id}/entities/{entityId}","href":"/api-reference/governance-entities-v1-beta/get-a-single-entity-by-id"},{"title":"Archive entities","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1-beta/customers/{id}/entities/archive","href":"/api-reference/governance-entities-v1-beta/archive-entities"},{"title":"Unarchive entities","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml post /api/v1-beta/customers/{id}/entities/unarchive","href":"/api-reference/governance-entities-v1-beta/unarchive-entities"}]},{"group":"Governance Entity Entitlements","pages":[{"title":"Get a list of entity entitlements","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1/customers/{id}/entities/entitlements","href":"/api-reference/governance-entity-entitlements/get-a-list-of-entity-entitlements"},{"title":"Upsert entity entitlements","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml put /api/v1/customers/{id}/entities/entitlements","href":"/api-reference/governance-entity-entitlements/upsert-entity-entitlements"}]},{"group":"Governance Assignments (v1-beta)","pages":[{"title":"Get a list of assignments","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1-beta/customers/{id}/assignments","href":"/api-reference/governance-assignments-v1-beta/get-a-list-of-assignments"},{"title":"Upsert assignments","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml put /api/v1-beta/customers/{id}/assignments","href":"/api-reference/governance-assignments-v1-beta/upsert-assignments"}]},{"group":"Governance Hierarchy","pages":[{"title":"Get a list of governance nodes","deprecated":null,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1-beta/customers/{id}/governance","href":"/api-reference/governance-hierarchy/get-a-list-of-governance-nodes"}]},{"group":"Governance Entitlements Check (v1-beta)","pages":[{"title":"Check entitlement (beta)","deprecated":true,"version":null,"openapi":"/openapi/stigg-api.documented.yml get /api/v1-beta/customers/{id}/entitlements/check","href":"/api-reference/governance-entitlements-check-v1-beta/check-entitlement-beta"}]}]},{"dropdown":"GraphQL","icon":"diagram-project","groups":[{"group":"Get started","pages":[{"title":"Introduction","href":"/api-and-sdks/api-reference/graphql/introduction"}]},{"group":"Essentials","pages":[{"title":"Authentication","href":"/api-and-sdks/api-reference/graphql/authentication"},{"title":"Rate Limits","href":"/api-and-sdks/integration/graphql/rate-limits"},{"title":"Access enforcement at scale","href":"/api-and-sdks/api-reference/graphql/using-at-scale"}]},{"group":"SDK reference","pages":[{"group":"Backend","pages":[{"title":"Node.js SDK","href":"/api-and-sdks/references/sdk/backend/graphql/node"},{"title":"Python SDK","href":"/api-and-sdks/references/sdk/backend/graphql/python"},{"title":"Go SDK","href":"/api-and-sdks/references/sdk/backend/graphql/go"},{"title":"Java SDK","href":"/api-and-sdks/references/sdk/backend/graphql/java"},{"title":"Ruby SDK","href":"/api-and-sdks/references/sdk/backend/graphql/ruby"},{"title":".NET SDK","href":"/api-and-sdks/references/sdk/backend/graphql/dotnet"},{"title":"Sidecar SDK","href":"/api-and-sdks/references/sdk/backend/graphql/sidecar"}]},{"title":"Agent SDK","href":"/api-and-sdks/references/sdk/backend/graphql/agent-sdk"},{"group":"Frontend","pages":[{"title":"JavaScript SDK","href":"/api-and-sdks/references/sdk/frontend/javascript"},{"title":"React SDK","href":"/api-and-sdks/references/sdk/frontend/react"},{"title":"Vue.js SDK","href":"/api-and-sdks/references/sdk/frontend/vue"},{"title":"Embed SDK","href":"/api-and-sdks/references/sdk/frontend/embed"}]}]},{"group":"SDK documentation","pages":[{"group":"Backend","pages":[{"title":"Backend","href":"/api-and-sdks/integration/backend"},{"title":"Customer management","href":"/api-and-sdks/integration/backend/customers"},{"title":"Subscription management","href":"/api-and-sdks/integration/backend/subscriptions"},{"title":"Entitlement checks","href":"/api-and-sdks/integration/backend/entitlements"},{"title":"Usage, billing \u0026 credits","href":"/api-and-sdks/integration/backend/usage-and-billing"},{"title":"Sidecar","href":"/api-and-sdks/integration/backend/sidecar"}]},{"group":"Frontend","pages":[{"title":"JavaScript","href":"/api-and-sdks/integration/frontend/javascript"},{"title":"React","href":"/api-and-sdks/integration/frontend/react"},{"title":"Vue.js","href":"/api-and-sdks/integration/frontend/vuejs"},{"title":"Next.js","href":"/api-and-sdks/integration/frontend/nextjs"},{"title":"Webflow, Wordpress and plain HTML SDK","href":"/api-and-sdks/integration/frontend/html"},{"title":"Hardening client-side access","href":"/api-and-sdks/integration/frontend/hardening-client-side-access"}]}]},{"group":"API reference","pages":[{"title":"Apollo Studio","href":"/api-and-sdks/api-reference/graphql/reference"}]}]},{"dropdown":"Webhooks","icon":"webhook","groups":[{"group":"Get started","pages":[{"title":"Webhook Events","href":"/api-and-sdks/api-reference/webhooks/events"}]},{"group":"Products","pages":[{"title":"Product created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook product.created","href":"/api-reference/products/product-created"},{"title":"Product updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook product.updated","href":"/api-reference/products/product-updated"},{"title":"Product deleted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook product.deleted","href":"/api-reference/products/product-deleted"}]},{"group":"Plans","pages":[{"title":"Plan created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook plan.created","href":"/api-reference/plans/plan-created"},{"title":"Plan updated new version published","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook plan.updated","href":"/api-reference/plans/plan-updated-new-version-published"},{"title":"Plan deleted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook plan.deleted","href":"/api-reference/plans/plan-deleted"}]},{"group":"Add-ons","pages":[{"title":"Add on created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook addon.created","href":"/api-reference/add-ons/add-on-created"},{"title":"Add on updated new version published","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook addon.updated","href":"/api-reference/add-ons/add-on-updated-new-version-published"},{"title":"Add on deleted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook addon.deleted","href":"/api-reference/add-ons/add-on-deleted"}]},{"group":"Features","pages":[{"title":"Feature created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook feature.created","href":"/api-reference/features/feature-created"},{"title":"Feature updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook feature.updated","href":"/api-reference/features/feature-updated"},{"title":"Feature deleted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook feature.deleted","href":"/api-reference/features/feature-deleted"}]},{"group":"Feature Groups","pages":[{"title":"Feature group created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook feature_group.created","href":"/api-reference/feature-groups/feature-group-created"},{"title":"Feature group updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook feature_group.updated","href":"/api-reference/feature-groups/feature-group-updated"},{"title":"Feature group archived","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook feature_group.archived","href":"/api-reference/feature-groups/feature-group-archived"},{"title":"Feature group unarchived","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook feature_group.un_archived","href":"/api-reference/feature-groups/feature-group-unarchived"}]},{"group":"Coupons","pages":[{"title":"Coupon created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook coupon.created","href":"/api-reference/coupons/coupon-created"},{"title":"Coupon updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook coupon.updated","href":"/api-reference/coupons/coupon-updated"},{"title":"Coupon archived","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook coupon.archived","href":"/api-reference/coupons/coupon-archived"}]},{"group":"Customers","pages":[{"title":"Customer created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook customer.created","href":"/api-reference/customers/customer-created"},{"title":"Customer updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook customer.updated","href":"/api-reference/customers/customer-updated"},{"title":"Customer payment failed","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook customer.payment_failed","href":"/api-reference/customers/customer-payment-failed"},{"title":"Customer deleted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook customer.deleted","href":"/api-reference/customers/customer-deleted"}]},{"group":"Subscriptions","pages":[{"title":"Subscription created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.created","href":"/api-reference/subscriptions/subscription-created"},{"title":"Subscription updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.updated","href":"/api-reference/subscriptions/subscription-updated"},{"title":"Subscription canceled","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.canceled","href":"/api-reference/subscriptions/subscription-canceled"},{"title":"Subscription expired non recurring","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.expired","href":"/api-reference/subscriptions/subscription-expired-non-recurring"},{"title":"Billing month ends soon","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.billing_month.ends_soon","href":"/api-reference/subscriptions/billing-month-ends-soon"},{"title":"Spend limit exceeded","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.spend_limit.exceeded","href":"/api-reference/subscriptions/spend-limit-exceeded"},{"title":"Subscription creation failed","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.create_failed","href":"/api-reference/subscriptions/subscription-creation-failed"}]},{"group":"Trials","pages":[{"title":"Trial started","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.trial_started","href":"/api-reference/trials/trial-started"},{"title":"Trial ends soon","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.trial.ends_soon","href":"/api-reference/trials/trial-ends-soon"},{"title":"Trial converted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.trial_converted","href":"/api-reference/trials/trial-converted"},{"title":"Trial expired","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook subscription.trial_expired","href":"/api-reference/trials/trial-expired"}]},{"group":"Credit grants","pages":[{"title":"Credit grant created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook credit_grant.created","href":"/api-reference/credit-grants/credit-grant-created"},{"title":"Credit grant updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook credit_grant.updated","href":"/api-reference/credit-grants/credit-grant-updated"},{"title":"Credit grant balance low","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook credit_grant.balance.low","href":"/api-reference/credit-grants/credit-grant-balance-low"},{"title":"Credit grant depleted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook credit_grant.depleted","href":"/api-reference/credit-grants/credit-grant-depleted"},{"title":"Credit grant expired","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook credit_grant.expired","href":"/api-reference/credit-grants/credit-grant-expired"}]},{"group":"Credit balance","pages":[{"title":"Credit balance low","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook credit_balance.low","href":"/api-reference/credit-balance/credit-balance-low"},{"title":"Credit balance depleted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook credit_balance.depleted","href":"/api-reference/credit-balance/credit-balance-depleted"}]},{"group":"Credit auto recharge","pages":[{"title":"Automatic recharge operation attempted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook automatic_recharge.operation.attempted","href":"/api-reference/credit-auto-recharge/automatic-recharge-operation-attempted"},{"title":"Automatic recharge spend limit threshold reached","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook credits.automatic_recharge_limit_exceeded","href":"/api-reference/credit-auto-recharge/automatic-recharge-spend-limit-threshold-reached"},{"title":"Automatic recharge configuration changed","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook automatic_recharge.configuration.changed","href":"/api-reference/credit-auto-recharge/automatic-recharge-configuration-changed"}]},{"group":"Entitlements","pages":[{"title":"Entitlements updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entitlements.updated","href":"/api-reference/entitlements/entitlements-updated"},{"title":"Entitlement usage exceeded","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entitlement.usage_exceeded","href":"/api-reference/entitlements/entitlement-usage-exceeded"}]},{"group":"Promotional entitlements","pages":[{"title":"Promotional entitlement granted","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook promotionalEntitlement.granted","href":"/api-reference/promotional-entitlements/promotional-entitlement-granted"},{"title":"Promotional entitlement updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook promotionalEntitlement.updated","href":"/api-reference/promotional-entitlements/promotional-entitlement-updated"},{"title":"Promotional entitlement revoked","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook promotionalEntitlement.revoked","href":"/api-reference/promotional-entitlements/promotional-entitlement-revoked"},{"title":"Promotional entitlement ends soon","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook promotionalEntitlement.ends_soon","href":"/api-reference/promotional-entitlements/promotional-entitlement-ends-soon"},{"title":"Promotional entitlement expired","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook promotionalEntitlement.expired","href":"/api-reference/promotional-entitlements/promotional-entitlement-expired"}]},{"group":"Third-party sync","pages":[{"title":"Third party sync failed","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook sync.failed","href":"/api-reference/third-party-sync/third-party-sync-failed"},{"title":"Data export sync failed","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook data_export.sync_failed","href":"/api-reference/third-party-sync/data-export-sync-failed"}]},{"group":"Entity types","pages":[{"title":"Entity type created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entity_type.created","href":"/api-reference/entity-types/entity-type-created"},{"title":"Entity type updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entity_type.updated","href":"/api-reference/entity-types/entity-type-updated"}]},{"group":"Entities","pages":[{"title":"Entity created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entity.created","href":"/api-reference/entities/entity-created"},{"title":"Entity updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entity.updated","href":"/api-reference/entities/entity-updated"}]},{"group":"Entity entitlements","pages":[{"title":"Entity entitlement created","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entity.entitlement.created","href":"/api-reference/entity-entitlements/entity-entitlement-created"},{"title":"Entity entitlement updated","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entity.entitlement.updated","href":"/api-reference/entity-entitlements/entity-entitlement-updated"},{"title":"Entity entitlement usage exceeded","version":null,"deprecated":null,"openapi":"/openapi/stigg-webhooks.yaml webhook entity.entitlement.usage_exceeded","href":"/api-reference/entity-entitlements/entity-entitlement-usage-exceeded"}]}]}]},{"tab":"Integrations","icon":"puzzle-piece","pages":[{"title":"Integrations","href":"/documentation/native-integrations/overview"}]},{"tab":"Changelog","icon":"clock-rotate-left","dropdowns":[{"dropdown":"Overview","icon":"compass","pages":[{"title":"Changelog","mode":"custom","href":"/api-and-sdks/changelog/overview"}]},{"dropdown":"Product","icon":"sparkles","href":"https://changelog.stigg.io/"},{"dropdown":"REST","icon":"server","pages":[{"title":"TypeScript","mode":"wide","href":"/api-and-sdks/changelog/backend-rest/typescript"},{"title":"Python","mode":"wide","href":"/api-and-sdks/changelog/backend-rest/python"},{"title":"Go","mode":"wide","href":"/api-and-sdks/changelog/backend-rest/go"},{"title":"Java","mode":"wide","href":"/api-and-sdks/changelog/backend-rest/java"},{"title":"Ruby","mode":"wide","href":"/api-and-sdks/changelog/backend-rest/ruby"},{"title":"C#","mode":"wide","href":"/api-and-sdks/changelog/backend-rest/csharp"}]},{"dropdown":"GraphQL","icon":"diagram-project","pages":[{"title":"Node.js SDK","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/node"},{"title":"Python SDK","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/python"},{"title":"Ruby SDK","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/ruby"},{"title":"Go SDK","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/go"},{"title":"Java SDK","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/java"},{"title":".NET SDK","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/dotnet"},{"title":"API Client (JS)","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/api-client-js"}]},{"dropdown":"Frontend SDKs","icon":"window-maximize","pages":[{"title":"JavaScript SDK","mode":"wide","href":"/api-and-sdks/changelog/frontend/javascript"},{"title":"React SDK","mode":"wide","href":"/api-and-sdks/changelog/frontend/react"},{"title":"Vue.js SDK","mode":"wide","href":"/api-and-sdks/changelog/frontend/vuejs"},{"title":"Next.js SDK","mode":"wide","href":"/api-and-sdks/changelog/frontend/nextjs"},{"title":"Embed SDK","mode":"wide","href":"/api-and-sdks/changelog/frontend/embed"}]},{"dropdown":"Sidecar","icon":"circle-nodes","pages":[{"title":"Sidecar Service","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/sidecar-service"},{"title":"Sidecar SDK","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/sidecar"}]},{"dropdown":"Agent SDK","icon":"robot","pages":[{"title":"JavaScript","mode":"wide","href":"/api-and-sdks/changelog/agent-sdk/javascript"}]},{"dropdown":"Persistent Cache Service","icon":"database","pages":[{"title":"Persistent Cache Service","mode":"wide","href":"/api-and-sdks/changelog/backend-graphql/persistent-cache"}]}]}]},"basePath":"","title":"Allow customers to have multiple subscriptions to the same product - Stigg Documentation","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-C5F0mVLH.js","lightbox-handle-r17bVUz3.js"]}