[{"data":1,"prerenderedAt":4528},["ShallowReactive",2],{"navigation_docs":3,"-docs-studios-sites-data-consent-manager":2413},[4,82,446,500,743,2131],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started\u002Findex",[9,10,17,23,30,37,44,51,57,63,69,75],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14,"icon":16},"Apps and Sites","\u002Fdocs\u002Fgetting-started\u002Fapps-and-sites","docs\u002Fgetting-started\u002Fapps-and-sites\u002Findex",[15],{"title":11,"path":12,"stem":13,"icon":16},"i-lucide-columns-2",{"title":18,"path":19,"stem":20,"children":21},"Architecture Overview","\u002Fdocs\u002Fgetting-started\u002Farchitecture","docs\u002Fgetting-started\u002Farchitecture\u002Findex",[22],{"title":18,"path":19,"stem":20},{"title":24,"path":25,"stem":26,"children":27,"icon":29},"Bring an existing frontend","\u002Fdocs\u002Fgetting-started\u002Fbring-an-existing-frontend","docs\u002Fgetting-started\u002Fbring-an-existing-frontend\u002Findex",[28],{"title":24,"path":25,"stem":26,"icon":29},"i-lucide-arrow-right-left",{"title":31,"path":32,"stem":33,"children":34,"icon":36},"Concepts","\u002Fdocs\u002Fgetting-started\u002Fconcepts","docs\u002Fgetting-started\u002Fconcepts\u002Findex",[35],{"title":31,"path":32,"stem":33,"icon":36},"i-lucide-shapes",{"title":38,"path":39,"stem":40,"children":41,"icon":43},"Frontend stacks","\u002Fdocs\u002Fgetting-started\u002Ffrontend-stacks","docs\u002Fgetting-started\u002Ffrontend-stacks\u002Findex",[42],{"title":38,"path":39,"stem":40,"icon":43},"i-lucide-layers",{"title":45,"path":46,"stem":47,"children":48,"icon":50},"Get Help","\u002Fdocs\u002Fgetting-started\u002Fget-help","docs\u002Fgetting-started\u002Fget-help\u002Findex",[49],{"title":45,"path":46,"stem":47,"icon":50},"i-lucide-life-buoy",{"title":52,"path":53,"stem":54,"children":55},"Glossary","\u002Fdocs\u002Fgetting-started\u002Fglossary","docs\u002Fgetting-started\u002Fglossary\u002Findex",[56],{"title":52,"path":53,"stem":54},{"title":58,"path":59,"stem":60,"children":61},"Platform Overview","\u002Fdocs\u002Fgetting-started\u002Fplatform-overview","docs\u002Fgetting-started\u002Fplatform-overview\u002Findex",[62],{"title":58,"path":59,"stem":60},{"title":64,"path":65,"stem":66,"children":67},"Prerequisites","\u002Fdocs\u002Fgetting-started\u002Fprerequisites","docs\u002Fgetting-started\u002Fprerequisites\u002Findex",[68],{"title":64,"path":65,"stem":66},{"title":70,"path":71,"stem":72,"children":73},"Your First App in 15 Minutes","\u002Fdocs\u002Fgetting-started\u002Fquick-start","docs\u002Fgetting-started\u002Fquick-start\u002Findex",[74],{"title":70,"path":71,"stem":72},{"title":76,"path":77,"stem":78,"children":79,"icon":81},"Security and trust","\u002Fdocs\u002Fgetting-started\u002Fsecurity-and-trust","docs\u002Fgetting-started\u002Fsecurity-and-trust\u002Findex",[80],{"title":76,"path":77,"stem":78,"icon":81},"i-lucide-shield-check",{"title":83,"path":84,"stem":85,"children":86},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides\u002Findex",[87,88,151,249,256,310,364,391],{"title":83,"path":84,"stem":85},{"title":89,"path":90,"stem":91,"children":92,"icon":94},"Build an App","\u002Fdocs\u002Fguides\u002Fapps","docs\u002Fguides\u002Fapps\u002Findex",[93,95,102,109,116,123,130,137,144],{"title":89,"path":90,"stem":91,"icon":94},"i-lucide-layout-grid",{"title":96,"path":97,"stem":98,"children":99,"icon":101},"Give your App a Cockpit screen","\u002Fdocs\u002Fguides\u002Fapps\u002Fadd-a-cockpit-screen","docs\u002Fguides\u002Fapps\u002Fadd-a-cockpit-screen\u002Findex",[100],{"title":96,"path":97,"stem":98,"icon":101},"i-lucide-layout-dashboard",{"title":103,"path":104,"stem":105,"children":106,"icon":108},"Add a data model","\u002Fdocs\u002Fguides\u002Fapps\u002Fadd-a-data-model","docs\u002Fguides\u002Fapps\u002Fadd-a-data-model\u002Findex",[107],{"title":103,"path":104,"stem":105,"icon":108},"i-lucide-database",{"title":110,"path":111,"stem":112,"children":113,"icon":115},"Build your first App","\u002Fdocs\u002Fguides\u002Fapps\u002Fbuild-your-first-app","docs\u002Fguides\u002Fapps\u002Fbuild-your-first-app\u002Findex",[114],{"title":110,"path":111,"stem":112,"icon":115},"i-lucide-hammer",{"title":117,"path":118,"stem":119,"children":120,"icon":122},"Deploy and verify an App","\u002Fdocs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli","docs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli\u002Findex",[121],{"title":117,"path":118,"stem":119,"icon":122},"i-lucide-square-terminal",{"title":124,"path":125,"stem":126,"children":127,"icon":129},"Publish a business event from your App","\u002Fdocs\u002Fguides\u002Fapps\u002Fpublish-a-business-event","docs\u002Fguides\u002Fapps\u002Fpublish-a-business-event\u002Findex",[128],{"title":124,"path":125,"stem":126,"icon":129},"i-lucide-megaphone",{"title":131,"path":132,"stem":133,"children":134,"icon":136},"Publish on the Marketplace","\u002Fdocs\u002Fguides\u002Fapps\u002Fpublish-on-the-marketplace","docs\u002Fguides\u002Fapps\u002Fpublish-on-the-marketplace\u002Findex",[135],{"title":131,"path":132,"stem":133,"icon":136},"i-lucide-store",{"title":138,"path":139,"stem":140,"children":141,"icon":143},"React to events and run scheduled work in your App","\u002Fdocs\u002Fguides\u002Fapps\u002Freact-to-events-and-run-scheduled-work","docs\u002Fguides\u002Fapps\u002Freact-to-events-and-run-scheduled-work\u002Findex",[142],{"title":138,"path":139,"stem":140,"icon":143},"i-lucide-timer",{"title":145,"path":146,"stem":147,"children":148,"icon":150},"Ship a schema change","\u002Fdocs\u002Fguides\u002Fapps\u002Fship-a-schema-change","docs\u002Fguides\u002Fapps\u002Fship-a-schema-change\u002Findex",[149],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-git-branch",{"title":152,"path":153,"stem":154,"children":155,"icon":157},"Set up selling","\u002Fdocs\u002Fguides\u002Fcommerce","docs\u002Fguides\u002Fcommerce\u002Findex",[156,158,165,172,179,186,193,200,207,214,221,228,235,242],{"title":152,"path":153,"stem":154,"icon":157},"i-lucide-shopping-cart",{"title":159,"path":160,"stem":161,"children":162,"icon":164},"Set up B2B pricing","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fb2b-pricing","docs\u002Fguides\u002Fcommerce\u002Fb2b-pricing\u002Findex",[163],{"title":159,"path":160,"stem":161,"icon":164},"i-lucide-circle-dollar-sign",{"title":166,"path":167,"stem":168,"children":169,"icon":171},"Give buyer staff the right permissions","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fbuyer-permissions","docs\u002Fguides\u002Fcommerce\u002Fbuyer-permissions\u002Findex",[170],{"title":166,"path":167,"stem":168,"icon":171},"i-lucide-user-cog",{"title":173,"path":174,"stem":175,"children":176,"icon":178},"Confirm invoice payments","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fconfirm-invoice-payments","docs\u002Fguides\u002Fcommerce\u002Fconfirm-invoice-payments\u002Findex",[177],{"title":173,"path":174,"stem":175,"icon":178},"i-lucide-receipt",{"title":180,"path":181,"stem":182,"children":183,"icon":185},"Model a catalog with attributes, families and variants","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fmodel-a-catalog","docs\u002Fguides\u002Fcommerce\u002Fmodel-a-catalog\u002Findex",[184],{"title":180,"path":181,"stem":182,"icon":185},"i-lucide-boxes",{"title":187,"path":188,"stem":189,"children":190,"icon":192},"Order and quote numbers","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fnumber-ranges","docs\u002Fguides\u002Fcommerce\u002Fnumber-ranges\u002Findex",[191],{"title":187,"path":188,"stem":189,"icon":192},"i-lucide-hash",{"title":194,"path":195,"stem":196,"children":197,"icon":199},"Manage product images and documents","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fproduct-media","docs\u002Fguides\u002Fcommerce\u002Fproduct-media\u002Findex",[198],{"title":194,"path":195,"stem":196,"icon":199},"i-lucide-image",{"title":201,"path":202,"stem":203,"children":204,"icon":206},"Run promotions and voucher codes","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fpromotions-and-vouchers","docs\u002Fguides\u002Fcommerce\u002Fpromotions-and-vouchers\u002Findex",[205],{"title":201,"path":202,"stem":203,"icon":206},"i-lucide-ticket-percent",{"title":208,"path":209,"stem":210,"children":211,"icon":213},"Set up purchase approvals","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fpurchase-approvals","docs\u002Fguides\u002Fcommerce\u002Fpurchase-approvals\u002Findex",[212],{"title":208,"path":209,"stem":210,"icon":213},"i-lucide-stamp",{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Turn an accepted quote into an order","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fquotes-to-orders","docs\u002Fguides\u002Fcommerce\u002Fquotes-to-orders\u002Findex",[219],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-handshake",{"title":222,"path":223,"stem":224,"children":225,"icon":227},"Build categories from rules","\u002Fdocs\u002Fguides\u002Fcommerce\u002Frule-based-categories","docs\u002Fguides\u002Fcommerce\u002Frule-based-categories\u002Findex",[226],{"title":222,"path":223,"stem":224,"icon":227},"i-lucide-list-filter",{"title":229,"path":230,"stem":231,"children":232,"icon":234},"Ship, cancel and return an order","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fship-cancel-and-return","docs\u002Fguides\u002Fcommerce\u002Fship-cancel-and-return\u002Findex",[233],{"title":229,"path":230,"stem":231,"icon":234},"i-lucide-package-check",{"title":236,"path":237,"stem":238,"children":239,"icon":241},"Set up shipping rates and tax","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fshipping-rates","docs\u002Fguides\u002Fcommerce\u002Fshipping-rates\u002Findex",[240],{"title":236,"path":237,"stem":238,"icon":241},"i-lucide-truck",{"title":243,"path":244,"stem":245,"children":246,"icon":248},"Connect a payment provider and take a test payment","\u002Fdocs\u002Fguides\u002Fcommerce\u002Ftest-payments","docs\u002Fguides\u002Fcommerce\u002Ftest-payments\u002Findex",[247],{"title":243,"path":244,"stem":245,"icon":248},"i-lucide-credit-card",{"title":250,"path":251,"stem":252,"children":253,"icon":255},"Start from an example","\u002Fdocs\u002Fguides\u002Fexamples","docs\u002Fguides\u002Fexamples\u002Findex",[254],{"title":250,"path":251,"stem":252,"icon":255},"i-lucide-folder-code",{"title":257,"path":258,"stem":259,"children":260,"icon":262},"Connect a system","\u002Fdocs\u002Fguides\u002Fintegrations","docs\u002Fguides\u002Fintegrations\u002Findex",[261,263,269,276,283,289,296,303],{"title":257,"path":258,"stem":259,"icon":262},"i-lucide-plug",{"title":264,"path":265,"stem":266,"children":267,"icon":29},"Connect a procurement system by punchout","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fconnect-by-punchout","docs\u002Fguides\u002Fintegrations\u002Fconnect-by-punchout\u002Findex",[268],{"title":264,"path":265,"stem":266,"icon":29},{"title":270,"path":271,"stem":272,"children":273,"icon":275},"Hand an order to the ERP","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fhand-an-order-to-the-erp","docs\u002Fguides\u002Fintegrations\u002Fhand-an-order-to-the-erp\u002Findex",[274],{"title":270,"path":271,"stem":272,"icon":275},"i-lucide-arrow-left-right",{"title":277,"path":278,"stem":279,"children":280,"icon":282},"Import a BMECAT catalog","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fimport-a-bmecat-catalog","docs\u002Fguides\u002Fintegrations\u002Fimport-a-bmecat-catalog\u002Findex",[281],{"title":277,"path":278,"stem":279,"icon":282},"i-lucide-package-plus",{"title":284,"path":285,"stem":286,"children":287,"icon":50},"Keep an Integration Studio workflow running","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fkeep-a-workflow-running","docs\u002Fguides\u002Fintegrations\u002Fkeep-a-workflow-running\u002Findex",[288],{"title":284,"path":285,"stem":286,"icon":50},{"title":290,"path":291,"stem":292,"children":293,"icon":295},"Receive platform events at your own endpoint","\u002Fdocs\u002Fguides\u002Fintegrations\u002Freceive-platform-events","docs\u002Fguides\u002Fintegrations\u002Freceive-platform-events\u002Findex",[294],{"title":290,"path":291,"stem":292,"icon":295},"i-lucide-webhook",{"title":297,"path":298,"stem":299,"children":300,"icon":302},"Recover abandoned carts with a workflow","\u002Fdocs\u002Fguides\u002Fintegrations\u002Frecover-abandoned-carts","docs\u002Fguides\u002Fintegrations\u002Frecover-abandoned-carts\u002Findex",[301],{"title":297,"path":298,"stem":299,"icon":302},"i-lucide-mail-check",{"title":304,"path":305,"stem":306,"children":307,"icon":309},"Send low-stock alerts to the ERP","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fsend-low-stock-alerts-to-the-erp","docs\u002Fguides\u002Fintegrations\u002Fsend-low-stock-alerts-to-the-erp\u002Findex",[308],{"title":304,"path":305,"stem":306,"icon":309},"i-lucide-bell-ring",{"title":311,"path":312,"stem":313,"children":314,"icon":316},"Operate & go live","\u002Fdocs\u002Fguides\u002Foperate","docs\u002Fguides\u002Foperate\u002Findex",[315,317,323,330,337,344,351,357],{"title":311,"path":312,"stem":313,"icon":316},"i-lucide-activity",{"title":318,"path":319,"stem":320,"children":321,"icon":81},"Answer a customer's security questionnaire","\u002Fdocs\u002Fguides\u002Foperate\u002Fanswer-a-security-questionnaire","docs\u002Fguides\u002Foperate\u002Fanswer-a-security-questionnaire\u002Findex",[322],{"title":318,"path":319,"stem":320,"icon":81},{"title":324,"path":325,"stem":326,"children":327,"icon":329},"Debug a failed request","\u002Fdocs\u002Fguides\u002Foperate\u002Fdebug-a-failed-request","docs\u002Fguides\u002Foperate\u002Fdebug-a-failed-request\u002Findex",[328],{"title":324,"path":325,"stem":326,"icon":329},"i-lucide-bug",{"title":331,"path":332,"stem":333,"children":334,"icon":336},"Go live with a project","\u002Fdocs\u002Fguides\u002Foperate\u002Fgo-live-checklist","docs\u002Fguides\u002Foperate\u002Fgo-live-checklist\u002Findex",[335],{"title":331,"path":332,"stem":333,"icon":336},"i-lucide-list-checks",{"title":338,"path":339,"stem":340,"children":341,"icon":343},"Migrate from an existing shop","\u002Fdocs\u002Fguides\u002Foperate\u002Fmigrate-from-an-existing-shop","docs\u002Fguides\u002Foperate\u002Fmigrate-from-an-existing-shop\u002Findex",[342],{"title":338,"path":339,"stem":340,"icon":343},"i-lucide-route",{"title":345,"path":346,"stem":347,"children":348,"icon":350},"Size a launch","\u002Fdocs\u002Fguides\u002Foperate\u002Fplan-for-limits","docs\u002Fguides\u002Foperate\u002Fplan-for-limits\u002Findex",[349],{"title":345,"path":346,"stem":347,"icon":350},"i-lucide-gauge",{"title":352,"path":353,"stem":354,"children":355,"icon":336},"Script a bulk change","\u002Fdocs\u002Fguides\u002Foperate\u002Fscript-a-bulk-change","docs\u002Fguides\u002Foperate\u002Fscript-a-bulk-change\u002Findex",[356],{"title":352,"path":353,"stem":354,"icon":336},{"title":358,"path":359,"stem":360,"children":361,"icon":363},"Stay current","\u002Fdocs\u002Fguides\u002Foperate\u002Fstay-current","docs\u002Fguides\u002Foperate\u002Fstay-current\u002Findex",[362],{"title":358,"path":359,"stem":360,"icon":363},"i-lucide-refresh-cw",{"title":365,"path":366,"stem":367,"children":368,"icon":370},"Plan before you build","\u002Fdocs\u002Fguides\u002Fplan","docs\u002Fguides\u002Fplan\u002Findex",[369,371,378,385],{"title":365,"path":366,"stem":367,"icon":370},"i-lucide-map",{"title":372,"path":373,"stem":374,"children":375,"icon":377},"Choose a system of record","\u002Fdocs\u002Fguides\u002Fplan\u002Fchoose-a-system-of-record","docs\u002Fguides\u002Fplan\u002Fchoose-a-system-of-record\u002Findex",[376],{"title":372,"path":373,"stem":374,"icon":377},"i-lucide-network",{"title":379,"path":380,"stem":381,"children":382,"icon":384},"Choose an event surface","\u002Fdocs\u002Fguides\u002Fplan\u002Fchoose-an-event-surface","docs\u002Fguides\u002Fplan\u002Fchoose-an-event-surface\u002Findex",[383],{"title":379,"path":380,"stem":381,"icon":384},"i-lucide-signpost",{"title":386,"path":387,"stem":388,"children":389,"icon":343},"Choose where the logic goes","\u002Fdocs\u002Fguides\u002Fplan\u002Fchoose-where-the-logic-goes","docs\u002Fguides\u002Fplan\u002Fchoose-where-the-logic-goes\u002Findex",[390],{"title":386,"path":387,"stem":388,"icon":343},{"title":392,"path":393,"stem":394,"children":395,"icon":397},"Build a storefront","\u002Fdocs\u002Fguides\u002Fstorefronts","docs\u002Fguides\u002Fstorefronts\u002Findex",[396,398,405,412,419,426,432,439],{"title":392,"path":393,"stem":394,"icon":397},"i-lucide-paintbrush",{"title":399,"path":400,"stem":401,"children":402,"icon":404},"Brand a Theme with design tokens","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fbrand-with-tokens","docs\u002Fguides\u002Fstorefronts\u002Fbrand-with-tokens\u002Findex",[403],{"title":399,"path":400,"stem":401,"icon":404},"i-lucide-palette",{"title":406,"path":407,"stem":408,"children":409,"icon":411},"Build a block","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fbuild-a-block","docs\u002Fguides\u002Fstorefronts\u002Fbuild-a-block\u002Findex",[410],{"title":406,"path":407,"stem":408,"icon":411},"i-lucide-blocks",{"title":413,"path":414,"stem":415,"children":416,"icon":418},"Build your first Theme","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fbuild-your-first-theme","docs\u002Fguides\u002Fstorefronts\u002Fbuild-your-first-theme\u002Findex",[417],{"title":413,"path":414,"stem":415,"icon":418},"i-lucide-layout-template",{"title":420,"path":421,"stem":422,"children":423,"icon":425},"Connect your own frontend","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fconnect-a-frontend","docs\u002Fguides\u002Fstorefronts\u002Fconnect-a-frontend\u002Findex",[424],{"title":420,"path":421,"stem":422,"icon":425},"i-lucide-plug-zap",{"title":427,"path":428,"stem":429,"children":430,"icon":363},"Refresh price caches when a price list changes","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Frefresh-price-caches","docs\u002Fguides\u002Fstorefronts\u002Frefresh-price-caches\u002Findex",[431],{"title":427,"path":428,"stem":429,"icon":363},{"title":433,"path":434,"stem":435,"children":436,"icon":438},"Reorder and quick order","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Freorder-and-quick-order","docs\u002Fguides\u002Fstorefronts\u002Freorder-and-quick-order\u002Findex",[437],{"title":433,"path":434,"stem":435,"icon":438},"i-lucide-repeat",{"title":440,"path":441,"stem":442,"children":443,"icon":445},"Sign a buyer in from your server","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fsign-a-buyer-in","docs\u002Fguides\u002Fstorefronts\u002Fsign-a-buyer-in\u002Findex",[444],{"title":440,"path":441,"stem":442,"icon":445},"i-lucide-log-in",{"title":447,"path":448,"stem":449,"children":450},"SDKs","\u002Fdocs\u002Fsdks","docs\u002Fsdks\u002Findex",[451,452,458,464,470,476,482,488,494],{"title":447,"path":448,"stem":449},{"title":453,"path":454,"stem":455,"children":456},"App SDK","\u002Fdocs\u002Fsdks\u002Fapp-sdk","docs\u002Fsdks\u002Fapp-sdk\u002Findex",[457],{"title":453,"path":454,"stem":455},{"title":459,"path":460,"stem":461,"children":462},"CLI","\u002Fdocs\u002Fsdks\u002Fcli","docs\u002Fsdks\u002Fcli\u002Findex",[463],{"title":459,"path":460,"stem":461},{"title":465,"path":466,"stem":467,"children":468},"Design systems","\u002Fdocs\u002Fsdks\u002Fdesign-systems","docs\u002Fsdks\u002Fdesign-systems\u002Findex",[469],{"title":465,"path":466,"stem":467},{"title":471,"path":472,"stem":473,"children":474},"Integration Node SDK","\u002Fdocs\u002Fsdks\u002Fintegration-nodes","docs\u002Fsdks\u002Fintegration-nodes\u002Findex",[475],{"title":471,"path":472,"stem":473},{"title":477,"path":478,"stem":479,"children":480},"Node SDK","\u002Fdocs\u002Fsdks\u002Fnode","docs\u002Fsdks\u002Fnode\u002Findex",[481],{"title":477,"path":478,"stem":479},{"title":483,"path":484,"stem":485,"children":486},"PHP SDK","\u002Fdocs\u002Fsdks\u002Fphp","docs\u002Fsdks\u002Fphp\u002Findex",[487],{"title":483,"path":484,"stem":485},{"title":489,"path":490,"stem":491,"children":492,"icon":150},"Versioning","\u002Fdocs\u002Fsdks\u002Fversioning","docs\u002Fsdks\u002Fversioning\u002Findex",[493],{"title":489,"path":490,"stem":491,"icon":150},{"title":495,"path":496,"stem":497,"children":498},"Web \u002F JavaScript SDK","\u002Fdocs\u002Fsdks\u002Fweb","docs\u002Fsdks\u002Fweb\u002Findex",[499],{"title":495,"path":496,"stem":497},{"title":501,"path":502,"stem":503,"children":504},"Services","\u002Fdocs\u002Fservices","docs\u002Fservices\u002Findex",[505,506,542,549,579,585,609,616,623,677,725],{"title":501,"path":502,"stem":503},{"title":507,"path":508,"stem":509,"children":510},"API usage","\u002Fdocs\u002Fservices\u002Fapi-usage","docs\u002Fservices\u002Fapi-usage\u002Findex",[511,512,518,524,530,536],{"title":507,"path":508,"stem":509},{"title":513,"path":514,"stem":515,"children":516},"Errors","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Ferrors","docs\u002Fservices\u002Fapi-usage\u002Ferrors\u002Findex",[517],{"title":513,"path":514,"stem":515},{"title":519,"path":520,"stem":521,"children":522},"Retries & idempotency","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fidempotency","docs\u002Fservices\u002Fapi-usage\u002Fidempotency\u002Findex",[523],{"title":519,"path":520,"stem":521},{"title":525,"path":526,"stem":527,"children":528},"Pagination & filtering","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fpagination","docs\u002Fservices\u002Fapi-usage\u002Fpagination\u002Findex",[529],{"title":525,"path":526,"stem":527},{"title":531,"path":532,"stem":533,"children":534},"Rate limits","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Frate-limits","docs\u002Fservices\u002Fapi-usage\u002Frate-limits\u002Findex",[535],{"title":531,"path":532,"stem":533},{"title":537,"path":538,"stem":539,"children":540},"Versioning & stability","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fversioning","docs\u002Fservices\u002Fapi-usage\u002Fversioning\u002Findex",[541],{"title":537,"path":538,"stem":539},{"title":543,"path":544,"stem":545,"children":546,"icon":548},"Record history","\u002Fdocs\u002Fservices\u002Faudit","docs\u002Fservices\u002Faudit\u002Findex",[547],{"title":543,"path":544,"stem":545,"icon":548},"i-lucide-history",{"title":550,"path":551,"stem":552,"children":553},"Authentication","\u002Fdocs\u002Fservices\u002Fauth","docs\u002Fservices\u002Fauth\u002Findex",[554,555,561,567,573],{"title":550,"path":551,"stem":552},{"title":556,"path":557,"stem":558,"children":559},"API keys","\u002Fdocs\u002Fservices\u002Fauth\u002Fapi-keys","docs\u002Fservices\u002Fauth\u002Fapi-keys\u002Findex",[560],{"title":556,"path":557,"stem":558},{"title":562,"path":563,"stem":564,"children":565},"Multi-factor authentication","\u002Fdocs\u002Fservices\u002Fauth\u002Fmfa","docs\u002Fservices\u002Fauth\u002Fmfa\u002Findex",[566],{"title":562,"path":563,"stem":564},{"title":568,"path":569,"stem":570,"children":571},"Social sign-in","\u002Fdocs\u002Fservices\u002Fauth\u002Foauth2","docs\u002Fservices\u002Fauth\u002Foauth2\u002Findex",[572],{"title":568,"path":569,"stem":570},{"title":574,"path":575,"stem":576,"children":577},"Sessions","\u002Fdocs\u002Fservices\u002Fauth\u002Fsessions","docs\u002Fservices\u002Fauth\u002Fsessions\u002Findex",[578],{"title":574,"path":575,"stem":576},{"title":580,"path":581,"stem":582,"children":583,"icon":199},"Avatars","\u002Fdocs\u002Fservices\u002Favatars","docs\u002Fservices\u002Favatars\u002Findex",[584],{"title":580,"path":581,"stem":582,"icon":199},{"title":586,"path":587,"stem":588,"children":589},"Events","\u002Fdocs\u002Fservices\u002Fevents","docs\u002Fservices\u002Fevents\u002Findex",[590,591,597,603],{"title":586,"path":587,"stem":588},{"title":592,"path":593,"stem":594,"children":595},"Consuming events","\u002Fdocs\u002Fservices\u002Fevents\u002Fconsuming-events","docs\u002Fservices\u002Fevents\u002Fconsuming-events\u002Findex",[596],{"title":592,"path":593,"stem":594},{"title":598,"path":599,"stem":600,"children":601},"Event catalog","\u002Fdocs\u002Fservices\u002Fevents\u002Fevent-catalog","docs\u002Fservices\u002Fevents\u002Fevent-catalog\u002Findex",[602],{"title":598,"path":599,"stem":600},{"title":604,"path":605,"stem":606,"children":607},"Event types","\u002Fdocs\u002Fservices\u002Fevents\u002Fevent-types","docs\u002Fservices\u002Fevents\u002Fevent-types\u002Findex",[608],{"title":604,"path":605,"stem":606},{"title":610,"path":611,"stem":612,"children":613,"icon":615},"Locale","\u002Fdocs\u002Fservices\u002Flocale","docs\u002Fservices\u002Flocale\u002Findex",[614],{"title":610,"path":611,"stem":612,"icon":615},"i-lucide-globe",{"title":617,"path":618,"stem":619,"children":620,"icon":622},"Messaging","\u002Fdocs\u002Fservices\u002Fmessaging","docs\u002Fservices\u002Fmessaging\u002Findex",[621],{"title":617,"path":618,"stem":619,"icon":622},"i-lucide-mail",{"title":624,"path":625,"stem":626,"children":627},"Network","\u002Fdocs\u002Fservices\u002Fnetwork","docs\u002Fservices\u002Fnetwork\u002Findex",[628,629,635,641,647,653,659,665,671],{"title":624,"path":625,"stem":626},{"title":630,"path":631,"stem":632,"children":633},"Caching","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcaching","docs\u002Fservices\u002Fnetwork\u002Fcaching\u002Findex",[634],{"title":630,"path":631,"stem":632},{"title":636,"path":637,"stem":638,"children":639},"Content delivery (CDN)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcdn","docs\u002Fservices\u002Fnetwork\u002Fcdn\u002Findex",[640],{"title":636,"path":637,"stem":638},{"title":642,"path":643,"stem":644,"children":645},"Compression","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcompression","docs\u002Fservices\u002Fnetwork\u002Fcompression\u002Findex",[646],{"title":642,"path":643,"stem":644},{"title":648,"path":649,"stem":650,"children":651},"DDoS mitigation","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fddos","docs\u002Fservices\u002Fnetwork\u002Fddos\u002Findex",[652],{"title":648,"path":649,"stem":650},{"title":654,"path":655,"stem":656,"children":657},"Edge network","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fedges","docs\u002Fservices\u002Fnetwork\u002Fedges\u002Findex",[658],{"title":654,"path":655,"stem":656},{"title":660,"path":661,"stem":662,"children":663},"Endpoints","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fendpoints","docs\u002Fservices\u002Fnetwork\u002Fendpoints\u002Findex",[664],{"title":660,"path":661,"stem":662},{"title":666,"path":667,"stem":668,"children":669},"Transport Layer Security (TLS)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Ftls","docs\u002Fservices\u002Fnetwork\u002Ftls\u002Findex",[670],{"title":666,"path":667,"stem":668},{"title":672,"path":673,"stem":674,"children":675},"Web application firewall (WAF)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fwaf","docs\u002Fservices\u002Fnetwork\u002Fwaf\u002Findex",[676],{"title":672,"path":673,"stem":674},{"title":678,"path":679,"stem":680,"children":681},"Storage","\u002Fdocs\u002Fservices\u002Fstorage","docs\u002Fservices\u002Fstorage\u002Findex",[682,683,689,695,701,707,713,719],{"title":678,"path":679,"stem":680},{"title":684,"path":685,"stem":686,"children":687},"Folders","\u002Fdocs\u002Fservices\u002Fstorage\u002Fbuckets","docs\u002Fservices\u002Fstorage\u002Fbuckets\u002Findex",[688],{"title":684,"path":685,"stem":686},{"title":690,"path":691,"stem":692,"children":693},"Signed URLs and access","\u002Fdocs\u002Fservices\u002Fstorage\u002Ffile-tokens","docs\u002Fservices\u002Fstorage\u002Ffile-tokens\u002Findex",[694],{"title":690,"path":691,"stem":692},{"title":696,"path":697,"stem":698,"children":699},"Serve and transform images","\u002Fdocs\u002Fservices\u002Fstorage\u002Fimages","docs\u002Fservices\u002Fstorage\u002Fimages\u002Findex",[700],{"title":696,"path":697,"stem":698},{"title":702,"path":703,"stem":704,"children":705},"3D assets","\u002Fdocs\u002Fservices\u002Fstorage\u002Fmodel-viewer","docs\u002Fservices\u002Fstorage\u002Fmodel-viewer\u002Findex",[706],{"title":702,"path":703,"stem":704},{"title":708,"path":709,"stem":710,"children":711},"Access control and visibility","\u002Fdocs\u002Fservices\u002Fstorage\u002Fpermissions","docs\u002Fservices\u002Fstorage\u002Fpermissions\u002Findex",[712],{"title":708,"path":709,"stem":710},{"title":714,"path":715,"stem":716,"children":717},"Quick start","\u002Fdocs\u002Fservices\u002Fstorage\u002Fquick-start","docs\u002Fservices\u002Fstorage\u002Fquick-start\u002Findex",[718],{"title":714,"path":715,"stem":716},{"title":720,"path":721,"stem":722,"children":723},"Upload and manage files","\u002Fdocs\u002Fservices\u002Fstorage\u002Fupload-download","docs\u002Fservices\u002Fstorage\u002Fupload-download\u002Findex",[724],{"title":720,"path":721,"stem":722},{"title":726,"path":727,"stem":728,"children":729},"Webhooks","\u002Fdocs\u002Fservices\u002Fwebhooks","docs\u002Fservices\u002Fwebhooks\u002Findex",[730,731,737],{"title":726,"path":727,"stem":728},{"title":732,"path":733,"stem":734,"children":735},"Delivery","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fdelivery","docs\u002Fservices\u002Fwebhooks\u002Fdelivery\u002Findex",[736],{"title":732,"path":733,"stem":734},{"title":738,"path":739,"stem":740,"children":741},"Security","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fsecurity","docs\u002Fservices\u002Fwebhooks\u002Fsecurity\u002Findex",[742],{"title":738,"path":739,"stem":740},{"title":744,"path":745,"stem":746,"children":747},"Studios","\u002Fdocs\u002Fstudios","docs\u002Fstudios\u002Findex",[748,749,755,920,1271,1591,1773],{"title":744,"path":745,"stem":746},{"title":750,"path":751,"stem":752,"children":753},"AI Studio","\u002Fdocs\u002Fstudios\u002Fai","docs\u002Fstudios\u002Fai\u002Findex",[754],{"title":750,"path":751,"stem":752},{"title":756,"path":757,"stem":758,"children":759,"icon":761},"Analytics Studio","\u002Fdocs\u002Fstudios\u002Fanalytics","docs\u002Fstudios\u002Fanalytics\u002Findex",[760,762,805,842,848,866,896],{"title":756,"path":757,"stem":758,"icon":761},"i-lucide-chart-column",{"title":763,"path":764,"stem":765,"children":766,"icon":768},"Make your app's data analyzable","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Findex",[767,769,775,781,787,793,799],{"title":763,"path":764,"stem":765,"icon":768},"i-lucide-table-2",{"title":770,"path":771,"stem":772,"children":773},"Column locators","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators\u002Findex",[774],{"title":770,"path":771,"stem":772},{"title":776,"path":777,"stem":778,"children":779},"Declaring a view","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view\u002Findex",[780],{"title":776,"path":777,"stem":778},{"title":782,"path":783,"stem":784,"children":785},"Example","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample\u002Findex",[786],{"title":782,"path":783,"stem":784},{"title":788,"path":789,"stem":790,"children":791},"Semantic roles","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles\u002Findex",[792],{"title":788,"path":789,"stem":790},{"title":794,"path":795,"stem":796,"children":797},"Tenant isolation","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation\u002Findex",[798],{"title":794,"path":795,"stem":796},{"title":800,"path":801,"stem":802,"children":803},"The contract","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract\u002Findex",[804],{"title":800,"path":801,"stem":802},{"title":806,"path":807,"stem":808,"children":809,"icon":811},"Stream commerce activity","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Findex",[810,812,818,824,830,836],{"title":806,"path":807,"stem":808,"icon":811},"i-lucide-radio",{"title":813,"path":814,"stem":815,"children":816},"Delivery guarantees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees\u002Findex",[817],{"title":813,"path":814,"stem":815},{"title":819,"path":820,"stem":821,"children":822},"Event types for reporting","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting\u002Findex",[823],{"title":819,"path":820,"stem":821},{"title":825,"path":826,"stem":827,"children":828},"Register an endpoint","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint\u002Findex",[829],{"title":825,"path":826,"stem":827},{"title":831,"path":832,"stem":833,"children":834},"The event stream","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream\u002Findex",[835],{"title":831,"path":832,"stem":833},{"title":837,"path":838,"stem":839,"children":840},"Verify a delivery","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery\u002Findex",[841],{"title":837,"path":838,"stem":839},{"title":843,"path":844,"stem":845,"children":846,"icon":29},"Getting data out","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out","docs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out\u002Findex",[847],{"title":843,"path":844,"stem":845,"icon":29},{"title":849,"path":850,"stem":851,"children":852,"icon":336},"Limits and what's next","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Findex",[853,854,860],{"title":849,"path":850,"stem":851,"icon":336},{"title":855,"path":856,"stem":857,"children":858},"Designing for what's coming","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming\u002Findex",[859],{"title":855,"path":856,"stem":857},{"title":861,"path":862,"stem":863,"children":864},"What does not exist yet","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet\u002Findex",[865],{"title":861,"path":862,"stem":863},{"title":867,"path":868,"stem":869,"children":870,"icon":108},"Build your own reporting store","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Findex",[871,872,878,884,890],{"title":867,"path":868,"stem":869,"icon":108},{"title":873,"path":874,"stem":875,"children":876},"Backfill","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill\u002Findex",[877],{"title":873,"path":874,"stem":875},{"title":879,"path":880,"stem":881,"children":882},"Incremental sync","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync\u002Findex",[883],{"title":879,"path":880,"stem":881},{"title":885,"path":886,"stem":887,"children":888},"Modelling","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling\u002Findex",[889],{"title":885,"path":886,"stem":887},{"title":891,"path":892,"stem":893,"children":894},"Pull versus push","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push\u002Findex",[895],{"title":891,"path":892,"stem":893},{"title":897,"path":898,"stem":899,"children":900,"icon":761},"What the tenant sees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Findex",[901,902,908,914],{"title":897,"path":898,"stem":899,"icon":761},{"title":903,"path":904,"stem":905,"children":906},"Cohorts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts\u002Findex",[907],{"title":903,"path":904,"stem":905},{"title":909,"path":910,"stem":911,"children":912},"Datasets and charts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts\u002Findex",[913],{"title":909,"path":910,"stem":911},{"title":915,"path":916,"stem":917,"children":918},"Studio overview","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview\u002Findex",[919],{"title":915,"path":916,"stem":917},{"title":921,"path":922,"stem":923,"children":924},"App Studio","\u002Fdocs\u002Fstudios\u002Fapps","docs\u002Fstudios\u002Fapps\u002Findex",[925,926,962,1032,1103,1121,1187],{"title":921,"path":922,"stem":923},{"title":927,"path":928,"stem":929,"children":930,"icon":101},"Admin UI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Findex",[931,932,938,944,950,956],{"title":927,"path":928,"stem":929,"icon":101},{"title":933,"path":934,"stem":935,"children":936},"How the Cockpit renders","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders\u002Findex",[937],{"title":933,"path":934,"stem":935},{"title":939,"path":940,"stem":941,"children":942},"Preview locally","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally\u002Findex",[943],{"title":939,"path":940,"stem":941},{"title":945,"path":946,"stem":947,"children":948},"Reading settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings\u002Findex",[949],{"title":945,"path":946,"stem":947},{"title":951,"path":952,"stem":953,"children":954},"Settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings\u002Findex",[955],{"title":951,"path":952,"stem":953},{"title":957,"path":958,"stem":959,"children":960},"Vocabularies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies\u002Findex",[961],{"title":957,"path":958,"stem":959},{"title":963,"path":964,"stem":965,"children":966,"icon":343},"Your app's API","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Findex",[967,968,973,979,985,991,997,1002,1008,1014,1020,1026],{"title":963,"path":964,"stem":965,"icon":343},{"title":630,"path":969,"stem":970,"children":971},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching\u002Findex",[972],{"title":630,"path":969,"stem":970},{"title":974,"path":975,"stem":976,"children":977},"Calling another app","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app\u002Findex",[978],{"title":974,"path":975,"stem":976},{"title":980,"path":981,"stem":982,"children":983},"Capabilities","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities\u002Findex",[984],{"title":980,"path":981,"stem":982},{"title":986,"path":987,"stem":988,"children":989},"Capability reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference\u002Findex",[990],{"title":986,"path":987,"stem":988},{"title":992,"path":993,"stem":994,"children":995},"CRUD","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud\u002Findex",[996],{"title":992,"path":993,"stem":994},{"title":513,"path":998,"stem":999,"children":1000},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors\u002Findex",[1001],{"title":513,"path":998,"stem":999},{"title":1003,"path":1004,"stem":1005,"children":1006},"Overriding a capability","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability","docs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability\u002Findex",[1007],{"title":1003,"path":1004,"stem":1005},{"title":1009,"path":1010,"stem":1011,"children":1012},"Pagination and filtering","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering\u002Findex",[1013],{"title":1009,"path":1010,"stem":1011},{"title":1015,"path":1016,"stem":1017,"children":1018},"Published OpenAPI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi\u002Findex",[1019],{"title":1015,"path":1016,"stem":1017},{"title":1021,"path":1022,"stem":1023,"children":1024},"The router","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter","docs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter\u002Findex",[1025],{"title":1021,"path":1022,"stem":1023},{"title":1027,"path":1028,"stem":1029,"children":1030},"Tags","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags\u002Findex",[1031],{"title":1027,"path":1028,"stem":1029},{"title":1033,"path":1034,"stem":1035,"children":1036,"icon":108},"Data model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Findex",[1037,1038,1044,1050,1056,1062,1068,1074,1080,1086,1092,1097],{"title":1033,"path":1034,"stem":1035,"icon":108},{"title":1039,"path":1040,"stem":1041,"children":1042},"Adapters","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters\u002Findex",[1043],{"title":1039,"path":1040,"stem":1041},{"title":1045,"path":1046,"stem":1047,"children":1048},"Column types","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types\u002Findex",[1049],{"title":1045,"path":1046,"stem":1047},{"title":1051,"path":1052,"stem":1053,"children":1054},"Cross-app lookups","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups\u002Findex",[1055],{"title":1051,"path":1052,"stem":1053},{"title":1057,"path":1058,"stem":1059,"children":1060},"Migrations","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations\u002Findex",[1061],{"title":1057,"path":1058,"stem":1059},{"title":1063,"path":1064,"stem":1065,"children":1066},"Projections","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections\u002Findex",[1067],{"title":1063,"path":1064,"stem":1065},{"title":1069,"path":1070,"stem":1071,"children":1072},"Relationships","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships\u002Findex",[1073],{"title":1069,"path":1070,"stem":1071},{"title":1075,"path":1076,"stem":1077,"children":1078},"Schema reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference\u002Findex",[1079],{"title":1075,"path":1076,"stem":1077},{"title":1081,"path":1082,"stem":1083,"children":1084},"Scoping","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping\u002Findex",[1085],{"title":1081,"path":1082,"stem":1083},{"title":1087,"path":1088,"stem":1089,"children":1090},"search.json reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fsearch-json","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fsearch-json\u002Findex",[1091],{"title":1087,"path":1088,"stem":1089},{"title":794,"path":1093,"stem":1094,"children":1095},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation\u002Findex",[1096],{"title":794,"path":1093,"stem":1094},{"title":1098,"path":1099,"stem":1100,"children":1101},"The typed client","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client\u002Findex",[1102],{"title":1098,"path":1099,"stem":1100},{"title":1104,"path":1105,"stem":1106,"children":1107},"Getting started","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Findex",[1108,1109,1115],{"title":1104,"path":1105,"stem":1106},{"title":1110,"path":1111,"stem":1112,"children":1113},"App model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model\u002Findex",[1114],{"title":1110,"path":1111,"stem":1112},{"title":1116,"path":1117,"stem":1118,"children":1119},"App isolation","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation\u002Findex",[1120],{"title":1116,"path":1117,"stem":1118},{"title":1122,"path":1123,"stem":1124,"children":1125,"icon":185},"Platform services","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Findex",[1126,1127,1133,1139,1145,1151,1157,1163,1169,1175,1181],{"title":1122,"path":1123,"stem":1124,"icon":185},{"title":1128,"path":1129,"stem":1130,"children":1131},"Entity access","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access\u002Findex",[1132],{"title":1128,"path":1129,"stem":1130},{"title":1134,"path":1135,"stem":1136,"children":1137},"Events you emit","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit\u002Findex",[1138],{"title":1134,"path":1135,"stem":1136},{"title":1140,"path":1141,"stem":1142,"children":1143},"Events you receive","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive\u002Findex",[1144],{"title":1140,"path":1141,"stem":1142},{"title":1146,"path":1147,"stem":1148,"children":1149},"Not yet proven","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven\u002Findex",[1150],{"title":1146,"path":1147,"stem":1148},{"title":1152,"path":1153,"stem":1154,"children":1155},"Outbound HTTP","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http\u002Findex",[1156],{"title":1152,"path":1153,"stem":1154},{"title":1158,"path":1159,"stem":1160,"children":1161},"Permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions\u002Findex",[1162],{"title":1158,"path":1159,"stem":1160},{"title":1164,"path":1165,"stem":1166,"children":1167},"Person permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions\u002Findex",[1168],{"title":1164,"path":1165,"stem":1166},{"title":1170,"path":1171,"stem":1172,"children":1173},"Scheduled work","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work\u002Findex",[1174],{"title":1170,"path":1171,"stem":1172},{"title":1176,"path":1177,"stem":1178,"children":1179},"Tenant identity","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity\u002Findex",[1180],{"title":1176,"path":1177,"stem":1178},{"title":1182,"path":1183,"stem":1184,"children":1185},"Tracing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing\u002Findex",[1186],{"title":1182,"path":1183,"stem":1184},{"title":1188,"path":1189,"stem":1190,"children":1191,"icon":1193},"Ship and operate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Findex",[1192,1194,1200,1206,1212,1218,1224,1230,1236,1242,1248,1254,1260,1266],{"title":1188,"path":1189,"stem":1190,"icon":1193},"i-lucide-rocket",{"title":1195,"path":1196,"stem":1197,"children":1198},"Billing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling\u002Findex",[1199],{"title":1195,"path":1196,"stem":1197},{"title":1201,"path":1202,"stem":1203,"children":1204},"Consent","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent\u002Findex",[1205],{"title":1201,"path":1202,"stem":1203},{"title":1207,"path":1208,"stem":1209,"children":1210},"Dependencies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies\u002Findex",[1211],{"title":1207,"path":1208,"stem":1209},{"title":1213,"path":1214,"stem":1215,"children":1216},"Deploying","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying\u002Findex",[1217],{"title":1213,"path":1214,"stem":1215},{"title":1219,"path":1220,"stem":1221,"children":1222},"Manifest reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference\u002Findex",[1223],{"title":1219,"path":1220,"stem":1221},{"title":1225,"path":1226,"stem":1227,"children":1228},"Operating","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating\u002Findex",[1229],{"title":1225,"path":1226,"stem":1227},{"title":1231,"path":1232,"stem":1233,"children":1234},"Pairing a frontend","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend\u002Findex",[1235],{"title":1231,"path":1232,"stem":1233},{"title":1237,"path":1238,"stem":1239,"children":1240},"Private or Marketplace","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace\u002Findex",[1241],{"title":1237,"path":1238,"stem":1239},{"title":1243,"path":1244,"stem":1245,"children":1246},"Publish and install","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install\u002Findex",[1247],{"title":1243,"path":1244,"stem":1245},{"title":1249,"path":1250,"stem":1251,"children":1252},"Testing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting\u002Findex",[1253],{"title":1249,"path":1250,"stem":1251},{"title":1255,"path":1256,"stem":1257,"children":1258},"Validate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate\u002Findex",[1259],{"title":1255,"path":1256,"stem":1257},{"title":1261,"path":1262,"stem":1263,"children":1264},"Verifying live","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live\u002Findex",[1265],{"title":1261,"path":1262,"stem":1263},{"title":489,"path":1267,"stem":1268,"children":1269},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning\u002Findex",[1270],{"title":489,"path":1267,"stem":1268},{"title":1272,"path":1273,"stem":1274,"children":1275,"icon":1277},"Commerce Studio","\u002Fdocs\u002Fstudios\u002Fcommerce","docs\u002Fstudios\u002Fcommerce\u002Findex",[1276,1278,1350,1410,1459,1464,1517,1571],{"title":1272,"path":1273,"stem":1274,"icon":1277},"i-lucide-shopping-bag",{"title":1279,"path":1280,"stem":1281,"children":1282,"icon":1284},"Build an app","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Findex",[1283,1285,1291,1297,1303,1309,1315,1321,1327,1333,1339,1344],{"title":1279,"path":1280,"stem":1281,"icon":1284},"i-lucide-puzzle",{"title":1286,"path":1287,"stem":1288,"children":1289},"Actions and writes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes\u002Findex",[1290],{"title":1286,"path":1287,"stem":1288},{"title":1292,"path":1293,"stem":1294,"children":1295},"cockpit.json reference","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference\u002Findex",[1296],{"title":1292,"path":1293,"stem":1294},{"title":1298,"path":1299,"stem":1300,"children":1301},"Detail views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views\u002Findex",[1302],{"title":1298,"path":1299,"stem":1300},{"title":1304,"path":1305,"stem":1306,"children":1307},"Forms","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms\u002Findex",[1308],{"title":1304,"path":1305,"stem":1306},{"title":1310,"path":1311,"stem":1312,"children":1313},"From manifest to installed","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Ffrom-manifest-to-installed","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Ffrom-manifest-to-installed\u002Findex",[1314],{"title":1310,"path":1311,"stem":1312},{"title":1316,"path":1317,"stem":1318,"children":1319},"How it renders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders\u002Findex",[1320],{"title":1316,"path":1317,"stem":1318},{"title":1322,"path":1323,"stem":1324,"children":1325},"List views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views\u002Findex",[1326],{"title":1322,"path":1323,"stem":1324},{"title":1328,"path":1329,"stem":1330,"children":1331},"Navigation","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation\u002Findex",[1332],{"title":1328,"path":1329,"stem":1330},{"title":1334,"path":1335,"stem":1336,"children":1337},"Permissions and scope","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope\u002Findex",[1338],{"title":1334,"path":1335,"stem":1336},{"title":939,"path":1340,"stem":1341,"children":1342},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally\u002Findex",[1343],{"title":939,"path":1340,"stem":1341},{"title":1345,"path":1346,"stem":1347,"children":1348},"Widgets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets\u002Findex",[1349],{"title":1345,"path":1346,"stem":1347},{"title":1351,"path":1352,"stem":1353,"children":1354,"icon":1356},"Catalog","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Findex",[1355,1357,1363,1369,1375,1381,1386,1392,1398,1404],{"title":1351,"path":1352,"stem":1353,"icon":1356},"i-lucide-package",{"title":1358,"path":1359,"stem":1360,"children":1361},"Assets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets\u002Findex",[1362],{"title":1358,"path":1359,"stem":1360},{"title":1364,"path":1365,"stem":1366,"children":1367},"Associations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations\u002Findex",[1368],{"title":1364,"path":1365,"stem":1366},{"title":1370,"path":1371,"stem":1372,"children":1373},"Categories","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories\u002Findex",[1374],{"title":1370,"path":1371,"stem":1372},{"title":1376,"path":1377,"stem":1378,"children":1379},"Completeness","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness\u002Findex",[1380],{"title":1376,"path":1377,"stem":1378},{"title":1033,"path":1382,"stem":1383,"children":1384},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model\u002Findex",[1385],{"title":1033,"path":1382,"stem":1383},{"title":1387,"path":1388,"stem":1389,"children":1390},"Import and export","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export\u002Findex",[1391],{"title":1387,"path":1388,"stem":1389},{"title":1393,"path":1394,"stem":1395,"children":1396},"Languages and locale codes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Flanguages-and-locale-codes","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Flanguages-and-locale-codes\u002Findex",[1397],{"title":1393,"path":1394,"stem":1395},{"title":1399,"path":1400,"stem":1401,"children":1402},"Products","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts\u002Findex",[1403],{"title":1399,"path":1400,"stem":1401},{"title":1405,"path":1406,"stem":1407,"children":1408},"References","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences\u002Findex",[1409],{"title":1405,"path":1406,"stem":1407},{"title":1411,"path":1412,"stem":1413,"children":1414,"icon":1416},"Customers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Findex",[1415,1417,1423,1429,1435,1441,1447,1453],{"title":1411,"path":1412,"stem":1413,"icon":1416},"i-lucide-building-2",{"title":1418,"path":1419,"stem":1420,"children":1421},"Contacts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts\u002Findex",[1422],{"title":1418,"path":1419,"stem":1420},{"title":1424,"path":1425,"stem":1426,"children":1427},"Organizations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations\u002Findex",[1428],{"title":1424,"path":1425,"stem":1426},{"title":1430,"path":1431,"stem":1432,"children":1433},"Roles and permissions","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions\u002Findex",[1434],{"title":1430,"path":1431,"stem":1432},{"title":1436,"path":1437,"stem":1438,"children":1439},"Sales reps","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsales-reps","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsales-reps\u002Findex",[1440],{"title":1436,"path":1437,"stem":1438},{"title":1442,"path":1443,"stem":1444,"children":1445},"Segments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments\u002Findex",[1446],{"title":1442,"path":1443,"stem":1444},{"title":1448,"path":1449,"stem":1450,"children":1451},"Storefront accounts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts\u002Findex",[1452],{"title":1448,"path":1449,"stem":1450},{"title":1454,"path":1455,"stem":1456,"children":1457},"Value lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists\u002Findex",[1458],{"title":1454,"path":1455,"stem":1456},{"title":1104,"path":1460,"stem":1461,"children":1462,"icon":1193},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fgetting-started","docs\u002Fstudios\u002Fcommerce\u002Fgetting-started\u002Findex",[1463],{"title":1104,"path":1460,"stem":1461,"icon":1193},{"title":1465,"path":1466,"stem":1467,"children":1468,"icon":615},"Markets and pricing","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Findex",[1469,1470,1476,1482,1488,1494,1500,1506,1511],{"title":1465,"path":1466,"stem":1467,"icon":615},{"title":1471,"path":1472,"stem":1473,"children":1474},"Carriers and tracking","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking\u002Findex",[1475],{"title":1471,"path":1472,"stem":1473},{"title":1477,"path":1478,"stem":1479,"children":1480},"Channels","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels\u002Findex",[1481],{"title":1477,"path":1478,"stem":1479},{"title":1483,"path":1484,"stem":1485,"children":1486},"Markets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets\u002Findex",[1487],{"title":1483,"path":1484,"stem":1485},{"title":1489,"path":1490,"stem":1491,"children":1492},"Payment lifecycle","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle\u002Findex",[1493],{"title":1489,"path":1490,"stem":1491},{"title":1495,"path":1496,"stem":1497,"children":1498},"Payment methods","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods\u002Findex",[1499],{"title":1495,"path":1496,"stem":1497},{"title":1501,"path":1502,"stem":1503,"children":1504},"Price lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists\u002Findex",[1505],{"title":1501,"path":1502,"stem":1503},{"title":951,"path":1507,"stem":1508,"children":1509},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings\u002Findex",[1510],{"title":951,"path":1507,"stem":1508},{"title":1512,"path":1513,"stem":1514,"children":1515},"Shipping rates","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates\u002Findex",[1516],{"title":1512,"path":1513,"stem":1514},{"title":1518,"path":1519,"stem":1520,"children":1521,"icon":1523},"Orders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Findex",[1522,1524,1530,1536,1542,1548,1554,1559,1565],{"title":1518,"path":1519,"stem":1520,"icon":1523},"i-lucide-receipt-text",{"title":1525,"path":1526,"stem":1527,"children":1528},"Carts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts\u002Findex",[1529],{"title":1525,"path":1526,"stem":1527},{"title":1531,"path":1532,"stem":1533,"children":1534},"Documents","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fdocuments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fdocuments\u002Findex",[1535],{"title":1531,"path":1532,"stem":1533},{"title":1537,"path":1538,"stem":1539,"children":1540},"Events and comments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments\u002Findex",[1541],{"title":1537,"path":1538,"stem":1539},{"title":1543,"path":1544,"stem":1545,"children":1546},"Number ranges","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges\u002Findex",[1547],{"title":1543,"path":1544,"stem":1545},{"title":1549,"path":1550,"stem":1551,"children":1552},"Order lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists\u002Findex",[1553],{"title":1549,"path":1550,"stem":1551},{"title":1518,"path":1555,"stem":1556,"children":1557},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders\u002Findex",[1558],{"title":1518,"path":1555,"stem":1556},{"title":1560,"path":1561,"stem":1562,"children":1563},"Returns","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns\u002Findex",[1564],{"title":1560,"path":1561,"stem":1562},{"title":1566,"path":1567,"stem":1568,"children":1569},"Stock","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock\u002Findex",[1570],{"title":1566,"path":1567,"stem":1568},{"title":1572,"path":1573,"stem":1574,"children":1575,"icon":1577},"Procurement","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Findex",[1576,1578,1585],{"title":1572,"path":1573,"stem":1574,"icon":1577},"i-lucide-clipboard-check",{"title":1579,"path":1580,"stem":1581,"children":1582,"icon":1584},"Cost centers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fcost-centers","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fcost-centers\u002Findex",[1583],{"title":1579,"path":1580,"stem":1581,"icon":1584},"i-lucide-wallet",{"title":1586,"path":1587,"stem":1588,"children":1589,"icon":29},"Punchout","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fpunchout","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fpunchout\u002Findex",[1590],{"title":1586,"path":1587,"stem":1588,"icon":29},{"title":1592,"path":1593,"stem":1594,"children":1595},"Integration Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio","docs\u002Fstudios\u002Fintegration-studio\u002Findex",[1596,1597,1634,1671,1701,1706,1736],{"title":1592,"path":1593,"stem":1594},{"title":1598,"path":1599,"stem":1600,"children":1601,"icon":1603},"Build the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Findex",[1602,1604,1610,1616,1622,1628],{"title":1598,"path":1599,"stem":1600,"icon":1603},"i-lucide-workflow",{"title":1605,"path":1606,"stem":1607,"children":1608},"Expressions","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions\u002Findex",[1609],{"title":1605,"path":1606,"stem":1607},{"title":1611,"path":1612,"stem":1613,"children":1614},"Node catalog","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog\u002Findex",[1615],{"title":1611,"path":1612,"stem":1613},{"title":1617,"path":1618,"stem":1619,"children":1620},"Node configuration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration\u002Findex",[1621],{"title":1617,"path":1618,"stem":1619},{"title":1623,"path":1624,"stem":1625,"children":1626},"Templates","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates\u002Findex",[1627],{"title":1623,"path":1624,"stem":1625},{"title":1629,"path":1630,"stem":1631,"children":1632},"The workflow document","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model\u002Findex",[1633],{"title":1629,"path":1630,"stem":1631},{"title":1635,"path":1636,"stem":1637,"children":1638,"icon":1640},"Connect the systems","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Findex",[1639,1641,1647,1653,1659,1665],{"title":1635,"path":1636,"stem":1637,"icon":1640},"i-lucide-key-round",{"title":1642,"path":1643,"stem":1644,"children":1645},"Credentials","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials\u002Findex",[1646],{"title":1642,"path":1643,"stem":1644},{"title":1648,"path":1649,"stem":1650,"children":1651},"File transfer","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles\u002Findex",[1652],{"title":1648,"path":1649,"stem":1650},{"title":1654,"path":1655,"stem":1656,"children":1657},"OAuth","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth\u002Findex",[1658],{"title":1654,"path":1655,"stem":1656},{"title":1660,"path":1661,"stem":1662,"children":1663},"Reaching Revenue Cloud","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud\u002Findex",[1664],{"title":1660,"path":1661,"stem":1662},{"title":1666,"path":1667,"stem":1668,"children":1669},"Secrets","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets\u002Findex",[1670],{"title":1666,"path":1667,"stem":1668},{"title":1672,"path":1673,"stem":1674,"children":1675,"icon":1356},"Extend the Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Findex",[1676,1677,1683,1689,1695],{"title":1672,"path":1673,"stem":1674,"icon":1356},{"title":1678,"path":1679,"stem":1680,"children":1681},"Custom nodes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes\u002Findex",[1682],{"title":1678,"path":1679,"stem":1680},{"title":1684,"path":1685,"stem":1686,"children":1687},"Dynamic behaviour","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour\u002Findex",[1688],{"title":1684,"path":1685,"stem":1686},{"title":1690,"path":1691,"stem":1692,"children":1693},"Package manifest","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest\u002Findex",[1694],{"title":1690,"path":1691,"stem":1692},{"title":1696,"path":1697,"stem":1698,"children":1699},"Registration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration\u002Findex",[1700],{"title":1696,"path":1697,"stem":1698},{"title":1104,"path":1702,"stem":1703,"children":1704,"icon":1193},"\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started","docs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started\u002Findex",[1705],{"title":1104,"path":1702,"stem":1703,"icon":1193},{"title":1707,"path":1708,"stem":1709,"children":1710,"icon":316},"Run, watch, recover","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Findex",[1711,1712,1718,1724,1730],{"title":1707,"path":1708,"stem":1709,"icon":316},{"title":1713,"path":1714,"stem":1715,"children":1716},"Missed runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters\u002Findex",[1717],{"title":1713,"path":1714,"stem":1715},{"title":1719,"path":1720,"stem":1721,"children":1722},"Failure handling","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling\u002Findex",[1723],{"title":1719,"path":1720,"stem":1721},{"title":1725,"path":1726,"stem":1727,"children":1728},"Revisions and audit","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit\u002Findex",[1729],{"title":1725,"path":1726,"stem":1727},{"title":1731,"path":1732,"stem":1733,"children":1734},"Runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns\u002Findex",[1735],{"title":1731,"path":1732,"stem":1733},{"title":1737,"path":1738,"stem":1739,"children":1740,"icon":1742},"Start the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Findex",[1741,1743,1749,1755,1761,1767],{"title":1737,"path":1738,"stem":1739,"icon":1742},"i-lucide-zap",{"title":1744,"path":1745,"stem":1746,"children":1747},"Event triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers\u002Findex",[1748],{"title":1744,"path":1745,"stem":1746},{"title":1750,"path":1751,"stem":1752,"children":1753},"Execution modes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes\u002Findex",[1754],{"title":1750,"path":1751,"stem":1752},{"title":1756,"path":1757,"stem":1758,"children":1759},"Schedule triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers\u002Findex",[1760],{"title":1756,"path":1757,"stem":1758},{"title":1762,"path":1763,"stem":1764,"children":1765},"Triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers\u002Findex",[1766],{"title":1762,"path":1763,"stem":1764},{"title":1768,"path":1769,"stem":1770,"children":1771},"Webhook triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers\u002Findex",[1772],{"title":1768,"path":1769,"stem":1770},{"title":1774,"path":1775,"stem":1776,"children":1777},"Experience Studio","\u002Fdocs\u002Fstudios\u002Fsites","docs\u002Fstudios\u002Fsites\u002Findex",[1778,1779,1827,1885,2011,2017,2059],{"title":1774,"path":1775,"stem":1776},{"title":1780,"path":1781,"stem":1782,"children":1783,"icon":418},"Compose pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Findex",[1784,1785,1791,1797,1803,1809,1815,1821],{"title":1780,"path":1781,"stem":1782,"icon":418},{"title":1786,"path":1787,"stem":1788,"children":1789},"Block catalog","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog\u002Findex",[1790],{"title":1786,"path":1787,"stem":1788},{"title":1792,"path":1793,"stem":1794,"children":1795},"Block options","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options\u002Findex",[1796],{"title":1792,"path":1793,"stem":1794},{"title":1798,"path":1799,"stem":1800,"children":1801},"How a block works","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works\u002Findex",[1802],{"title":1798,"path":1799,"stem":1800},{"title":1804,"path":1805,"stem":1806,"children":1807},"Inline editing","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing\u002Findex",[1808],{"title":1804,"path":1805,"stem":1806},{"title":1810,"path":1811,"stem":1812,"children":1813},"Reading published pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages\u002Findex",[1814],{"title":1810,"path":1811,"stem":1812},{"title":1816,"path":1817,"stem":1818,"children":1819},"Registering blocks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering\u002Findex",[1820],{"title":1816,"path":1817,"stem":1818},{"title":1822,"path":1823,"stem":1824,"children":1825},"Shells and fields","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields\u002Findex",[1826],{"title":1822,"path":1823,"stem":1824},{"title":1828,"path":1829,"stem":1830,"children":1831,"icon":262},"Connect data","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata","docs\u002Fstudios\u002Fsites\u002Fdata\u002Findex",[1832,1833,1838,1844,1850,1856,1861,1867,1873,1879],{"title":1828,"path":1829,"stem":1830,"icon":262},{"title":550,"path":1834,"stem":1835,"children":1836},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication\u002Findex",[1837],{"title":550,"path":1834,"stem":1835},{"title":1839,"path":1840,"stem":1841,"children":1842},"The BFF pattern","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern\u002Findex",[1843],{"title":1839,"path":1840,"stem":1841},{"title":1845,"path":1846,"stem":1847,"children":1848},"Catalog, cart, checkout","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout\u002Findex",[1849],{"title":1845,"path":1846,"stem":1847},{"title":1851,"path":1852,"stem":1853,"children":1854},"Consent manager","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fconsent-manager","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fconsent-manager\u002Findex",[1855],{"title":1851,"path":1852,"stem":1853},{"title":1304,"path":1857,"stem":1858,"children":1859},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms\u002Findex",[1860],{"title":1304,"path":1857,"stem":1858},{"title":1862,"path":1863,"stem":1864,"children":1865},"Media and assets","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia\u002Findex",[1866],{"title":1862,"path":1863,"stem":1864},{"title":1868,"path":1869,"stem":1870,"children":1871},"Multi-tenant themes","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes\u002Findex",[1872],{"title":1868,"path":1869,"stem":1870},{"title":1874,"path":1875,"stem":1876,"children":1877},"Search collections","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch-collections","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch-collections\u002Findex",[1878],{"title":1874,"path":1875,"stem":1876},{"title":1880,"path":1881,"stem":1882,"children":1883},"Search","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch\u002Findex",[1884],{"title":1880,"path":1881,"stem":1882},{"title":1886,"path":1887,"stem":1888,"children":1889,"icon":1193},"Build and deploy","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Findex",[1890,1891,1897,1903,1909,1915,1921,1927,2005],{"title":1886,"path":1887,"stem":1888,"icon":1193},{"title":1892,"path":1893,"stem":1894,"children":1895},"Build configuration","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration\u002Findex",[1896],{"title":1892,"path":1893,"stem":1894},{"title":1898,"path":1899,"stem":1900,"children":1901},"Compute specifications","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications\u002Findex",[1902],{"title":1898,"path":1899,"stem":1900},{"title":1904,"path":1905,"stem":1906,"children":1907},"Environment variables","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables\u002Findex",[1908],{"title":1904,"path":1905,"stem":1906},{"title":1910,"path":1911,"stem":1912,"children":1913},"From Git","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git\u002Findex",[1914],{"title":1910,"path":1911,"stem":1912},{"title":1916,"path":1917,"stem":1918,"children":1919},"From the CLI","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli\u002Findex",[1920],{"title":1916,"path":1917,"stem":1918},{"title":1922,"path":1923,"stem":1924,"children":1925},"Manually","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually\u002Findex",[1926],{"title":1922,"path":1923,"stem":1924},{"title":1928,"path":1929,"stem":1930,"children":1931},"Quick-starts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Findex",[1932,1933,1939,1945,1951,1957,1963,1969,1975,1981,1987,1993,1999],{"title":1928,"path":1929,"stem":1930},{"title":1934,"path":1935,"stem":1936,"children":1937},"Deploy an Angular app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular\u002Findex",[1938],{"title":1934,"path":1935,"stem":1936},{"title":1940,"path":1941,"stem":1942,"children":1943},"Deploy a Astro app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro\u002Findex",[1944],{"title":1940,"path":1941,"stem":1942},{"title":1946,"path":1947,"stem":1948,"children":1949},"Deploy a Flutter Web app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter\u002Findex",[1950],{"title":1946,"path":1947,"stem":1948},{"title":1952,"path":1953,"stem":1954,"children":1955},"Deploy a Next.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs\u002Findex",[1956],{"title":1952,"path":1953,"stem":1954},{"title":1958,"path":1959,"stem":1960,"children":1961},"Deploy a Nuxt app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt\u002Findex",[1962],{"title":1958,"path":1959,"stem":1960},{"title":1964,"path":1965,"stem":1966,"children":1967},"Deploy a React Native app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact-native","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact-native\u002Findex",[1968],{"title":1964,"path":1965,"stem":1966},{"title":1970,"path":1971,"stem":1972,"children":1973},"Deploy a React app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact\u002Findex",[1974],{"title":1970,"path":1971,"stem":1972},{"title":1976,"path":1977,"stem":1978,"children":1979},"Deploy a Remix app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix\u002Findex",[1980],{"title":1976,"path":1977,"stem":1978},{"title":1982,"path":1983,"stem":1984,"children":1985},"Deploy a SvelteKit app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit\u002Findex",[1986],{"title":1982,"path":1983,"stem":1984},{"title":1988,"path":1989,"stem":1990,"children":1991},"Deploy a TanStack Start app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Ftanstack-start","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Ftanstack-start\u002Findex",[1992],{"title":1988,"path":1989,"stem":1990},{"title":1994,"path":1995,"stem":1996,"children":1997},"Deploy a Vanilla JS app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla\u002Findex",[1998],{"title":1994,"path":1995,"stem":1996},{"title":2000,"path":2001,"stem":2002,"children":2003},"Deploy a Vue.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue\u002Findex",[2004],{"title":2000,"path":2001,"stem":2002},{"title":2006,"path":2007,"stem":2008,"children":2009},"Starting points","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points\u002Findex",[2010],{"title":2006,"path":2007,"stem":2008},{"title":1104,"path":2012,"stem":2013,"children":2014,"icon":2016},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fgetting-started","docs\u002Fstudios\u002Fsites\u002Fgetting-started\u002Findex",[2015],{"title":1104,"path":2012,"stem":2013,"icon":2016},"i-lucide-terminal",{"title":2018,"path":2019,"stem":2020,"children":2021,"icon":615},"Production","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Findex",[2022,2023,2029,2035,2041,2047,2053],{"title":2018,"path":2019,"stem":2020,"icon":615},{"title":2024,"path":2025,"stem":2026,"children":2027},"Deployments","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments\u002Findex",[2028],{"title":2024,"path":2025,"stem":2026},{"title":2030,"path":2031,"stem":2032,"children":2033},"Domains","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains\u002Findex",[2034],{"title":2030,"path":2031,"stem":2032},{"title":2036,"path":2037,"stem":2038,"children":2039},"Instant rollbacks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks\u002Findex",[2040],{"title":2036,"path":2037,"stem":2038},{"title":2042,"path":2043,"stem":2044,"children":2045},"Logs","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs\u002Findex",[2046],{"title":2042,"path":2043,"stem":2044},{"title":2048,"path":2049,"stem":2050,"children":2051},"Previews","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews\u002Findex",[2052],{"title":2048,"path":2049,"stem":2050},{"title":2054,"path":2055,"stem":2056,"children":2057},"Publishing a theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme\u002Findex",[2058],{"title":2054,"path":2055,"stem":2056},{"title":2060,"path":2061,"stem":2062,"children":2063,"icon":404},"Build the theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Findex",[2064,2065,2071,2077,2083,2089,2095,2101,2107,2125],{"title":2060,"path":2061,"stem":2062,"icon":404},{"title":2066,"path":2067,"stem":2068,"children":2069},"Theme anatomy","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy\u002Findex",[2070],{"title":2066,"path":2067,"stem":2068},{"title":2072,"path":2073,"stem":2074,"children":2075},"Design tokens","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens\u002Findex",[2076],{"title":2072,"path":2073,"stem":2074},{"title":2078,"path":2079,"stem":2080,"children":2081},"Frameworks","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks\u002Findex",[2082],{"title":2078,"path":2079,"stem":2080},{"title":2084,"path":2085,"stem":2086,"children":2087},"The layer chain","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain\u002Findex",[2088],{"title":2084,"path":2085,"stem":2086},{"title":2090,"path":2091,"stem":2092,"children":2093},"Local development","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development\u002Findex",[2094],{"title":2090,"path":2091,"stem":2092},{"title":2096,"path":2097,"stem":2098,"children":2099},"Modules and plugins","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins\u002Findex",[2100],{"title":2096,"path":2097,"stem":2098},{"title":2102,"path":2103,"stem":2104,"children":2105},"Overriding","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding\u002Findex",[2106],{"title":2102,"path":2103,"stem":2104},{"title":2108,"path":2109,"stem":2110,"children":2111},"Rendering","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Findex",[2112,2113,2119],{"title":2108,"path":2109,"stem":2110},{"title":2114,"path":2115,"stem":2116,"children":2117},"SSR","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr\u002Findex",[2118],{"title":2114,"path":2115,"stem":2116},{"title":2120,"path":2121,"stem":2122,"children":2123},"Static","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic\u002Findex",[2124],{"title":2120,"path":2121,"stem":2122},{"title":2126,"path":2127,"stem":2128,"children":2129},"Service modes","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes\u002Findex",[2130],{"title":2126,"path":2127,"stem":2128},{"title":2132,"path":2133,"stem":2134,"children":2135},"Tools","\u002Fdocs\u002Ftools","docs\u002Ftools\u002Findex",[2136,2137,2144,2359],{"title":2132,"path":2133,"stem":2134},{"title":2138,"path":2139,"stem":2140,"children":2141,"icon":2143},"AI agents","\u002Fdocs\u002Ftools\u002Fai-agents","docs\u002Ftools\u002Fai-agents\u002Findex",[2142],{"title":2138,"path":2139,"stem":2140,"icon":2143},"i-lucide-shield-alert",{"title":2145,"path":2146,"stem":2147,"children":2148},"Command line","\u002Fdocs\u002Ftools\u002Fcommand-line","docs\u002Ftools\u002Fcommand-line\u002Findex",[2149,2150,2156,2161,2167,2173,2179,2185,2191,2197,2317,2323,2329,2335,2341,2347,2353],{"title":2145,"path":2146,"stem":2147},{"title":2151,"path":2152,"stem":2153,"children":2154},"Aliases","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Faliases","docs\u002Ftools\u002Fcommand-line\u002Faliases\u002Findex",[2155],{"title":2151,"path":2152,"stem":2153},{"title":550,"path":2157,"stem":2158,"children":2159},"\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fauthentication","docs\u002Ftools\u002Fcommand-line\u002Fauthentication\u002Findex",[2160],{"title":550,"path":2157,"stem":2158},{"title":2162,"path":2163,"stem":2164,"children":2165},"Commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fcommands","docs\u002Ftools\u002Fcommand-line\u002Fcommands\u002Findex",[2166],{"title":2162,"path":2163,"stem":2164},{"title":2168,"path":2169,"stem":2170,"children":2171},"Global commands reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fglobal-commands","docs\u002Ftools\u002Fcommand-line\u002Fglobal-commands\u002Findex",[2172],{"title":2168,"path":2169,"stem":2170},{"title":2174,"path":2175,"stem":2176,"children":2177},"Installation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finstallation","docs\u002Ftools\u002Fcommand-line\u002Finstallation\u002Findex",[2178],{"title":2174,"path":2175,"stem":2176},{"title":2180,"path":2181,"stem":2182,"children":2183},"Interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finteractive","docs\u002Ftools\u002Fcommand-line\u002Finteractive\u002Findex",[2184],{"title":2180,"path":2181,"stem":2182},{"title":2186,"path":2187,"stem":2188,"children":2189},"Non-interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fnon-interactive","docs\u002Ftools\u002Fcommand-line\u002Fnon-interactive\u002Findex",[2190],{"title":2186,"path":2187,"stem":2188},{"title":2192,"path":2193,"stem":2194,"children":2195},"Project configuration","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fproject-configuration","docs\u002Ftools\u002Fcommand-line\u002Fproject-configuration\u002Findex",[2196],{"title":2192,"path":2193,"stem":2194},{"title":2198,"path":2199,"stem":2200,"children":2201},"Command reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Findex",[2202,2203,2209,2215,2221,2227,2233,2239,2245,2251,2257,2263,2269,2275,2281,2287,2293,2299,2305,2311],{"title":2198,"path":2199,"stem":2200},{"title":2204,"path":2205,"stem":2206,"children":2207},"About commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout\u002Findex",[2208],{"title":2204,"path":2205,"stem":2206},{"title":2210,"path":2211,"stem":2212,"children":2213},"Apps commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps\u002Findex",[2214],{"title":2210,"path":2211,"stem":2212},{"title":2216,"path":2217,"stem":2218,"children":2219},"Carts commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Findex",[2220],{"title":2216,"path":2217,"stem":2218},{"title":2222,"path":2223,"stem":2224,"children":2225},"Channels commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels\u002Findex",[2226],{"title":2222,"path":2223,"stem":2224},{"title":2228,"path":2229,"stem":2230,"children":2231},"Create commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate\u002Findex",[2232],{"title":2228,"path":2229,"stem":2230},{"title":2234,"path":2235,"stem":2236,"children":2237},"Customers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Findex",[2238],{"title":2234,"path":2235,"stem":2236},{"title":2240,"path":2241,"stem":2242,"children":2243},"Deploy commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy\u002Findex",[2244],{"title":2240,"path":2241,"stem":2242},{"title":2246,"path":2247,"stem":2248,"children":2249},"Forms commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms\u002Findex",[2250],{"title":2246,"path":2247,"stem":2248},{"title":2252,"path":2253,"stem":2254,"children":2255},"Markets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets\u002Findex",[2256],{"title":2252,"path":2253,"stem":2254},{"title":2258,"path":2259,"stem":2260,"children":2261},"Order lists commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists\u002Findex",[2262],{"title":2258,"path":2259,"stem":2260},{"title":2264,"path":2265,"stem":2266,"children":2267},"Orders commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders\u002Findex",[2268],{"title":2264,"path":2265,"stem":2266},{"title":2270,"path":2271,"stem":2272,"children":2273},"Pages commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Findex",[2274],{"title":2270,"path":2271,"stem":2272},{"title":2276,"path":2277,"stem":2278,"children":2279},"Prices commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices\u002Findex",[2280],{"title":2276,"path":2277,"stem":2278},{"title":2282,"path":2283,"stem":2284,"children":2285},"Products commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Findex",[2286],{"title":2282,"path":2283,"stem":2284},{"title":2288,"path":2289,"stem":2290,"children":2291},"Search commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch\u002Findex",[2292],{"title":2288,"path":2289,"stem":2290},{"title":2294,"path":2295,"stem":2296,"children":2297},"Settings commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings\u002Findex",[2298],{"title":2294,"path":2295,"stem":2296},{"title":2300,"path":2301,"stem":2302,"children":2303},"Sites commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites\u002Findex",[2304],{"title":2300,"path":2301,"stem":2302},{"title":2306,"path":2307,"stem":2308,"children":2309},"Skills commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills\u002Findex",[2310],{"title":2306,"path":2307,"stem":2308},{"title":2312,"path":2313,"stem":2314,"children":2315},"Storage commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage\u002Findex",[2316],{"title":2312,"path":2313,"stem":2314},{"title":2318,"path":2319,"stem":2320,"children":2321},"Interactive shell (REPL)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Frepl","docs\u002Ftools\u002Fcommand-line\u002Frepl\u002Findex",[2322],{"title":2318,"path":2319,"stem":2320},{"title":2324,"path":2325,"stem":2326,"children":2327},"Scaffolding","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscaffolding","docs\u002Ftools\u002Fcommand-line\u002Fscaffolding\u002Findex",[2328],{"title":2324,"path":2325,"stem":2326},{"title":2330,"path":2331,"stem":2332,"children":2333},"Scripting & output","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscripting","docs\u002Ftools\u002Fcommand-line\u002Fscripting\u002Findex",[2334],{"title":2330,"path":2331,"stem":2332},{"title":2336,"path":2337,"stem":2338,"children":2339},"Skills","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Fskills\u002Findex",[2340],{"title":2336,"path":2337,"stem":2338},{"title":2342,"path":2343,"stem":2344,"children":2345},"Full-screen app (TUI)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftui","docs\u002Ftools\u002Fcommand-line\u002Ftui\u002Findex",[2346],{"title":2342,"path":2343,"stem":2344},{"title":2348,"path":2349,"stem":2350,"children":2351},"Type generation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftype-generation","docs\u002Ftools\u002Fcommand-line\u002Ftype-generation\u002Findex",[2352],{"title":2348,"path":2349,"stem":2350},{"title":2354,"path":2355,"stem":2356,"children":2357},"Background watchers","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fwatch","docs\u002Ftools\u002Fcommand-line\u002Fwatch\u002Findex",[2358],{"title":2354,"path":2355,"stem":2356},{"title":2360,"path":2361,"stem":2362,"children":2363},"Model Context Protocol","\u002Fdocs\u002Ftools\u002Fmcp","docs\u002Ftools\u002Fmcp\u002Findex",[2364,2365,2371,2377,2383,2389,2395,2401,2407],{"title":2360,"path":2361,"stem":2362},{"title":2366,"path":2367,"stem":2368,"children":2369},"revenexx docs MCP in Google Antigravity","\u002Fdocs\u002Ftools\u002Fmcp\u002Fantigravity","docs\u002Ftools\u002Fmcp\u002Fantigravity\u002Findex",[2370],{"title":2366,"path":2367,"stem":2368},{"title":2372,"path":2373,"stem":2374,"children":2375},"revenexx docs MCP in Claude Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-code","docs\u002Ftools\u002Fmcp\u002Fclaude-code\u002Findex",[2376],{"title":2372,"path":2373,"stem":2374},{"title":2378,"path":2379,"stem":2380,"children":2381},"revenexx docs MCP in Claude Desktop","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-desktop","docs\u002Ftools\u002Fmcp\u002Fclaude-desktop\u002Findex",[2382],{"title":2378,"path":2379,"stem":2380},{"title":2384,"path":2385,"stem":2386,"children":2387},"revenexx docs MCP in Cursor","\u002Fdocs\u002Ftools\u002Fmcp\u002Fcursor","docs\u002Ftools\u002Fmcp\u002Fcursor\u002Findex",[2388],{"title":2384,"path":2385,"stem":2386},{"title":2390,"path":2391,"stem":2392,"children":2393},"revenexx docs MCP in OpenCode","\u002Fdocs\u002Ftools\u002Fmcp\u002Fopencode","docs\u002Ftools\u002Fmcp\u002Fopencode\u002Findex",[2394],{"title":2390,"path":2391,"stem":2392},{"title":2396,"path":2397,"stem":2398,"children":2399},"revenexx docs MCP in VS Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fvscode","docs\u002Ftools\u002Fmcp\u002Fvscode\u002Findex",[2400],{"title":2396,"path":2397,"stem":2398},{"title":2402,"path":2403,"stem":2404,"children":2405},"revenexx docs MCP in Windsurf","\u002Fdocs\u002Ftools\u002Fmcp\u002Fwindsurf","docs\u002Ftools\u002Fmcp\u002Fwindsurf\u002Findex",[2406],{"title":2402,"path":2403,"stem":2404},{"title":2408,"path":2409,"stem":2410,"children":2411},"revenexx docs MCP in Zenflow","\u002Fdocs\u002Ftools\u002Fmcp\u002Fzenflow","docs\u002Ftools\u002Fmcp\u002Fzenflow\u002Findex",[2412],{"title":2408,"path":2409,"stem":2410},{"id":2414,"title":1851,"body":2415,"description":4519,"extension":4520,"landing":4521,"links":4521,"meta":4522,"navigation":4524,"path":1852,"seo":4525,"sitemap":4526,"stem":1853,"__hash__":4527},"docs\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fconsent-manager\u002Findex.md",{"type":2416,"value":2417,"toc":4505},"minimark",[2418,2422,2425,2428,2450,2453,2484,2490,2510,2539,2544,2553,2570,2581,2588,2598,2602,2611,2654,2658,2661,2679,2686,2712,2719,3124,3129,3152,3155,3182,3374,3378,3381,3431,3444,3450,3542,3545,3559,3704,3710,3714,3737,3740,3743,3807,3819,3823,3832,3850,4119,4131,4265,4477,4485,4488,4501],[2419,2420,2421],"p",{},"The Consent manager holds a shop's consent. It keeps the purposes the shop runs with the legal basis of each, the vendors and the cookies behind them, and the banner the visitor reads. A banner is never changed live: a draft is saved, previewed and then published as a numbered policy version. A version is frozen, carries a SHA-256 hash over its content, and is never edited or deleted. Every visitor decision is stored as one record that names the version the visitor was shown, and a record is never edited.",[2419,2423,2424],{},"The app stores no IP address, no full user agent and no query string. A record keeps the browser family and major version when the storefront sends them, the path the decision was made on, and the consent id from the visitor's own cookie.",[2419,2426,2427],{},"This page is for two readers:",[2429,2430,2431,2444],"ul",{},[2432,2433,2434,2438,2439,2443],"li",{},[2435,2436,2437],"strong",{},"A storefront"," that shows the banner, reads the published policy and records decisions. Its calls are the delivery reads and ",[2440,2441,2442],"code",{},"POST \u002Fv1\u002Fconsent-manager\u002Frecords",".",[2432,2445,2446,2449],{},[2435,2447,2448],{},"The merchant-side integration"," that manages the registry and the banner, publishes versions and keeps the evidence for a data protection officer. Its calls are the rest.",[2419,2451,2452],{},"To set up a shop, go in this order:",[2454,2455,2456,2463,2469,2475,2481],"ol",{},[2432,2457,2458,2459,2462],{},"Set up the registry: ",[2440,2460,2461],{},"POST \u002Fv1\u002Fconsent-manager\u002Fdefaults",", then adopt vendors from the catalogue or declare them.",[2432,2464,2465,2466,2443],{},"Edit the banner draft with ",[2440,2467,2468],{},"PUT \u002Fv1\u002Fconsent-manager\u002Fbanner",[2432,2470,2471,2472,2443],{},"Preview the draft with ",[2440,2473,2474],{},"POST \u002Fv1\u002Fconsent-manager\u002Fpolicy\u002Fpreview",[2432,2476,2477,2478,2443],{},"Publish it with ",[2440,2479,2480],{},"POST \u002Fv1\u002Fconsent-manager\u002Fpolicy\u002Fpublish",[2432,2482,2483],{},"The storefront then reads the policy from delivery and records each decision.",[2419,2485,2486,2487,2443],{},"Base path: ",[2440,2488,2489],{},"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fconsent-manager",[2419,2491,2492,2493,2496,2497,2500,2501,2506,2507,2443],{},"Each route needs its own scope, named after the route's capability, for example ",[2440,2494,2495],{},"consent-manager.records.create",", or ",[2440,2498,2499],{},"consent-manager.*"," for every route of the app. See ",[2502,2503,2505],"a",{"href":2504},"\u002Fdocs\u002Fservices\u002Fauth\u002Fapi-keys#scopes","Scopes",". A key without the scope is refused with ",[2440,2508,2509],{},"403",[2419,2511,2512,2513,2516,2517,2520,2521,2524,2525,2516,2528,2531,2532,2535,2536,2538],{},"The list routes take ",[2440,2514,2515],{},"limit",", ",[2440,2518,2519],{},"offset"," and ",[2440,2522,2523],{},"order"," (",[2440,2526,2527],{},"column",[2440,2529,2530],{},"column.asc"," or ",[2440,2533,2534],{},"column.desc","). On the vendors list, ",[2440,2537,2515],{}," defaults to 50 and is capped at 200.",[2540,2541,2543],"h2",{"id":2542},"calls-from-the-storefront","Calls from the storefront",[2419,2545,2546,2547,2549,2550,2552],{},"The storefront's calls go from its own server, the BFF, with an API key. They never come from the browser. See ",[2502,2548,1839],{"href":1840}," for why, and ",[2502,2551,550],{"href":1834}," for how the key is used.",[2419,2554,2555,2556,2559,2560,2562,2563,2566,2567,2569],{},"The key needs ",[2440,2557,2558],{},"consent-manager.delivery.policy"," to read the policy and ",[2440,2561,2495],{}," to store decisions. It also needs ",[2440,2564,2565],{},"consent-manager.delivery.preview",", but only if the storefront shows previews. Give the storefront key exactly these scopes, not ",[2440,2568,2499],{},": the wildcard would also let it read and export every record, unlink contacts, prune and publish.",[2419,2571,2572,2573,2576,2577,2580],{},"A visitor's decisions chain by ",[2440,2574,2575],{},"consent_id",", the random UUID v4 in the visitor's own ",[2440,2578,2579],{},"rvx_consent"," cookie.",[2419,2582,2583,2584,2587],{},"A record carries a contact only when the platform attaches a signed-in buyer's identity to the call. A call made with the storefront's API key alone leaves ",[2440,2585,2586],{},"contact_id"," null, and unlinking a contact only matters for records that carry one.",[2419,2589,2590,2591,2594,2595,2597],{},"Send the same ",[2440,2592,2593],{},"X-Revenexx-Market"," header on ",[2440,2596,2442],{}," as on the delivery read. A record is stored under the market in the header, not the market of the version, so a record sent without it counts for the shop.",[2540,2599,2601],{"id":2600},"the-market-header","The market header",[2419,2603,2604,2606,2607,2610],{},[2440,2605,2593],{}," names the market a call is about. The banner draft, the policy versions and the records are kept per market. The ",[2435,2608,2609],{},"shop"," is the tenant as a whole. It is what a call means when no market is named, which is an empty header value.",[2429,2612,2613,2622,2632,2637],{},[2432,2614,2615,2618,2619,2443],{},[2435,2616,2617],{},"Banner reads"," answer the market's own draft. A market without one gets the shop's draft with ",[2440,2620,2621],{},"inherited: true",[2432,2623,2624,2627,2628,2631],{},[2435,2625,2626],{},"Banner writes"," save the draft of the market in the header, and an empty value saves the shop's draft. A market's first save starts from a copy of the shop's draft for the fields it does not send. A ",[2440,2629,2630],{},"texts"," object replaces the stored one whole: languages and labels left out are dropped, so send the full set.",[2432,2633,2634,2636],{},[2435,2635,732],{}," answers the market's latest published policy, and the shop's when the market has none.",[2432,2638,2639,2642,2643,2646,2647,2650,2651,2653],{},[2435,2640,2641],{},"Publish"," freezes the draft of the market named in the header. The market is never read from the body. The version ",[2440,2644,2645],{},"number"," rises across all markets of the tenant. A version's ",[2440,2648,2649],{},"material_number"," is the ",[2440,2652,2645],{}," of the latest material version of the same market, so it skips the numbers other markets used.",[2540,2655,2657],{"id":2656},"registry","Registry",[2419,2659,2660],{},"The registry holds the purposes, the vendors, the cookies and the catalogue of shipped vendors. It also answers the value sets the app owns.",[2419,2662,2663,2664,2667,2668,2671,2672,2675,2676,2678],{},"A purpose has one legal basis: ",[2440,2665,2666],{},"consent"," waits for the visitor's decision, ",[2440,2669,2670],{},"legitimate_interest"," runs until the visitor objects, and ",[2440,2673,2674],{},"necessary"," always runs. A purpose's ",[2440,2677,2440],{}," is fixed once it is created, because vendors, records and the visitor's cookie name it. A purpose that a vendor still serves cannot be deleted; switch it inactive instead, and it leaves the next published version.",[2419,2680,2681,2682,2685],{},"A vendor names the purposes it serves. An active vendor with no active purpose blocks every publish and preview, not just itself, until it is linked to a purpose or switched inactive. A vendor's cookies are its storage entries (cookie, local storage, session storage, IndexedDB or pixel), each with a host of ",[2440,2683,2684],{},"first-party"," or the third-party host.",[2687,2688,2689,2690,2516,2692,2516,2695,2516,2698,2516,2701,2704,2705,2708,2709,2711],"note",{},"Installing the app normally seeds the five purposes (",[2440,2691,2674],{},[2440,2693,2694],{},"statistics",[2440,2696,2697],{},"marketing",[2440,2699,2700],{},"comfort",[2440,2702,2703],{},"external_media","), a default banner and one vendor, ",[2440,2706,2707],{},"revenexx",", which is the shop's own necessary cookies. The seeding at install is not guaranteed to run, so call ",[2440,2710,2461],{}," to be sure (step 1 above); it only adds what is missing. Every other vendor appears only once the merchant adopts it from the catalogue or declares it.",[2419,2713,2714,2715,2718],{},"The catalogue is a library of vendors met in B2B shops. Adopting an entry copies it into the tenant, and the copy is the tenant's: nothing re-reads the catalogue. When the shipped catalogue is newer, the adopted vendor is flagged with ",[2440,2716,2717],{},"catalog_update"," and stays unchanged until the merchant refreshes it.",[2720,2721,2722,2735],"table",{},[2723,2724,2725],"thead",{},[2726,2727,2728,2732],"tr",{},[2729,2730,2731],"th",{},"Operation",[2729,2733,2734],{},"What it does",[2736,2737,2738,2754,2775,2801,2811,2831,2847,2860,2891,2901,2922,2932,2945,2982,2992,3002,3012,3036,3083,3111],"tbody",{},[2726,2739,2740,2745],{},[2741,2742,2743],"td",{},[2440,2744,2461],{},[2741,2746,2747,2748,2750,2751,2443],{},"Creates the five standard purposes, the shop's default banner and the ",[2440,2749,2707],{}," vendor, whatever of them is missing. Idempotent: anything the merchant changed is left as it is. The body is ",[2440,2752,2753],{},"{}",[2726,2755,2756,2761],{},[2741,2757,2758],{},[2440,2759,2760],{},"GET \u002Fv1\u002Fconsent-manager\u002Fpurposes",[2741,2762,2763,2764,2516,2766,2516,2769,2520,2772,2443],{},"Lists the purposes. Filters include ",[2440,2765,2440],{},[2440,2767,2768],{},"legal_basis",[2440,2770,2771],{},"is_active",[2440,2773,2774],{},"is_system",[2726,2776,2777,2782],{},[2741,2778,2779],{},[2440,2780,2781],{},"POST \u002Fv1\u002Fconsent-manager\u002Fpurposes",[2741,2783,2784,2785,2516,2787,2520,2790,2792,2793,2796,2797,2800],{},"Adds a purpose. ",[2440,2786,2440],{},[2440,2788,2789],{},"name",[2440,2791,2768],{}," are required. ",[2440,2794,2795],{},"409"," with ",[2440,2798,2799],{},"code_taken"," when the code exists.",[2726,2802,2803,2808],{},[2741,2804,2805],{},[2440,2806,2807],{},"GET \u002Fv1\u002Fconsent-manager\u002Fpurposes\u002F{id}",[2741,2809,2810],{},"Reads one purpose.",[2726,2812,2813,2818],{},[2741,2814,2815],{},[2440,2816,2817],{},"PUT \u002Fv1\u002Fconsent-manager\u002Fpurposes\u002F{id}",[2741,2819,2820,2821,2823,2824,2524,2827,2830],{},"Partial update. Sending a different ",[2440,2822,2440],{}," is refused with ",[2440,2825,2826],{},"422",[2440,2828,2829],{},"code_immutable","). A changed legal basis applies to versions published afterwards.",[2726,2832,2833,2838],{},[2741,2834,2835],{},[2440,2836,2837],{},"DELETE \u002Fv1\u002Fconsent-manager\u002Fpurposes\u002F{id}",[2741,2839,2840,2841,2796,2843,2846],{},"Removes a purpose that no vendor serves. ",[2440,2842,2795],{},[2440,2844,2845],{},"purpose_in_use"," names how many vendors still do.",[2726,2848,2849,2854],{},[2741,2850,2851],{},[2440,2852,2853],{},"GET \u002Fv1\u002Fconsent-manager\u002Fvendors",[2741,2855,2856,2857,2859],{},"Lists the vendors, with filters on company, country, transfer, catalogue key and version, and more. Flags ",[2440,2858,2717],{}," on an adopted vendor whose catalogue entry is newer.",[2726,2861,2862,2867],{},[2741,2863,2864],{},[2440,2865,2866],{},"POST \u002Fv1\u002Fconsent-manager\u002Fvendors",[2741,2868,2869,2870,2520,2872,2874,2875,2878,2879,2882,2883,2796,2885,2887,2888,2890],{},"Declares a vendor the catalogue does not carry. ",[2440,2871,2440],{},[2440,2873,2789],{}," are required, and ",[2440,2876,2877],{},"purposes"," names the purpose codes it serves. To be publishable, an active vendor also needs a ",[2440,2880,2881],{},"company"," and at least one active purpose. ",[2440,2884,2795],{},[2440,2886,2799],{},"; ",[2440,2889,2826],{}," for an unknown purpose or an invalid legal basis override.",[2726,2892,2893,2898],{},[2741,2894,2895],{},[2440,2896,2897],{},"GET \u002Fv1\u002Fconsent-manager\u002Fvendors\u002F{id}",[2741,2899,2900],{},"Reads one vendor with the codes of its purposes, its cookies and any newer catalogue entry.",[2726,2902,2903,2908],{},[2741,2904,2905],{},[2440,2906,2907],{},"PUT \u002Fv1\u002Fconsent-manager\u002Fvendors\u002F{id}",[2741,2909,2910,2911,2913,2914,2916,2917,2524,2919,2921],{},"Partial update. A ",[2440,2912,2877],{}," list replaces the vendor's purposes. ",[2440,2915,2826],{}," for a changed ",[2440,2918,2440],{},[2440,2920,2829],{},") or an unknown purpose.",[2726,2923,2924,2929],{},[2741,2925,2926],{},[2440,2927,2928],{},"DELETE \u002Fv1\u002Fconsent-manager\u002Fvendors\u002F{id}",[2741,2930,2931],{},"Removes the vendor with its cookies and purpose links. Published versions keep naming it, because they are frozen.",[2726,2933,2934,2939],{},[2741,2935,2936],{},[2440,2937,2938],{},"GET \u002Fv1\u002Fconsent-manager\u002Fcookies",[2741,2940,2941,2942,2443],{},"Lists cookies and storage entries. Usually filtered with ",[2440,2943,2944],{},"vendor_id",[2726,2946,2947,2952],{},[2741,2948,2949],{},[2440,2950,2951],{},"POST \u002Fv1\u002Fconsent-manager\u002Fcookies",[2741,2953,2954,2955,2520,2957,2959,2960,2963,2964,2967,2968,2970,2971,2974,2975,2977,2978,2981],{},"Declares a cookie under a vendor. ",[2440,2956,2944],{},[2440,2958,2789],{}," are required; ",[2440,2961,2962],{},"kind"," defaults to ",[2440,2965,2966],{},"cookie",". ",[2440,2969,2826],{}," for an unknown vendor (",[2440,2972,2973],{},"unknown_vendor",") or a ",[2440,2976,2962],{}," outside the five storage kinds (",[2440,2979,2980],{},"invalid_kind",").",[2726,2983,2984,2989],{},[2741,2985,2986],{},[2440,2987,2988],{},"GET \u002Fv1\u002Fconsent-manager\u002Fcookies\u002F{id}",[2741,2990,2991],{},"Reads one cookie.",[2726,2993,2994,2999],{},[2741,2995,2996],{},[2440,2997,2998],{},"PUT \u002Fv1\u002Fconsent-manager\u002Fcookies\u002F{id}",[2741,3000,3001],{},"Partial update of one cookie.",[2726,3003,3004,3009],{},[2741,3005,3006],{},[2440,3007,3008],{},"DELETE \u002Fv1\u002Fconsent-manager\u002Fcookies\u002F{id}",[2741,3010,3011],{},"Removes one cookie.",[2726,3013,3014,3019],{},[2741,3015,3016],{},[2440,3017,3018],{},"GET \u002Fv1\u002Fconsent-manager\u002Fcatalog",[2741,3020,3021,3022,2516,3025,2520,3028,3031,3032,3035],{},"Lists the shipped catalogue, with ",[2440,3023,3024],{},"adopted",[2440,3026,3027],{},"adopted_version",[2440,3029,3030],{},"newer_available"," per entry. ",[2440,3033,3034],{},"?category="," narrows it to one group.",[2726,3037,3038,3043],{},[2741,3039,3040],{},[2440,3041,3042],{},"POST \u002Fv1\u002Fconsent-manager\u002Fcatalog\u002Fadopt",[2741,3044,3045,3046,3049,3050,3052,3053,3056,3057,3060,3061,3064,3065,3068,3069,2796,3071,3074,3075,3077,3078,2796,3080,2443],{},"Copies one catalogue vendor, its cookies and its purpose links into the tenant. Body: ",[2440,3047,3048],{},"key"," (required), ",[2440,3051,2877],{}," (optional, replaces the catalogue's purpose codes; an empty list keeps them) and ",[2440,3054,3055],{},"refresh"," (optional, see below). Answers ",[2440,3058,3059],{},"201"," when adopted and ",[2440,3062,3063],{},"200"," when refreshed. ",[2440,3066,3067],{},"404"," for an unknown key; ",[2440,3070,2795],{},[2440,3072,3073],{},"already_adopted"," when the vendor is adopted and ",[2440,3076,3055],{}," was not sent; ",[2440,3079,2826],{},[2440,3081,3082],{},"unknown_purpose",[2726,3084,3085,3090],{},[2741,3086,3087],{},[2440,3088,3089],{},"GET \u002Fv1\u002Fconsent-manager\u002Fvocabularies",[2741,3091,3092,3093,2516,3096,2516,3099,2516,3102,2516,3105,2516,3108,2443],{},"Lists the six value sets the app owns, without their values: ",[2440,3094,3095],{},"legal-bases",[2440,3097,3098],{},"cookie-kinds",[2440,3100,3101],{},"record-actions",[2440,3103,3104],{},"record-surfaces",[2440,3106,3107],{},"banner-layouts",[2440,3109,3110],{},"google-signals",[2726,3112,3113,3118],{},[2741,3114,3115],{},[2440,3116,3117],{},"GET \u002Fv1\u002Fconsent-manager\u002Fvocabularies\u002F{name}",[2741,3119,3120,3121,3123],{},"Reads one value set in full, with each value's German and English label. The sets are closed; a value outside one is refused. ",[2440,3122,3067],{}," for an unknown name.",[3125,3126,3128],"h3",{"id":3127},"refreshing-an-adopted-vendor","Refreshing an adopted vendor",[2419,3130,3131,3132,3135,3136,2516,3138,2520,3140,3143,3144,3146,3147,3149,3150,2443],{},"Sending ",[2440,3133,3134],{},"refresh: true"," on adopt takes the catalogue's current fields and replaces the vendor's cookies. It also overwrites the merchant's own edits to the vendor's catalogue fields and purpose links. ",[2440,3137,2440],{},[2440,3139,2771],{},[2440,3141,3142],{},"position"," are kept. A vendor the merchant declared with the same code as the catalogue key counts as adopted: adopt refuses it with ",[2440,3145,2795],{},", and a refresh overwrites it. Without ",[2440,3148,3055],{},", an adopted key is refused with ",[2440,3151,2795],{},[2540,3153,951],{"id":3154},"settings",[2419,3156,3157,3158,2516,3161,2516,3164,2516,3167,2516,3170,3173,3174,3177,3178,3181],{},"The app has seven settings. Each one is set per market or per tenant. Five of them (",[2440,3159,3160],{},"consent_lifetime_days",[2440,3162,3163],{},"banner_layout",[2440,3165,3166],{},"show_cookie_details",[2440,3168,3169],{},"banner_exempt_paths",[2440,3171,3172],{},"google_consent_mode",") are frozen into each version, so a change reaches visitors with the next publish. ",[2440,3175,3176],{},"reconsent_on_publish"," applies at the moment you publish. ",[2440,3179,3180],{},"proof_retention_days"," is read by every prune, so a change applies at the next prune run, the daily one included.",[2720,3183,3184,3203],{},[2723,3185,3186],{},[2726,3187,3188,3191,3194,3197,3200],{},[2729,3189,3190],{},"Setting",[2729,3192,3193],{},"Scope",[2729,3195,3196],{},"Default",[2729,3198,3199],{},"Range or values",[2729,3201,3202],{},"Effect",[2736,3204,3205,3236,3255,3284,3307,3326,3354],{},[2726,3206,3207,3211,3214,3219,3229],{},[2741,3208,3209],{},[2440,3210,3163],{},[2741,3212,3213],{},"market",[2741,3215,3216],{},[2440,3217,3218],{},"box",[2741,3220,3221,2516,3223,2516,3226],{},[2440,3222,3218],{},[2440,3224,3225],{},"bar",[2440,3227,3228],{},"modal",[2741,3230,3231,3232,3235],{},"How the first layer is shown: a box in a corner, a bar along the bottom, or a modal over the page. Accept all and reject all are equal in every layout. A draft layout of ",[2440,3233,3234],{},"null"," follows this setting.",[2726,3237,3238,3242,3244,3249,3252],{},[2741,3239,3240],{},[2440,3241,3160],{},[2741,3243,3213],{},[2741,3245,3246],{},[2440,3247,3248],{},"365",[2741,3250,3251],{},"30 to 730 days",[2741,3253,3254],{},"How long a decision holds. After that the banner asks again. A value outside the range falls back to 365.",[2726,3256,3257,3261,3263,3268,3275],{},[2741,3258,3259],{},[2440,3260,3176],{},[2741,3262,3213],{},[2741,3264,3265],{},[2440,3266,3267],{},"material_only",[2741,3269,3270,2516,3272],{},[2440,3271,3267],{},[2440,3273,3274],{},"always",[2741,3276,3277,3278,3280,3281,3283],{},"Whether a publish asks every visitor again. ",[2440,3279,3267],{}," asks when the publish is material; ",[2440,3282,3274],{}," asks after every publish.",[2726,3285,3286,3290,3292,3297,3304],{},[2741,3287,3288],{},[2440,3289,3166],{},[2741,3291,3213],{},[2741,3293,3294],{},[2440,3295,3296],{},"true",[2741,3298,3299,2516,3301],{},[2440,3300,3296],{},[2440,3302,3303],{},"false",[2741,3305,3306],{},"Whether the second layer lists each cookie and storage entry under its vendor.",[2726,3308,3309,3313,3315,3320,3323],{},[2741,3310,3311],{},[2440,3312,3169],{},[2741,3314,3213],{},[2741,3316,3317],{},[2440,3318,3319],{},"\u002Fdatenschutz,\u002Fimpressum",[2741,3321,3322],{},"Comma-separated paths, up to 1000 characters",[2741,3324,3325],{},"Pages where the banner covers nothing and shows as a bar, so the privacy policy and imprint stay readable before a decision.",[2726,3327,3328,3332,3334,3339,3346],{},[2741,3329,3330],{},[2440,3331,3172],{},[2741,3333,3213],{},[2741,3335,3336],{},[2440,3337,3338],{},"basic",[2741,3340,3341,2516,3343],{},[2440,3342,3338],{},[2440,3344,3345],{},"off",[2741,3347,3348,3350,3351,3353],{},[2440,3349,3338],{}," sends Consent Mode v2 with every signal denied until a decision, then the update. ",[2440,3352,3345],{}," sends nothing. Advanced mode is not offered.",[2726,3355,3356,3360,3363,3368,3371],{},[2741,3357,3358],{},[2440,3359,3180],{},[2741,3361,3362],{},"tenant",[2741,3364,3365],{},[2440,3366,3367],{},"1095",[2741,3369,3370],{},"365 to 3650 days",[2741,3372,3373],{},"How long a record is kept after it is superseded or expired. Records past this are removed by the prune. A change applies at the next prune, the daily one included, not at a publish. Values below 365 are never applied.",[2540,3375,3377],{"id":3376},"banner-and-policy-versions","Banner and policy versions",[2419,3379,3380],{},"The banner draft holds the layout and the labels per language, and the links to the shop's privacy policy and imprint. A visitor sees nothing from a draft until it is published.",[2429,3382,3383,3401,3425],{},[2432,3384,3385,3388,3389,2516,3391,2531,3393,2496,3395,3397,3398,3400],{},[2435,3386,3387],{},"Layout"," is ",[2440,3390,3218],{},[2440,3392,3225],{},[2440,3394,3228],{},[2440,3396,3234],{}," to follow the ",[2440,3399,3163],{}," setting.",[2432,3402,3403,3406,3407,2516,3410,2516,3413,2516,3416,2516,3419,2520,3422,3424],{},[2435,3404,3405],{},"Labels"," are given per language. The labels ",[2440,3408,3409],{},"title",[2440,3411,3412],{},"body",[2440,3414,3415],{},"accept_all",[2440,3417,3418],{},"reject_all",[2440,3420,3421],{},"save",[2440,3423,3154],{}," are required before publishing.",[2432,3426,3427,3430],{},[2435,3428,3429],{},"Reject all"," must be present in every language the draft speaks. Reject all always stands beside accept all, so the refusal applies wherever accept all is offered.",[3432,3433,3434,3437,3438,2796,3440,3443],"warning",{},[2435,3435,3436],{},"A publish stores nothing when it is refused."," A language that lacks its reject-all label gets ",[2440,3439,2826],{},[2440,3441,3442],{},"reject_label_missing",", and no version is created. The same goes for every refusal in the table below.",[2419,3445,3446,3447,3449],{},"A publish or a preview is refused with ",[2440,3448,2826],{}," when:",[2720,3451,3452,3465],{},[2723,3453,3454],{},[2726,3455,3456,3459,3462],{},[2729,3457,3458],{},"Code",[2729,3460,3461],{},"Refused when",[2729,3463,3464],{},"Details",[2736,3466,3467,3479,3493,3510,3525],{},[2726,3468,3469,3474,3477],{},[2741,3470,3471],{},[2440,3472,3473],{},"no_locale",[2741,3475,3476],{},"The draft carries no text in any language.",[2741,3478],{},[2726,3480,3481,3485,3488],{},[2741,3482,3483],{},[2440,3484,3442],{},[2741,3486,3487],{},"A language has no reject-all label.",[2741,3489,3490],{},[2440,3491,3492],{},"locale",[2726,3494,3495,3500,3503],{},[2741,3496,3497],{},[2440,3498,3499],{},"banner_incomplete",[2741,3501,3502],{},"A language lacks one of the required labels.",[2741,3504,3505,2516,3507],{},[2440,3506,3492],{},[2440,3508,3509],{},"missing",[2726,3511,3512,3517,3520],{},[2741,3513,3514],{},[2440,3515,3516],{},"vendor_without_purpose",[2741,3518,3519],{},"An active vendor serves no active purpose.",[2741,3521,3522],{},[2440,3523,3524],{},"vendors",[2726,3526,3527,3532,3538],{},[2741,3528,3529],{},[2440,3530,3531],{},"vendor_without_company",[2741,3533,3534,3535,3537],{},"An active vendor has no ",[2440,3536,2881],{},". Only the shop's own platform vendor may leave it empty.",[2741,3539,3540],{},[2440,3541,3524],{},[2419,3543,3544],{},"Preview is refused by the same rules as a publish.",[2419,3546,3547,3548,3551,3552,3554,3555,3558],{},"A publish renders the draft with the active purposes, the active vendors and the settings in every language the draft speaks. It stores the result as the next version, with a SHA-256 hash over the version's ",[2440,3549,3550],{},"content"," field, serialized as compact JSON (no whitespace) with object keys sorted recursively and arrays in their stored order, as UTF-8. Recomputing the hash that way over a stored version's ",[2440,3553,3550],{}," and comparing it with the stored ",[2440,3556,3557],{},"sha256"," shows whether the content still matches what was published.",[2720,3560,3561,3569],{},[2723,3562,3563],{},[2726,3564,3565,3567],{},[2729,3566,2731],{},[2729,3568,2734],{},[2736,3570,3571,3584,3614,3633,3663,3691],{},[2726,3572,3573,3578],{},[2741,3574,3575],{},[2440,3576,3577],{},"GET \u002Fv1\u002Fconsent-manager\u002Fbanner",[2741,3579,3580,3581,3583],{},"Reads the banner draft for the market in the header, or the shop's draft with ",[2440,3582,2621],{},". A tenant with no draft gets the default one created.",[2726,3585,3586,3590],{},[2741,3587,3588],{},[2440,3589,2468],{},[2741,3591,3592,3593,3595,3596,3599,3600,3602,3603,2524,3606,3609,3610,3613],{},"Saves the draft for the market. A market's first save starts from a copy of the shop's draft for the fields it does not send. A ",[2440,3594,2630],{}," object replaces the stored one whole: languages and labels left out are dropped, so send the full set. Nothing a visitor sees changes until the next publish. ",[2440,3597,3598],{},"400"," when the body has no field to update; ",[2440,3601,2826],{}," for an invalid ",[2440,3604,3605],{},"layout",[2440,3607,3608],{},"invalid_layout","), an unknown label (",[2440,3611,3612],{},"unknown_label",") or invalid texts.",[2726,3615,3616,3620],{},[2741,3617,3618],{},[2440,3619,2474],{},[2741,3621,3622,3623,3625,3626,3629,3630,3632],{},"Renders the draft exactly as a publish would, without publishing it, and answers a preview token. Send ",[2440,3624,2753],{}," when you set nothing; ",[2440,3627,3628],{},"ttl_hours"," sets how long the token answers, 72 by default and at most 168. ",[2440,3631,2826],{}," for any refusal in the table above.",[2726,3634,3635,3639],{},[2741,3636,3637],{},[2440,3638,2480],{},[2741,3640,3641,3642,3645,3646,3648,3649,3651,3652,3654,3655,2796,3657,3660,3661,3632],{},"Freezes the draft of the market in the header as the next policy version. Body fields: ",[2440,3643,3644],{},"material"," (default ",[2440,3647,3296],{},", see below) and ",[2440,3650,2687],{}," (at most 500 characters); send ",[2440,3653,2753],{}," for the defaults. ",[2440,3656,2795],{},[2440,3658,3659],{},"publish_raced"," when another publish took the same number at the same moment; publish again. ",[2440,3662,2826],{},[2726,3664,3665,3670],{},[2741,3666,3667],{},[2440,3668,3669],{},"GET \u002Fv1\u002Fconsent-manager\u002Fpolicy-versions",[2741,3671,3672,3673,2516,3675,2516,3677,2516,3679,2516,3681,2516,3683,2516,3685,2520,3688,2443],{},"Lists the published versions. Filters include ",[2440,3674,2645],{},[2440,3676,3213],{},[2440,3678,3644],{},[2440,3680,2649],{},[2440,3682,3557],{},[2440,3684,2687],{},[2440,3686,3687],{},"published_at",[2440,3689,3690],{},"published_by",[2726,3692,3693,3698],{},[2741,3694,3695],{},[2440,3696,3697],{},"GET \u002Fv1\u002Fconsent-manager\u002Fpolicy-versions\u002F{id}",[2741,3699,3700,3701,3703],{},"Reads one version with its frozen content and hash. ",[2440,3702,3067],{}," for a version that is not this tenant's.",[2419,3705,3706,3707,2443],{},"Versions are the evidence of what visitors read, so none can be edited or deleted: the version routes have no write method, and an edit or delete is answered with ",[2440,3708,3709],{},"405",[3125,3711,3713],{"id":3712},"material-and-renewal","Material and renewal",[2419,3715,3716,2963,3718,3720,3721,3724,3725,3727,3728,3730,3731,3733,3734,3736],{},[2440,3717,3644],{},[2440,3719,3296],{},", so a plain publish asks every visitor again. Send ",[2440,3722,3723],{},"material: false"," for a change that should not: it keeps the visitors' earlier decisions valid. Two cases ask every visitor again anyway: the ",[2440,3726,3176],{}," setting is ",[2440,3729,3274],{},", or there is no earlier version. The ",[2440,3732,2649],{}," of a version is the ",[2440,3735,2645],{}," of the latest material version of the same market, up to and including it. The storefront asks again when the number in a visitor's cookie is lower.",[2540,3738,732],{"id":3739},"delivery",[2419,3741,3742],{},"Delivery is what a storefront reads.",[2720,3744,3745,3753],{},[2723,3746,3747],{},[2726,3748,3749,3751],{},[2729,3750,2731],{},[2729,3752,2734],{},[2736,3754,3755,3783],{},[2726,3756,3757,3762],{},[2741,3758,3759],{},[2440,3760,3761],{},"GET \u002Fv1\u002Fconsent-manager\u002Fdelivery\u002Fpolicy",[2741,3763,3764,3765,3768,3769,2516,3772,2516,3774,2516,3776,2516,3778,2520,3780,3782],{},"Reads the published policy for the market in the header, or the shop's. The answer carries a ",[2440,3766,3767],{},"version"," object with ",[2440,3770,3771],{},"id",[2440,3773,2645],{},[2440,3775,3557],{},[2440,3777,3644],{},[2440,3779,2649],{},[2440,3781,3687],{},", followed by the frozen content the storefront renders and gates by. Cached at the gateway for the whole tenant, per market, for 300 seconds, and dropped on every publish.",[2726,3784,3785,3790],{},[2741,3786,3787],{},[2440,3788,3789],{},"GET \u002Fv1\u002Fconsent-manager\u002Fdelivery\u002Fpreview\u002F{token}",[2741,3791,3792,3793,3796,3797,3799,3800,2796,3803,3806],{},"Reads a draft preview by token. The answer has the same shape as the delivered policy, with ",[2440,3794,3795],{},"version.preview: true"," and no version id. Not cached. ",[2440,3798,3067],{}," for an unknown token; ",[2440,3801,3802],{},"410",[2440,3804,3805],{},"preview_expired"," once it has run out.",[2687,3808,3809,3810,2796,3812,2520,3815,3818],{},"With nothing published, delivery answers ",[2440,3811,3067],{},[2440,3813,3814],{},"no_policy_published",[2440,3816,3817],{},"details.reason: nothing_published",". The storefront treats that as everything denied: no banner is shown and no optional tool loads.",[2540,3820,3822],{"id":3821},"records","Records",[2419,3824,3825,3826,3828,3829,3831],{},"A record is one visitor decision. It is stored under the version that was shown, and it is never edited. A visitor's decisions chain by ",[2440,3827,2575],{},". A full withdrawal mints a new one. The ",[2440,3830,2575],{}," is never handed to a tag.",[2419,3833,3834,3836,3837,2516,3839,2516,3842,2516,3845,2520,3848,2443],{},[2440,3835,2442],{}," takes one decision, at most 4 KB. The required fields are ",[2440,3838,2575],{},[2440,3840,3841],{},"action",[2440,3843,3844],{},"surface",[2440,3846,3847],{},"policy_version_id",[2440,3849,3492],{},[3851,3852,3857],"pre",{"className":3853,"code":3854,"language":3855,"meta":3856,"style":3856},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"consent_id\": \"6f1c2a9e-4b7d-4e8a-9c3f-2d5b8e1a7f40\",\n  \"action\": \"custom\",\n  \"surface\": \"preferences\",\n  \"policy_version_id\": \"0b9e4f7a-3c21-4d6e-8a5b-1f2e3d4c5b6a\",\n  \"locale\": \"de\",\n  \"decisions\": { \"purposes\": { \"statistics\": \"granted\" }, \"vendors\": { \"youtube\": \"granted\" } },\n  \"user_agent_class\": \"Firefox 131\",\n  \"client_ts\": \"2026-10-16T09:30:00Z\",\n  \"page_path\": \"\u002Fprodukte\"\n}\n","json","",[2440,3858,3859,3868,3895,3915,3935,3955,3975,4051,4072,4093,4113],{"__ignoreMap":3856},[3860,3861,3864],"span",{"class":3862,"line":3863},"line",1,[3860,3865,3867],{"class":3866},"sMK4o","{\n",[3860,3869,3871,3874,3877,3880,3883,3886,3890,3892],{"class":3862,"line":3870},2,[3860,3872,3873],{"class":3866},"  \"",[3860,3875,2575],{"class":3876},"spNyl",[3860,3878,3879],{"class":3866},"\"",[3860,3881,3882],{"class":3866},":",[3860,3884,3885],{"class":3866}," \"",[3860,3887,3889],{"class":3888},"sfazB","6f1c2a9e-4b7d-4e8a-9c3f-2d5b8e1a7f40",[3860,3891,3879],{"class":3866},[3860,3893,3894],{"class":3866},",\n",[3860,3896,3898,3900,3902,3904,3906,3908,3911,3913],{"class":3862,"line":3897},3,[3860,3899,3873],{"class":3866},[3860,3901,3841],{"class":3876},[3860,3903,3879],{"class":3866},[3860,3905,3882],{"class":3866},[3860,3907,3885],{"class":3866},[3860,3909,3910],{"class":3888},"custom",[3860,3912,3879],{"class":3866},[3860,3914,3894],{"class":3866},[3860,3916,3918,3920,3922,3924,3926,3928,3931,3933],{"class":3862,"line":3917},4,[3860,3919,3873],{"class":3866},[3860,3921,3844],{"class":3876},[3860,3923,3879],{"class":3866},[3860,3925,3882],{"class":3866},[3860,3927,3885],{"class":3866},[3860,3929,3930],{"class":3888},"preferences",[3860,3932,3879],{"class":3866},[3860,3934,3894],{"class":3866},[3860,3936,3938,3940,3942,3944,3946,3948,3951,3953],{"class":3862,"line":3937},5,[3860,3939,3873],{"class":3866},[3860,3941,3847],{"class":3876},[3860,3943,3879],{"class":3866},[3860,3945,3882],{"class":3866},[3860,3947,3885],{"class":3866},[3860,3949,3950],{"class":3888},"0b9e4f7a-3c21-4d6e-8a5b-1f2e3d4c5b6a",[3860,3952,3879],{"class":3866},[3860,3954,3894],{"class":3866},[3860,3956,3958,3960,3962,3964,3966,3968,3971,3973],{"class":3862,"line":3957},6,[3860,3959,3873],{"class":3866},[3860,3961,3492],{"class":3876},[3860,3963,3879],{"class":3866},[3860,3965,3882],{"class":3866},[3860,3967,3885],{"class":3866},[3860,3969,3970],{"class":3888},"de",[3860,3972,3879],{"class":3866},[3860,3974,3894],{"class":3866},[3860,3976,3978,3980,3983,3985,3987,3990,3992,3995,3997,3999,4001,4003,4006,4008,4010,4012,4015,4017,4020,4022,4024,4026,4028,4030,4032,4035,4037,4039,4041,4043,4045,4048],{"class":3862,"line":3977},7,[3860,3979,3873],{"class":3866},[3860,3981,3982],{"class":3876},"decisions",[3860,3984,3879],{"class":3866},[3860,3986,3882],{"class":3866},[3860,3988,3989],{"class":3866}," {",[3860,3991,3885],{"class":3866},[3860,3993,2877],{"class":3994},"sBMFI",[3860,3996,3879],{"class":3866},[3860,3998,3882],{"class":3866},[3860,4000,3989],{"class":3866},[3860,4002,3885],{"class":3866},[3860,4004,2694],{"class":4005},"sbssI",[3860,4007,3879],{"class":3866},[3860,4009,3882],{"class":3866},[3860,4011,3885],{"class":3866},[3860,4013,4014],{"class":3888},"granted",[3860,4016,3879],{"class":3866},[3860,4018,4019],{"class":3866}," },",[3860,4021,3885],{"class":3866},[3860,4023,3524],{"class":3994},[3860,4025,3879],{"class":3866},[3860,4027,3882],{"class":3866},[3860,4029,3989],{"class":3866},[3860,4031,3885],{"class":3866},[3860,4033,4034],{"class":4005},"youtube",[3860,4036,3879],{"class":3866},[3860,4038,3882],{"class":3866},[3860,4040,3885],{"class":3866},[3860,4042,4014],{"class":3888},[3860,4044,3879],{"class":3866},[3860,4046,4047],{"class":3866}," }",[3860,4049,4050],{"class":3866}," },\n",[3860,4052,4054,4056,4059,4061,4063,4065,4068,4070],{"class":3862,"line":4053},8,[3860,4055,3873],{"class":3866},[3860,4057,4058],{"class":3876},"user_agent_class",[3860,4060,3879],{"class":3866},[3860,4062,3882],{"class":3866},[3860,4064,3885],{"class":3866},[3860,4066,4067],{"class":3888},"Firefox 131",[3860,4069,3879],{"class":3866},[3860,4071,3894],{"class":3866},[3860,4073,4075,4077,4080,4082,4084,4086,4089,4091],{"class":3862,"line":4074},9,[3860,4076,3873],{"class":3866},[3860,4078,4079],{"class":3876},"client_ts",[3860,4081,3879],{"class":3866},[3860,4083,3882],{"class":3866},[3860,4085,3885],{"class":3866},[3860,4087,4088],{"class":3888},"2026-10-16T09:30:00Z",[3860,4090,3879],{"class":3866},[3860,4092,3894],{"class":3866},[3860,4094,4096,4098,4101,4103,4105,4107,4110],{"class":3862,"line":4095},10,[3860,4097,3873],{"class":3866},[3860,4099,4100],{"class":3876},"page_path",[3860,4102,3879],{"class":3866},[3860,4104,3882],{"class":3866},[3860,4106,3885],{"class":3866},[3860,4108,4109],{"class":3888},"\u002Fprodukte",[3860,4111,4112],{"class":3866},"\"\n",[3860,4114,4116],{"class":3862,"line":4115},11,[3860,4117,4118],{"class":3866},"}\n",[2419,4120,4121,4122,2650,4124,4127,4128,4130],{},"The ids in this example are placeholders: ",[2440,4123,3847],{},[2440,4125,4126],{},"version.id"," the storefront got from delivery, and every purpose and vendor code must be in that version (here, ",[2440,4129,4034],{}," must have been adopted from the catalogue before the publish).",[2429,4132,4133,4164,4185,4237,4244,4251,4257],{},[2432,4134,4135,4139,4140,2516,4142,2516,4144,2516,4146,2516,4149,2531,4152,2967,4155,4157,4158,4160,4161,2443],{},[2435,4136,4137],{},[2440,4138,3841],{}," is one of ",[2440,4141,3415],{},[2440,4143,3418],{},[2440,4145,3910],{},[2440,4147,4148],{},"vendor_grant",[2440,4150,4151],{},"withdraw",[2440,4153,4154],{},"renew",[2440,4156,4148],{}," is the visitor allowing one vendor. ",[2440,4159,4154],{}," is a decision given again when the banner asks again. The labels are in ",[2440,4162,4163],{},"GET \u002Fv1\u002Fconsent-manager\u002Fvocabularies\u002Frecord-actions",[2432,4165,4166,4139,4170,2516,4173,2516,4175,2531,4178,4181,4182,2443],{},[2435,4167,4168],{},[2440,4169,3844],{},[2440,4171,4172],{},"first_layer",[2440,4174,3930],{},[2440,4176,4177],{},"privacy_link",[2440,4179,4180],{},"content_gate",". The labels are in ",[2440,4183,4184],{},"GET \u002Fv1\u002Fconsent-manager\u002Fvocabularies\u002Frecord-surfaces",[2432,4186,4187,4191,4192,2516,4194,2531,4197,4200,4201,4203,4204,4206,4207,4209,4210,4212,4213,4215,4216,2531,4218,4220,4221,4223,4224,4226,4227,2531,4229,4231,4232,2520,4234,2443],{},[2435,4188,4189],{},[2440,4190,3982],{}," holds purposes and vendors by code, each ",[2440,4193,4014],{},[2440,4195,4196],{},"denied",[2440,4198,4199],{},"objected",". Every purpose of the shown version is stored explicitly. A ",[2440,4202,2674],{}," purpose is always stored ",[2440,4205,4014],{},". A consent purpose left out is stored ",[2440,4208,4196],{},"; a ",[2440,4211,2670],{}," purpose left out is stored ",[2440,4214,4014],{},", and on ",[2440,4217,3418],{},[2440,4219,4151],{}," it is stored ",[2440,4222,4199],{},". An ",[2440,4225,3415],{}," that denies or objects to a purpose, or a ",[2440,4228,3418],{},[2440,4230,4151],{}," that grants one, is refused with ",[2440,4233,2826],{},[2440,4235,4236],{},"contradicts_action",[2432,4238,4239,4243],{},[2435,4240,4241],{},[2440,4242,4058],{}," is optional. It is the browser as family and major version. A longer value is reduced to that; a full user agent is never stored. Without it, the record keeps no browser class.",[2432,4245,4246,4250],{},[2435,4247,4248],{},[2440,4249,4079],{}," is the visitor's clock when they decided, kept as a hint. A record retried on a later page view carries it.",[2432,4252,4253,4256],{},[2435,4254,4255],{},"The contact"," is never read from the body. A record carries one only when the call is made for a signed-in buyer (see Calls from the storefront above).",[2432,4258,4259,4264],{},[2435,4260,4261],{},[2440,4262,4263],{},"expires_at"," is the time received plus the version's consent lifetime. It is set by the app, not sent by the caller.",[2720,4266,4267,4275],{},[2723,4268,4269],{},[2726,4270,4271,4273],{},[2729,4272,2731],{},[2729,4274,2734],{},[2736,4276,4277,4315,4352,4365,4378,4410,4431,4452],{},[2726,4278,4279,4283],{},[2741,4280,4281],{},[2440,4282,2442],{},[2741,4284,4285,4286,4288,4289,2796,4291,4294,4295,2796,4298,4301,4302,4304,4305,2516,4307,2531,4309,2524,4311,4314],{},"Records one decision. ",[2440,4287,3059],{}," with the stored record. ",[2440,4290,3063],{},[2440,4292,4293],{},"deduplicated: true"," when the browser's latest record has the same action and decisions under the same version, so nothing new is stored. ",[2440,4296,4297],{},"413",[2440,4299,4300],{},"too_large"," above 4 KB. ",[2440,4303,2826],{}," for an unknown version, locale, purpose or vendor; an invalid action, surface or consent id; a decision value other than ",[2440,4306,4014],{},[2440,4308,4196],{},[2440,4310,4199],{},[2440,4312,4313],{},"invalid_decision","); or a decision that contradicts its action.",[2726,4316,4317,4322],{},[2741,4318,4319],{},[2440,4320,4321],{},"GET \u002Fv1\u002Fconsent-manager\u002Frecords",[2741,4323,4324,4325,2516,4327,2516,4329,2516,4331,2516,4333,2516,4336,2516,4339,2516,4341,2516,4343,2516,4346,2516,4348,2520,4350,2443],{},"Lists the records. Filters include ",[2440,4326,2575],{},[2440,4328,3841],{},[2440,4330,3844],{},[2440,4332,3847],{},[2440,4334,4335],{},"policy_number",[2440,4337,4338],{},"policy_sha256",[2440,4340,3492],{},[2440,4342,3213],{},[2440,4344,4345],{},"recorded_at",[2440,4347,4263],{},[2440,4349,4100],{},[2440,4351,2586],{},[2726,4353,4354,4359],{},[2741,4355,4356],{},[2440,4357,4358],{},"GET \u002Fv1\u002Fconsent-manager\u002Frecords\u002F{id}",[2741,4360,4361,4362,4364],{},"Reads one record. ",[2440,4363,3067],{}," for a record that is not this tenant's.",[2726,4366,4367,4372],{},[2741,4368,4369],{},[2440,4370,4371],{},"GET \u002Fv1\u002Fconsent-manager\u002Frecords\u002Fby-consent\u002F{consent_id}",[2741,4373,4374,4375,4377],{},"Reads one browser's decisions, oldest first, each naming the version it was shown under. ",[2440,4376,3598],{}," when the id is not a UUID.",[2726,4379,4380,4385],{},[2741,4381,4382],{},[2440,4383,4384],{},"GET \u002Fv1\u002Fconsent-manager\u002Frecords\u002Fexport",[2741,4386,4387,4388,4391,4392,4395,4396,4399,4400,2520,4402,4404,4405,2967,4407,4409],{},"Exports the records received from ",[2440,4389,4390],{},"from"," (inclusive) to ",[2440,4393,4394],{},"to"," (exclusive), oldest first, as rows and as one CSV rendering. At most 1000 rows per call; continue with ",[2440,4397,4398],{},"next_offset",". Optional ",[2440,4401,3213],{},[2440,4403,2515],{},"\u002F",[2440,4406,2519],{},[2440,4408,3598],{}," when a date is invalid.",[2726,4411,4412,4417],{},[2741,4413,4414],{},[2440,4415,4416],{},"GET \u002Fv1\u002Fconsent-manager\u002Frecords\u002Fsummary",[2741,4418,4419,4420,2516,4422,2516,4424,4426,4427,4430],{},"Counts per purpose (",[2440,4421,4014],{},[2440,4423,4196],{},[2440,4425,4199],{},", and a rate) and per action, for one market and an optional period. It names no consent id, record id or contact. It stops after about 10,000 records (it counts in pages of 500) and then says ",[2440,4428,4429],{},"truncated: true",", meaning more records may exist.",[2726,4432,4433,4438],{},[2741,4434,4435],{},[2440,4436,4437],{},"POST \u002Fv1\u002Fconsent-manager\u002Frecords\u002Funlink-contact",[2741,4439,4440,4441,4443,4444,4446,4447,2796,4449,4377],{},"For an erasure request. Body: ",[2440,4442,2586],{}," (required). Sets ",[2440,4445,2586],{}," to null on every record of that contact and changes nothing else; the proof stays. ",[2440,4448,2826],{},[2440,4450,4451],{},"invalid_contact",[2726,4453,4454,4459],{},[2741,4455,4456],{},[2440,4457,4458],{},"POST \u002Fv1\u002Fconsent-manager\u002Frecords\u002Fprune",[2741,4460,4461,4462,4464,4465,4468,4469,4472,4473,4476],{},"Removes records that were superseded or expired longer ago than ",[2440,4463,3180],{},". Previews by default: send ",[2440,4466,4467],{},"dry_run: false"," to delete. Bounded per call; ",[2440,4470,4471],{},"has_more"," says whether to call again. The daily ",[2440,4474,4475],{},"prune-records"," schedule runs it for real.",[2419,4478,4479,4480,4482,4483,2443],{},"Records are never edited. An update answers ",[2440,4481,3709],{},". The only change a record ever sees is unlinking its contact, and the only removal is a prune past ",[2440,4484,3180],{},[2540,4486,586],{"id":4487},"events",[2419,4489,4490,4491,4494,4495,4498,4499,2443],{},"The app emits ",[2440,4492,4493],{},"consent_record.created"," when a record is stored and ",[2440,4496,4497],{},"policy_version.published"," when a version is frozen. See ",[2502,4500,586],{"href":587},[4502,4503,4504],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":3856,"searchDepth":3870,"depth":3870,"links":4506},[4507,4508,4509,4512,4513,4516,4517,4518],{"id":2542,"depth":3870,"text":2543},{"id":2600,"depth":3870,"text":2601},{"id":2656,"depth":3870,"text":2657,"children":4510},[4511],{"id":3127,"depth":3897,"text":3128},{"id":3154,"depth":3870,"text":951},{"id":3376,"depth":3870,"text":3377,"children":4514},[4515],{"id":3712,"depth":3897,"text":3713},{"id":3739,"depth":3870,"text":732},{"id":3821,"depth":3870,"text":3822},{"id":4487,"depth":3870,"text":586},"The Consent manager app that holds a shop's purposes, vendors, cookies and banner, freezes each published banner into a hashed policy version, and keeps a record of every visitor decision.","md",null,{"status":4523},"published",{"title":1851},{"title":1851,"description":4519},{"loc":1852},"V7STFGuDT-8FyUZ-zk0Z7FLtlZUU1h-DI--Pyz8gPbk",1792233120189]