The SDK doesn’t automatically observe our components or their inputs for
changes. It’s up to you to implement an update flow that is appropriate for
your use case.
If you have a dynamic cart, you may have some function that runs when the cart updates. Or in some other cases you may have be dynamically creating or removing the span above as the user navigates your page. Regardless of your approach, the SDK supports a function that refreshes the page as necessary:
Let’s say you have a span showing the points for cart for the initial cart total:
<!-- cart value at server render: $49.99 --><span id="ll-cart-points" data-lion-points-for="4999"></span>
And you have some dynamic cart functionality (note: intended to illustrate flow and order of events only, your dynamic page content code likely looks different):
// function that runs whenever the cart is updatedfunction onCartUpdate(event, updatedCart) { const newValue = updatedCart.total // ... something that updates the prices shown in the cart window.ajaxCart.updateValues(updatedCart) // ... something that renders the new item that was just added to the cart window.ajaxCart.renderCartDrawer() // now we must find and update the cart-points span's data attribute document .getElementById('ll-cart-points') .setAttribute('data-lion-points-for', '7999') // now that we've updated the element, we tell the sdk to refresh window.loyaltylion && window.loyaltylion.ui.refresh()}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"LoyaltyLion","colors":{"primary":"#7533f2","light":"#BEAAFF","dark":"#5C18D6"},"logo":{"light":"https://mintcdn.com/loyaltylion/qoWgzO-fbs5_an5D/logo/loyaltylion-logo-black.svg?fit=max\u0026auto=format\u0026n=qoWgzO-fbs5_an5D\u0026q=85\u0026s=a8042001d5f93ef344ce190752bfba7d","dark":"https://mintcdn.com/loyaltylion/qoWgzO-fbs5_an5D/logo/loyaltylion-logo-white.svg?fit=max\u0026auto=format\u0026n=qoWgzO-fbs5_an5D\u0026q=85\u0026s=37ab9b9089a7e1a44d13df2ae9398de1"},"favicon":"https://mintcdn.com/loyaltylion/qoWgzO-fbs5_an5D/images/favicon.svg?fit=max\u0026auto=format\u0026n=qoWgzO-fbs5_an5D\u0026q=85\u0026s=2d71e6cbb2847c7a83d1d3a4abb6d05e","api":{"playground":{"display":"simple"}},"background":{"color":{}},"navbar":{"links":[{"href":"https://status.loyaltylion.com","label":"Status"},{"href":"https://help.loyaltylion.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.loyaltylion.com"}},"footer":{"socials":{"x":"https://x.com/loyaltylionhq","github":"https://github.com/loyaltylion","linkedin":"https://linkedin.com/company/loyaltylion"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"loyaltylion","hasAudioNarration":false,"actualSubdomain":"loyaltylion","customDomains":["developers.loyaltylion.com"],"gitSource":{"type":"github","owner":"loyaltylion","repo":"dev-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae612e5426c3612a89939b5","collectionId":"411262cc-8087-4924-852c-a2852d869643","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae612e5426c3612a89939b5"},"feedback":{"issues":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae612e5426c3612a89939b5","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Admin API","count":67},{"language":"default","tag":"Resources","count":56},{"language":"default","tag":"SDK","count":37},{"language":"default","tag":"Headless API","count":34},{"language":"default","tag":"Webhooks","count":25},{"language":"default","tag":"Webhook events","count":21},{"language":"default","tag":"Embeddable components","count":15},{"language":"default","tag":"Customers","count":13},{"language":"default","tag":"LoyaltyLion SDK","count":13},{"language":"default","tag":"Standalone components","count":12}]},"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":"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":"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":"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":"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":"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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".not-prose.mb-6{display:flex;flex-wrap:wrap;gap:0 1.5rem}.not-prose.mb-6>li{margin-left:0!important}"}],"page":{"pagePath":"sdk/live-updating","slug":"/sdk/live-updating","pageMetadata":{"title":"Live updating","description":null,"href":"/sdk/live-updating"},"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`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsx(_components.p,{children:`The SDK doesn’t automatically observe our components or their inputs for\nchanges. It’s up to you to implement an update flow that is appropriate for\nyour use case.`})}),`\n`,_jsxs(_components.p,{children:[`If you have a dynamic cart, you may have some function that runs when the cart updates. Or in some other cases you may have be dynamically creating or removing the span above as the user navigates your page. Regardless of your approach, the SDK supports a function that `,_jsx(_components.em,{children:`refreshes`}),` the page as necessary:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`loyaltylion`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ui`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`refresh`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`if-the-component-has-been-removed-after-pageload-and-is-then-re-added`,children:`If the component has been removed after pageload and is then re-added`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Render the component to the screen`}),`\n`,_jsxs(_components.li,{children:[`call `,_jsx(_components.code,{children:`window.loyaltylion.ui.refresh()`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`if-the-component’s-value-needs-to-be-updated`,children:`If the component’s value needs to be updated`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Update the component’s attribute value`}),`\n`,_jsxs(_components.li,{children:[`call `,_jsx(_components.code,{children:`window.loyaltylion.ui.refresh()`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`example`,children:`Example`}),`\n`,_jsxs(_components.p,{children:[`Let’s say you have a span showing the `,_jsx(_components.a,{href:`/sdk/simple-components/points-for-cart/`,children:`points for cart`}),` for the initial cart total:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`html`,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:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\u003c!-- cart value at server render: $49.99 -->`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`span`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ll-cart-points\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` data-lion-points-for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"4999\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`span`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`And you have some dynamic cart functionality `,_jsx(_components.em,{children:`(note: intended to illustrate flow and order of events only, your dynamic page content code likely looks different)`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,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:`18`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// function that runs whenever the cart is updated`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` onCartUpdate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`updatedCart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` newValue`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` updatedCart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`total`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ... something that updates the prices shown in the cart`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ajaxCart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`updateValues`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`updatedCart`}),_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:` // ... something that renders the new item that was just added to the cart`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ajaxCart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`renderCartDrawer`}),_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:` // now we must find and update the cart-points span's data attribute`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getElementById`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ll-cart-points'`}),_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:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setAttribute`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'data-lion-points-for'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'7999'`}),_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:` // now that we've updated the element, we tell the sdk to refresh`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`loyaltylion`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`loyaltylion`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ui`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`refresh`}),_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`]})})})]})}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":"Live updating","description":null,"href":"/sdk/live-updating"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"If the component has been removed after pageload and is then re-added","slug":"if-the-component-has-been-removed-after-pageload-and-is-then-re-added","depth":3,"children":[]},{"title":"If the component’s value needs to be updated","slug":"if-the-component’s-value-needs-to-be-updated","depth":3,"children":[]},{"title":"Example","slug":"example","depth":4,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"loyaltylion","siteName":"LoyaltyLion","title":"Live updating - LoyaltyLion","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T16:10:27.409Z","originalFileLocation":"sdk/live-updating.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=\"LoyaltyLion\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/loyaltylion/-HHkKRQ0-0oU9Wqj/_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/loyaltylion/-HHkKRQ0-0oU9Wqj/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/loyaltylion/-HHkKRQ0-0oU9Wqj/_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/loyaltylion/-HHkKRQ0-0oU9Wqj/_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/loyaltylion/-HHkKRQ0-0oU9Wqj/_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/loyaltylion/-HHkKRQ0-0oU9Wqj/_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/loyaltylion/-HHkKRQ0-0oU9Wqj/_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/loyaltylion/-HHkKRQ0-0oU9Wqj/_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/loyaltylion/-HHkKRQ0-0oU9Wqj/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Live updating - LoyaltyLion\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LoyaltyLion\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.loyaltylion.com/sdk/live-updating\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://loyaltylion.mintlify.app/_mintlify/api/og/v2?division=LoyaltyLion+SDK\u0026amp;title=Live+updating\u0026amp;theme=ba374c8767f6d28b4848a12c\u0026amp;signature=b6ff1a90744e3ecc4fa4a0d1fb8ac1242601f186e2763dd69f3cee3397fe8012\">\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=\"Live updating - LoyaltyLion\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://loyaltylion.mintlify.app/_mintlify/api/og/v2?division=LoyaltyLion+SDK\u0026amp;title=Live+updating\u0026amp;theme=ba374c8767f6d28b4848a12c\u0026amp;signature=b6ff1a90744e3ecc4fa4a0d1fb8ac1242601f186e2763dd69f3cee3397fe8012\">\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/loyaltylion/-HHkKRQ0-0oU9Wqj/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"LoyaltyLion\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7533f2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.loyaltylion.com/sdk/live-updating\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sdk/live-updating.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.loyaltylion.com/#organization\",\"name\":\"LoyaltyLion\",\"url\":\"https://developers.loyaltylion.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/loyaltylion/qoWgzO-fbs5_an5D/logo/loyaltylion-logo-black.svg?fit=max\u0026auto=format\u0026n=qoWgzO-fbs5_an5D\u0026q=85\u0026s=a8042001d5f93ef344ce190752bfba7d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.loyaltylion.com#website\",\"name\":\"LoyaltyLion\",\"url\":\"https://developers.loyaltylion.com\",\"publisher\":{\"@id\":\"https://developers.loyaltylion.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.loyaltylion.com/sdk/live-updating#webpage\",\"url\":\"https://developers.loyaltylion.com/sdk/live-updating\",\"name\":\"Live updating\",\"dateModified\":\"2026-10-31T16:10:27.409Z\",\"isPartOf\":{\"@id\":\"https://developers.loyaltylion.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.loyaltylion.com/sdk/live-updating#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.loyaltylion.com/sdk/live-updating#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"LoyaltyLion SDK\",\"item\":\"https://developers.loyaltylion.com/sdk/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Live updating\",\"item\":\"https://developers.loyaltylion.com/sdk/live-updating\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.loyaltylion.com/sdk/live-updating#article\",\"headline\":\"Live updating\",\"name\":\"Live updating\",\"url\":\"https://developers.loyaltylion.com/sdk/live-updating\",\"mainEntityOfPage\":{\"@id\":\"https://developers.loyaltylion.com/sdk/live-updating#webpage\"},\"dateModified\":\"2026-10-31T16:10:27.409Z\",\"publisher\":{\"@id\":\"https://developers.loyaltylion.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.loyaltylion.com#website\"}}]}\u003c/script>","siteName":"LoyaltyLion","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/introduction"}]},{"tab":"SDK","groups":[{"group":"LoyaltyLion SDK","pages":[{"title":"Overview","href":"/sdk/overview"},{"group":"Installation","pages":[{"title":"SDK installation","href":"/sdk/installation"},{"title":"Initialize the SDK","href":"/sdk/initialize-sdk"},{"title":"Customer authentication","href":"/sdk/customer-authentication"}]},{"title":"Configuration","description":null,"href":"/sdk/configuration"},{"title":"Live updating","href":"/sdk/live-updating"},{"title":"Workflow hooks","description":null,"href":"/sdk/workflow-hooks"},{"group":"WebViews","pages":[{"title":"Render in a WebView","href":"/sdk/webviews/render-in-webview"},{"title":"Use a dedicated Shopify page","href":"/sdk/webviews/dedicated-shopify-page"},{"group":"Advanced features","pages":[{"title":"Setup","href":"/sdk/webviews/advanced/setup"},{"title":"Free product rewards","href":"/sdk/webviews/advanced/free-product-rewards"},{"title":"WebView JS API reference","href":"/sdk/webviews/advanced/webview-js-api"},{"title":"WebView JS events reference","href":"/sdk/webviews/advanced/webview-js-events"}]}]}]},{"group":"Simple components","pages":[{"title":"Customer referral URL","href":"/sdk/simple-components/customer-referral-url"},{"group":"Points components","pages":[{"title":"Customer points","href":"/sdk/simple-components/customer-points"},{"title":"Points for rule","href":"/sdk/simple-components/points-for-rule"},{"title":"Points for product","href":"/sdk/simple-components/points-for-product"},{"title":"Points for cart","href":"/sdk/simple-components/points-for-cart"}]}]},{"group":"Embeddable components","pages":[{"title":"Loyalty page","href":"/sdk/embeddable-components/loyalty-page"},{"group":"Standalone components","pages":[{"title":"Join the program","href":"/sdk/embeddable-components/join-program"},{"title":"Rules list","href":"/sdk/embeddable-components/rules-list"},{"title":"Rewards list","href":"/sdk/embeddable-components/rewards-list"},{"title":"Claimed rewards list","href":"/sdk/embeddable-components/claimed-rewards-list"},{"title":"History table","href":"/sdk/embeddable-components/history-table"},{"title":"Challenges","href":"/sdk/embeddable-components/challenges"},{"title":"Drops","href":"/sdk/embeddable-components/drops"},{"title":"Tier overview","href":"/sdk/embeddable-components/tier-overview"},{"title":"Tier progress","href":"/sdk/embeddable-components/tier-progress"},{"group":"Tier comparison","pages":[{"title":"Tier benefits compare","href":"/sdk/embeddable-components/tier-benefits-compare"},{"title":"Tier rules compare","href":"/sdk/embeddable-components/tier-rules-compare"},{"title":"Tier rewards compare","href":"/sdk/embeddable-components/tier-rewards-compare"}]}]},{"group":"Legacy components","pages":[{"title":"Loyalty panel","href":"/sdk/embeddable-components/loyalty-panel"},{"title":"Loyalty widget","href":"/sdk/simple-components/loyalty-widget"}]}]},{"group":"Modal components","pages":[{"title":"History info modal","href":"/sdk/modal-components/history-info-modal"},{"title":"Referral modal","href":"/sdk/modal-components/referral-modal"},{"title":"Redeem reward modal","href":"/sdk/modal-components/redeem-reward-modal"},{"title":"Claimed reward modal","href":"/sdk/modal-components/claimed-reward-modal"}]}]},{"tab":"Admin API","versions":[{"version":"v2","default":true,"groups":[{"group":"Admin API","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"group":"Authentication","pages":[{"title":"Overview","href":"/api-reference/authentication/overview"},{"title":"API keys","href":"/api-reference/authentication/api-keys"},{"title":"OAuth","href":"/api-reference/authentication/oauth"},{"title":"Token \u0026 secret (deprecated)","href":"/api-reference/authentication/token-secret"}]},{"title":"Pagination","href":"/api-reference/pagination"}]},{"group":"Resources","pages":[{"group":"Identity","pages":[{"title":"Who Am I","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/identity/whoami","href":"/api-reference/v2/resources/whoami"}]},{"group":"Customers","pages":[{"title":"List Customers","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/customers","href":"/api-reference/v2/resources/customers/list-customers"},{"title":"Update Customer","version":"v2","openapi":"api-reference/v2/openapi.json PATCH /v2/customers/{merchant_id}","href":"/api-reference/v2/resources/customers/update-customer"},{"title":"Add Points","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/customers/{merchant_id}/points","href":"/api-reference/v2/resources/customers/add-points"},{"title":"Remove Points","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/customers/{merchant_id}/remove_points","href":"/api-reference/v2/resources/customers/remove-points"},{"title":"List Available Rewards","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/customers/{merchant_id}/available_rewards","href":"/api-reference/v2/resources/customers/rewards/list-available-rewards"},{"title":"Redeem Reward","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/customers/{merchant_id}/claimed_rewards","href":"/api-reference/v2/resources/customers/rewards/redeem-reward"},{"title":"Refund Reward","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/customers/{merchant_id}/claimed_rewards/{claimed_reward_id}/refund","href":"/api-reference/v2/resources/customers/rewards/refund-reward"},{"title":"List Transactions","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/customers/{merchant_id}/transactions","href":"/api-reference/v2/resources/customers/list-transactions"}]},{"group":"Activities","pages":[{"title":"List Activities","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/activities","href":"/api-reference/v2/resources/activities/list-activities"},{"title":"Create Activity","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/activities","href":"/api-reference/v2/resources/activities/create-activity"},{"title":"Update Activity","version":"v2","openapi":"api-reference/v2/openapi.json PUT /v2/activities/{name}/{merchant_id}","href":"/api-reference/v2/resources/activities/update-activity"}]},{"group":"Transactions","pages":[{"title":"List Transactions","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/transactions","href":"/api-reference/v2/resources/transactions/list-transactions"}]},{"group":"Orders","pages":[{"title":"List Orders","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/orders","href":"/api-reference/v2/resources/orders/list-orders"},{"title":"Get Order","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/orders/{merchant_id}","href":"/api-reference/v2/resources/orders/get-order"},{"title":"Create Order","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/orders","href":"/api-reference/v2/resources/orders/create-order"},{"title":"Update Order","version":"v2","openapi":"api-reference/v2/openapi.json PUT /v2/orders/{merchant_id}","href":"/api-reference/v2/resources/orders/update-order"}]},{"group":"Sites","pages":[{"title":"List Sites","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/sites","href":"/api-reference/v2/resources/sites/list-sites"},{"title":"Create WebView Session","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/sites/{site_id}/webviews/sessions","href":"/api-reference/v2/resources/sites/create-webview-session"}]},{"group":"Reviews","pages":[{"title":"Create Review","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/reviews/{platform}","href":"/api-reference/v2/resources/reviews/create-review"},{"title":"Update Review","version":"v2","openapi":"api-reference/v2/openapi.json PUT /v2/reviews/{platform}/{merchant_id}","href":"/api-reference/v2/resources/reviews/update-review"},{"title":"Delete Review","version":"v2","openapi":"api-reference/v2/openapi.json DELETE /v2/reviews/{platform}/{merchant_id}","href":"/api-reference/v2/resources/reviews/delete-review"}]},{"group":"Rewards","pages":[{"title":"Enable Reward","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/rewards/{reward_id}/enable","href":"/api-reference/v2/resources/rewards/enable-reward"},{"title":"Disable Reward","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/rewards/{reward_id}/disable","href":"/api-reference/v2/resources/rewards/disable-reward"}]},{"group":"Emails","pages":[{"title":"List Unsubscribes","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/loyalty_emails/unsubscribes","href":"/api-reference/v2/resources/emails/list-unsubscribes"},{"title":"Create Unsubscribe","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/loyalty_emails/unsubscribes","href":"/api-reference/v2/resources/emails/create-unsubscribe"}]},{"group":"Exports","pages":[{"title":"Customer exports","version":"v2","href":"/api-reference/v2/resources/customers/exports/overview"},{"title":"Create Export","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/customers/exports","href":"/api-reference/v2/resources/customers/exports/create-export"},{"title":"Get Export","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/customers/exports/{id}","href":"/api-reference/v2/resources/customers/exports/get-export"},{"title":"List Exports","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/customers/exports","href":"/api-reference/v2/resources/customers/exports/list-exports"}]},{"group":"Webhooks","pages":[{"title":"List Webhooks","version":"v2","openapi":"api-reference/v2/openapi.json GET /v2/webhooks","href":"/api-reference/v2/resources/webhooks/list-webhooks"},{"title":"Create Webhook","version":"v2","openapi":"api-reference/v2/openapi.json POST /v2/webhooks","href":"/api-reference/v2/resources/webhooks/create-webhook"},{"title":"Delete Webhook","version":"v2","openapi":"api-reference/v2/openapi.json DELETE /v2/webhooks/{webhook_id}","href":"/api-reference/v2/resources/webhooks/delete-webhook"}]}]},{"group":"Webhooks","pages":[{"title":"Introduction","href":"/api-reference/v2/webhooks/overview"},{"group":"Webhook events","pages":[{"title":"customers/update","href":"/api-reference/v2/webhooks/events/customers-update"},{"title":"loyalty_emails/unsubscribe","href":"/api-reference/v2/webhooks/events/loyalty-emails-unsubscribe"},{"title":"rewards/store_fulfilment","href":"/api-reference/v2/webhooks/events/rewards-store-fulfilment"},{"title":"receipts/manual_approval_required","href":"/api-reference/v2/webhooks/events/receipts-manual-approval-required"},{"title":"program_events/customer.enrolled","href":"/api-reference/v2/webhooks/events/program-events/customer-enrolled"},{"title":"program_events/customer.tier_upgraded","href":"/api-reference/v2/webhooks/events/program-events/customer-tier-upgraded"},{"title":"program_events/customer.tier_downgraded","href":"/api-reference/v2/webhooks/events/program-events/customer-tier-downgraded"},{"title":"program_events/customer.reward_available_notification","href":"/api-reference/v2/webhooks/events/program-events/customer-reward-available-notification"},{"title":"program_events/customer.recurring_reward_available_reminder","href":"/api-reference/v2/webhooks/events/program-events/customer-recurring-reward-available-reminder"},{"title":"program_events/customer.claimed_reward","href":"/api-reference/v2/webhooks/events/program-events/customer-claimed-reward"},{"title":"program_events/customer.points_earned","href":"/api-reference/v2/webhooks/events/program-events/customer-points-earned"},{"title":"program_events/customer.referral_complete","href":"/api-reference/v2/webhooks/events/program-events/customer-referral-complete"},{"title":"program_events/customer.rule_completed","href":"/api-reference/v2/webhooks/events/program-events/customer-rule-completed"},{"title":"program_events/customer.approaching_tier_upgrade","href":"/api-reference/v2/webhooks/events/program-events/customers-approaching-tier-upgrade"},{"title":"program_events/customer.moved_to_defected_segment","href":"/api-reference/v2/webhooks/events/program-events/customer-moved-to-defected-segment"},{"title":"program_events/customer.moved_to_loyal_segment","href":"/api-reference/v2/webhooks/events/program-events/customer-moved-to-loyal-segment"},{"title":"program_events/customer.moved_to_at_risk_segment","href":"/api-reference/v2/webhooks/events/program-events/customer-moved-to-at-risk-segment"},{"title":"program_events/customer.approaching_points_expiration","href":"/api-reference/v2/webhooks/events/program-events/customer-approaching-points-expiration"},{"title":"program_events/customer.approaching_reward_expiration","href":"/api-reference/v2/webhooks/events/program-events/customer-approaching-reward-expiration"},{"title":"program_events/customer.receipt_approved","href":"/api-reference/v2/webhooks/events/program-events/customer-receipt-approved"},{"title":"program_events/customer.receipt_declined","href":"/api-reference/v2/webhooks/events/program-events/customer-receipt-declined"}]}]}]}]},{"tab":"Headless API","versions":[{"version":"2025-06","default":true,"groups":[{"group":"Headless API","pages":[{"title":"Introduction","href":"/headless-api/introduction"},{"title":"Customer session tokens","href":"/headless-api/session-tokens"},{"title":"Errors","href":"/headless-api/errors"},{"title":"Changelog","href":"/headless-api/changelog"}]},{"group":"Guides","pages":[{"title":"Referrals","href":"/headless-api/guides/referrals"},{"group":"Shopify Hydrogen","pages":[{"title":"Integrate with Hydrogen","href":"/headless-api/guides/hydrogen/integrate"},{"title":"Free product rewards","href":"/headless-api/guides/hydrogen/free-product-rewards"}]}]},{"group":"Resources","pages":[{"group":"Configuration","pages":[{"title":"Get Configuration","version":"v2","openapi":"headless-api/2025-06/openapi.json GET /headless/2025-06/{site_id}/configuration","href":"/headless-api/2025-06/configuration/get-configuration"}]},{"group":"Customers","pages":[{"title":"Get Customer","version":"v2","openapi":"headless-api/2025-06/openapi.json GET /headless/2025-06/{site_id}/customers/{merchant_id}","href":"/headless-api/2025-06/customers/get-customer"},{"title":"Initialize Session","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/customers/{merchant_id}/sessions","href":"/headless-api/2025-06/customers/initialize-session"},{"title":"Enroll Customer","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/customers/{merchant_id}/enroll","href":"/headless-api/2025-06/customers/enroll-customer"},{"title":"Set Birthday","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/customers/{merchant_id}/birthday","href":"/headless-api/2025-06/customers/set-birthday"},{"title":"Subscribe to Email Marketing","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/customers/{merchant_id}/email_marketing/subscribe","href":"/headless-api/2025-06/customers/subscribe-email-marketing"}]},{"group":"Referrals","pages":[{"title":"Claim Referee Incentive","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/referrals/referee_incentive","href":"/headless-api/2025-06/referrals/claim-referee-incentive"},{"title":"Track Share","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/referrals/shares","href":"/headless-api/2025-06/referrals/track-share"},{"title":"Register Guest Referrer","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/referrals/guest_registrations","href":"/headless-api/2025-06/referrals/register-guest-referrer"}]},{"group":"Reward redemption","pages":[{"title":"Cart Discount Voucher","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/cart_discount_voucher/redeem","href":"/headless-api/2025-06/reward-redemption/cart-discount-voucher"},{"title":"Free Shipping Voucher","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/free_shipping_voucher/redeem","href":"/headless-api/2025-06/reward-redemption/free-shipping-voucher"},{"title":"Collection Discount Voucher","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/collection_discount_voucher/redeem","href":"/headless-api/2025-06/reward-redemption/collection-discount-voucher"},{"title":"Product Discount Voucher","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/product_discount_voucher/redeem","href":"/headless-api/2025-06/reward-redemption/product-discount-voucher"},{"title":"Gift Card","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/gift_card/redeem","href":"/headless-api/2025-06/reward-redemption/gift-card"},{"title":"Active Subscription Discount Voucher","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/active_subscription_discount_voucher/redeem","href":"/headless-api/2025-06/reward-redemption/active-subscription-discount-voucher"},{"title":"Active Subscription Product","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/active_subscription_product/redeem","href":"/headless-api/2025-06/reward-redemption/active-subscription-product"},{"title":"Free Product","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/product_cart/redeem","href":"/headless-api/2025-06/reward-redemption/free-product"}]},{"group":"Reward refunds","pages":[{"title":"Free Product","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rewards/product_cart/refund","href":"/headless-api/2025-06/reward-refund/free-product"}]},{"group":"Complete rules","pages":[{"title":"Clickthrough","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rules/clickthrough/complete","href":"/headless-api/2025-06/complete-rules/clickthrough"},{"title":"Facebook Like","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rules/facebook_like/complete","href":"/headless-api/2025-06/complete-rules/facebook-like"},{"title":"Instagram Follow","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rules/instagram_follow/complete","href":"/headless-api/2025-06/complete-rules/instagram-follow"},{"title":"TikTok Follow","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rules/tiktok_follow/complete","href":"/headless-api/2025-06/complete-rules/tiktok-follow"},{"title":"Twitter/X Follow","version":"v2","openapi":"headless-api/2025-06/openapi.json POST /headless/2025-06/{site_id}/rules/twitter_follow/complete","href":"/headless-api/2025-06/complete-rules/twitter-follow"}]}]}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/docs/mcp/overview"}]}]},"basePath":"","title":"Live updating - LoyaltyLion","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}