Juo is a comprehensive subscription management platform that enables operators to build and manage subscription-based businesses. The platform provides a flexible architecture that allows developers to extend and customize functionality through various extensibility mechanisms.This documentation provides a high-level overview of the Juo platform architecture and its core extensibility concepts to help developers understand the platform’s capabilities and structure.
Platform
Read on core platform concepts and the platform extensibility areas.
API Reference
Explore endpoints, parameters, and examples on how to use API.
Blocks
Learn how to build custom blocks or custom portals from scratch with Blocks
SDK.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Developer documentation","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/juo/cWBbLfFsu7G7x1mQ/logo/light.svg?fit=max\u0026auto=format\u0026n=cWBbLfFsu7G7x1mQ\u0026q=85\u0026s=f13f7b33b950522934898d18eb965a2e","dark":"https://mintcdn.com/juo/cWBbLfFsu7G7x1mQ/logo/dark.svg?fit=max\u0026auto=format\u0026n=cWBbLfFsu7G7x1mQ\u0026q=85\u0026s=cafe884c4acd726c219658d0c7cc8fd0"},"favicon":"https://mintcdn.com/juo/cWBbLfFsu7G7x1mQ/favicon.svg?fit=max\u0026auto=format\u0026n=cWBbLfFsu7G7x1mQ\u0026q=85\u0026s=a89152a6353d4e977e31bdbd37ec640d","background":{"decoration":"gradient"},"icons":{"library":"lucide"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://juo.community"},{"anchor":"Changelog","icon":"newspaper","href":"https://juo.com/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"juo","hasAudioNarration":false,"actualSubdomain":"juo","customDomains":["juo.dev"],"gitSource":{"type":"github","owner":"juo","repo":"subscriptions-dev-docs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ac78351769f7f65cc69a68f","collectionId":"460bef9f-bb4b-4cb1-a0ca-e8b40f0ebb32","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac78351769f7f65cc69a68f"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad07d1fd7c9ed5c31a96190","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":111},{"language":"default","tag":"Admin API","count":77},{"language":"default","tag":"Core Resources","count":76},{"language":"default","tag":"Docs","count":44},{"language":"default","tag":"Customer API","count":34},{"language":"default","tag":"Webhooks","count":28},{"language":"default","tag":"Topics","count":26},{"language":"default","tag":"Blocks","count":21},{"language":"default","tag":"Subscriptions","count":17},{"language":"default","tag":"Platform","count":14}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"docs/introduction","slug":"/docs/introduction","pageMetadata":{"title":null,"description":null,"href":"/docs/introduction"},"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={p:`p`,..._provideComponents(),...props.components},{Card,Columns}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Columns)_missingMdxReference(`Columns`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Juo is a comprehensive subscription management platform that enables operators to build and manage subscription-based businesses. The platform provides a flexible architecture that allows developers to extend and customize functionality through various extensibility mechanisms.`}),`\n`,_jsx(_components.p,{children:`This documentation provides a high-level overview of the Juo platform architecture and its core extensibility concepts to help developers understand the platform’s capabilities and structure.`}),`\n`,_jsxs(Columns,{cols:3,children:[_jsx(Card,{icon:`layers`,title:`Platform`,href:`/docs/overview`,children:_jsx(_components.p,{children:`Read on core platform concepts and the platform extensibility areas.`})}),_jsx(Card,{icon:`square-terminal`,title:`API Reference`,href:`/docs/api-reference`,children:_jsx(_components.p,{children:`Explore endpoints, parameters, and examples on how to use API.`})}),_jsx(Card,{icon:`blocks`,title:`Blocks`,href:`/docs/blocks`,children:_jsx(_components.p,{children:`Learn how to build custom blocks or custom portals from scratch with Blocks\nSDK.`})})]})]})}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":null,"description":null,"href":"/docs/introduction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"juo","siteName":"Developer documentation","title":"Introduction - Developer documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T07:13:45.131Z","originalFileLocation":"docs/introduction.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=\"system\"}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=\"Developer documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/juo/HRxdlVE07BysfB5B/_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/juo/HRxdlVE07BysfB5B/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/juo/HRxdlVE07BysfB5B/_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/juo/HRxdlVE07BysfB5B/_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/juo/HRxdlVE07BysfB5B/_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/juo/HRxdlVE07BysfB5B/_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/juo/HRxdlVE07BysfB5B/_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/juo/HRxdlVE07BysfB5B/_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/juo/HRxdlVE07BysfB5B/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Introduction - Developer documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Developer documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://juo.dev/docs/introduction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://juo.mintlify.app/_mintlify/api/og/v2?division=+\u0026amp;title=Introduction\u0026amp;theme=156a7f98b0ee4b6c07470a6b\u0026amp;signature=447644157b7ae233f8ee65126fa186cb18ef45d6b2bd6cbcf2bac46e10c986fb\">\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=\"Introduction - Developer documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://juo.mintlify.app/_mintlify/api/og/v2?division=+\u0026amp;title=Introduction\u0026amp;theme=156a7f98b0ee4b6c07470a6b\u0026amp;signature=447644157b7ae233f8ee65126fa186cb18ef45d6b2bd6cbcf2bac46e10c986fb\">\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/juo/HRxdlVE07BysfB5B/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Developer documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://juo.dev/docs/introduction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/introduction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://juo.dev/#organization\",\"name\":\"Developer documentation\",\"url\":\"https://juo.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/juo/cWBbLfFsu7G7x1mQ/logo/light.svg?fit=max\u0026auto=format\u0026n=cWBbLfFsu7G7x1mQ\u0026q=85\u0026s=f13f7b33b950522934898d18eb965a2e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://juo.dev#website\",\"name\":\"Developer documentation\",\"url\":\"https://juo.dev\",\"publisher\":{\"@id\":\"https://juo.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://juo.dev/docs/introduction#webpage\",\"url\":\"https://juo.dev/docs/introduction\",\"name\":\"Introduction\",\"dateModified\":\"2026-10-15T07:13:45.131Z\",\"isPartOf\":{\"@id\":\"https://juo.dev#website\"},\"breadcrumb\":{\"@id\":\"https://juo.dev/docs/introduction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://juo.dev/docs/introduction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Developer documentation\",\"item\":\"https://juo.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduction\",\"item\":\"https://juo.dev/docs/introduction\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://juo.dev/docs/introduction#article\",\"headline\":\"Introduction\",\"name\":\"Introduction\",\"url\":\"https://juo.dev/docs/introduction\",\"mainEntityOfPage\":{\"@id\":\"https://juo.dev/docs/introduction#webpage\"},\"dateModified\":\"2026-10-15T07:13:45.131Z\",\"publisher\":{\"@id\":\"https://juo.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://juo.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Developer documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Developer documentation","nav":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://juo.community"},{"anchor":"Changelog","icon":"newspaper","href":"https://juo.com/changelog"}]},"tabs":[{"tab":"Platform","icon":"layers","anchors":[{"anchor":"Docs","icon":"book-open","groups":[{"group":" ","pages":[{"title":null,"href":"/docs/introduction"},{"title":null,"description":null,"href":"/docs/overview"},{"group":"Core concepts","expanded":true,"pages":[{"title":null,"href":"/docs/core-concepts/overview"},{"title":null,"href":"/docs/core-concepts/subscription-plans"},{"title":null,"href":"/docs/core-concepts/subscribers"},{"title":null,"href":"/docs/core-concepts/subscriptions"},{"title":null,"href":"/docs/core-concepts/orders"},{"title":null,"href":"/docs/core-concepts/schedule"},{"title":null,"href":"/docs/core-concepts/activity-log"}]}]},{"group":"Apps","pages":[{"title":null,"href":"/docs/apps/overview"},{"title":null,"href":"/docs/apps/blocks"},{"title":null,"href":"/docs/apps/workflows"},{"title":null,"href":"/docs/apps/portals"}]},{"group":"Integrations","pages":[{"title":"MCP","href":"/docs/mcp"}]}]}]},{"tab":"API Reference","icon":"square-terminal","dropdowns":[{"dropdown":"Admin API","icon":"wrench","groups":[{"group":" ","pages":[{"title":"Introduction","href":"/docs/api-reference/admin/introduction"}]},{"group":"Core Resources","pages":[{"group":"Customers","pages":[{"title":"Customer resource","href":"/docs/api-reference/admin/customers/resource"},{"title":"List customers","openapi":"openapi-admin.json GET /customers","href":"/docs/api-reference/admin/customers/list"},{"title":"Create a customer","openapi":"openapi-admin.json POST /customers","href":"/docs/api-reference/admin/customers/create"},{"title":"Update a customer","openapi":"openapi-admin.json PATCH /customers/{customerId}","href":"/docs/api-reference/admin/customers/update"},{"title":"Delete a customer","openapi":"openapi-admin.json DELETE /customers/{customerId}","href":"/docs/api-reference/admin/customers/delete"},{"title":"Add a payment method","openapi":"openapi-admin.json POST /customers/{customerId}/payment-methods","href":"/docs/api-reference/admin/customers/add-payment-method"}]},{"group":"Products","pages":[{"title":"Product resource","href":"/docs/api-reference/admin/products/resource"},{"title":"List products","openapi":"openapi-admin.json GET /products","href":"/docs/api-reference/admin/products/list"},{"title":"Create a product","openapi":"openapi-admin.json POST /products","href":"/docs/api-reference/admin/products/create"},{"title":"Update a product","openapi":"openapi-admin.json PATCH /products/{productId}","href":"/docs/api-reference/admin/products/update"},{"title":"Delete a product","openapi":"openapi-admin.json DELETE /products/{productId}","href":"/docs/api-reference/admin/products/delete"},{"title":"Assign product to plan","openapi":"openapi-admin.json POST /products/{productId}/plans","href":"/docs/api-reference/admin/products/assign-plan"},{"title":"Remove product from plan","openapi":"openapi-admin.json DELETE /products/{productId}/plans","href":"/docs/api-reference/admin/products/remove-plan"},{"title":"Add a variant","openapi":"openapi-admin.json POST /products/{productId}/variants","href":"/docs/api-reference/admin/products/add-variant"},{"title":"Remove a variant","openapi":"openapi-admin.json DELETE /products/{productId}/variants/{variantId}","href":"/docs/api-reference/admin/products/remove-variant"},{"title":"Assign variant to plan","openapi":"openapi-admin.json POST /products/{productId}/variants/{variantId}/plans","href":"/docs/api-reference/admin/products/assign-variant-plan"},{"title":"Remove variant from plan","openapi":"openapi-admin.json DELETE /products/{productId}/variants/{variantId}/plans","href":"/docs/api-reference/admin/products/remove-variant-plan"}]},{"group":"Subscriptions","pages":[{"title":"Subscription resource","href":"/docs/api-reference/admin/subscriptions/resource"},{"title":"List subscriptions","openapi":"openapi-admin.json GET /subscriptions","href":"/docs/api-reference/admin/subscriptions/list"},{"title":"Create a subscription","openapi":"openapi-admin.json POST /subscriptions","href":"/docs/api-reference/admin/subscriptions/create"},{"title":"Update subscription","openapi":"openapi-admin.json PATCH /subscriptions/{subscriptionId}","href":"/docs/api-reference/admin/subscriptions/update"},{"title":"Cancel subscription","openapi":"openapi-admin.json POST /subscriptions/{subscriptionId}/cancel","href":"/docs/api-reference/admin/subscriptions/cancel"},{"title":"Resume subscription","openapi":"openapi-admin.json POST /subscriptions/{subscriptionId}/resume","href":"/docs/api-reference/admin/subscriptions/resume"},{"title":"Pause subscription","openapi":"openapi-admin.json POST /subscriptions/{subscriptionId}/pause","href":"/docs/api-reference/admin/subscriptions/pause"},{"title":"Reactivate subscription","openapi":"openapi-admin.json POST /subscriptions/{subscriptionId}/reactivate","href":"/docs/api-reference/admin/subscriptions/reactivate"},{"title":"Add custom attributes to a subscription","openapi":"openapi-admin.json POST /subscriptions/{subscriptionId}/custom-attributes","href":"/docs/api-reference/admin/subscriptions/add-custom-attributes"},{"title":"Set custom attributes on a subscription","openapi":"openapi-admin.json PATCH /subscriptions/{subscriptionId}/custom-attributes","href":"/docs/api-reference/admin/subscriptions/set-custom-attributes"}]},{"group":"Subscription items","pages":[{"title":"Subscription item resource","href":"/docs/api-reference/admin/subscription-items/resource"},{"title":"Create a subscription item","openapi":"openapi-admin.json POST /subscriptions/{subscriptionId}/items","href":"/docs/api-reference/admin/subscription-items/create"},{"title":"Update subscription item","openapi":"openapi-admin.json PATCH /subscriptions/{subscriptionId}/items/{itemId}","href":"/docs/api-reference/admin/subscription-items/update"},{"title":"Delete subscription item","openapi":"openapi-admin.json DELETE /subscriptions/{subscriptionId}/items/{itemId}","href":"/docs/api-reference/admin/subscription-items/delete"}]},{"group":"Subscription discounts","pages":[{"title":"Subscription discount resource","href":"/docs/api-reference/admin/subscription-discounts/resource"},{"title":"Create a subscription discount","openapi":"openapi-admin.json POST /subscriptions/{subscriptionId}/discounts","href":"/docs/api-reference/admin/subscription-discounts/create"},{"title":"Update a subscription discount","openapi":"openapi-admin.json PATCH /subscriptions/{subscriptionId}/discounts/{discountId}","href":"/docs/api-reference/admin/subscription-discounts/update"},{"title":"Delete a subscription discount","openapi":"openapi-admin.json DELETE /subscriptions/{subscriptionId}/discounts/{discountId}","href":"/docs/api-reference/admin/subscription-discounts/delete"}]},{"group":"Schedules","pages":[{"title":"Schedule order resource","href":"/docs/api-reference/admin/schedules/resource"},{"title":"Get schedule","openapi":"openapi-admin.json GET /schedules/","href":"/docs/api-reference/admin/schedules/get"}]},{"group":"Schedule adjustments","pages":[{"title":"Schedule adjustment resource","href":"/docs/api-reference/admin/schedule-adjustments/resource"},{"title":"Actions","href":"/docs/api-reference/admin/schedule-adjustments/actions"},{"title":"Matchers","href":"/docs/api-reference/admin/schedule-adjustments/matchers"},{"title":"List schedule adjustments","openapi":"openapi-admin.json GET /schedules/adjustments","href":"/docs/api-reference/admin/schedule-adjustments/list"},{"title":"Create a schedule adjustment","openapi":"openapi-admin.json POST /schedules/adjustments","href":"/docs/api-reference/admin/schedule-adjustments/create"},{"title":"Delete a schedule adjustment","openapi":"openapi-admin.json DELETE /schedules/adjustments/{adjustmentId}","href":"/docs/api-reference/admin/schedule-adjustments/delete"}]}]},{"group":"Analytics","pages":[{"title":"List analytics metrics","openapi":"openapi-admin.json GET /analytics/metrics","href":"/docs/api-reference/admin/analytics/list-metrics"},{"title":"Query analytics","openapi":"openapi-admin.json POST /analytics/query","href":"/docs/api-reference/admin/analytics/query"}]},{"group":"Events","pages":[{"title":"Event resource","href":"/docs/api-reference/admin/events/resource"},{"title":"List events","openapi":"openapi-admin.json GET /events","href":"/docs/api-reference/admin/events/list"},{"title":"List event types","openapi":"openapi-admin.json GET /events/types","href":"/docs/api-reference/admin/events/list-types"}]},{"group":"Webhooks","pages":[{"title":"Overview","href":"/docs/api-reference/admin/webhooks/overview"},{"title":"Signature verification","href":"/docs/api-reference/admin/webhooks/signature-verification"},{"group":"Topics","pages":[{"title":"Customer created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook customer.created","href":"/api-reference/customer-created"},{"title":"Customer updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook customer.updated","href":"/api-reference/customer-updated"},{"title":"Customer payment method created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook customer-payment-method.created","href":"/api-reference/customer-payment-method-created"},{"title":"Customer payment method updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook customer-payment-method.updated","href":"/api-reference/customer-payment-method-updated"},{"title":"Customer payment method revoked","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook customer-payment-method.revoked","href":"/api-reference/customer-payment-method-revoked"},{"title":"Subscription created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription.created","href":"/api-reference/subscription-created"},{"title":"Subscription updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription.updated","href":"/api-reference/subscription-updated"},{"title":"Subscription renewed","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription.renewed","href":"/api-reference/subscription-renewed"},{"title":"Subscription item created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription-item.created","href":"/api-reference/subscription-item-created"},{"title":"Subscription item updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription-item.updated","href":"/api-reference/subscription-item-updated"},{"title":"Subscription item deleted","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription-item.deleted","href":"/api-reference/subscription-item-deleted"},{"title":"Subscription discount created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription-discount.created","href":"/api-reference/subscription-discount-created"},{"title":"Subscription discount updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription-discount.updated","href":"/api-reference/subscription-discount-updated"},{"title":"Subscription discount deleted","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook subscription-discount.deleted","href":"/api-reference/subscription-discount-deleted"},{"title":"Schedule adjustment created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook schedule-adjustment.created","href":"/api-reference/schedule-adjustment-created"},{"title":"Schedule adjustment updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook schedule-adjustment.updated","href":"/api-reference/schedule-adjustment-updated"},{"title":"Schedule adjustment deleted","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook schedule-adjustment.deleted","href":"/api-reference/schedule-adjustment-deleted"},{"title":"Product created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook product.created","href":"/api-reference/product-created"},{"title":"Product updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook product.updated","href":"/api-reference/product-updated"},{"title":"Product deleted","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook product.deleted","href":"/api-reference/product-deleted"},{"title":"Product variant created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook product-variant.created","href":"/api-reference/product-variant-created"},{"title":"Product variant updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook product-variant.updated","href":"/api-reference/product-variant-updated"},{"title":"Product variant deleted","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook product-variant.deleted","href":"/api-reference/product-variant-deleted"},{"title":"Order created","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook order.created","href":"/api-reference/order-created"},{"title":"Order updated","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook order.updated","href":"/api-reference/order-updated"},{"title":"Order deleted","version":null,"deprecated":null,"openapi":"/openapi-admin.json webhook order.deleted","href":"/api-reference/order-deleted"}]}]}]},{"dropdown":"Customer API","icon":"user","groups":[{"group":" ","pages":[{"title":"Introduction","href":"/docs/api-reference/customer/introduction"}]},{"group":"Core Resources","pages":[{"group":"Products","pages":[{"title":"Product resource","href":"/docs/api-reference/customer/products/resource"},{"title":"List products","openapi":"openapi-customer.json GET /products","href":"/docs/api-reference/customer/products/list"}]},{"group":"Subscriptions","pages":[{"title":"Subscription resource","href":"/docs/api-reference/customer/subscriptions/resource"},{"title":"List subscriptions","openapi":"openapi-customer.json GET /subscriptions","href":"/docs/api-reference/customer/subscriptions/list"},{"title":"Update subscription","openapi":"openapi-customer.json PATCH /subscriptions/{subscriptionId}","href":"/docs/api-reference/customer/subscriptions/update"},{"title":"Cancel subscription","openapi":"openapi-customer.json POST /subscriptions/{subscriptionId}/cancel","href":"/docs/api-reference/customer/subscriptions/cancel"},{"title":"Resume subscription","openapi":"openapi-customer.json POST /subscriptions/{subscriptionId}/resume","href":"/docs/api-reference/customer/subscriptions/resume"},{"title":"Pause subscription","openapi":"openapi-customer.json POST /subscriptions/{subscriptionId}/pause","href":"/docs/api-reference/customer/subscriptions/pause"},{"title":"Reactivate subscription","openapi":"openapi-customer.json POST /subscriptions/{subscriptionId}/reactivate","href":"/docs/api-reference/customer/subscriptions/reactivate"}]},{"group":"Subscription items","pages":[{"title":"Subscription item resource","href":"/docs/api-reference/customer/subscription-items/resource"},{"title":"Create a subscription item","openapi":"openapi-customer.json POST /subscriptions/{subscriptionId}/items","href":"/docs/api-reference/customer/subscription-items/create"},{"title":"Update subscription item","openapi":"openapi-customer.json PATCH /subscriptions/{subscriptionId}/items/{itemId}","href":"/docs/api-reference/customer/subscription-items/update"},{"title":"Delete subscription item","openapi":"openapi-customer.json DELETE /subscriptions/{subscriptionId}/items/{itemId}","href":"/docs/api-reference/customer/subscription-items/delete"}]},{"group":"Subscription discounts","pages":[{"title":"Subscription discount resource","href":"/docs/api-reference/customer/subscription-discounts/resource"},{"title":"Create a subscription discount","openapi":"openapi-customer.json POST /subscriptions/{subscriptionId}/discounts","href":"/docs/api-reference/customer/subscription-discounts/create"},{"title":"Delete a subscription discount","openapi":"openapi-customer.json DELETE /subscriptions/{subscriptionId}/discounts/{discountId}","href":"/docs/api-reference/customer/subscription-discounts/delete"}]},{"group":"Orders","pages":[{"title":"Order resource","href":"/docs/api-reference/customer/orders/resource"},{"title":"List orders","openapi":"openapi-customer.json GET /orders","href":"/docs/api-reference/customer/orders/list"},{"title":"Pay an order","openapi":"openapi-customer.json POST /orders/{orderId}/pay","href":"/docs/api-reference/customer/orders/pay"}]},{"group":"Payment methods","pages":[{"title":"Payment method resource","href":"/docs/api-reference/customer/payment-methods/resource"},{"title":"Create a payment method","openapi":"openapi-customer.json POST /payment-methods","href":"/docs/api-reference/customer/payment-methods/create"}]},{"group":"Schedules","pages":[{"title":"Schedule order resource","href":"/docs/api-reference/customer/schedules/resource"},{"title":"Get schedule","openapi":"openapi-customer.json GET /schedules/","href":"/docs/api-reference/customer/schedules/get"}]},{"group":"Schedule adjustments","pages":[{"title":"Schedule adjustment resource","href":"/docs/api-reference/customer/schedule-adjustments/resource"},{"title":"List schedule adjustments","openapi":"openapi-customer.json GET /schedules/adjustments","href":"/docs/api-reference/customer/schedule-adjustments/list"},{"title":"Create a schedule adjustment","openapi":"openapi-customer.json POST /schedules/adjustments","href":"/docs/api-reference/customer/schedule-adjustments/create"},{"title":"Delete a schedule adjustment","openapi":"openapi-customer.json DELETE /schedules/adjustments/{adjustmentId}","href":"/docs/api-reference/customer/schedule-adjustments/delete"}]},{"group":"Authentication","pages":[{"title":"Get Shopify auth token","openapi":"openapi-customer.json GET /auth/shopify/token","href":"/docs/api-reference/customer/auth/shopify-token"}]},{"group":"Workflows","pages":[{"title":"Workflow run resource","href":"/docs/api-reference/customer/workflows/resource"},{"title":"Start a workflow","openapi":"openapi-customer.json POST /workflows/start","href":"/docs/api-reference/customer/workflows/start"},{"title":"Get workflow run","openapi":"openapi-customer.json GET /workflows/{runId}","href":"/docs/api-reference/customer/workflows/get"},{"title":"Respond to a workflow run","openapi":"openapi-customer.json POST /workflows/{runId}/respond","href":"/docs/api-reference/customer/workflows/respond"},{"title":"Cancel workflow run","openapi":"openapi-customer.json POST /workflows/{runId}/cancel","href":"/docs/api-reference/customer/workflows/cancel"}]}]}]}]},{"tab":"Blocks","icon":"blocks","anchors":[{"anchor":"Docs","icon":"book-open","pages":[{"group":"Overview","pages":[{"title":"Blocks","href":"/docs/blocks/overview"},{"title":"Getting started","href":"/docs/blocks/getting-started"}]},{"group":"Concepts","pages":[{"title":"Blocks","href":"/docs/blocks/concepts/blocks"},{"title":"Reactivity","href":"/docs/blocks/concepts/reactivity"},{"title":"Contexts","href":"/docs/blocks/concepts/contexts"},{"title":"Services","href":"/docs/blocks/concepts/services"},{"title":"Web components","href":"/docs/blocks/concepts/web-components"},{"title":"Localization","href":"/docs/blocks/concepts/localization"},{"title":"Editor","href":"/docs/blocks/concepts/editor"}]},{"group":"Services","pages":[{"title":"Subscription","href":"/docs/blocks/services/subscription"},{"title":"Customer","href":"/docs/blocks/services/customer"},{"title":"Order","href":"/docs/blocks/services/order"},{"title":"Product","href":"/docs/blocks/services/product"},{"title":"Schedules","href":"/docs/blocks/services/schedules"},{"title":"Login","href":"/docs/blocks/services/login"},{"title":"Router","href":"/docs/blocks/services/router"},{"title":"Workflow","href":"/docs/blocks/services/workflow"}]},{"group":"Frameworks","pages":[{"title":"Vue","href":"/docs/blocks/frameworks/vue"},{"title":"React","href":"/docs/blocks/frameworks/react"},{"title":"Preact","href":"/docs/blocks/frameworks/preact"}]},{"group":"Guides","pages":[{"title":"Building a custom portal","href":"/docs/blocks/guides/custom-portal"}]}]}]},{"tab":"Customer UI","icon":"palette","anchors":[{"anchor":"Docs","icon":"book-open","pages":[{"title":"Getting started","href":"/docs/customer-ui/getting-started"},{"title":"Design tokens","href":"/docs/customer-ui/design-tokens"},{"title":"Button","href":"/docs/customer-ui/button"},{"title":"Card","href":"/docs/customer-ui/card"},{"title":"Checkbox","href":"/docs/customer-ui/checkbox"},{"title":"Chip","href":"/docs/customer-ui/chip"},{"title":"Input","href":"/docs/customer-ui/input"},{"title":"Select","href":"/docs/customer-ui/select"},{"title":"Tag","href":"/docs/customer-ui/tag"}]}]}]},"title":"Introduction - Developer documentation","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":[],"chunks":[]}