[{"data":1,"prerenderedAt":5486},["ShallowReactive",2],{"navigation_docs":3,"-docs-services-messaging":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":617,"body":2415,"description":5478,"extension":5479,"landing":5480,"links":5480,"meta":5481,"navigation":5482,"path":618,"seo":5483,"sitemap":5484,"stem":619,"__hash__":5485},"docs\u002Fdocs\u002Fservices\u002Fmessaging\u002Findex.md",{"type":2416,"value":2417,"toc":5459},"minimark",[2418,2477,2504,2525,2530,2567,2588,2591,2637,2639,2727,2886,2894,2902,3139,3142,3274,3277,3280,3359,3368,3515,3517,3610,3613,3644,3647,3651,3654,3752,3758,3870,3872,3920,3924,3927,4030,4032,4177,4181,4237,4239,4298,4341,4345,4395,4401,4542,4664,4689,4729,4733,4773,4810,4813,4840,4896,4899,4902,4968,5009,5015,5110,5153,5156,5209,5290,5293,5320,5330,5358,5362,5389,5431,5435],[2419,2420,2421,2422,2426,2427,2430,2431,2434,2435,2438,2439,2441,2442,2445,2446,2449,2450,2453,2454,2457,2458,2426,2461,2464,2465,2468,2469,2472,2473,2476],"p",{},"The Messaging operations are for developers who send messages to their customers, or who manage how a tenant's messages look and where they go. A tenant's messages are built from ",[2423,2424,2425],"strong",{},"templates"," and ",[2423,2428,2429],{},"layouts"," (letterheads). A template is saved as a draft and goes live only when you publish it, and each publish keeps a version. A ready-made ",[2423,2432,2433],{},"library"," gives you starting points. A ",[2423,2436,2437],{},"binding"," routes an event topic to a template. ",[2423,2440,1477],{}," carry the messages, and each channel has its own ",[2423,2443,2444],{},"credentials",". You can ",[2423,2447,2448],{},"send"," a message or ",[2423,2451,2452],{},"preview"," one without sending it. The ",[2423,2455,2456],{},"delivery log",", ",[2423,2459,2460],{},"stats",[2423,2462,2463],{},"suppressions"," show what happened. ",[2423,2466,2467],{},"Push subscriptions"," register browsers. ",[2423,2470,2471],{},"Privacy erasure"," removes one person from the delivery log. The ",[2423,2474,2475],{},"change log"," records changes to templates, layouts, suppressions and channel credentials, and it cannot be edited.",[2419,2478,2479,2480,2484,2485,2457,2488,2457,2491,2457,2494,2457,2497,2426,2500,2503],{},"There are 45 operations, all under ",[2481,2482,2483],"code",{},"\u002Fv1\u002Fmessaging",". The channels are ",[2481,2486,2487],{},"email",[2481,2489,2490],{},"sms",[2481,2492,2493],{},"whatsapp",[2481,2495,2496],{},"push",[2481,2498,2499],{},"webhook",[2481,2501,2502],{},"inapp",".",[2419,2505,2506,2507,2510,2511,2513,2514,2517,2518,2521,2522,2503],{},"A message goes out in one of two ways. You call ",[2481,2508,2509],{},"POST \u002Fv1\u002Fmessaging\u002Fsend"," with a template key, a channel and a recipient address. Or a ",[2423,2512,2437],{}," sends it when an event arrives on its topic. Either way, the template must be ",[2423,2515,2516],{},"published"," first: a template that only exists as a draft is not sent (a send answers ",[2481,2519,2520],{},"404","), except as a test with ",[2481,2523,2524],{},"draft: true",[2526,2527,2529],"h2",{"id":2528},"before-you-call","Before you call",[2419,2531,2532,2533,2536,2537,2540,2541,2544,2545,2548,2549,2552,2553,2556,2557,2560,2561,2426,2564,2566],{},"Every call needs one of the two credentials the gateway accepts: an API key in ",[2481,2534,2535],{},"X-Revenexx-Api-Key",", or a Bearer token. An API key must carry the ",[2481,2538,2539],{},"messaging"," scope (or ",[2481,2542,2543],{},"*","); without it the call fails with ",[2481,2546,2547],{},"403"," and the message ",[2481,2550,2551],{},"api key missing scope: messaging",". Send your tenant in ",[2481,2554,2555],{},"X-Revenexx-Tenant"," on every call; without it the call fails with ",[2481,2558,2559],{},"400",". See ",[2562,2563,550],"a",{"href":551},[2562,2565,556],{"href":557}," for how to get and send a credential.",[2419,2568,2569,2570,2573,2574,2577,2578,2580,2581,2583,2584,2587],{},"Operations need one of two roles in the tenant. Reads, preview, send and push subscriptions need the ",[2481,2571,2572],{},"user"," or ",[2481,2575,2576],{},"admin"," role. Every write to templates, versions, layouts, bindings, suppressions, channel credentials and the configuration, every channel-credential operation (reads included), privacy erasure and the change log need ",[2481,2579,2576],{},". A credential without the role gets ",[2481,2582,2547],{},", with ",[2481,2585,2586],{},"error.details.required_any_of"," naming the roles that would pass.",[2419,2589,2590],{},"More responses you can meet:",[2592,2593,2594,2607,2623],"ul",{},[2595,2596,2597,2602,2603,2606],"li",{},[2423,2598,2599],{},[2481,2600,2601],{},"422"," means a write or a filter was refused. ",[2481,2604,2605],{},"error.details"," maps each field that failed to its messages.",[2595,2608,2609,2612,2613,2615,2616,2619,2620,2503],{},[2423,2610,2611],{},"Two error bodies."," A refusal by the gateway (missing tenant, missing scope, rate limit) has the flat shape described on ",[2562,2614,513],{"href":514},". An answer from the messaging operations themselves nests it: ",[2481,2617,2618],{},"{\"error\": {\"code\", \"message\", \"details\"}}",". Branch on ",[2481,2621,2622],{},"error.code",[2595,2624,2625,2630,2631,2634,2635,2503],{},[2423,2626,2627],{},[2481,2628,2629],{},"429"," means the rate limit was exceeded. Wait for the ",[2481,2632,2633],{},"Retry-After"," header before you retry. See ",[2562,2636,531],{"href":532},[2526,2638,1623],{"id":2425},[2419,2640,2641,2642,2645,2646,2649,2650,2457,2653,2457,2656,2457,2659,2457,2662,2457,2665,2457,2668,2457,2671,2674,2675,2678,2679,2681,2682,2457,2685,2457,2688,2457,2691,2457,2694,2457,2697,2457,2700,2457,2703,2706,2707,2710,2711,2573,2714,2717,2718,2457,2720,2426,2723,2726],{},"A template is addressed by its ",[2481,2643,2644],{},"key"," and has an ",[2481,2647,2648],{},"id",". A template's content (",[2481,2651,2652],{},"subject",[2481,2654,2655],{},"body_html",[2481,2657,2658],{},"body_text",[2481,2660,2661],{},"design",[2481,2663,2664],{},"variables",[2481,2666,2667],{},"variable_defaults",[2481,2669,2670],{},"layout_id",[2481,2672,2673],{},"message_class",") is versioned: changes to it go into the ",[2423,2676,2677],{},"draft",", and customers receive the ",[2423,2680,2516],{}," version until you publish again. Every other field (",[2481,2683,2684],{},"enabled",[2481,2686,2687],{},"test_mode",[2481,2689,2690],{},"valid_from",[2481,2692,2693],{},"valid_until",[2481,2695,2696],{},"markets",[2481,2698,2699],{},"title",[2481,2701,2702],{},"content_sid",[2481,2704,2705],{},"whatsapp_category",") takes effect at once, without a publish: ",[2481,2708,2709],{},"PATCH"," with ",[2481,2712,2713],{},"enabled: false",[2481,2715,2716],{},"test_mode: true"," on a live template stops real delivery immediately. ",[2481,2719,2644],{},[2481,2721,2722],{},"channel",[2481,2724,2725],{},"locale"," are set at create and cannot be changed.",[2728,2729,2730,2746],"table",{},[2731,2732,2733],"thead",{},[2734,2735,2736,2740,2743],"tr",{},[2737,2738,2739],"th",{},"Operation",[2737,2741,2742],{},"Path",[2737,2744,2745],{},"What it does",[2747,2748,2749,2763,2776,2789,2802,2821,2834,2847,2860,2873],"tbody",{},[2734,2750,2751,2755,2760],{},[2752,2753,2754],"td",{},"List templates",[2752,2756,2757],{},[2481,2758,2759],{},"GET \u002Fv1\u002Fmessaging\u002Ftemplates",[2752,2761,2762],{},"Lists the tenant's templates, by key.",[2734,2764,2765,2768,2773],{},[2752,2766,2767],{},"Create a template",[2752,2769,2770],{},[2481,2771,2772],{},"POST \u002Fv1\u002Fmessaging\u002Ftemplates",[2752,2774,2775],{},"Creates a template. The new row is a draft.",[2734,2777,2778,2781,2786],{},[2752,2779,2780],{},"Read a template",[2752,2782,2783],{},[2481,2784,2785],{},"GET \u002Fv1\u002Fmessaging\u002Ftemplates\u002F{id}",[2752,2787,2788],{},"Returns the draft, not what is live.",[2734,2790,2791,2794,2799],{},[2752,2792,2793],{},"Change a template",[2752,2795,2796],{},[2481,2797,2798],{},"PATCH \u002Fv1\u002Fmessaging\u002Ftemplates\u002F{id}",[2752,2800,2801],{},"Changes the draft. Only the fields you send are written.",[2734,2803,2804,2811,2816],{},[2752,2805,2806,2807,2810],{},"Change a template (",[2481,2808,2809],{},"PUT",")",[2752,2812,2813],{},[2481,2814,2815],{},"PUT \u002Fv1\u002Fmessaging\u002Ftemplates\u002F{id}",[2752,2817,2818,2819,2503],{},"Same action as ",[2481,2820,2709],{},[2734,2822,2823,2826,2831],{},[2752,2824,2825],{},"Delete a template",[2752,2827,2828],{},[2481,2829,2830],{},"DELETE \u002Fv1\u002Fmessaging\u002Ftemplates\u002F{id}",[2752,2832,2833],{},"Deletes the template.",[2734,2835,2836,2839,2844],{},[2752,2837,2838],{},"Publish a template",[2752,2840,2841],{},[2481,2842,2843],{},"POST \u002Fv1\u002Fmessaging\u002Ftemplates\u002F{templateId}\u002Fpublish",[2752,2845,2846],{},"Makes the current draft live.",[2734,2848,2849,2852,2857],{},[2752,2850,2851],{},"List versions",[2752,2853,2854],{},[2481,2855,2856],{},"GET \u002Fv1\u002Fmessaging\u002Ftemplates\u002F{templateId}\u002Fversions",[2752,2858,2859],{},"Lists the publication history, newest first.",[2734,2861,2862,2865,2870],{},[2752,2863,2864],{},"Read a version",[2752,2866,2867],{},[2481,2868,2869],{},"GET \u002Fv1\u002Fmessaging\u002Ftemplates\u002F{templateId}\u002Fversions\u002F{version}",[2752,2871,2872],{},"Returns one published version, whole.",[2734,2874,2875,2878,2883],{},[2752,2876,2877],{},"Restore a version",[2752,2879,2880],{},[2481,2881,2882],{},"POST \u002Fv1\u002Fmessaging\u002Ftemplates\u002F{templateId}\u002Fversions\u002F{version}\u002Frestore",[2752,2884,2885],{},"Puts an older version's content back into the draft.",[2419,2887,2888,2891,2892,2503],{},[2481,2889,2890],{},"{templateId}"," is the template's ",[2481,2893,2648],{},[2419,2895,2896],{},[2423,2897,2898,2899,2901],{},"Key request fields for ",[2481,2900,2772],{},":",[2728,2903,2904,2917],{},[2731,2905,2906],{},[2734,2907,2908,2911,2914],{},[2737,2909,2910],{},"Field",[2737,2912,2913],{},"Required",[2737,2915,2916],{},"Notes",[2747,2918,2919,2931,2942,2954,2977,2988,3003,3014,3029,3048,3059,3080,3093,3106,3117],{},[2734,2920,2921,2925,2928],{},[2752,2922,2923],{},[2481,2924,2722],{},[2752,2926,2927],{},"yes",[2752,2929,2930],{},"The channel the template is sent on.",[2734,2932,2933,2937,2939],{},[2752,2934,2935],{},[2481,2936,2644],{},[2752,2938,2927],{},[2752,2940,2941],{},"The name the template is addressed by.",[2734,2943,2944,2948,2951],{},[2752,2945,2946],{},[2481,2947,2699],{},[2752,2949,2950],{},"no",[2752,2952,2953],{},"The name shown to people. Without it, a list has to derive a name from the key.",[2734,2955,2956,2964,2966],{},[2752,2957,2958,2457,2960,2457,2962],{},[2481,2959,2652],{},[2481,2961,2655],{},[2481,2963,2658],{},[2752,2965,2950],{},[2752,2967,2968,2969,2426,2971,2973,2974,2976],{},"Message content. Send ",[2481,2970,2655],{},[2481,2972,2658],{}," yourself to skip compilation; a ",[2481,2975,2661],{}," sent in the same request overwrites them.",[2734,2978,2979,2983,2985],{},[2752,2980,2981],{},[2481,2982,2661],{},[2752,2984,2950],{},[2752,2986,2987],{},"A design document. The service compiles it against the template's layout.",[2734,2989,2990,2994,2996],{},[2752,2991,2992],{},[2481,2993,2670],{},[2752,2995,2950],{},[2752,2997,2998,2999,3002],{},"The letterhead to use. ",[2481,3000,3001],{},"null"," or absent means the tenant's current default layout, including a later change of default once the template is compiled again.",[2734,3004,3005,3009,3011],{},[2752,3006,3007],{},[2481,3008,2725],{},[2752,3010,2950],{},[2752,3012,3013],{},"The template's language.",[2734,3015,3016,3020,3022],{},[2752,3017,3018],{},[2481,3019,2696],{},[2752,3021,2950],{},[2752,3023,3024,3025,3028],{},"The markets the template is browsed in. ",[2481,3026,3027],{},"[]",", the default, means global.",[2734,3030,3031,3035,3037],{},[2752,3032,3033],{},[2481,3034,2673],{},[2752,3036,2950],{},[2752,3038,3039,2573,3042,3045,3046,2503],{},[2481,3040,3041],{},"transactional",[2481,3043,3044],{},"marketing",". The default is ",[2481,3047,3041],{},[2734,3049,3050,3054,3056],{},[2752,3051,3052],{},[2481,3053,2684],{},[2752,3055,2950],{},[2752,3057,3058],{},"Switch.",[2734,3060,3061,3065,3067],{},[2752,3062,3063],{},[2481,3064,2687],{},[2752,3066,2950],{},[2752,3068,3069,3072,3073,3076,3077,2503],{},[2481,3070,3071],{},"true",": a send renders and logs the message with status ",[2481,3074,3075],{},"test",", and nothing reaches the provider. The call still answers ",[2481,3078,3079],{},"201",[2734,3081,3082,3088,3090],{},[2752,3083,3084,2457,3086],{},[2481,3085,2690],{},[2481,3087,2693],{},[2752,3089,2950],{},[2752,3091,3092],{},"The window in which the template is in force.",[2734,3094,3095,3101,3103],{},[2752,3096,3097,2457,3099],{},[2481,3098,2664],{},[2481,3100,2667],{},[2752,3102,2950],{},[2752,3104,3105],{},"Placeholders, and fallbacks for placeholders an event did not fill.",[2734,3107,3108,3112,3114],{},[2752,3109,3110],{},[2481,3111,2702],{},[2752,3113,2950],{},[2752,3115,3116],{},"The Meta-approved template a WhatsApp message is sent as.",[2734,3118,3119,3123,3125],{},[2752,3120,3121],{},[2481,3122,2705],{},[2752,3124,2950],{},[2752,3126,3127,2457,3129,2457,3132,2573,3135,3138],{},[2481,3128,3044],{},[2481,3130,3131],{},"utility",[2481,3133,3134],{},"authentication",[2481,3136,3137],{},"service",". This sets the price Meta charges per message.",[2419,3140,3141],{},"How it behaves:",[2592,3143,3144,3160,3170,3179,3188,3196,3202,3217,3231,3248,3258,3264],{},[2595,3145,3146,3152,3153,3155,3156,3159],{},[2423,3147,3148,3149,3151],{},"A design the compiler refuses is ",[2481,3150,2601],{},", and nothing is written."," ",[2481,3154,2605],{}," names the block that failed. If the compiler is unavailable, the answer is ",[2481,3157,3158],{},"503",", which is worth retrying; a refused design is not.",[2595,3161,3162,3169],{},[2423,3163,3164,2426,3166,3168],{},[2481,3165,2709],{},[2481,3167,2809],{}," on a template"," write only the fields you send. An audit entry is written only when something changed.",[2595,3171,3172,3175,3176,3178],{},[2423,3173,3174],{},"Moving a template to another layout recompiles it,"," even when nothing else changed. A template whose ",[2481,3177,2655],{}," you wrote yourself is never recompiled.",[2595,3180,3181,3187],{},[2423,3182,3183,3184,3186],{},"Reclassifying ",[2481,3185,2673],{}," changes nothing already sent."," Each message keeps the class it had when it was sent.",[2595,3189,3190],{},[2423,3191,3192,3193,3195],{},"Recategorising ",[2481,3194,2705],{}," takes effect on the next send.",[2595,3197,3198,3201],{},[2423,3199,3200],{},"Deleting a template"," leaves any binding that names its key with nothing to send when its event arrives.",[2595,3203,3204,3209,3210,3212,3213,3216],{},[2423,3205,3206,3208],{},[2481,3207,2785],{}," returns the draft."," To see what customers receive, read the published version. ",[2481,3211,2856],{}," returns ",[2481,3214,3215],{},"meta.has_unpublished_changes",", which says whether the draft has moved on since the last publish.",[2595,3218,3219,3222,3223,3226,3227,3230],{},[2423,3220,3221],{},"Market filter on the list."," With the ",[2481,3224,3225],{},"X-Revenexx-Market"," header, the list shows the global templates and that market's templates. Without the header, it shows only the global ones. ",[2481,3228,3229],{},"?markets=all"," returns every row. The filter only narrows the browsing list. It does not change which tenant you can read.",[2595,3232,3233,3236,3237,3240,3241,3243,3244,3247],{},[2423,3234,3235],{},"Publish"," takes an optional ",[2481,3238,3239],{},"note",". It answers ",[2481,3242,3079],{}," when a new version is written, and ",[2481,3245,3246],{},"200"," with the version that is already live when there was nothing to publish.",[2595,3249,3250,3253,3254,3257],{},[2423,3251,3252],{},"Versions list"," returns summaries only, with no bodies. It sets ",[2481,3255,3256],{},"meta.published_version_id",", which is the live version. Use the version read for the full snapshot.",[2595,3259,3260,3263],{},[2423,3261,3262],{},"Version read"," is addressed by the version number, the small integer on the history row, not by the snapshot's id. It returns what sends rendered while that version was live.",[2595,3265,3266,3269,3270,3273],{},[2423,3267,3268],{},"Restore"," takes ",[2481,3271,3272],{},"publish: true"," to make the restored content live in the same step. The response is the template, not the version.",[2526,3275,3276],{"id":2429},"Layouts",[2419,3278,3279],{},"A layout is a letterhead. Every template that names no layout is framed by the tenant's default layout.",[2728,3281,3282,3292],{},[2731,3283,3284],{},[2734,3285,3286,3288,3290],{},[2737,3287,2739],{},[2737,3289,2742],{},[2737,3291,2745],{},[2747,3293,3294,3307,3320,3333,3346],{},[2734,3295,3296,3299,3304],{},[2752,3297,3298],{},"List layouts",[2752,3300,3301],{},[2481,3302,3303],{},"GET \u002Fv1\u002Fmessaging\u002Flayouts",[2752,3305,3306],{},"Lists the tenant's letterheads, with the default first.",[2734,3308,3309,3312,3317],{},[2752,3310,3311],{},"Create a layout",[2752,3313,3314],{},[2481,3315,3316],{},"POST \u002Fv1\u002Fmessaging\u002Flayouts",[2752,3318,3319],{},"Creates a letterhead.",[2734,3321,3322,3325,3330],{},[2752,3323,3324],{},"Read a layout",[2752,3326,3327],{},[2481,3328,3329],{},"GET \u002Fv1\u002Fmessaging\u002Flayouts\u002F{id}",[2752,3331,3332],{},"Returns one letterhead.",[2734,3334,3335,3338,3343],{},[2752,3336,3337],{},"Change a layout",[2752,3339,3340],{},[2481,3341,3342],{},"PATCH \u002Fv1\u002Fmessaging\u002Flayouts\u002F{id}",[2752,3344,3345],{},"Changes a letterhead.",[2734,3347,3348,3351,3356],{},[2752,3349,3350],{},"Delete a layout",[2752,3352,3353],{},[2481,3354,3355],{},"DELETE \u002Fv1\u002Fmessaging\u002Flayouts\u002F{id}",[2752,3357,3358],{},"Deletes a letterhead and reports what happened to the templates on it.",[2419,3360,3361],{},[2423,3362,3363,3364,2426,3366,2901],{},"Request fields for ",[2481,3365,3316],{},[2481,3367,3342],{},[2728,3369,3370,3380],{},[2731,3371,3372],{},[2734,3373,3374,3376,3378],{},[2737,3375,2910],{},[2737,3377,2913],{},[2737,3379,2916],{},[2747,3381,3382,3395,3407,3427,3440,3467,3482,3500],{},[2734,3383,3384,3389,3392],{},[2752,3385,3386],{},[2481,3387,3388],{},"name",[2752,3390,3391],{},"yes on create",[2752,3393,3394],{},"Up to 191 characters.",[2734,3396,3397,3402,3404],{},[2752,3398,3399],{},[2481,3400,3401],{},"is_default",[2752,3403,2950],{},[2752,3405,3406],{},"Makes this layout the tenant's default.",[2734,3408,3409,3417,3419],{},[2752,3410,3411,2457,3413,2457,3415],{},[2481,3412,2684],{},[2481,3414,2690],{},[2481,3416,2693],{},[2752,3418,2950],{},[2752,3420,3421,3422,3424,3425,2503],{},"Switch and validity window. ",[2481,3423,2693],{}," must not be before ",[2481,3426,2690],{},[2734,3428,3429,3433,3435],{},[2752,3430,3431],{},[2481,3432,2696],{},[2752,3434,2950],{},[2752,3436,3437,3438,2503],{},"The markets the layout is browsed in. Never ",[2481,3439,3001],{},[2734,3441,3442,3462,3464],{},[2752,3443,3444,2457,3447,2457,3450,2457,3453,2457,3456,2457,3459],{},[2481,3445,3446],{},"logo_url",[2481,3448,3449],{},"legal_name",[2481,3451,3452],{},"postal_address",[2481,3454,3455],{},"support_email",[2481,3457,3458],{},"footer_note",[2481,3460,3461],{},"sender_name",[2752,3463,2950],{},[2752,3465,3466],{},"Letterhead content.",[2734,3468,3469,3477,3479],{},[2752,3470,3471,2457,3474],{},[2481,3472,3473],{},"social_links",[2481,3475,3476],{},"menu_links",[2752,3478,2950],{},[2752,3480,3481],{},"Link lists.",[2734,3483,3484,3495,3497],{},[2752,3485,3486,2457,3489,2457,3492],{},[2481,3487,3488],{},"color_accent",[2481,3490,3491],{},"color_bg",[2481,3493,3494],{},"color_text",[2752,3496,2950],{},[2752,3498,3499],{},"Hex colours.",[2734,3501,3502,3510,3512],{},[2752,3503,3504,2457,3507],{},[2481,3505,3506],{},"width",[2481,3508,3509],{},"font_family",[2752,3511,2950],{},[2752,3513,3514],{},"One of a fixed set of values.",[2419,3516,3141],{},[2592,3518,3519,3525,3537,3551,3560,3571,3598],{},[2595,3520,3521,3524],{},[2423,3522,3523],{},"The first layout is always the default,"," whatever the request says. A tenant with no default cannot compile a template that names none.",[2595,3526,3527,3530,3531,2710,3533,3536],{},[2423,3528,3529],{},"The default cannot have a validity window or be switched off."," Asking for either is ",[2481,3532,2601],{},[2481,3534,3535],{},"layout_default_always_in_force",". The check looks at the outcome of the request, so promoting a layout and dating it in one request is also refused.",[2595,3538,3539,2710,3547,3550],{},[2423,3540,3541,3542,3544,3545],{},"Clearing ",[2481,3543,3401],{}," on the current default is ",[2481,3546,2601],{},[2481,3548,3549],{},"layout_default_required",". To change the default, promote another layout. That clears this one.",[2595,3552,3553,3556,3557,3559],{},[2423,3554,3555],{},"A layout change reaches every template on it,"," including templates that were saved long ago. The structure (colours, width, font) is baked into each template's compiled body, so a template keeps its old structure until its ",[2481,3558,2661],{}," is saved again. An audit entry is written only when something changed.",[2595,3561,3562,3567,3568,3570],{},[2423,3563,3564,3566],{},[2481,3565,3303],{}," is filtered by market,"," like the template list. ",[2481,3569,3329],{}," is not filtered.",[2595,3572,3573,3582,3583,2710,3586,2457,3588,2426,3591,3594,3595,3597],{},[2423,3574,3575,3576,3578,3579,2503],{},"Deleting a layout answers ",[2481,3577,3246],{}," with a body, not ",[2481,3580,3581],{},"204"," The body is ",[2481,3584,3585],{},"data",[2481,3587,2648],{},[2481,3589,3590],{},"deleted",[2481,3592,3593],{},"templates_reassigned",", the number of templates that were on it, now moved onto the tenant's default layout. Their compiled body still carries the deleted letterhead's structure until each one's ",[2481,3596,2661],{}," is saved again.",[2595,3599,3600,3603,3604,2457,3606,3609],{},[2423,3601,3602],{},"The default layout cannot be deleted"," (",[2481,3605,2601],{},[2481,3607,3608],{},"layout_is_default","). Make another layout the default first.",[2526,3611,3612],{"id":2433},"Library",[2728,3614,3615,3625],{},[2731,3616,3617],{},[2734,3618,3619,3621,3623],{},[2737,3620,2739],{},[2737,3622,2742],{},[2737,3624,2745],{},[2747,3626,3627],{},[2734,3628,3629,3632,3637],{},[2752,3630,3631],{},"List library templates",[2752,3633,3634],{},[2481,3635,3636],{},"GET \u002Fv1\u002Fmessaging\u002Flibrary",[2752,3638,3639,3640,2426,3642,2503],{},"Lists the platform's ready-made templates. Filter with ",[2481,3641,2722],{},[2481,3643,2725],{},[2419,3645,3646],{},"Library templates are read-only. When a tenant is set up, the platform copies them into the tenant's templates; from then on each copy is the tenant's own template and is changed with the template operations.",[2526,3648,3650],{"id":3649},"bindings","Bindings",[2419,3652,3653],{},"A binding says: when an event on this topic arrives, send this template on this channel to this recipient.",[2728,3655,3656,3666],{},[2731,3657,3658],{},[2734,3659,3660,3662,3664],{},[2737,3661,2739],{},[2737,3663,2742],{},[2737,3665,2745],{},[2747,3667,3668,3684,3697,3710,3723,3739],{},[2734,3669,3670,3673,3678],{},[2752,3671,3672],{},"List bindings",[2752,3674,3675],{},[2481,3676,3677],{},"GET \u002Fv1\u002Fmessaging\u002Fbindings",[2752,3679,3680,3681,2503],{},"Lists the tenant's bindings, in fallback order. Narrow with ",[2481,3682,3683],{},"event_topic",[2734,3685,3686,3689,3694],{},[2752,3687,3688],{},"Create a binding",[2752,3690,3691],{},[2481,3692,3693],{},"POST \u002Fv1\u002Fmessaging\u002Fbindings",[2752,3695,3696],{},"Binds an event topic to a template.",[2734,3698,3699,3702,3707],{},[2752,3700,3701],{},"Read a binding",[2752,3703,3704],{},[2481,3705,3706],{},"GET \u002Fv1\u002Fmessaging\u002Fbindings\u002F{id}",[2752,3708,3709],{},"Returns one binding.",[2734,3711,3712,3715,3720],{},[2752,3713,3714],{},"Change a binding",[2752,3716,3717],{},[2481,3718,3719],{},"PATCH \u002Fv1\u002Fmessaging\u002Fbindings\u002F{id}",[2752,3721,3722],{},"Changes a binding. Only the fields you send are written.",[2734,3724,3725,3730,3735],{},[2752,3726,3727,3728,2810],{},"Change a binding (",[2481,3729,2809],{},[2752,3731,3732],{},[2481,3733,3734],{},"PUT \u002Fv1\u002Fmessaging\u002Fbindings\u002F{id}",[2752,3736,2818,3737,2503],{},[2481,3738,2709],{},[2734,3740,3741,3744,3749],{},[2752,3742,3743],{},"Delete a binding",[2752,3745,3746],{},[2481,3747,3748],{},"DELETE \u002Fv1\u002Fmessaging\u002Fbindings\u002F{id}",[2752,3750,3751],{},"Deletes a binding. The event then does nothing.",[2419,3753,3754],{},[2423,3755,2898,3756,2901],{},[2481,3757,3693],{},[2728,3759,3760,3770],{},[2731,3761,3762],{},[2734,3763,3764,3766,3768],{},[2737,3765,2910],{},[2737,3767,2913],{},[2737,3769,2916],{},[2747,3771,3772,3783,3795,3806,3829,3844,3856],{},[2734,3773,3774,3778,3780],{},[2752,3775,3776],{},[2481,3777,3683],{},[2752,3779,2927],{},[2752,3781,3782],{},"The event that triggers the binding.",[2734,3784,3785,3790,3792],{},[2752,3786,3787],{},[2481,3788,3789],{},"template_key",[2752,3791,2927],{},[2752,3793,3794],{},"The key of the template to send.",[2734,3796,3797,3801,3803],{},[2752,3798,3799],{},[2481,3800,2722],{},[2752,3802,2927],{},[2752,3804,3805],{},"The channel to send on.",[2734,3807,3808,3813,3815],{},[2752,3809,3810],{},[2481,3811,3812],{},"recipient",[2752,3814,2927],{},[2752,3816,3817,3818,3821,3822,3824,3825,3828],{},"A template for the address, not an address. For example, ",[2481,3819,3820],{},"{{ customer.email }}"," is rendered against the event payload. (On ",[2481,3823,2509],{}," the recipient is ",[2481,3826,3827],{},"to",", a plain address.)",[2734,3830,3831,3835,3837],{},[2752,3832,3833],{},[2481,3834,2684],{},[2752,3836,2950],{},[2752,3838,3839,3840,3843],{},"Set ",[2481,3841,3842],{},"false"," to pause the binding.",[2734,3845,3846,3851,3853],{},[2752,3847,3848],{},[2481,3849,3850],{},"fallback_order",[2752,3852,2950],{},[2752,3854,3855],{},"The position of the binding in the list.",[2734,3857,3858,3862,3864],{},[2752,3859,3860],{},[2481,3861,2725],{},[2752,3863,2950],{},[2752,3865,3866,3867,3869],{},"The language this route speaks. ",[2481,3868,3001],{}," means no opinion.",[2419,3871,3141],{},[2592,3873,3874,3880,3902,3910],{},[2595,3875,3876,3879],{},[2423,3877,3878],{},"An event whose recipient renders empty is skipped and logged."," It is not sent to nobody.",[2595,3881,3882,3887,3888,3890,3891,3894,3895,3898,3899,3901],{},[2423,3883,3884,3886],{},[2481,3885,2725],{}," is the operator's statement of the language this route speaks."," For a send from a binding, the language order is the recipient's own language from the event payload, then the binding's ",[2481,3889,2725],{},", then the tenant's ",[2481,3892,3893],{},"default_locale",", then ",[2481,3896,3897],{},"en",". Leave it ",[2481,3900,3001],{}," when nobody has made that decision.",[2595,3903,3904,3909],{},[2423,3905,3906,3907],{},"Pause with ",[2481,3908,2713],{}," instead of deleting. A deleted binding must be typed again from memory later.",[2595,3911,3912,3919],{},[2423,3913,3914,2426,3916,3918],{},[2481,3915,2809],{},[2481,3917,2709],{}," on a binding"," do the same thing.",[2526,3921,3923],{"id":3922},"channels-and-channel-credentials","Channels and channel credentials",[2419,3925,3926],{},"Channels are the ways a message can be delivered. Each channel has a provider, and some channels need credentials. A market can have its own credentials. Without one, the market uses the global credentials.",[2728,3928,3929,3939],{},[2731,3930,3931],{},[2734,3932,3933,3935,3937],{},[2737,3934,2739],{},[2737,3936,2742],{},[2737,3938,2745],{},[2747,3940,3941,3954,3967,3988,4004,4017],{},[2734,3942,3943,3946,3951],{},[2752,3944,3945],{},"List channels",[2752,3947,3948],{},[2481,3949,3950],{},"GET \u002Fv1\u002Fmessaging\u002Fchannels",[2752,3952,3953],{},"Lists the channels that can be sent on, and whether each is switched on.",[2734,3955,3956,3959,3964],{},[2752,3957,3958],{},"Read channel credentials",[2752,3960,3961],{},[2481,3962,3963],{},"GET \u002Fv1\u002Fmessaging\u002Fchannel-credentials",[2752,3965,3966],{},"Shows, per channel, the fields the provider needs and which are set. Secret fields never return their value; other fields (such as a sender number) do.",[2734,3968,3969,3972,3977],{},[2752,3970,3971],{},"Write channel credentials",[2752,3973,3974],{},[2481,3975,3976],{},"PATCH \u002Fv1\u002Fmessaging\u002Fchannel-credentials\u002F{channel}",[2752,3978,3979,3980,3983,3984,3987],{},"Writes the credentials of one channel, or, with ",[2481,3981,3982],{},"?market=",", one market's override. ",[2481,3985,3986],{},"market"," is a query parameter, never a body field.",[2734,3989,3990,3995,4000],{},[2752,3991,3992,3993,2810],{},"Write channel credentials (",[2481,3994,2809],{},[2752,3996,3997],{},[2481,3998,3999],{},"PUT \u002Fv1\u002Fmessaging\u002Fchannel-credentials\u002F{channel}",[2752,4001,2818,4002,2503],{},[2481,4003,2709],{},[2734,4005,4006,4009,4014],{},[2752,4007,4008],{},"Remove channel credentials",[2752,4010,4011],{},[2481,4012,4013],{},"DELETE \u002Fv1\u002Fmessaging\u002Fchannel-credentials\u002F{channel}",[2752,4015,4016],{},"Removes the credentials of a channel, or of one market.",[2734,4018,4019,4022,4027],{},[2752,4020,4021],{},"Verify channel credentials",[2752,4023,4024],{},[2481,4025,4026],{},"POST \u002Fv1\u002Fmessaging\u002Fchannel-credentials\u002F{channel}\u002Fverify",[2752,4028,4029],{},"Checks that the stored credentials work. Sends nothing.",[2419,4031,3141],{},[2592,4033,4034,4042,4060,4070,4097,4106,4120,4143],{},[2595,4035,4036,4041],{},[2423,4037,4038,4039,2503],{},"Read needs ",[2481,4040,2576],{}," The answer includes the identifiers of the provider account and the webhook URL. That URL contains the tenant's callback token. Secret values are never returned.",[2595,4043,4044,4049,4050,4052,4053,4055,4056,4059],{},[2423,4045,4046],{},[2481,4047,4048],{},"GET \u002Fchannel-credentials"," can take ",[2481,4051,3982],{}," for one market, or ",[2481,4054,3229],{}," to get every market in one answer. Each channel then also carries an ",[2481,4057,4058],{},"overrides"," object, keyed by market code. The read also says which providers can be chosen, whether callbacks are arriving, and the URL to paste into the provider's console.",[2595,4061,4062,4069],{},[2423,4063,4064,2426,4066,4068],{},[2481,4065,2709],{},[2481,4067,2809],{}," write only the fields in the body."," The answer says which fields actually changed.",[2595,4071,4072,4077],{},[2423,4073,4074,4075,2901],{},"Three refusals, all ",[2481,4076,2601],{},[2592,4078,4079,4085,4091],{},[2595,4080,4081,4084],{},[2481,4082,4083],{},"unknown_credential_field",": the provider has no field with that name.",[2595,4086,4087,4090],{},[2481,4088,4089],{},"managed_credential",": the platform issues this field, so it cannot be set.",[2595,4092,4093,4096],{},[2481,4094,4095],{},"channel_not_configurable",": the channel has nothing to configure. Push is one of these.",[2595,4098,4099,4105],{},[2423,4100,4101,4104],{},[2481,4102,4103],{},"driver"," switches the provider."," The fields sent in the same request are validated against the new provider, and the previous provider's stored fields for that scope are removed.",[2595,4107,4108,4113,4114,4116,4117,4119],{},[2423,4109,4110,4112],{},[2481,4111,3986],{}," is a lowercase code"," that starts with a letter and has at most 63 characters. Any other value is ",[2481,4115,2601],{},". An empty ",[2481,4118,3982],{}," means the global credentials.",[2595,4121,4122,4129,4130,4135,4136,4138,4139,3152,4141,2503],{},[2423,4123,4124,2710,4127],{},[2481,4125,4126],{},"DELETE",[2481,4128,3982],{}," removes only that market's override. The market then uses the global credentials again. ",[2423,4131,4132,4134],{},[2481,4133,4126],{}," without a market"," removes the channel's credentials, overrides included. It answers ",[2481,4137,3581],{}," whether or not anything was there. A channel that cannot be configured, such as push, is ",[2481,4140,2601],{},[2481,4142,4095],{},[2595,4144,4145,4159,4160,4163,4164,4167,4168,4171,4172,4174,4175,2503],{},[2423,4146,4147,4150,4151,2710,4153,2426,4156,2503],{},[2481,4148,4149],{},"POST ...\u002Fverify"," answers ",[2481,4152,3246],{},[2481,4154,4155],{},"data.ok",[2481,4157,4158],{},"data.message"," Wrong credentials give ",[2481,4161,4162],{},"ok: false",", not a ",[2481,4165,4166],{},"4xx",". A channel with no credential fields, such as push or in-app, gives ",[2481,4169,4170],{},"ok: true"," without any check, because there is nothing to check. An invalid ",[2481,4173,3982],{}," is ",[2481,4176,2601],{},[2526,4178,4180],{"id":4179},"configuration","Configuration",[2728,4182,4183,4193],{},[2731,4184,4185],{},[2734,4186,4187,4189,4191],{},[2737,4188,2739],{},[2737,4190,2742],{},[2737,4192,2745],{},[2747,4194,4195,4208,4221],{},[2734,4196,4197,4200,4205],{},[2752,4198,4199],{},"Read configuration",[2752,4201,4202],{},[2481,4203,4204],{},"GET \u002Fv1\u002Fmessaging\u002Fconfig",[2752,4206,4207],{},"Returns the tenant's messaging configuration.",[2734,4209,4210,4213,4218],{},[2752,4211,4212],{},"Change configuration",[2752,4214,4215],{},[2481,4216,4217],{},"PATCH \u002Fv1\u002Fmessaging\u002Fconfig",[2752,4219,4220],{},"Changes the configuration. Only the fields you send are written.",[2734,4222,4223,4228,4233],{},[2752,4224,4225,4226,2810],{},"Change configuration (",[2481,4227,2809],{},[2752,4229,4230],{},[2481,4231,4232],{},"PUT \u002Fv1\u002Fmessaging\u002Fconfig",[2752,4234,2818,4235,2503],{},[2481,4236,2709],{},[2419,4238,3141],{},[2592,4240,4241,4249,4257,4270,4276,4287],{},[2595,4242,4243,4246,4247,2503],{},[2423,4244,4245],{},"A tenant that was never set up still gets an answer,"," an empty shape and not ",[2481,4248,2520],{},[2595,4250,4251,4256],{},[2423,4252,4253],{},[2481,4254,4255],{},"meta.push_public_key"," is the public VAPID key. A browser needs it to subscribe to push. The private key is never returned.",[2595,4258,4259,4262,4263,4265,4266,2573,4268,2503],{},[2423,4260,4261],{},"Changes reach every message the tenant sends,"," including templates saved long ago, because placeholders are filled in at send time. Writing needs ",[2481,4264,2576],{},". Reading needs ",[2481,4267,2572],{},[2481,4269,2576],{},[2595,4271,4272,4275],{},[2423,4273,4274],{},"Provider credentials cannot be written here."," Use the channel credentials operations.",[2595,4277,4278,4286],{},[2423,4279,4280,4174,4283,4285],{},[2481,4281,4282],{},"defaults.brand",[2481,4284,2601],{},","," not ignored. The letterhead is now set through the layouts operations.",[2595,4288,4289,4297],{},[2423,4290,4291,4292,4174,4295,2503],{},"A half-written ",[2481,4293,4294],{},"quiet_hours",[2481,4296,2601],{}," Setting a start without an end is refused.",[2419,4299,4300,3152,4307,4309,4310,4313,4314,2457,4317,4319,4320,2426,4323,4326,4327,4330,4331,4334,4335,4338,4339,2503],{},[2423,4301,4302,4303,2426,4305,2901],{},"Fields for ",[2481,4304,2709],{},[2481,4306,2809],{},[2481,4308,3893],{}," (the tenant's house language, a fallback in the send order), ",[2481,4311,4312],{},"defaults"," (an object of saved modules), ",[2481,4315,4316],{},"product",[2481,4318,4294],{}," (an object: ",[2481,4321,4322],{},"start",[2481,4324,4325],{},"end"," as ",[2481,4328,4329],{},"HH:MM",", an optional IANA ",[2481,4332,4333],{},"timezone"," and optional message ",[2481,4336,4337],{},"classes","), ",[2481,4340,3455],{},[2526,4342,4344],{"id":4343},"send-and-preview","Send and preview",[2728,4346,4347,4357],{},[2731,4348,4349],{},[2734,4350,4351,4353,4355],{},[2737,4352,2739],{},[2737,4354,2742],{},[2737,4356,2745],{},[2747,4358,4359,4382],{},[2734,4360,4361,4364,4368],{},[2752,4362,4363],{},"Send a message",[2752,4365,4366],{},[2481,4367,2509],{},[2752,4369,4370,4371,4374,4375,4377,4378,4381],{},"Renders a template and sends it now, at ",[2481,4372,4373],{},"send_at",", or at the end of quiet hours (which hold only ",[2481,4376,3044],{}," messages unless the configuration's ",[2481,4379,4380],{},"quiet_hours.classes"," says otherwise).",[2734,4383,4384,4387,4392],{},[2752,4385,4386],{},"Preview a template",[2752,4388,4389],{},[2481,4390,4391],{},"POST \u002Fv1\u002Fmessaging\u002Fpreview",[2752,4393,4394],{},"Renders a template and returns the subject, HTML and text. Sends nothing.",[2419,4396,4397],{},[2423,4398,2898,4399,2901],{},[2481,4400,2509],{},[2728,4402,4403,4413],{},[2731,4404,4405],{},[2734,4406,4407,4409,4411],{},[2737,4408,2910],{},[2737,4410,2913],{},[2737,4412,2916],{},[2747,4414,4415,4427,4437,4448,4459,4470,4481,4492,4505],{},[2734,4416,4417,4422,4424],{},[2752,4418,4419],{},[2481,4420,4421],{},"template",[2752,4423,2927],{},[2752,4425,4426],{},"The template to send.",[2734,4428,4429,4433,4435],{},[2752,4430,4431],{},[2481,4432,2722],{},[2752,4434,2927],{},[2752,4436,3805],{},[2734,4438,4439,4443,4445],{},[2752,4440,4441],{},[2481,4442,3827],{},[2752,4444,2927],{},[2752,4446,4447],{},"The recipient.",[2734,4449,4450,4454,4456],{},[2752,4451,4452],{},[2481,4453,3585],{},[2752,4455,2950],{},[2752,4457,4458],{},"The render model: a map of variable names to values. Nested objects and arrays are allowed.",[2734,4460,4461,4465,4467],{},[2752,4462,4463],{},[2481,4464,2725],{},[2752,4466,2950],{},[2752,4468,4469],{},"The language the caller asks for. Absent means the recipient's language decides.",[2734,4471,4472,4476,4478],{},[2752,4473,4474],{},[2481,4475,3986],{},[2752,4477,2950],{},[2752,4479,4480],{},"The market the send belongs to. Absent means global.",[2734,4482,4483,4487,4489],{},[2752,4484,4485],{},[2481,4486,4373],{},[2752,4488,2950],{},[2752,4490,4491],{},"A time to send later. A time in the past means now.",[2734,4493,4494,4498,4500],{},[2752,4495,4496],{},[2481,4497,2677],{},[2752,4499,2950],{},[2752,4501,4502,4504],{},[2481,4503,3071],{}," sends a test of the draft instead of the published version.",[2734,4506,4507,4512,4514],{},[2752,4508,4509],{},[2481,4510,4511],{},"attachments",[2752,4513,2950],{},[2752,4515,4516,4517,4520,4521,2426,4524,4527,4528,4530,4531,3152,4533,4536,4537,3152,4539,2503],{},"A list of files, each with ",[2481,4518,4519],{},"content"," (base64, required), ",[2481,4522,4523],{},"filename",[2481,4525,4526],{},"content_type","; email only, sent only when the message goes out at once: a message held by ",[2481,4529,4373],{}," or quiet hours, or retried, goes out without them. A URL is not accepted. On another channel it is ",[2481,4532,2601],{},[2481,4534,4535],{},"channel_carries_no_attachments","; a file too large or bad base64 is ",[2481,4538,2601],{},[2481,4540,4541],{},"attachment_rejected",[2592,4543,4544,4564,4595,4610,4625],{},[2595,4545,4546,4552,4553,4555,4556,4558,4559,4561,4562,2503],{},[2423,4547,4548,4551],{},[2481,4549,4550],{},"Idempotency-Key"," header."," This operation accepts it (most writes on the platform do not; see ",[2562,4554,519],{"href":520},"). Use it to make a send safe to retry. The key is opaque to the service. Only its length matters, and keys longer than 191 characters are truncated. ",[2481,4557,3079],{}," means this call created the message. ",[2481,4560,3246],{}," means the key was used before, and the response is the message that key produced. The same key with a different body is ",[2481,4563,2601],{},[2595,4565,4566,4569,4570,4573,4574,4576,4577,4579,4580,4582,4583,4586,4587,4590,4591,4594],{},[2423,4567,4568],{},"A suppressed recipient is not sent to"," when an unexpired suppression on the same channel covers the message's class: scope ",[2481,4571,4572],{},"all"," blocks every message, scope ",[2481,4575,3044],{}," only ",[2481,4578,3044],{}," messages. The call still answers ",[2481,4581,3079],{},", with the message's ",[2481,4584,4585],{},"status"," set to ",[2481,4588,4589],{},"suppressed"," and a ",[2481,4592,4593],{},"suppression_reason",". A scheduled send is checked again when it is delivered, so it can become suppressed later.",[2595,4596,4597,4601,4602,4604,4605,4607,4608,2503],{},[2423,4598,4599],{},[2481,4600,2520],{}," means no template for that key and channel is in force: none exists, none is published, it is switched off (",[2481,4603,2713],{},"), or it is outside ",[2481,4606,2690],{},"\u002F",[2481,4609,2693],{},[2595,4611,4612,4620,4621,4624],{},[2423,4613,4614,2710,4617],{},[2481,4615,4616],{},"502",[2481,4618,4619],{},"send_failed"," means the provider refused or failed. A temporary failure is kept with status ",[2481,4622,4623],{},"retrying"," and retried automatically, so look for the message in the delivery log before you send again with a new key, or the customer may get it twice.",[2595,4626,4627,4630,4631,4633,4634,4636,4637,2457,4639,2457,4642,2457,4645,2457,4648,4651,4652,3894,4654,4656,4657,3894,4660,4663],{},[2423,4628,4629],{},"Locale order."," The caller's ",[2481,4632,2725],{}," comes first, then the recipient's own language from ",[2481,4635,3585],{}," (the first non-empty of ",[2481,4638,2725],{},[2481,4640,4641],{},"language",[2481,4643,4644],{},"customer.locale",[2481,4646,4647],{},"customer.language",[2481,4649,4650],{},"recipient.locale","), then the tenant's ",[2481,4653,3893],{},[2481,4655,3897],{},". Each language also tries its base language (",[2481,4658,4659],{},"de-AT",[2481,4661,4662],{},"de","). The first language a template exists in wins; if none has one, any template for that key and channel is sent.",[2419,4665,4666,3152,4670,4672,4673,4672,4675,2457,4677,4679,4680,2457,4682,2457,4684,2573,4686,4688],{},[2423,4667,2898,4668,2901],{},[2481,4669,4391],{},[2481,4671,4421],{}," (required), ",[2481,4674,2722],{},[2481,4676,3585],{},[2481,4678,2725],{},". The preview takes no ",[2481,4681,3986],{},[2481,4683,4373],{},[2481,4685,2677],{},[2481,4687,4511],{},", because a render does not pick a provider or a time.",[2592,4690,4691,4697,4703,4721],{},[2595,4692,4693,4696],{},[2423,4694,4695],{},"It renders the draft,"," so you can preview a change before you publish it.",[2595,4698,4699,4702],{},[2423,4700,4701],{},"Nothing is stored."," The preview creates no message row, makes no provider call and does not check suppressions.",[2595,4704,4705,4708,4709,2457,4711,2426,4714,4717,4718,4720],{},[2423,4706,4707],{},"The answer"," has ",[2481,4710,2652],{},[2481,4712,4713],{},"html",[2481,4715,4716],{},"text",", exactly as a send would produce them. Each is ",[2481,4719,3001],{}," where the template has no such body. An SMS has no subject and no HTML.",[2595,4722,4723,4728],{},[2423,4724,4725,4727],{},[2481,4726,2725],{}," in the answer"," is the language the preview is in. It may differ from the one you asked for, if the template fell back to another language.",[2526,4730,4732],{"id":4731},"delivery-log","Delivery log",[2728,4734,4735,4745],{},[2731,4736,4737],{},[2734,4738,4739,4741,4743],{},[2737,4740,2739],{},[2737,4742,2742],{},[2737,4744,2745],{},[2747,4746,4747,4760],{},[2734,4748,4749,4752,4757],{},[2752,4750,4751],{},"List messages",[2752,4753,4754],{},[2481,4755,4756],{},"GET \u002Fv1\u002Fmessaging\u002Fmessages",[2752,4758,4759],{},"Lists the delivery log, newest first.",[2734,4761,4762,4765,4770],{},[2752,4763,4764],{},"Read a message",[2752,4766,4767],{},[2481,4768,4769],{},"GET \u002Fv1\u002Fmessaging\u002Fmessages\u002F{id}",[2752,4771,4772],{},"Returns one message, with the render model it was sent with.",[2592,4774,4775,4789,4798,4804],{},[2595,4776,4777,3152,4780,2426,4782,4784,4785,4788],{},[2423,4778,4779],{},"Filters and paging.",[2481,4781,2722],{},[2481,4783,4585],{}," narrow the list. ",[2481,4786,4787],{},"limit"," defaults to 50 and is capped at 200.",[2595,4790,4791,3152,4794,4797],{},[2423,4792,4793],{},"In-app inbox.",[2481,4795,4796],{},"?channel=inapp"," returns the tenant's in-app inbox. Each row is the inbox item itself.",[2595,4799,4800,4803],{},[2423,4801,4802],{},"Not an archive."," Rows are kept only for the retention period, and an erasure request removes them.",[2595,4805,4806,4809],{},[2423,4807,4808],{},"Personal data."," A message carries the data it was sent with. That is why it can be erased.",[2526,4811,4812],{"id":2460},"Stats",[2728,4814,4815,4825],{},[2731,4816,4817],{},[2734,4818,4819,4821,4823],{},[2737,4820,2739],{},[2737,4822,2742],{},[2737,4824,2745],{},[2747,4826,4827],{},[2734,4828,4829,4832,4837],{},[2752,4830,4831],{},"Read stats",[2752,4833,4834],{},[2481,4835,4836],{},"GET \u002Fv1\u002Fmessaging\u002Fstats",[2752,4838,4839],{},"Returns delivery figures for one window and the window before it.",[2592,4841,4842,4860,4873,4879,4885],{},[2595,4843,4844,2710,4847,4850,4851,2426,4854,4326,4856,4859],{},[2423,4845,4846],{},"Choose the window",[2481,4848,4849],{},"days"," (a window ending now, 1 to 365, default 30), or with both ",[2481,4852,4853],{},"from",[2481,4855,3827],{},[2481,4857,4858],{},"YYYY-MM-DD",". Giving only one of them is refused.",[2595,4861,4862,4865,4866,4869,4870,2503],{},[2423,4863,4864],{},"Retention clamps the window."," The window is cut to the tenant's retention. The ",[2481,4867,4868],{},"window"," block says so with ",[2481,4871,4872],{},"clamped_by_retention",[2595,4874,4875,4878],{},[2423,4876,4877],{},"Opens"," are counted for email only. The other channels are left out of the open rate.",[2595,4880,4881,4884],{},[2423,4882,4883],{},"Delivery rate"," is sent ÷ (sent + failed). Suppressed messages are not counted as failures.",[2595,4886,4887,4892,4893,4895],{},[2423,4888,4889],{},[2481,4890,4891],{},"previous"," is the same length of window, immediately before this one. It is ",[2481,4894,3001],{}," when that window is not entirely inside the retention period. An empty window inside retention gives zeros.",[2526,4897,4898],{"id":2463},"Suppressions",[2419,4900,4901],{},"A suppression is an address that is not mailed, and the reason why.",[2728,4903,4904,4914],{},[2731,4905,4906],{},[2734,4907,4908,4910,4912],{},[2737,4909,2739],{},[2737,4911,2742],{},[2737,4913,2745],{},[2747,4915,4916,4929,4942,4955],{},[2734,4917,4918,4921,4926],{},[2752,4919,4920],{},"List suppressions",[2752,4922,4923],{},[2481,4924,4925],{},"GET \u002Fv1\u002Fmessaging\u002Fsuppressions",[2752,4927,4928],{},"Lists who is not being mailed, newest first.",[2734,4930,4931,4934,4939],{},[2752,4932,4933],{},"Add a suppression",[2752,4935,4936],{},[2481,4937,4938],{},"POST \u002Fv1\u002Fmessaging\u002Fsuppressions",[2752,4940,4941],{},"Suppresses an address by hand.",[2734,4943,4944,4947,4952],{},[2752,4945,4946],{},"Read a suppression",[2752,4948,4949],{},[2481,4950,4951],{},"GET \u002Fv1\u002Fmessaging\u002Fsuppressions\u002F{id}",[2752,4953,4954],{},"Returns one suppression.",[2734,4956,4957,4960,4965],{},[2752,4958,4959],{},"Lift a suppression",[2752,4961,4962],{},[2481,4963,4964],{},"DELETE \u002Fv1\u002Fmessaging\u002Fsuppressions\u002F{id}",[2752,4966,4967],{},"Removes a suppression, so the address can be mailed again.",[2419,4969,4970,3152,4973,2457,4975,3603,4978,2573,4980,4338,4982,3603,4985,2457,4988,2457,4991,2573,4994,4338,4997,2457,5000,5002,5003,5005,5006,5008],{},[2423,4971,4972],{},"Filters for the list:",[2481,4974,2722],{},[2481,4976,4977],{},"scope",[2481,4979,4572],{},[2481,4981,3044],{},[2481,4983,4984],{},"reason",[2481,4986,4987],{},"hard_bounce",[2481,4989,4990],{},"complaint",[2481,4992,4993],{},"unsubscribe",[2481,4995,4996],{},"manual",[2481,4998,4999],{},"address",[2481,5001,4787],{},". The ",[2481,5004,4999],{}," filter matches a fingerprint, so it still finds a person who has been erased. For a channel other than email, pass ",[2481,5007,2722],{}," with it.",[2419,5010,5011],{},[2423,5012,2898,5013,2901],{},[2481,5014,4938],{},[2728,5016,5017,5027],{},[2731,5018,5019],{},[2734,5020,5021,5023,5025],{},[2737,5022,2910],{},[2737,5024,2913],{},[2737,5026,2916],{},[2747,5028,5029,5040,5051,5069,5087,5099],{},[2734,5030,5031,5035,5037],{},[2752,5032,5033],{},[2481,5034,4999],{},[2752,5036,2927],{},[2752,5038,5039],{},"The address to suppress.",[2734,5041,5042,5046,5048],{},[2752,5043,5044],{},[2481,5045,2722],{},[2752,5047,2927],{},[2752,5049,5050],{},"The channel it applies to.",[2734,5052,5053,5057,5059],{},[2752,5054,5055],{},[2481,5056,4984],{},[2752,5058,2927],{},[2752,5060,5061,2457,5063,2457,5065,2573,5067,2503],{},[2481,5062,4987],{},[2481,5064,4990],{},[2481,5066,4993],{},[2481,5068,4996],{},[2734,5070,5071,5075,5077],{},[2752,5072,5073],{},[2481,5074,4977],{},[2752,5076,2950],{},[2752,5078,5079,2573,5081,5083,5084,5086],{},[2481,5080,4572],{},[2481,5082,3044],{},". For every reason except ",[2481,5085,4996],{},", the scope is fixed by the reason.",[2734,5088,5089,5094,5096],{},[2752,5090,5091],{},[2481,5092,5093],{},"expires_at",[2752,5095,2950],{},[2752,5097,5098],{},"When the suppression ends.",[2734,5100,5101,5105,5107],{},[2752,5102,5103],{},[2481,5104,3239],{},[2752,5106,2950],{},[2752,5108,5109],{},"A free-text note.",[2592,5111,5112,5124,5135,5143],{},[2595,5113,5114,5118,5119,5123],{},[2423,5115,5116],{},[2481,5117,3079],{}," means this call created the suppression. ",[2423,5120,5121],{},[2481,5122,3246],{}," means the address was already on the list for that channel and scope; the existing row is overwritten with this request.",[2595,5125,5126,2710,5131,5134],{},[2423,5127,5128,5129],{},"A wrong scope is ",[2481,5130,2601],{},[2481,5132,5133],{},"suppression_scope_fixed",". The request is not corrected silently.",[2595,5136,5137,5142],{},[2423,5138,5139,5141],{},[2481,5140,4126],{}," is audited."," Lifting a suppression is the one action that makes the service mail an address it had decided not to mail.",[2595,5144,5145,5152],{},[2423,5146,5147,5149,5150],{},[2481,5148,4999],{}," can be ",[2481,5151,3001],{}," on a read. That is an erased person. The row stays, so the address is still blocked.",[2526,5154,2467],{"id":5155},"push-subscriptions",[2728,5157,5158,5168],{},[2731,5159,5160],{},[2734,5161,5162,5164,5166],{},[2737,5163,2739],{},[2737,5165,2742],{},[2737,5167,2745],{},[2747,5169,5170,5183,5196],{},[2734,5171,5172,5175,5180],{},[2752,5173,5174],{},"List subscriptions",[2752,5176,5177],{},[2481,5178,5179],{},"GET \u002Fv1\u002Fmessaging\u002Fpush\u002Fsubscriptions",[2752,5181,5182],{},"Lists the browsers one person has registered.",[2734,5184,5185,5188,5193],{},[2752,5186,5187],{},"Register a browser",[2752,5189,5190],{},[2481,5191,5192],{},"POST \u002Fv1\u002Fmessaging\u002Fpush\u002Fsubscriptions",[2752,5194,5195],{},"Registers a browser for push.",[2734,5197,5198,5201,5206],{},[2752,5199,5200],{},"Remove a browser",[2752,5202,5203],{},[2481,5204,5205],{},"DELETE \u002Fv1\u002Fmessaging\u002Fpush\u002Fsubscriptions",[2752,5207,5208],{},"Unregisters one browser, by its endpoint.",[2592,5210,5211,5223,5229,5264,5277],{},[2595,5212,5213,5222],{},[2423,5214,5215,5218,5219,2503],{},[2481,5216,5217],{},"GET"," needs ",[2481,5220,5221],{},"subscriber_id"," There is no operation that lists all subscribers.",[2595,5224,5225,5228],{},[2423,5226,5227],{},"Key material is never returned."," A registration that could be read back could be used to push to it.",[2595,5230,5231,5241,5242,4672,5245,5248,5249,2426,5252,4338,5255,5257,5258,5261,5262,2503],{},[2423,5232,5233,5236,5237,5240],{},[2481,5234,5235],{},"POST"," takes what ",[2481,5238,5239],{},"PushManager.subscribe()"," returned,"," plus the id you know the person by. The fields are ",[2481,5243,5244],{},"endpoint",[2481,5246,5247],{},"keys"," (required, with ",[2481,5250,5251],{},"auth",[2481,5253,5254],{},"p256dh",[2481,5256,5221],{}," (required) and ",[2481,5259,5260],{},"user_agent",". The public VAPID key comes from ",[2481,5263,4204],{},[2595,5265,5266,3152,5271,5273,5274,5276],{},[2423,5267,5268,5270],{},[2481,5269,5235],{}," is idempotent by endpoint.",[2481,5272,3079],{}," means a new browser. ",[2481,5275,3246],{}," means one already registered.",[2595,5278,5279,5286,5287,5289],{},[2423,5280,5281,3269,5283,5285],{},[2481,5282,4126],{},[2481,5284,5244],{}," as a required query parameter,"," not an id. It answers ",[2481,5288,3581],{}," whether or not the browser was registered.",[2526,5291,2471],{"id":5292},"privacy-erasure",[2728,5294,5295,5305],{},[2731,5296,5297],{},[2734,5298,5299,5301,5303],{},[2737,5300,2739],{},[2737,5302,2742],{},[2737,5304,2745],{},[2747,5306,5307],{},[2734,5308,5309,5312,5317],{},[2752,5310,5311],{},"Erase one person",[2752,5313,5314],{},[2481,5315,5316],{},"POST \u002Fv1\u002Fmessaging\u002Fprivacy\u002Ferasures",[2752,5318,5319],{},"Erases one address on one channel from the delivery log.",[2419,5321,5322,3152,5325,5257,5327,5329],{},[2423,5323,5324],{},"Request fields:",[2481,5326,4999],{},[2481,5328,2722],{}," (required). Erasure is per channel and address. For email, matching ignores capitalisation and surrounding spaces; for other channels, send the address in lowercase, because the stored address is compared in lowercase.",[2592,5331,5332,5337,5343,5349],{},[2595,5333,5334],{},[2423,5335,5336],{},"Message rows and unsubscribe tokens are deleted.",[2595,5338,5339,5342],{},[2423,5340,5341],{},"Change-log entries are not erased."," A suppression's change-log entry is recorded under its address, and it stays.",[2595,5344,5345,5348],{},[2423,5346,5347],{},"Suppressions are kept,"," with the clear-text address removed. The row can still block the address, but it no longer identifies the person.",[2595,5350,5351,5354,5355,2503],{},[2423,5352,5353],{},"The answer gives the counts,"," including ",[2481,5356,5357],{},"suppressions_kept",[2526,5359,5361],{"id":5360},"change-log","Change log",[2728,5363,5364,5374],{},[2731,5365,5366],{},[2734,5367,5368,5370,5372],{},[2737,5369,2739],{},[2737,5371,2742],{},[2737,5373,2745],{},[2747,5375,5376],{},[2734,5377,5378,5381,5386],{},[2752,5379,5380],{},"List the change log",[2752,5382,5383],{},[2481,5384,5385],{},"GET \u002Fv1\u002Fmessaging\u002Faudit",[2752,5387,5388],{},"Lists recorded changes, newest first.",[2592,5390,5391,5418,5425],{},[2595,5392,5393,3152,5396,3603,5399,2457,5401,2573,5404,4338,5407,2457,5410,2426,5412,5414,5415,5417],{},[2423,5394,5395],{},"Filters:",[2481,5397,5398],{},"resource_type",[2481,5400,4421],{},[2481,5402,5403],{},"layout",[2481,5405,5406],{},"suppression",[2481,5408,5409],{},"resource_id",[2481,5411,2652],{},[2481,5413,4787],{},". Channel-credential changes are logged too, but ",[2481,5416,5398],{}," cannot select them.",[2595,5419,5420,5424],{},[2423,5421,5422],{},[2481,5423,2652],{}," is the name the row was recorded under, such as a template's key or a layout's name. It stays readable after the record is gone.",[2595,5426,5427,5430],{},[2423,5428,5429],{},"Append-only."," There is no route to write to or delete from the log.",[2526,5432,5434],{"id":5433},"next-steps","Next steps",[2592,5436,5437,5447,5452],{},[2595,5438,5439,2426,5441,5443,5444,5446],{},[2562,5440,550],{"href":551},[2562,5442,556],{"href":557},": get a credential with the ",[2481,5445,2539],{}," scope.",[2595,5448,5449,5451],{},[2562,5450,513],{"href":514},": the error body and what to do for each status.",[2595,5453,5454,5456,5457,4551],{},[2562,5455,531],{"href":532},": limits and the ",[2481,5458,2633],{},{"title":5460,"searchDepth":5461,"depth":5461,"links":5462},"",2,[5463,5464,5465,5466,5467,5468,5469,5470,5471,5472,5473,5474,5475,5476,5477],{"id":2528,"depth":5461,"text":2529},{"id":2425,"depth":5461,"text":1623},{"id":2429,"depth":5461,"text":3276},{"id":2433,"depth":5461,"text":3612},{"id":3649,"depth":5461,"text":3650},{"id":3922,"depth":5461,"text":3923},{"id":4179,"depth":5461,"text":4180},{"id":4343,"depth":5461,"text":4344},{"id":4731,"depth":5461,"text":4732},{"id":2460,"depth":5461,"text":4812},{"id":2463,"depth":5461,"text":4898},{"id":5155,"depth":5461,"text":2467},{"id":5292,"depth":5461,"text":2471},{"id":5360,"depth":5461,"text":5361},{"id":5433,"depth":5461,"text":5434},"Manage the tenant's transactional messages, from templates and letterheads to bindings, channels, sending, the delivery log, suppressions and push subscriptions.","md",null,{},{"title":617,"icon":622},{"title":617,"description":5478},{"loc":618},"1sac49fCpYNRJFE31jY3muZBFUW_J1E0d7vT6Zn7Ov8",1792233082304]