[{"data":1,"prerenderedAt":5451},["ShallowReactive",2],{"navigation_docs":3,"-docs-studios-commerce-procurement-punchout":2399},[4,82,446,500,736,2117],{"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,670,718],{"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},"Avatars","\u002Fdocs\u002Fservices\u002Favatars","docs\u002Fservices\u002Favatars\u002Findex",[584],{"title":580,"path":581,"stem":582},{"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},"Network","\u002Fdocs\u002Fservices\u002Fnetwork","docs\u002Fservices\u002Fnetwork\u002Findex",[621,622,628,634,640,646,652,658,664],{"title":617,"path":618,"stem":619},{"title":623,"path":624,"stem":625,"children":626},"Caching","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcaching","docs\u002Fservices\u002Fnetwork\u002Fcaching\u002Findex",[627],{"title":623,"path":624,"stem":625},{"title":629,"path":630,"stem":631,"children":632},"Content delivery (CDN)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcdn","docs\u002Fservices\u002Fnetwork\u002Fcdn\u002Findex",[633],{"title":629,"path":630,"stem":631},{"title":635,"path":636,"stem":637,"children":638},"Compression","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcompression","docs\u002Fservices\u002Fnetwork\u002Fcompression\u002Findex",[639],{"title":635,"path":636,"stem":637},{"title":641,"path":642,"stem":643,"children":644},"DDoS mitigation","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fddos","docs\u002Fservices\u002Fnetwork\u002Fddos\u002Findex",[645],{"title":641,"path":642,"stem":643},{"title":647,"path":648,"stem":649,"children":650},"Edge network","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fedges","docs\u002Fservices\u002Fnetwork\u002Fedges\u002Findex",[651],{"title":647,"path":648,"stem":649},{"title":653,"path":654,"stem":655,"children":656},"Endpoints","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fendpoints","docs\u002Fservices\u002Fnetwork\u002Fendpoints\u002Findex",[657],{"title":653,"path":654,"stem":655},{"title":659,"path":660,"stem":661,"children":662},"Transport Layer Security (TLS)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Ftls","docs\u002Fservices\u002Fnetwork\u002Ftls\u002Findex",[663],{"title":659,"path":660,"stem":661},{"title":665,"path":666,"stem":667,"children":668},"Web application firewall (WAF)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fwaf","docs\u002Fservices\u002Fnetwork\u002Fwaf\u002Findex",[669],{"title":665,"path":666,"stem":667},{"title":671,"path":672,"stem":673,"children":674},"Storage","\u002Fdocs\u002Fservices\u002Fstorage","docs\u002Fservices\u002Fstorage\u002Findex",[675,676,682,688,694,700,706,712],{"title":671,"path":672,"stem":673},{"title":677,"path":678,"stem":679,"children":680},"Folders","\u002Fdocs\u002Fservices\u002Fstorage\u002Fbuckets","docs\u002Fservices\u002Fstorage\u002Fbuckets\u002Findex",[681],{"title":677,"path":678,"stem":679},{"title":683,"path":684,"stem":685,"children":686},"Signed URLs and access","\u002Fdocs\u002Fservices\u002Fstorage\u002Ffile-tokens","docs\u002Fservices\u002Fstorage\u002Ffile-tokens\u002Findex",[687],{"title":683,"path":684,"stem":685},{"title":689,"path":690,"stem":691,"children":692},"Serve and transform images","\u002Fdocs\u002Fservices\u002Fstorage\u002Fimages","docs\u002Fservices\u002Fstorage\u002Fimages\u002Findex",[693],{"title":689,"path":690,"stem":691},{"title":695,"path":696,"stem":697,"children":698},"3D assets","\u002Fdocs\u002Fservices\u002Fstorage\u002Fmodel-viewer","docs\u002Fservices\u002Fstorage\u002Fmodel-viewer\u002Findex",[699],{"title":695,"path":696,"stem":697},{"title":701,"path":702,"stem":703,"children":704},"Access control and visibility","\u002Fdocs\u002Fservices\u002Fstorage\u002Fpermissions","docs\u002Fservices\u002Fstorage\u002Fpermissions\u002Findex",[705],{"title":701,"path":702,"stem":703},{"title":707,"path":708,"stem":709,"children":710},"Quick start","\u002Fdocs\u002Fservices\u002Fstorage\u002Fquick-start","docs\u002Fservices\u002Fstorage\u002Fquick-start\u002Findex",[711],{"title":707,"path":708,"stem":709},{"title":713,"path":714,"stem":715,"children":716},"Upload and manage files","\u002Fdocs\u002Fservices\u002Fstorage\u002Fupload-download","docs\u002Fservices\u002Fstorage\u002Fupload-download\u002Findex",[717],{"title":713,"path":714,"stem":715},{"title":719,"path":720,"stem":721,"children":722},"Webhooks","\u002Fdocs\u002Fservices\u002Fwebhooks","docs\u002Fservices\u002Fwebhooks\u002Findex",[723,724,730],{"title":719,"path":720,"stem":721},{"title":725,"path":726,"stem":727,"children":728},"Delivery","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fdelivery","docs\u002Fservices\u002Fwebhooks\u002Fdelivery\u002Findex",[729],{"title":725,"path":726,"stem":727},{"title":731,"path":732,"stem":733,"children":734},"Security","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fsecurity","docs\u002Fservices\u002Fwebhooks\u002Fsecurity\u002Findex",[735],{"title":731,"path":732,"stem":733},{"title":737,"path":738,"stem":739,"children":740},"Studios","\u002Fdocs\u002Fstudios","docs\u002Fstudios\u002Findex",[741,742,748,913,1264,1583,1765],{"title":737,"path":738,"stem":739},{"title":743,"path":744,"stem":745,"children":746},"AI Studio","\u002Fdocs\u002Fstudios\u002Fai","docs\u002Fstudios\u002Fai\u002Findex",[747],{"title":743,"path":744,"stem":745},{"title":749,"path":750,"stem":751,"children":752,"icon":754},"Analytics Studio","\u002Fdocs\u002Fstudios\u002Fanalytics","docs\u002Fstudios\u002Fanalytics\u002Findex",[753,755,798,835,841,859,889],{"title":749,"path":750,"stem":751,"icon":754},"i-lucide-chart-column",{"title":756,"path":757,"stem":758,"children":759,"icon":761},"Make your app's data analyzable","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Findex",[760,762,768,774,780,786,792],{"title":756,"path":757,"stem":758,"icon":761},"i-lucide-table-2",{"title":763,"path":764,"stem":765,"children":766},"Column locators","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators\u002Findex",[767],{"title":763,"path":764,"stem":765},{"title":769,"path":770,"stem":771,"children":772},"Declaring a view","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view\u002Findex",[773],{"title":769,"path":770,"stem":771},{"title":775,"path":776,"stem":777,"children":778},"Example","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample\u002Findex",[779],{"title":775,"path":776,"stem":777},{"title":781,"path":782,"stem":783,"children":784},"Semantic roles","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles\u002Findex",[785],{"title":781,"path":782,"stem":783},{"title":787,"path":788,"stem":789,"children":790},"Tenant isolation","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation\u002Findex",[791],{"title":787,"path":788,"stem":789},{"title":793,"path":794,"stem":795,"children":796},"The contract","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract\u002Findex",[797],{"title":793,"path":794,"stem":795},{"title":799,"path":800,"stem":801,"children":802,"icon":804},"Stream commerce activity","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Findex",[803,805,811,817,823,829],{"title":799,"path":800,"stem":801,"icon":804},"i-lucide-radio",{"title":806,"path":807,"stem":808,"children":809},"Delivery guarantees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees\u002Findex",[810],{"title":806,"path":807,"stem":808},{"title":812,"path":813,"stem":814,"children":815},"Event types for reporting","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting\u002Findex",[816],{"title":812,"path":813,"stem":814},{"title":818,"path":819,"stem":820,"children":821},"Register an endpoint","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint\u002Findex",[822],{"title":818,"path":819,"stem":820},{"title":824,"path":825,"stem":826,"children":827},"The event stream","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream\u002Findex",[828],{"title":824,"path":825,"stem":826},{"title":830,"path":831,"stem":832,"children":833},"Verify a delivery","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery\u002Findex",[834],{"title":830,"path":831,"stem":832},{"title":836,"path":837,"stem":838,"children":839,"icon":29},"Getting data out","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out","docs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out\u002Findex",[840],{"title":836,"path":837,"stem":838,"icon":29},{"title":842,"path":843,"stem":844,"children":845,"icon":336},"Limits and what's next","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Findex",[846,847,853],{"title":842,"path":843,"stem":844,"icon":336},{"title":848,"path":849,"stem":850,"children":851},"Designing for what's coming","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming\u002Findex",[852],{"title":848,"path":849,"stem":850},{"title":854,"path":855,"stem":856,"children":857},"What does not exist yet","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet\u002Findex",[858],{"title":854,"path":855,"stem":856},{"title":860,"path":861,"stem":862,"children":863,"icon":108},"Build your own reporting store","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Findex",[864,865,871,877,883],{"title":860,"path":861,"stem":862,"icon":108},{"title":866,"path":867,"stem":868,"children":869},"Backfill","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill\u002Findex",[870],{"title":866,"path":867,"stem":868},{"title":872,"path":873,"stem":874,"children":875},"Incremental sync","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync\u002Findex",[876],{"title":872,"path":873,"stem":874},{"title":878,"path":879,"stem":880,"children":881},"Modelling","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling\u002Findex",[882],{"title":878,"path":879,"stem":880},{"title":884,"path":885,"stem":886,"children":887},"Pull versus push","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push\u002Findex",[888],{"title":884,"path":885,"stem":886},{"title":890,"path":891,"stem":892,"children":893,"icon":754},"What the tenant sees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Findex",[894,895,901,907],{"title":890,"path":891,"stem":892,"icon":754},{"title":896,"path":897,"stem":898,"children":899},"Cohorts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts\u002Findex",[900],{"title":896,"path":897,"stem":898},{"title":902,"path":903,"stem":904,"children":905},"Datasets and charts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts\u002Findex",[906],{"title":902,"path":903,"stem":904},{"title":908,"path":909,"stem":910,"children":911},"Studio overview","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview\u002Findex",[912],{"title":908,"path":909,"stem":910},{"title":914,"path":915,"stem":916,"children":917},"App Studio","\u002Fdocs\u002Fstudios\u002Fapps","docs\u002Fstudios\u002Fapps\u002Findex",[918,919,955,1025,1096,1114,1180],{"title":914,"path":915,"stem":916},{"title":920,"path":921,"stem":922,"children":923,"icon":101},"Admin UI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Findex",[924,925,931,937,943,949],{"title":920,"path":921,"stem":922,"icon":101},{"title":926,"path":927,"stem":928,"children":929},"How the Cockpit renders","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders\u002Findex",[930],{"title":926,"path":927,"stem":928},{"title":932,"path":933,"stem":934,"children":935},"Preview locally","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally\u002Findex",[936],{"title":932,"path":933,"stem":934},{"title":938,"path":939,"stem":940,"children":941},"Reading settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings\u002Findex",[942],{"title":938,"path":939,"stem":940},{"title":944,"path":945,"stem":946,"children":947},"Settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings\u002Findex",[948],{"title":944,"path":945,"stem":946},{"title":950,"path":951,"stem":952,"children":953},"Vocabularies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies\u002Findex",[954],{"title":950,"path":951,"stem":952},{"title":956,"path":957,"stem":958,"children":959,"icon":343},"Your app's API","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Findex",[960,961,966,972,978,984,990,995,1001,1007,1013,1019],{"title":956,"path":957,"stem":958,"icon":343},{"title":623,"path":962,"stem":963,"children":964},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching\u002Findex",[965],{"title":623,"path":962,"stem":963},{"title":967,"path":968,"stem":969,"children":970},"Calling another app","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app\u002Findex",[971],{"title":967,"path":968,"stem":969},{"title":973,"path":974,"stem":975,"children":976},"Capabilities","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities\u002Findex",[977],{"title":973,"path":974,"stem":975},{"title":979,"path":980,"stem":981,"children":982},"Capability reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference\u002Findex",[983],{"title":979,"path":980,"stem":981},{"title":985,"path":986,"stem":987,"children":988},"CRUD","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud\u002Findex",[989],{"title":985,"path":986,"stem":987},{"title":513,"path":991,"stem":992,"children":993},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors\u002Findex",[994],{"title":513,"path":991,"stem":992},{"title":996,"path":997,"stem":998,"children":999},"Overriding a capability","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability","docs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability\u002Findex",[1000],{"title":996,"path":997,"stem":998},{"title":1002,"path":1003,"stem":1004,"children":1005},"Pagination and filtering","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering\u002Findex",[1006],{"title":1002,"path":1003,"stem":1004},{"title":1008,"path":1009,"stem":1010,"children":1011},"Published OpenAPI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi\u002Findex",[1012],{"title":1008,"path":1009,"stem":1010},{"title":1014,"path":1015,"stem":1016,"children":1017},"The router","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter","docs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter\u002Findex",[1018],{"title":1014,"path":1015,"stem":1016},{"title":1020,"path":1021,"stem":1022,"children":1023},"Tags","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags\u002Findex",[1024],{"title":1020,"path":1021,"stem":1022},{"title":1026,"path":1027,"stem":1028,"children":1029,"icon":108},"Data model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Findex",[1030,1031,1037,1043,1049,1055,1061,1067,1073,1079,1085,1090],{"title":1026,"path":1027,"stem":1028,"icon":108},{"title":1032,"path":1033,"stem":1034,"children":1035},"Adapters","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters\u002Findex",[1036],{"title":1032,"path":1033,"stem":1034},{"title":1038,"path":1039,"stem":1040,"children":1041},"Column types","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types\u002Findex",[1042],{"title":1038,"path":1039,"stem":1040},{"title":1044,"path":1045,"stem":1046,"children":1047},"Cross-app lookups","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups\u002Findex",[1048],{"title":1044,"path":1045,"stem":1046},{"title":1050,"path":1051,"stem":1052,"children":1053},"Migrations","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations\u002Findex",[1054],{"title":1050,"path":1051,"stem":1052},{"title":1056,"path":1057,"stem":1058,"children":1059},"Projections","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections\u002Findex",[1060],{"title":1056,"path":1057,"stem":1058},{"title":1062,"path":1063,"stem":1064,"children":1065},"Relationships","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships\u002Findex",[1066],{"title":1062,"path":1063,"stem":1064},{"title":1068,"path":1069,"stem":1070,"children":1071},"Schema reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference\u002Findex",[1072],{"title":1068,"path":1069,"stem":1070},{"title":1074,"path":1075,"stem":1076,"children":1077},"Scoping","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping\u002Findex",[1078],{"title":1074,"path":1075,"stem":1076},{"title":1080,"path":1081,"stem":1082,"children":1083},"search.json reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fsearch-json","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fsearch-json\u002Findex",[1084],{"title":1080,"path":1081,"stem":1082},{"title":787,"path":1086,"stem":1087,"children":1088},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation\u002Findex",[1089],{"title":787,"path":1086,"stem":1087},{"title":1091,"path":1092,"stem":1093,"children":1094},"The typed client","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client\u002Findex",[1095],{"title":1091,"path":1092,"stem":1093},{"title":1097,"path":1098,"stem":1099,"children":1100},"Getting started","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Findex",[1101,1102,1108],{"title":1097,"path":1098,"stem":1099},{"title":1103,"path":1104,"stem":1105,"children":1106},"App model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model\u002Findex",[1107],{"title":1103,"path":1104,"stem":1105},{"title":1109,"path":1110,"stem":1111,"children":1112},"App isolation","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation\u002Findex",[1113],{"title":1109,"path":1110,"stem":1111},{"title":1115,"path":1116,"stem":1117,"children":1118,"icon":185},"Platform services","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Findex",[1119,1120,1126,1132,1138,1144,1150,1156,1162,1168,1174],{"title":1115,"path":1116,"stem":1117,"icon":185},{"title":1121,"path":1122,"stem":1123,"children":1124},"Entity access","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access\u002Findex",[1125],{"title":1121,"path":1122,"stem":1123},{"title":1127,"path":1128,"stem":1129,"children":1130},"Events you emit","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit\u002Findex",[1131],{"title":1127,"path":1128,"stem":1129},{"title":1133,"path":1134,"stem":1135,"children":1136},"Events you receive","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive\u002Findex",[1137],{"title":1133,"path":1134,"stem":1135},{"title":1139,"path":1140,"stem":1141,"children":1142},"Not yet proven","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven\u002Findex",[1143],{"title":1139,"path":1140,"stem":1141},{"title":1145,"path":1146,"stem":1147,"children":1148},"Outbound HTTP","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http\u002Findex",[1149],{"title":1145,"path":1146,"stem":1147},{"title":1151,"path":1152,"stem":1153,"children":1154},"Permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions\u002Findex",[1155],{"title":1151,"path":1152,"stem":1153},{"title":1157,"path":1158,"stem":1159,"children":1160},"Person permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions\u002Findex",[1161],{"title":1157,"path":1158,"stem":1159},{"title":1163,"path":1164,"stem":1165,"children":1166},"Scheduled work","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work\u002Findex",[1167],{"title":1163,"path":1164,"stem":1165},{"title":1169,"path":1170,"stem":1171,"children":1172},"Tenant identity","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity\u002Findex",[1173],{"title":1169,"path":1170,"stem":1171},{"title":1175,"path":1176,"stem":1177,"children":1178},"Tracing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing\u002Findex",[1179],{"title":1175,"path":1176,"stem":1177},{"title":1181,"path":1182,"stem":1183,"children":1184,"icon":1186},"Ship and operate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Findex",[1185,1187,1193,1199,1205,1211,1217,1223,1229,1235,1241,1247,1253,1259],{"title":1181,"path":1182,"stem":1183,"icon":1186},"i-lucide-rocket",{"title":1188,"path":1189,"stem":1190,"children":1191},"Billing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling\u002Findex",[1192],{"title":1188,"path":1189,"stem":1190},{"title":1194,"path":1195,"stem":1196,"children":1197},"Consent","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent\u002Findex",[1198],{"title":1194,"path":1195,"stem":1196},{"title":1200,"path":1201,"stem":1202,"children":1203},"Dependencies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies\u002Findex",[1204],{"title":1200,"path":1201,"stem":1202},{"title":1206,"path":1207,"stem":1208,"children":1209},"Deploying","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying\u002Findex",[1210],{"title":1206,"path":1207,"stem":1208},{"title":1212,"path":1213,"stem":1214,"children":1215},"Manifest reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference\u002Findex",[1216],{"title":1212,"path":1213,"stem":1214},{"title":1218,"path":1219,"stem":1220,"children":1221},"Operating","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating\u002Findex",[1222],{"title":1218,"path":1219,"stem":1220},{"title":1224,"path":1225,"stem":1226,"children":1227},"Pairing a frontend","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend\u002Findex",[1228],{"title":1224,"path":1225,"stem":1226},{"title":1230,"path":1231,"stem":1232,"children":1233},"Private or Marketplace","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace\u002Findex",[1234],{"title":1230,"path":1231,"stem":1232},{"title":1236,"path":1237,"stem":1238,"children":1239},"Publish and install","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install\u002Findex",[1240],{"title":1236,"path":1237,"stem":1238},{"title":1242,"path":1243,"stem":1244,"children":1245},"Testing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting\u002Findex",[1246],{"title":1242,"path":1243,"stem":1244},{"title":1248,"path":1249,"stem":1250,"children":1251},"Validate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate\u002Findex",[1252],{"title":1248,"path":1249,"stem":1250},{"title":1254,"path":1255,"stem":1256,"children":1257},"Verifying live","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live\u002Findex",[1258],{"title":1254,"path":1255,"stem":1256},{"title":489,"path":1260,"stem":1261,"children":1262},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning\u002Findex",[1263],{"title":489,"path":1260,"stem":1261},{"title":1265,"path":1266,"stem":1267,"children":1268,"icon":1270},"Commerce Studio","\u002Fdocs\u002Fstudios\u002Fcommerce","docs\u002Fstudios\u002Fcommerce\u002Findex",[1269,1271,1343,1403,1452,1457,1510,1564],{"title":1265,"path":1266,"stem":1267,"icon":1270},"i-lucide-shopping-bag",{"title":1272,"path":1273,"stem":1274,"children":1275,"icon":1277},"Build an app","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Findex",[1276,1278,1284,1290,1296,1302,1308,1314,1320,1326,1332,1337],{"title":1272,"path":1273,"stem":1274,"icon":1277},"i-lucide-puzzle",{"title":1279,"path":1280,"stem":1281,"children":1282},"Actions and writes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes\u002Findex",[1283],{"title":1279,"path":1280,"stem":1281},{"title":1285,"path":1286,"stem":1287,"children":1288},"cockpit.json reference","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference\u002Findex",[1289],{"title":1285,"path":1286,"stem":1287},{"title":1291,"path":1292,"stem":1293,"children":1294},"Detail views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views\u002Findex",[1295],{"title":1291,"path":1292,"stem":1293},{"title":1297,"path":1298,"stem":1299,"children":1300},"Forms","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms\u002Findex",[1301],{"title":1297,"path":1298,"stem":1299},{"title":1303,"path":1304,"stem":1305,"children":1306},"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",[1307],{"title":1303,"path":1304,"stem":1305},{"title":1309,"path":1310,"stem":1311,"children":1312},"How it renders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders\u002Findex",[1313],{"title":1309,"path":1310,"stem":1311},{"title":1315,"path":1316,"stem":1317,"children":1318},"List views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views\u002Findex",[1319],{"title":1315,"path":1316,"stem":1317},{"title":1321,"path":1322,"stem":1323,"children":1324},"Navigation","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation\u002Findex",[1325],{"title":1321,"path":1322,"stem":1323},{"title":1327,"path":1328,"stem":1329,"children":1330},"Permissions and scope","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope\u002Findex",[1331],{"title":1327,"path":1328,"stem":1329},{"title":932,"path":1333,"stem":1334,"children":1335},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally\u002Findex",[1336],{"title":932,"path":1333,"stem":1334},{"title":1338,"path":1339,"stem":1340,"children":1341},"Widgets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets\u002Findex",[1342],{"title":1338,"path":1339,"stem":1340},{"title":1344,"path":1345,"stem":1346,"children":1347,"icon":1349},"Catalog","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Findex",[1348,1350,1356,1362,1368,1374,1379,1385,1391,1397],{"title":1344,"path":1345,"stem":1346,"icon":1349},"i-lucide-package",{"title":1351,"path":1352,"stem":1353,"children":1354},"Assets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets\u002Findex",[1355],{"title":1351,"path":1352,"stem":1353},{"title":1357,"path":1358,"stem":1359,"children":1360},"Associations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations\u002Findex",[1361],{"title":1357,"path":1358,"stem":1359},{"title":1363,"path":1364,"stem":1365,"children":1366},"Categories","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories\u002Findex",[1367],{"title":1363,"path":1364,"stem":1365},{"title":1369,"path":1370,"stem":1371,"children":1372},"Completeness","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness\u002Findex",[1373],{"title":1369,"path":1370,"stem":1371},{"title":1026,"path":1375,"stem":1376,"children":1377},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model\u002Findex",[1378],{"title":1026,"path":1375,"stem":1376},{"title":1380,"path":1381,"stem":1382,"children":1383},"Import and export","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export\u002Findex",[1384],{"title":1380,"path":1381,"stem":1382},{"title":1386,"path":1387,"stem":1388,"children":1389},"Languages and locale codes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Flanguages-and-locale-codes","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Flanguages-and-locale-codes\u002Findex",[1390],{"title":1386,"path":1387,"stem":1388},{"title":1392,"path":1393,"stem":1394,"children":1395},"Products","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts\u002Findex",[1396],{"title":1392,"path":1393,"stem":1394},{"title":1398,"path":1399,"stem":1400,"children":1401},"References","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences\u002Findex",[1402],{"title":1398,"path":1399,"stem":1400},{"title":1404,"path":1405,"stem":1406,"children":1407,"icon":1409},"Customers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Findex",[1408,1410,1416,1422,1428,1434,1440,1446],{"title":1404,"path":1405,"stem":1406,"icon":1409},"i-lucide-building-2",{"title":1411,"path":1412,"stem":1413,"children":1414},"Contacts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts\u002Findex",[1415],{"title":1411,"path":1412,"stem":1413},{"title":1417,"path":1418,"stem":1419,"children":1420},"Organizations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations\u002Findex",[1421],{"title":1417,"path":1418,"stem":1419},{"title":1423,"path":1424,"stem":1425,"children":1426},"Roles and permissions","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions\u002Findex",[1427],{"title":1423,"path":1424,"stem":1425},{"title":1429,"path":1430,"stem":1431,"children":1432},"Sales reps","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsales-reps","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsales-reps\u002Findex",[1433],{"title":1429,"path":1430,"stem":1431},{"title":1435,"path":1436,"stem":1437,"children":1438},"Segments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments\u002Findex",[1439],{"title":1435,"path":1436,"stem":1437},{"title":1441,"path":1442,"stem":1443,"children":1444},"Storefront accounts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts\u002Findex",[1445],{"title":1441,"path":1442,"stem":1443},{"title":1447,"path":1448,"stem":1449,"children":1450},"Value lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists\u002Findex",[1451],{"title":1447,"path":1448,"stem":1449},{"title":1097,"path":1453,"stem":1454,"children":1455,"icon":1186},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fgetting-started","docs\u002Fstudios\u002Fcommerce\u002Fgetting-started\u002Findex",[1456],{"title":1097,"path":1453,"stem":1454,"icon":1186},{"title":1458,"path":1459,"stem":1460,"children":1461,"icon":615},"Markets and pricing","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Findex",[1462,1463,1469,1475,1481,1487,1493,1499,1504],{"title":1458,"path":1459,"stem":1460,"icon":615},{"title":1464,"path":1465,"stem":1466,"children":1467},"Carriers and tracking","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking\u002Findex",[1468],{"title":1464,"path":1465,"stem":1466},{"title":1470,"path":1471,"stem":1472,"children":1473},"Channels","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels\u002Findex",[1474],{"title":1470,"path":1471,"stem":1472},{"title":1476,"path":1477,"stem":1478,"children":1479},"Markets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets\u002Findex",[1480],{"title":1476,"path":1477,"stem":1478},{"title":1482,"path":1483,"stem":1484,"children":1485},"Payment lifecycle","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle\u002Findex",[1486],{"title":1482,"path":1483,"stem":1484},{"title":1488,"path":1489,"stem":1490,"children":1491},"Payment methods","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods\u002Findex",[1492],{"title":1488,"path":1489,"stem":1490},{"title":1494,"path":1495,"stem":1496,"children":1497},"Price lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists\u002Findex",[1498],{"title":1494,"path":1495,"stem":1496},{"title":944,"path":1500,"stem":1501,"children":1502},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings\u002Findex",[1503],{"title":944,"path":1500,"stem":1501},{"title":1505,"path":1506,"stem":1507,"children":1508},"Shipping rates","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates\u002Findex",[1509],{"title":1505,"path":1506,"stem":1507},{"title":1511,"path":1512,"stem":1513,"children":1514,"icon":1516},"Orders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Findex",[1515,1517,1523,1529,1535,1541,1547,1552,1558],{"title":1511,"path":1512,"stem":1513,"icon":1516},"i-lucide-receipt-text",{"title":1518,"path":1519,"stem":1520,"children":1521},"Carts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts\u002Findex",[1522],{"title":1518,"path":1519,"stem":1520},{"title":1524,"path":1525,"stem":1526,"children":1527},"Documents","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fdocuments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fdocuments\u002Findex",[1528],{"title":1524,"path":1525,"stem":1526},{"title":1530,"path":1531,"stem":1532,"children":1533},"Events and comments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments\u002Findex",[1534],{"title":1530,"path":1531,"stem":1532},{"title":1536,"path":1537,"stem":1538,"children":1539},"Number ranges","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges\u002Findex",[1540],{"title":1536,"path":1537,"stem":1538},{"title":1542,"path":1543,"stem":1544,"children":1545},"Order lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists\u002Findex",[1546],{"title":1542,"path":1543,"stem":1544},{"title":1511,"path":1548,"stem":1549,"children":1550},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders\u002Findex",[1551],{"title":1511,"path":1548,"stem":1549},{"title":1553,"path":1554,"stem":1555,"children":1556},"Returns","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns\u002Findex",[1557],{"title":1553,"path":1554,"stem":1555},{"title":1559,"path":1560,"stem":1561,"children":1562},"Stock","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock\u002Findex",[1563],{"title":1559,"path":1560,"stem":1561},{"title":1565,"path":1566,"stem":1567,"children":1568,"icon":1570},"Procurement","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Findex",[1569,1571,1577],{"title":1565,"path":1566,"stem":1567,"icon":1570},"i-lucide-clipboard-check",{"title":1572,"path":1573,"stem":1574,"children":1575},"Cost centers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fcost-centers","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fcost-centers\u002Findex",[1576],{"title":1572,"path":1573,"stem":1574},{"title":1578,"path":1579,"stem":1580,"children":1581,"icon":29},"Punchout","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fpunchout","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fpunchout\u002Findex",[1582],{"title":1578,"path":1579,"stem":1580,"icon":29},{"title":1584,"path":1585,"stem":1586,"children":1587},"Integration Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio","docs\u002Fstudios\u002Fintegration-studio\u002Findex",[1588,1589,1626,1663,1693,1698,1728],{"title":1584,"path":1585,"stem":1586},{"title":1590,"path":1591,"stem":1592,"children":1593,"icon":1595},"Build the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Findex",[1594,1596,1602,1608,1614,1620],{"title":1590,"path":1591,"stem":1592,"icon":1595},"i-lucide-workflow",{"title":1597,"path":1598,"stem":1599,"children":1600},"Expressions","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions\u002Findex",[1601],{"title":1597,"path":1598,"stem":1599},{"title":1603,"path":1604,"stem":1605,"children":1606},"Node catalog","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog\u002Findex",[1607],{"title":1603,"path":1604,"stem":1605},{"title":1609,"path":1610,"stem":1611,"children":1612},"Node configuration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration\u002Findex",[1613],{"title":1609,"path":1610,"stem":1611},{"title":1615,"path":1616,"stem":1617,"children":1618},"Templates","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates\u002Findex",[1619],{"title":1615,"path":1616,"stem":1617},{"title":1621,"path":1622,"stem":1623,"children":1624},"The workflow document","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model\u002Findex",[1625],{"title":1621,"path":1622,"stem":1623},{"title":1627,"path":1628,"stem":1629,"children":1630,"icon":1632},"Connect the systems","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Findex",[1631,1633,1639,1645,1651,1657],{"title":1627,"path":1628,"stem":1629,"icon":1632},"i-lucide-key-round",{"title":1634,"path":1635,"stem":1636,"children":1637},"Credentials","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials\u002Findex",[1638],{"title":1634,"path":1635,"stem":1636},{"title":1640,"path":1641,"stem":1642,"children":1643},"File transfer","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles\u002Findex",[1644],{"title":1640,"path":1641,"stem":1642},{"title":1646,"path":1647,"stem":1648,"children":1649},"OAuth","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth\u002Findex",[1650],{"title":1646,"path":1647,"stem":1648},{"title":1652,"path":1653,"stem":1654,"children":1655},"Reaching Revenue Cloud","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud\u002Findex",[1656],{"title":1652,"path":1653,"stem":1654},{"title":1658,"path":1659,"stem":1660,"children":1661},"Secrets","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets\u002Findex",[1662],{"title":1658,"path":1659,"stem":1660},{"title":1664,"path":1665,"stem":1666,"children":1667,"icon":1349},"Extend the Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Findex",[1668,1669,1675,1681,1687],{"title":1664,"path":1665,"stem":1666,"icon":1349},{"title":1670,"path":1671,"stem":1672,"children":1673},"Custom nodes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes\u002Findex",[1674],{"title":1670,"path":1671,"stem":1672},{"title":1676,"path":1677,"stem":1678,"children":1679},"Dynamic behaviour","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour\u002Findex",[1680],{"title":1676,"path":1677,"stem":1678},{"title":1682,"path":1683,"stem":1684,"children":1685},"Package manifest","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest\u002Findex",[1686],{"title":1682,"path":1683,"stem":1684},{"title":1688,"path":1689,"stem":1690,"children":1691},"Registration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration\u002Findex",[1692],{"title":1688,"path":1689,"stem":1690},{"title":1097,"path":1694,"stem":1695,"children":1696,"icon":1186},"\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started","docs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started\u002Findex",[1697],{"title":1097,"path":1694,"stem":1695,"icon":1186},{"title":1699,"path":1700,"stem":1701,"children":1702,"icon":316},"Run, watch, recover","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Findex",[1703,1704,1710,1716,1722],{"title":1699,"path":1700,"stem":1701,"icon":316},{"title":1705,"path":1706,"stem":1707,"children":1708},"Missed runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters\u002Findex",[1709],{"title":1705,"path":1706,"stem":1707},{"title":1711,"path":1712,"stem":1713,"children":1714},"Failure handling","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling\u002Findex",[1715],{"title":1711,"path":1712,"stem":1713},{"title":1717,"path":1718,"stem":1719,"children":1720},"Revisions and audit","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit\u002Findex",[1721],{"title":1717,"path":1718,"stem":1719},{"title":1723,"path":1724,"stem":1725,"children":1726},"Runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns\u002Findex",[1727],{"title":1723,"path":1724,"stem":1725},{"title":1729,"path":1730,"stem":1731,"children":1732,"icon":1734},"Start the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Findex",[1733,1735,1741,1747,1753,1759],{"title":1729,"path":1730,"stem":1731,"icon":1734},"i-lucide-zap",{"title":1736,"path":1737,"stem":1738,"children":1739},"Event triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers\u002Findex",[1740],{"title":1736,"path":1737,"stem":1738},{"title":1742,"path":1743,"stem":1744,"children":1745},"Execution modes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes\u002Findex",[1746],{"title":1742,"path":1743,"stem":1744},{"title":1748,"path":1749,"stem":1750,"children":1751},"Schedule triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers\u002Findex",[1752],{"title":1748,"path":1749,"stem":1750},{"title":1754,"path":1755,"stem":1756,"children":1757},"Triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers\u002Findex",[1758],{"title":1754,"path":1755,"stem":1756},{"title":1760,"path":1761,"stem":1762,"children":1763},"Webhook triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers\u002Findex",[1764],{"title":1760,"path":1761,"stem":1762},{"title":1766,"path":1767,"stem":1768,"children":1769},"Experience Studio","\u002Fdocs\u002Fstudios\u002Fsites","docs\u002Fstudios\u002Fsites\u002Findex",[1770,1771,1819,1871,1997,2003,2045],{"title":1766,"path":1767,"stem":1768},{"title":1772,"path":1773,"stem":1774,"children":1775,"icon":418},"Compose pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Findex",[1776,1777,1783,1789,1795,1801,1807,1813],{"title":1772,"path":1773,"stem":1774,"icon":418},{"title":1778,"path":1779,"stem":1780,"children":1781},"Block catalog","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog\u002Findex",[1782],{"title":1778,"path":1779,"stem":1780},{"title":1784,"path":1785,"stem":1786,"children":1787},"Block options","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options\u002Findex",[1788],{"title":1784,"path":1785,"stem":1786},{"title":1790,"path":1791,"stem":1792,"children":1793},"How a block works","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works\u002Findex",[1794],{"title":1790,"path":1791,"stem":1792},{"title":1796,"path":1797,"stem":1798,"children":1799},"Inline editing","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing\u002Findex",[1800],{"title":1796,"path":1797,"stem":1798},{"title":1802,"path":1803,"stem":1804,"children":1805},"Reading published pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages\u002Findex",[1806],{"title":1802,"path":1803,"stem":1804},{"title":1808,"path":1809,"stem":1810,"children":1811},"Registering blocks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering\u002Findex",[1812],{"title":1808,"path":1809,"stem":1810},{"title":1814,"path":1815,"stem":1816,"children":1817},"Shells and fields","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields\u002Findex",[1818],{"title":1814,"path":1815,"stem":1816},{"title":1820,"path":1821,"stem":1822,"children":1823,"icon":262},"Connect data","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata","docs\u002Fstudios\u002Fsites\u002Fdata\u002Findex",[1824,1825,1830,1836,1842,1847,1853,1859,1865],{"title":1820,"path":1821,"stem":1822,"icon":262},{"title":550,"path":1826,"stem":1827,"children":1828},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication\u002Findex",[1829],{"title":550,"path":1826,"stem":1827},{"title":1831,"path":1832,"stem":1833,"children":1834},"The BFF pattern","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern\u002Findex",[1835],{"title":1831,"path":1832,"stem":1833},{"title":1837,"path":1838,"stem":1839,"children":1840},"Catalog, cart, checkout","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout\u002Findex",[1841],{"title":1837,"path":1838,"stem":1839},{"title":1297,"path":1843,"stem":1844,"children":1845},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms\u002Findex",[1846],{"title":1297,"path":1843,"stem":1844},{"title":1848,"path":1849,"stem":1850,"children":1851},"Media and assets","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia\u002Findex",[1852],{"title":1848,"path":1849,"stem":1850},{"title":1854,"path":1855,"stem":1856,"children":1857},"Multi-tenant themes","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes\u002Findex",[1858],{"title":1854,"path":1855,"stem":1856},{"title":1860,"path":1861,"stem":1862,"children":1863},"Search collections","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch-collections","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch-collections\u002Findex",[1864],{"title":1860,"path":1861,"stem":1862},{"title":1866,"path":1867,"stem":1868,"children":1869},"Search","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch\u002Findex",[1870],{"title":1866,"path":1867,"stem":1868},{"title":1872,"path":1873,"stem":1874,"children":1875,"icon":1186},"Build and deploy","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Findex",[1876,1877,1883,1889,1895,1901,1907,1913,1991],{"title":1872,"path":1873,"stem":1874,"icon":1186},{"title":1878,"path":1879,"stem":1880,"children":1881},"Build configuration","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration\u002Findex",[1882],{"title":1878,"path":1879,"stem":1880},{"title":1884,"path":1885,"stem":1886,"children":1887},"Compute specifications","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications\u002Findex",[1888],{"title":1884,"path":1885,"stem":1886},{"title":1890,"path":1891,"stem":1892,"children":1893},"Environment variables","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables\u002Findex",[1894],{"title":1890,"path":1891,"stem":1892},{"title":1896,"path":1897,"stem":1898,"children":1899},"From Git","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git\u002Findex",[1900],{"title":1896,"path":1897,"stem":1898},{"title":1902,"path":1903,"stem":1904,"children":1905},"From the CLI","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli\u002Findex",[1906],{"title":1902,"path":1903,"stem":1904},{"title":1908,"path":1909,"stem":1910,"children":1911},"Manually","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually\u002Findex",[1912],{"title":1908,"path":1909,"stem":1910},{"title":1914,"path":1915,"stem":1916,"children":1917},"Quick-starts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Findex",[1918,1919,1925,1931,1937,1943,1949,1955,1961,1967,1973,1979,1985],{"title":1914,"path":1915,"stem":1916},{"title":1920,"path":1921,"stem":1922,"children":1923},"Deploy an Angular app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular\u002Findex",[1924],{"title":1920,"path":1921,"stem":1922},{"title":1926,"path":1927,"stem":1928,"children":1929},"Deploy a Astro app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro\u002Findex",[1930],{"title":1926,"path":1927,"stem":1928},{"title":1932,"path":1933,"stem":1934,"children":1935},"Deploy a Flutter Web app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter\u002Findex",[1936],{"title":1932,"path":1933,"stem":1934},{"title":1938,"path":1939,"stem":1940,"children":1941},"Deploy a Next.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs\u002Findex",[1942],{"title":1938,"path":1939,"stem":1940},{"title":1944,"path":1945,"stem":1946,"children":1947},"Deploy a Nuxt app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt\u002Findex",[1948],{"title":1944,"path":1945,"stem":1946},{"title":1950,"path":1951,"stem":1952,"children":1953},"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",[1954],{"title":1950,"path":1951,"stem":1952},{"title":1956,"path":1957,"stem":1958,"children":1959},"Deploy a React app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact\u002Findex",[1960],{"title":1956,"path":1957,"stem":1958},{"title":1962,"path":1963,"stem":1964,"children":1965},"Deploy a Remix app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix\u002Findex",[1966],{"title":1962,"path":1963,"stem":1964},{"title":1968,"path":1969,"stem":1970,"children":1971},"Deploy a SvelteKit app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit\u002Findex",[1972],{"title":1968,"path":1969,"stem":1970},{"title":1974,"path":1975,"stem":1976,"children":1977},"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",[1978],{"title":1974,"path":1975,"stem":1976},{"title":1980,"path":1981,"stem":1982,"children":1983},"Deploy a Vanilla JS app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla\u002Findex",[1984],{"title":1980,"path":1981,"stem":1982},{"title":1986,"path":1987,"stem":1988,"children":1989},"Deploy a Vue.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue\u002Findex",[1990],{"title":1986,"path":1987,"stem":1988},{"title":1992,"path":1993,"stem":1994,"children":1995},"Starting points","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points\u002Findex",[1996],{"title":1992,"path":1993,"stem":1994},{"title":1097,"path":1998,"stem":1999,"children":2000,"icon":2002},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fgetting-started","docs\u002Fstudios\u002Fsites\u002Fgetting-started\u002Findex",[2001],{"title":1097,"path":1998,"stem":1999,"icon":2002},"i-lucide-terminal",{"title":2004,"path":2005,"stem":2006,"children":2007,"icon":615},"Production","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Findex",[2008,2009,2015,2021,2027,2033,2039],{"title":2004,"path":2005,"stem":2006,"icon":615},{"title":2010,"path":2011,"stem":2012,"children":2013},"Deployments","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments\u002Findex",[2014],{"title":2010,"path":2011,"stem":2012},{"title":2016,"path":2017,"stem":2018,"children":2019},"Domains","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains\u002Findex",[2020],{"title":2016,"path":2017,"stem":2018},{"title":2022,"path":2023,"stem":2024,"children":2025},"Instant rollbacks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks\u002Findex",[2026],{"title":2022,"path":2023,"stem":2024},{"title":2028,"path":2029,"stem":2030,"children":2031},"Logs","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs\u002Findex",[2032],{"title":2028,"path":2029,"stem":2030},{"title":2034,"path":2035,"stem":2036,"children":2037},"Previews","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews\u002Findex",[2038],{"title":2034,"path":2035,"stem":2036},{"title":2040,"path":2041,"stem":2042,"children":2043},"Publishing a theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme\u002Findex",[2044],{"title":2040,"path":2041,"stem":2042},{"title":2046,"path":2047,"stem":2048,"children":2049,"icon":404},"Build the theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Findex",[2050,2051,2057,2063,2069,2075,2081,2087,2093,2111],{"title":2046,"path":2047,"stem":2048,"icon":404},{"title":2052,"path":2053,"stem":2054,"children":2055},"Theme anatomy","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy\u002Findex",[2056],{"title":2052,"path":2053,"stem":2054},{"title":2058,"path":2059,"stem":2060,"children":2061},"Design tokens","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens\u002Findex",[2062],{"title":2058,"path":2059,"stem":2060},{"title":2064,"path":2065,"stem":2066,"children":2067},"Frameworks","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks\u002Findex",[2068],{"title":2064,"path":2065,"stem":2066},{"title":2070,"path":2071,"stem":2072,"children":2073},"The layer chain","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain\u002Findex",[2074],{"title":2070,"path":2071,"stem":2072},{"title":2076,"path":2077,"stem":2078,"children":2079},"Local development","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development\u002Findex",[2080],{"title":2076,"path":2077,"stem":2078},{"title":2082,"path":2083,"stem":2084,"children":2085},"Modules and plugins","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins\u002Findex",[2086],{"title":2082,"path":2083,"stem":2084},{"title":2088,"path":2089,"stem":2090,"children":2091},"Overriding","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding\u002Findex",[2092],{"title":2088,"path":2089,"stem":2090},{"title":2094,"path":2095,"stem":2096,"children":2097},"Rendering","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Findex",[2098,2099,2105],{"title":2094,"path":2095,"stem":2096},{"title":2100,"path":2101,"stem":2102,"children":2103},"SSR","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr\u002Findex",[2104],{"title":2100,"path":2101,"stem":2102},{"title":2106,"path":2107,"stem":2108,"children":2109},"Static","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic\u002Findex",[2110],{"title":2106,"path":2107,"stem":2108},{"title":2112,"path":2113,"stem":2114,"children":2115},"Service modes","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes\u002Findex",[2116],{"title":2112,"path":2113,"stem":2114},{"title":2118,"path":2119,"stem":2120,"children":2121},"Tools","\u002Fdocs\u002Ftools","docs\u002Ftools\u002Findex",[2122,2123,2130,2345],{"title":2118,"path":2119,"stem":2120},{"title":2124,"path":2125,"stem":2126,"children":2127,"icon":2129},"AI agents","\u002Fdocs\u002Ftools\u002Fai-agents","docs\u002Ftools\u002Fai-agents\u002Findex",[2128],{"title":2124,"path":2125,"stem":2126,"icon":2129},"i-lucide-shield-alert",{"title":2131,"path":2132,"stem":2133,"children":2134},"Command line","\u002Fdocs\u002Ftools\u002Fcommand-line","docs\u002Ftools\u002Fcommand-line\u002Findex",[2135,2136,2142,2147,2153,2159,2165,2171,2177,2183,2303,2309,2315,2321,2327,2333,2339],{"title":2131,"path":2132,"stem":2133},{"title":2137,"path":2138,"stem":2139,"children":2140},"Aliases","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Faliases","docs\u002Ftools\u002Fcommand-line\u002Faliases\u002Findex",[2141],{"title":2137,"path":2138,"stem":2139},{"title":550,"path":2143,"stem":2144,"children":2145},"\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fauthentication","docs\u002Ftools\u002Fcommand-line\u002Fauthentication\u002Findex",[2146],{"title":550,"path":2143,"stem":2144},{"title":2148,"path":2149,"stem":2150,"children":2151},"Commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fcommands","docs\u002Ftools\u002Fcommand-line\u002Fcommands\u002Findex",[2152],{"title":2148,"path":2149,"stem":2150},{"title":2154,"path":2155,"stem":2156,"children":2157},"Global commands reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fglobal-commands","docs\u002Ftools\u002Fcommand-line\u002Fglobal-commands\u002Findex",[2158],{"title":2154,"path":2155,"stem":2156},{"title":2160,"path":2161,"stem":2162,"children":2163},"Installation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finstallation","docs\u002Ftools\u002Fcommand-line\u002Finstallation\u002Findex",[2164],{"title":2160,"path":2161,"stem":2162},{"title":2166,"path":2167,"stem":2168,"children":2169},"Interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finteractive","docs\u002Ftools\u002Fcommand-line\u002Finteractive\u002Findex",[2170],{"title":2166,"path":2167,"stem":2168},{"title":2172,"path":2173,"stem":2174,"children":2175},"Non-interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fnon-interactive","docs\u002Ftools\u002Fcommand-line\u002Fnon-interactive\u002Findex",[2176],{"title":2172,"path":2173,"stem":2174},{"title":2178,"path":2179,"stem":2180,"children":2181},"Project configuration","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fproject-configuration","docs\u002Ftools\u002Fcommand-line\u002Fproject-configuration\u002Findex",[2182],{"title":2178,"path":2179,"stem":2180},{"title":2184,"path":2185,"stem":2186,"children":2187},"Command reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Findex",[2188,2189,2195,2201,2207,2213,2219,2225,2231,2237,2243,2249,2255,2261,2267,2273,2279,2285,2291,2297],{"title":2184,"path":2185,"stem":2186},{"title":2190,"path":2191,"stem":2192,"children":2193},"About commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout\u002Findex",[2194],{"title":2190,"path":2191,"stem":2192},{"title":2196,"path":2197,"stem":2198,"children":2199},"Apps commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps\u002Findex",[2200],{"title":2196,"path":2197,"stem":2198},{"title":2202,"path":2203,"stem":2204,"children":2205},"Carts commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Findex",[2206],{"title":2202,"path":2203,"stem":2204},{"title":2208,"path":2209,"stem":2210,"children":2211},"Channels commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels\u002Findex",[2212],{"title":2208,"path":2209,"stem":2210},{"title":2214,"path":2215,"stem":2216,"children":2217},"Create commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate\u002Findex",[2218],{"title":2214,"path":2215,"stem":2216},{"title":2220,"path":2221,"stem":2222,"children":2223},"Customers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Findex",[2224],{"title":2220,"path":2221,"stem":2222},{"title":2226,"path":2227,"stem":2228,"children":2229},"Deploy commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy\u002Findex",[2230],{"title":2226,"path":2227,"stem":2228},{"title":2232,"path":2233,"stem":2234,"children":2235},"Forms commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms\u002Findex",[2236],{"title":2232,"path":2233,"stem":2234},{"title":2238,"path":2239,"stem":2240,"children":2241},"Markets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets\u002Findex",[2242],{"title":2238,"path":2239,"stem":2240},{"title":2244,"path":2245,"stem":2246,"children":2247},"Order lists commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists\u002Findex",[2248],{"title":2244,"path":2245,"stem":2246},{"title":2250,"path":2251,"stem":2252,"children":2253},"Orders commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders\u002Findex",[2254],{"title":2250,"path":2251,"stem":2252},{"title":2256,"path":2257,"stem":2258,"children":2259},"Pages commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Findex",[2260],{"title":2256,"path":2257,"stem":2258},{"title":2262,"path":2263,"stem":2264,"children":2265},"Prices commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices\u002Findex",[2266],{"title":2262,"path":2263,"stem":2264},{"title":2268,"path":2269,"stem":2270,"children":2271},"Products commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Findex",[2272],{"title":2268,"path":2269,"stem":2270},{"title":2274,"path":2275,"stem":2276,"children":2277},"Search commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch\u002Findex",[2278],{"title":2274,"path":2275,"stem":2276},{"title":2280,"path":2281,"stem":2282,"children":2283},"Settings commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings\u002Findex",[2284],{"title":2280,"path":2281,"stem":2282},{"title":2286,"path":2287,"stem":2288,"children":2289},"Sites commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites\u002Findex",[2290],{"title":2286,"path":2287,"stem":2288},{"title":2292,"path":2293,"stem":2294,"children":2295},"Skills commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills\u002Findex",[2296],{"title":2292,"path":2293,"stem":2294},{"title":2298,"path":2299,"stem":2300,"children":2301},"Storage commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage\u002Findex",[2302],{"title":2298,"path":2299,"stem":2300},{"title":2304,"path":2305,"stem":2306,"children":2307},"Interactive shell (REPL)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Frepl","docs\u002Ftools\u002Fcommand-line\u002Frepl\u002Findex",[2308],{"title":2304,"path":2305,"stem":2306},{"title":2310,"path":2311,"stem":2312,"children":2313},"Scaffolding","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscaffolding","docs\u002Ftools\u002Fcommand-line\u002Fscaffolding\u002Findex",[2314],{"title":2310,"path":2311,"stem":2312},{"title":2316,"path":2317,"stem":2318,"children":2319},"Scripting & output","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscripting","docs\u002Ftools\u002Fcommand-line\u002Fscripting\u002Findex",[2320],{"title":2316,"path":2317,"stem":2318},{"title":2322,"path":2323,"stem":2324,"children":2325},"Skills","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Fskills\u002Findex",[2326],{"title":2322,"path":2323,"stem":2324},{"title":2328,"path":2329,"stem":2330,"children":2331},"Full-screen app (TUI)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftui","docs\u002Ftools\u002Fcommand-line\u002Ftui\u002Findex",[2332],{"title":2328,"path":2329,"stem":2330},{"title":2334,"path":2335,"stem":2336,"children":2337},"Type generation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftype-generation","docs\u002Ftools\u002Fcommand-line\u002Ftype-generation\u002Findex",[2338],{"title":2334,"path":2335,"stem":2336},{"title":2340,"path":2341,"stem":2342,"children":2343},"Background watchers","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fwatch","docs\u002Ftools\u002Fcommand-line\u002Fwatch\u002Findex",[2344],{"title":2340,"path":2341,"stem":2342},{"title":2346,"path":2347,"stem":2348,"children":2349},"Model Context Protocol","\u002Fdocs\u002Ftools\u002Fmcp","docs\u002Ftools\u002Fmcp\u002Findex",[2350,2351,2357,2363,2369,2375,2381,2387,2393],{"title":2346,"path":2347,"stem":2348},{"title":2352,"path":2353,"stem":2354,"children":2355},"revenexx docs MCP in Google Antigravity","\u002Fdocs\u002Ftools\u002Fmcp\u002Fantigravity","docs\u002Ftools\u002Fmcp\u002Fantigravity\u002Findex",[2356],{"title":2352,"path":2353,"stem":2354},{"title":2358,"path":2359,"stem":2360,"children":2361},"revenexx docs MCP in Claude Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-code","docs\u002Ftools\u002Fmcp\u002Fclaude-code\u002Findex",[2362],{"title":2358,"path":2359,"stem":2360},{"title":2364,"path":2365,"stem":2366,"children":2367},"revenexx docs MCP in Claude Desktop","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-desktop","docs\u002Ftools\u002Fmcp\u002Fclaude-desktop\u002Findex",[2368],{"title":2364,"path":2365,"stem":2366},{"title":2370,"path":2371,"stem":2372,"children":2373},"revenexx docs MCP in Cursor","\u002Fdocs\u002Ftools\u002Fmcp\u002Fcursor","docs\u002Ftools\u002Fmcp\u002Fcursor\u002Findex",[2374],{"title":2370,"path":2371,"stem":2372},{"title":2376,"path":2377,"stem":2378,"children":2379},"revenexx docs MCP in OpenCode","\u002Fdocs\u002Ftools\u002Fmcp\u002Fopencode","docs\u002Ftools\u002Fmcp\u002Fopencode\u002Findex",[2380],{"title":2376,"path":2377,"stem":2378},{"title":2382,"path":2383,"stem":2384,"children":2385},"revenexx docs MCP in VS Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fvscode","docs\u002Ftools\u002Fmcp\u002Fvscode\u002Findex",[2386],{"title":2382,"path":2383,"stem":2384},{"title":2388,"path":2389,"stem":2390,"children":2391},"revenexx docs MCP in Windsurf","\u002Fdocs\u002Ftools\u002Fmcp\u002Fwindsurf","docs\u002Ftools\u002Fmcp\u002Fwindsurf\u002Findex",[2392],{"title":2388,"path":2389,"stem":2390},{"title":2394,"path":2395,"stem":2396,"children":2397},"revenexx docs MCP in Zenflow","\u002Fdocs\u002Ftools\u002Fmcp\u002Fzenflow","docs\u002Ftools\u002Fmcp\u002Fzenflow\u002Findex",[2398],{"title":2394,"path":2395,"stem":2396},{"id":2400,"title":1578,"body":2401,"description":5443,"extension":5444,"landing":5445,"links":5445,"meta":5446,"navigation":5447,"path":1579,"seo":5448,"sitemap":5449,"stem":1580,"__hash__":5450},"docs\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fpunchout\u002Findex.md",{"type":2402,"value":2403,"toc":5428},"minimark",[2404,2417,2442,2457,2462,2627,2630,2748,2764,2768,2775,2823,2830,2857,3097,3115,3128,3131,3136,3145,3223,3232,3236,3263,3713,3738,3743,3746,3749,3782,3789,3792,3844,3851,3960,4001,4004,4008,4019,4183,4189,4214,4290,4353,4383,4404,4412,4414,4421,4546,4552,4579,4583,4592,4674,4687,4704,4716,4795,4944,4978,5042,5089,5130,5153,5157,5230,5233,5255,5286,5395,5399,5424],[2405,2406,2407,2408,2412,2413,2416],"p",{},"This page is the reference for the ",[2409,2410,2411],"strong",{},"punchout"," App, for developers who connect a buyer's procurement system (SAP, Ariba, Coupa or a wholesale system speaking IDS) to a storefront. For a walkthrough, start with ",[2414,2415,264],"a",{"href":265},".",[2405,2418,2419,2420,2423,2424,2427,2428,2431,2432,2436,2437,2441],{},"A punchout visit has three legs. The procurement system calls an ",[2409,2421,2422],{},"entry address"," with its own credentials, the buyer lands signed in on your storefront and fills a cart, and the cart goes back to the procurement system as a ",[2409,2425,2426],{},"hand-back"," form the buyer's browser submits. The procurement system then approves and orders on its side. ",[2409,2429,2430],{},"The punchout App never creates an order"," and reserves no stock, and a hand-back sends the cart as it stands: it is a transfer, not a sale. The one exception is an IDS account whose ",[2414,2433,2435],{"href":2434},"#purchase-mode-ids","purchase mode"," lets the buyer check out in the shop: the order is then an ordinary storefront order, and the App only records it. That needs a storefront that offers the checkout exit, which ",[2438,2439,2440],"code",{},"@revenexx\u002Fcover"," does not do yet (as of 2026-10).",[2405,2443,2444,2445,2448,2449,2452,2453,2456],{},"Every admin route below is under ",[2438,2446,2447],{},"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fpunchout"," and takes the usual ",[2438,2450,2451],{},"X-Revenexx-Tenant"," and ",[2438,2454,2455],{},"X-Revenexx-Api-Key"," headers.",[2458,2459,2461],"h2",{"id":2460},"protocols","Protocols",[2463,2464,2465,2486],"table",{},[2466,2467,2468],"thead",{},[2469,2470,2471,2477,2480,2483],"tr",{},[2472,2473,2474],"th",{},[2438,2475,2476],{},"protocol",[2472,2478,2479],{},"Standard",[2472,2481,2482],{},"Entry authenticates with",[2472,2484,2485],{},"Hand-back",[2487,2488,2489,2529,2560,2590],"tbody",{},[2469,2490,2491,2497,2500,2518],{},[2492,2493,2494],"td",{},[2438,2495,2496],{},"oci",[2492,2498,2499],{},"OCI 4.0 \u002F 5.0, Level 1",[2492,2501,2502,2505,2506,2509,2510,2513,2514,2517],{},[2438,2503,2504],{},"USERNAME"," + ",[2438,2507,2508],{},"PASSWORD",", or ",[2438,2511,2512],{},"LOGINTOKEN"," (see ",[2438,2515,2516],{},"auth_strategy",")",[2492,2519,2520,2521,2524,2525,2528],{},"A url-encoded form POSTed to the ",[2438,2522,2523],{},"HOOK_URL"," the entry call named, one ",[2438,2526,2527],{},"NEW_ITEM-…[n]"," field per line",[2469,2530,2531,2539,2542,2553],{},[2492,2532,2533,2535,2536],{},[2438,2534,2496],{}," with ",[2438,2537,2538],{},"secure_oci: true",[2492,2540,2541],{},"Secure OCI",[2492,2543,2544,2545,2548,2549,2552],{},"A back-channel ",[2438,2546,2547],{},"FUNCTION=INITIALIZE"," call answers a ",[2438,2550,2551],{},"SessionId",", and the browser arrives with that alone. The handle works once.",[2492,2554,2555,2556,2559],{},"Nothing from the browser. The procurement system fetches the cart itself with ",[2438,2557,2558],{},"FUNCTION=RETRIEVEOCI"," on the same entry address.",[2469,2561,2562,2567,2573,2579],{},[2492,2563,2564],{},[2438,2565,2566],{},"cxml",[2492,2568,2569,2570],{},"cXML ",[2438,2571,2572],{},"PunchOutSetupRequest",[2492,2574,2575,2578],{},[2438,2576,2577],{},"Sender"," Identity + SharedSecret",[2492,2580,2581,2582,2585,2586,2589],{},"One url-encoded form field holding the whole ",[2438,2583,2584],{},"PunchOutOrderMessage",", POSTed to the request's ",[2438,2587,2588],{},"BrowserFormPost"," URL",[2469,2591,2592,2597,2600,2617],{},[2492,2593,2594],{},[2438,2595,2596],{},"ids",[2492,2598,2599],{},"IDS 2.5",[2492,2601,2602,2505,2605,2608,2609,2612,2613,2616],{},[2438,2603,2604],{},"name_kunde",[2438,2606,2607],{},"pw_kunde",", and ",[2438,2610,2611],{},"kndnr"," when the account sets one, in a ",[2438,2614,2615],{},"multipart\u002Fform-data"," body",[2492,2618,2619,2620,2623,2624],{},"A multipart form with the ",[2438,2621,2622],{},"Warenkorb"," document, POSTed to ",[2438,2625,2626],{},"hookurl",[2405,2628,2629],{},"What each protocol does not serve:",[2631,2632,2633,2675,2717],"ul",{},[2634,2635,2636,2639,2640,2643,2644,2643,2647,2643,2650,2643,2653,2643,2656,2452,2659,2662,2663,2666,2667,2670,2671,2674],"li",{},[2409,2637,2638],{},"OCI"," serves the shopping call only. ",[2438,2641,2642],{},"DETAIL",", ",[2438,2645,2646],{},"VALIDATE",[2438,2648,2649],{},"SOURCING",[2438,2651,2652],{},"BACKGROUND_SEARCH",[2438,2654,2655],{},"DOWNLOADJSON",[2438,2657,2658],{},"DETAILADD",[2438,2660,2661],{},"QUANTITYCHECK"," answer ",[2438,2664,2665],{},"501",", and an unknown ",[2438,2668,2669],{},"FUNCTION"," answers ",[2438,2672,2673],{},"400",". OCI parameter names are read in any casing.",[2634,2676,2677,2680,2681,2683,2684,2643,2687,2452,2690,2693,2694,2452,2696,2698,2699,2701,2702,2705,2706,2709,2710,2713,2714],{},[2409,2678,2679],{},"cXML"," serves ",[2438,2682,2572],{}," with the operations ",[2438,2685,2686],{},"create",[2438,2688,2689],{},"edit",[2438,2691,2692],{},"inspect",". ",[2438,2695,2689],{},[2438,2697,2692],{}," reopen a requisition from the request's lines, and ",[2438,2700,2692],{}," is view-only. ",[2438,2703,2704],{},"source"," answers cXML Status ",[2438,2707,2708],{},"450",". There is no ",[2438,2711,2712],{},"OrderRequest"," handling: ",[2409,2715,2716],{},"the purchase order the procurement system later sends does not arrive through this App.",[2634,2718,2719,2680,2722,2643,2725,2643,2728,2643,2731,2643,2734,2452,2737,2693,2740,2742,2743,2670,2746,2416],{},[2409,2720,2721],{},"IDS",[2438,2723,2724],{},"WKE",[2438,2726,2727],{},"ADL",[2438,2729,2730],{},"AS",[2438,2732,2733],{},"WKS",[2438,2735,2736],{},"LI",[2438,2738,2739],{},"SV",[2438,2741,2733],{}," always imports into a new cart. ",[2438,2744,2745],{},"HLS",[2438,2747,2665],{},[2405,2749,2750,2751,2755,2756,2452,2758,2760,2761,2763],{},"A cart that comes ",[2752,2753,2754],"em",{},"in"," (cXML ",[2438,2757,2689],{},[2438,2759,2692],{},", IDS ",[2438,2762,2733],{},") is priced at your channel's prices, not at the prices the procurement system sent.",[2458,2765,2767],{"id":2766},"entry-addresses","Entry addresses",[2405,2769,2770,2771,2774],{},"The procurement system calls ",[2409,2772,2773],{},"your storefront host",", not the API gateway:",[2463,2776,2777,2787],{},[2466,2778,2779],{},[2469,2780,2781,2784],{},[2472,2782,2783],{},"Protocol",[2472,2785,2786],{},"Entry address",[2487,2788,2789,2798,2807],{},[2469,2790,2791,2793],{},[2492,2792,2638],{},[2492,2794,2795],{},[2438,2796,2797],{},"https:\u002F\u002F\u003Cstorefront-host>\u002Fpunchout\u002Foci\u002F\u003Caccount-code>",[2469,2799,2800,2802],{},[2492,2801,2679],{},[2492,2803,2804],{},[2438,2805,2806],{},"https:\u002F\u002F\u003Cstorefront-host>\u002Fpunchout\u002Fcxml\u002F\u003Caccount-code>",[2469,2808,2809,2811],{},[2492,2810,2721],{},[2492,2812,2813,2816,2817,2819,2820,2822],{},[2438,2814,2815],{},"https:\u002F\u002F\u003Cstorefront-host>\u002Fpunchout\u002Fids",", one address for every account. The account is the one whose ",[2438,2818,2438],{}," equals the ",[2438,2821,2604],{}," the call sends.",[2405,2824,2825,2826,2829],{},"The storefront passes each call through to the App unchanged and writes the answer back byte for byte. It authenticates nothing itself, because the credentials are the App's business. The spec also lists ",[2438,2827,2828],{},"\u002Fv1\u002Fpunchout\u002Fentry\u002F…"," routes. Those are what the storefront forwards to, they need a tenant credential, and a procurement system cannot call them.",[2405,2831,2832,2837,2838,2841,2842,2845,2846,2849,2850,2452,2853,2856],{},[2409,2833,2834,2835],{},"The storefront must run a theme built on ",[2438,2836,2440],{},", which carries the entry routes, the sign-in page at ",[2438,2839,2840],{},"\u002Fpunchout\u002Fstart"," and the hand-back page. ",[2438,2843,2844],{},"@revenexx\u002Fcover-theme"," extends it, so a theme on either layer has them. The theme's ",[2438,2847,2848],{},"theme.json"," must also be allowed to call the capabilities behind them. The ",[2438,2851,2852],{},"cover-theme",[2438,2854,2855],{},"custom-theme"," starting points declare all five:",[2858,2859,2864],"pre",{"className":2860,"code":2861,"filename":2848,"language":2862,"meta":2863,"style":2863},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\"permissions\": [\n  { \"capability\": \"punchout.entry.oci\",       \"compatible\": \"^1.0\" },\n  { \"capability\": \"punchout.entry.cxml\",      \"compatible\": \"^1.0\" },\n  { \"capability\": \"punchout.entry.ids\",       \"compatible\": \"^1.0\" },\n  { \"capability\": \"punchout.sessions.claim\",  \"compatible\": \"^1.0\" },\n  { \"capability\": \"punchout.sessions.return\", \"compatible\": \"^1.0\" }\n]\n","json","",[2438,2865,2866,2888,2936,2975,3013,3052,3091],{"__ignoreMap":2863},[2867,2868,2871,2875,2879,2881,2885],"span",{"class":2869,"line":2870},"line",1,[2867,2872,2874],{"class":2873},"sMK4o","\"",[2867,2876,2878],{"class":2877},"sfazB","permissions",[2867,2880,2874],{"class":2873},[2867,2882,2884],{"class":2883},"sTEyZ",": ",[2867,2886,2887],{"class":2873},"[\n",[2867,2889,2891,2894,2897,2901,2903,2906,2908,2911,2913,2916,2919,2922,2924,2926,2928,2931,2933],{"class":2869,"line":2890},2,[2867,2892,2893],{"class":2873},"  {",[2867,2895,2896],{"class":2873}," \"",[2867,2898,2900],{"class":2899},"spNyl","capability",[2867,2902,2874],{"class":2873},[2867,2904,2905],{"class":2873},":",[2867,2907,2896],{"class":2873},[2867,2909,2910],{"class":2877},"punchout.entry.oci",[2867,2912,2874],{"class":2873},[2867,2914,2915],{"class":2873},",",[2867,2917,2918],{"class":2873},"       \"",[2867,2920,2921],{"class":2899},"compatible",[2867,2923,2874],{"class":2873},[2867,2925,2905],{"class":2873},[2867,2927,2896],{"class":2873},[2867,2929,2930],{"class":2877},"^1.0",[2867,2932,2874],{"class":2873},[2867,2934,2935],{"class":2873}," },\n",[2867,2937,2939,2941,2943,2945,2947,2949,2951,2954,2956,2958,2961,2963,2965,2967,2969,2971,2973],{"class":2869,"line":2938},3,[2867,2940,2893],{"class":2873},[2867,2942,2896],{"class":2873},[2867,2944,2900],{"class":2899},[2867,2946,2874],{"class":2873},[2867,2948,2905],{"class":2873},[2867,2950,2896],{"class":2873},[2867,2952,2953],{"class":2877},"punchout.entry.cxml",[2867,2955,2874],{"class":2873},[2867,2957,2915],{"class":2873},[2867,2959,2960],{"class":2873},"      \"",[2867,2962,2921],{"class":2899},[2867,2964,2874],{"class":2873},[2867,2966,2905],{"class":2873},[2867,2968,2896],{"class":2873},[2867,2970,2930],{"class":2877},[2867,2972,2874],{"class":2873},[2867,2974,2935],{"class":2873},[2867,2976,2978,2980,2982,2984,2986,2988,2990,2993,2995,2997,2999,3001,3003,3005,3007,3009,3011],{"class":2869,"line":2977},4,[2867,2979,2893],{"class":2873},[2867,2981,2896],{"class":2873},[2867,2983,2900],{"class":2899},[2867,2985,2874],{"class":2873},[2867,2987,2905],{"class":2873},[2867,2989,2896],{"class":2873},[2867,2991,2992],{"class":2877},"punchout.entry.ids",[2867,2994,2874],{"class":2873},[2867,2996,2915],{"class":2873},[2867,2998,2918],{"class":2873},[2867,3000,2921],{"class":2899},[2867,3002,2874],{"class":2873},[2867,3004,2905],{"class":2873},[2867,3006,2896],{"class":2873},[2867,3008,2930],{"class":2877},[2867,3010,2874],{"class":2873},[2867,3012,2935],{"class":2873},[2867,3014,3016,3018,3020,3022,3024,3026,3028,3031,3033,3035,3038,3040,3042,3044,3046,3048,3050],{"class":2869,"line":3015},5,[2867,3017,2893],{"class":2873},[2867,3019,2896],{"class":2873},[2867,3021,2900],{"class":2899},[2867,3023,2874],{"class":2873},[2867,3025,2905],{"class":2873},[2867,3027,2896],{"class":2873},[2867,3029,3030],{"class":2877},"punchout.sessions.claim",[2867,3032,2874],{"class":2873},[2867,3034,2915],{"class":2873},[2867,3036,3037],{"class":2873},"  \"",[2867,3039,2921],{"class":2899},[2867,3041,2874],{"class":2873},[2867,3043,2905],{"class":2873},[2867,3045,2896],{"class":2873},[2867,3047,2930],{"class":2877},[2867,3049,2874],{"class":2873},[2867,3051,2935],{"class":2873},[2867,3053,3055,3057,3059,3061,3063,3065,3067,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088],{"class":2869,"line":3054},6,[2867,3056,2893],{"class":2873},[2867,3058,2896],{"class":2873},[2867,3060,2900],{"class":2899},[2867,3062,2874],{"class":2873},[2867,3064,2905],{"class":2873},[2867,3066,2896],{"class":2873},[2867,3068,3069],{"class":2877},"punchout.sessions.return",[2867,3071,2874],{"class":2873},[2867,3073,2915],{"class":2873},[2867,3075,2896],{"class":2873},[2867,3077,2921],{"class":2899},[2867,3079,2874],{"class":2873},[2867,3081,2905],{"class":2873},[2867,3083,2896],{"class":2873},[2867,3085,2930],{"class":2877},[2867,3087,2874],{"class":2873},[2867,3089,3090],{"class":2873}," }\n",[2867,3092,3094],{"class":2869,"line":3093},7,[2867,3095,3096],{"class":2873},"]\n",[2405,3098,3099,3100,3103,3104,3107,3108,3110,3111,3114],{},"Two more things have to be true for a buyer to arrive signed in. The Customers setting ",[2438,3101,3102],{},"login_magic_link"," (",[2409,3105,3106],{},"Sign in with a mailed link",") must be on for the tenant, and not switched off by the buyer's organization. It is off by default. And the buyer must land on ",[2438,3109,2840],{},", the only page that signs them in, so the tenant's storefront address (below) or the account's own ",[2438,3112,3113],{},"start_page_url"," must be that page.",[2405,3116,3117,3118,3121,3122,3124,3125,3127],{},"A theme deployed with the ",[2438,3119,3120],{},"static"," runtime adapter has no server, so it can never serve entry. See ",[2414,3123,2052],{"href":2053}," for the manifest and ",[2414,3126,1878],{"href":1879}," for the adapter.",[2405,3129,3130],{},"The buyer's browser has to accept cookies, because the visit is carried in a cookie.",[3132,3133,3135],"h3",{"id":3134},"tenant-settings","Tenant settings",[2405,3137,3138,3139,3144],{},"Some values are the same for every account, so they are punchout App settings for the tenant rather than account fields. An operator sets them in Cockpit's settings form for the Punchout App, and ",[2414,3140,3141],{"href":1500},[2438,3142,3143],{},"GET \u002Fv1\u002Fsettings\u002Fapps\u002Fpunchout"," reads the values in force.",[2463,3146,3147,3157],{},[2466,3148,3149],{},[2469,3150,3151,3154],{},[2472,3152,3153],{},"Setting",[2472,3155,3156],{},"Is",[2487,3158,3159,3188,3206],{},[2469,3160,3161,3169],{},[2492,3162,3163,3103,3166,2517],{},[2438,3164,3165],{},"storefront_url",[2409,3167,3168],{},"Storefront address",[2492,3170,3171,3172,3175,3176,3179,3180,3183,3184,3187],{},"Where the buyer lands after entry, and the origin (scheme, host and port) every entry address is derived from. Set it to ",[2438,3173,3174],{},"https:\u002F\u002F\u003Cstorefront-host>\u002Fpunchout\u002Fstart",". Entry sends the buyer to exactly this address with the visit handle appended as ",[2438,3177,3178],{},"?psid=…",", so the bare host leaves every buyer signed out, even though Cockpit's own hint shows a bare host. Empty by default, and an account with no start page of its own then cannot be probed (",[2438,3181,3182],{},"unconfigured",") or entered (",[2438,3185,3186],{},"misconfigured",").",[2469,3189,3190,3195],{},[2492,3191,3192],{},[2438,3193,3194],{},"session_ttl_minutes",[2492,3196,3197,3198,3201,3202,3205],{},"Default ",[2438,3199,3200],{},"60",", minimum ",[2438,3203,3204],{},"1",". How long a visit stays open after the procurement system opened it.",[2469,3207,3208,3213],{},[2492,3209,3210],{},[2438,3211,3212],{},"entry_probe_required",[2492,3214,3197,3215,3218,3219,2416],{},[2438,3216,3217],{},"true",". Whether an account must pass the probe before it can be enabled. See ",[2414,3220,3222],{"href":3221},"#probe-test-and-preview","Probe, test and preview",[2405,3224,3225,3226,2452,3228,3231],{},"An account can override the first two, with ",[2438,3227,3113],{},[2438,3229,3230],{},"session_ttl_override_minutes",". Leave both empty unless one buyer needs something different.",[2458,3233,3235],{"id":3234},"accounts","Accounts",[2405,3237,3238,3241,3242,2452,3245,3248,3249,2608,3251,2643,3253,2452,3256,3248,3259,3262],{},[2438,3239,3240],{},"\u002Faccounts"," is plain CRUD: ",[2438,3243,3244],{},"GET",[2438,3246,3247],{},"POST"," on ",[2438,3250,3240],{},[2438,3252,3244],{},[2438,3254,3255],{},"PUT",[2438,3257,3258],{},"DELETE",[2438,3260,3261],{},"\u002Faccounts\u002F{id}",". One account is one procurement system of one buyer.",[2463,3264,3265,3274],{},[2466,3266,3267],{},[2469,3268,3269,3272],{},[2472,3270,3271],{},"Field",[2472,3273,3156],{},[2487,3275,3276,3295,3306,3324,3340,3356,3370,3380,3403,3439,3463,3476,3489,3506,3519,3531,3553,3573,3585,3630,3643,3675,3692],{},[2469,3277,3278,3282],{},[2492,3279,3280],{},[2438,3281,2438],{},[2492,3283,3284,3287,3288,3294],{},[2409,3285,3286],{},"Required."," Unique per tenant. It is the last segment of the OCI and cXML entry addresses. ",[2409,3289,3290,3291,3293],{},"For IDS, it must equal the ",[2438,3292,2604],{}," the wholesaler's system sends",", because that is how the call finds its account.",[2469,3296,3297,3302],{},[2492,3298,3299],{},[2438,3300,3301],{},"name",[2492,3303,3304],{},[2409,3305,3286],{},[2469,3307,3308,3312],{},[2492,3309,3310],{},[2438,3311,2476],{},[2492,3313,3314,3316,3317,2643,3319,3321,3322,2416],{},[2409,3315,3286],{}," ",[2438,3318,2496],{},[2438,3320,2566],{}," or ",[2438,3323,2596],{},[2469,3325,3326,3331],{},[2492,3327,3328],{},[2438,3329,3330],{},"channel_code",[2492,3332,3333,3335,3336,3339],{},[2409,3334,3286],{}," The ",[2414,3337,3338],{"href":1471},"channel"," the visit shops in. It decides the assortment and prices the buyer sees.",[2469,3341,3342,3347],{},[2492,3343,3344],{},[2438,3345,3346],{},"enabled",[2492,3348,3197,3349,3352,3353,3355],{},[2438,3350,3351],{},"false",". Can only become ",[2438,3354,3217],{}," once the probe has passed (see below).",[2469,3357,3358,3363],{},[2492,3359,3360],{},[2438,3361,3362],{},"organization_id",[2492,3364,3365,3366,3369],{},"The buyer's ",[2414,3367,3368],{"href":1418},"organization",". Arriving users are matched against its contacts.",[2469,3371,3372,3377],{},[2492,3373,3374],{},[2438,3375,3376],{},"fallback_contact_id",[2492,3378,3379],{},"The contact a visit shops as when the entry call names nobody, or names someone the policy falls back from.",[2469,3381,3382,3387],{},[2492,3383,3384],{},[2438,3385,3386],{},"unknown_user_policy",[2492,3388,3389,3392,3393,3321,3396,3398,3399,2416],{},[2438,3390,3391],{},"fallback"," (default), ",[2438,3394,3395],{},"refuse",[2438,3397,2686],{},". See ",[2414,3400,3402],{"href":3401},"#who-the-buyer-is","Who the buyer is",[2469,3404,3405,3409],{},[2492,3406,3407],{},[2438,3408,2516],{},[2492,3410,3411,3316,3414,3417,3418,3420,3421,2452,3424,3420,3426,2693,3429,3432,3433,3420,3435,3438],{},[2409,3412,3413],{},"OCI only.",[2438,3415,3416],{},"password"," (default) checks ",[2438,3419,2504],{}," against ",[2438,3422,3423],{},"credential_identity",[2438,3425,2508],{},[2438,3427,3428],{},"credential_secret",[2438,3430,3431],{},"token"," checks ",[2438,3434,2512],{},[2438,3436,3437],{},"login_token",". cXML and IDS ignore it.",[2469,3440,3441,3445],{},[2492,3442,3443],{},[2438,3444,3423],{},[2492,3446,3447,3448,3451,3452,3454,3455,3457,3458,3460,3461,2416],{},"OCI with ",[2438,3449,3450],{},"auth_strategy: password",": the expected ",[2438,3453,2504],{},". cXML: the ",[2438,3456,2577],{}," identity. IDS: the expected ",[2438,3459,2604],{},", so the same value as ",[2438,3462,2438],{},[2469,3464,3465,3470],{},[2492,3466,3467],{},[2438,3468,3469],{},"credential_domain",[2492,3471,3472,3473,3475],{},"cXML: the ",[2438,3474,2577],{}," identity's domain. The test call sends it, but entry checks only the identity and the shared secret.",[2469,3477,3478,3483],{},[2492,3479,3480],{},[2438,3481,3482],{},"ids_customer_name",[2492,3484,3485,3486,3488],{},"IDS: the expected customer number ",[2438,3487,2611],{},". Checked only when set.",[2469,3490,3491,3495],{},[2492,3492,3493],{},[2438,3494,3428],{},[2492,3496,3497,3498,2760,3500,2693,3502,3505],{},"OCI ",[2438,3499,2508],{},[2438,3501,2607],{},[2409,3503,3504],{},"Write-only",", never returned.",[2469,3507,3508,3512],{},[2492,3509,3510],{},[2438,3511,3437],{},[2492,3513,3497,3514,2693,3516],{},[2438,3515,2512],{},[2409,3517,3518],{},"Write-only.",[2469,3520,3521,3526],{},[2492,3522,3523],{},[2438,3524,3525],{},"shared_secret",[2492,3527,3528,3529],{},"cXML SharedSecret. ",[2409,3530,3518],{},[2469,3532,3533,3537],{},[2492,3534,3535],{},[2438,3536,3113],{},[2492,3538,3539,3540,3542,3543,3545,3546,3549,3550,3552],{},"Override of the tenant's ",[2438,3541,3165],{},", normally empty. Set it only for a buyer who should land somewhere else, and still on a ",[2438,3544,2840],{}," page, since any other page leaves the buyer signed out. It must be an absolute ",[2438,3547,3548],{},"http(s)"," address. An invalid one is not replaced by the tenant's address: entry refuses the account as ",[2438,3551,3186],{},". The entry address is derived from its origin.",[2469,3554,3555,3560],{},[2492,3556,3557],{},[2438,3558,3559],{},"entry_url",[2492,3561,3562,3565,3566,3568,3569,3572],{},[2409,3563,3564],{},"Read-only."," The address the procurement system calls, derived from the start page's origin (the account's own or the tenant's), the protocol and ",[2438,3567,2438],{},". Give this to the buyer's team. ",[2438,3570,3571],{},"null"," while neither address is set.",[2469,3574,3575,3580],{},[2492,3576,3577],{},[2438,3578,3579],{},"secure_oci",[2492,3581,3197,3582,3584],{},[2438,3583,3351],{},". Switches the OCI account to Secure OCI.",[2469,3586,3587,3592],{},[2492,3588,3589],{},[2438,3590,3591],{},"protocol_version",[2492,3593,3594,3595,3598,3599,2693,3601,3610,3611,3613,3614,3617,3618,3620,3621,3610,3624,3627,3628,2416],{},"One of ",[2438,3596,3597],{},"GET \u002Fv1\u002Fpunchout\u002Fvocabularies\u002Fprotocol-versions"," for the account's protocol, and any other value answers ",[2438,3600,2673],{},[2409,3602,3603,3604,3321,3607],{},"OCI: ",[2438,3605,3606],{},"4.0",[2438,3608,3609],{},"5.0"," (empty means ",[2438,3612,3609],{},"). It decides which ",[2438,3615,3616],{},"NEW_ITEM-…"," fields the hand-back carries. IDS: a version the shop answers ",[2438,3619,2739],{}," with, sent as the hand-back's ",[2438,3622,3623],{},"version",[2438,3625,3626],{},"2.5","). cXML: leave it empty, because each cXML document states its own version, and any value answers ",[2438,3629,2673],{},[2469,3631,3632,3636],{},[2492,3633,3634],{},[2438,3635,3230],{},[2492,3637,3539,3638,2693,3640,3642],{},[2438,3639,3194],{},[2438,3641,3571],{},", the ordinary case, means the tenant's lifetime.",[2469,3644,3645,3650],{},[2492,3646,3647],{},[2438,3648,3649],{},"purchase_mode",[2492,3651,3652,3653,3656,3657,3660,3661,3664,3665,3668,3669,3671,3672,2416],{},"Which exit a visit offers: ",[2438,3654,3655],{},"transfer"," (default, the hand-back only), ",[2438,3658,3659],{},"order"," (checkout in the shop, nothing handed back) or ",[2438,3662,3663],{},"order_and_transfer"," (checkout, then the hand-back, which names the order). ",[2409,3666,3667],{},"Ordering modes are IDS only."," Any other protocol is saved as ",[2438,3670,3655],{}," whatever you send, without an error. See ",[2414,3673,3674],{"href":2434},"Purchase mode",[2469,3676,3677,3682],{},[2492,3678,3679],{},[2438,3680,3681],{},"echo_entry_parameters",[2492,3683,3684,3686,3687,2693,3689,3691],{},[2409,3685,3413],{}," Default ",[2438,3688,3351],{},[2438,3690,3217],{}," returns the entry call's own query parameters in the hand-back, for a procurement system that expects them. Credential parameters are never returned.",[2469,3693,3694,3708],{},[2492,3695,3696,2643,3699,2643,3702,2643,3705],{},[2438,3697,3698],{},"entry_probe_status",[2438,3700,3701],{},"entry_probe_at",[2438,3703,3704],{},"entry_probe_url",[2438,3706,3707],{},"entry_probe_detail",[2492,3709,3710,3712],{},[2409,3711,3564],{}," Written by the probe, silently dropped on a write.",[2405,3714,3715,3716,3718,3719,2643,3721,2643,3723,2643,3725,2643,3727,2643,3729,3731,3732,3734,3735,3737],{},"A ",[2438,3717,3571],{}," sent for a switch with a default (",[2438,3720,3579],{},[2438,3722,2516],{},[2438,3724,3681],{},[2438,3726,3346],{},[2438,3728,3386],{},[2438,3730,3649],{},") is ignored: a new account takes the default, and an existing one keeps its value. A ",[2438,3733,3571],{}," on an optional field such as ",[2438,3736,3113],{}," clears it.",[2405,3739,3740,3741,2416],{},"Secrets are compared in constant time. An account missing the credential its protocol needs is refused as ",[2438,3742,3186],{},[3132,3744,3402],{"id":3745},"who-the-buyer-is",[2405,3747,3748],{},"When the buyer arrives, the App decides which contact the visit shops as:",[3750,3751,3752,3757,3760],"ol",{},[2634,3753,3754,3755,2416],{},"The entry call names nobody: the account's ",[2438,3756,3376],{},[2634,3758,3759],{},"The name looks like an email and matches a contact in the account's organization: that contact.",[2634,3761,3762,3763,2693,3765,3767,3768,3770,3771,3773,3774,2693,3777,3779,3780,2416],{},"Anything else follows ",[2438,3764,3386],{},[2438,3766,3391],{}," shops as the fallback contact, and is refused as ",[2438,3769,3186],{}," if none is set. ",[2438,3772,3395],{}," ends the visit as ",[2438,3775,3776],{},"unknown_buyer",[2438,3778,2686],{}," creates a contact from the name, but only when the name looks like an email; otherwise it is refused as ",[2438,3781,3776],{},[2405,3783,3784,3785,3788],{},"OCI user names and IDS customer numbers are rarely email addresses, so ",[2409,3786,3787],{},"most OCI and IDS accounts run on the fallback contact."," Set one.",[2458,3790,3222],{"id":3791},"probe-test-and-preview",[2463,3793,3794,3804],{},[2466,3795,3796],{},[2469,3797,3798,3801],{},[2472,3799,3800],{},"Route",[2472,3802,3803],{},"Does",[2487,3805,3806,3820,3830],{},[2469,3807,3808,3813],{},[2492,3809,3810],{},[2438,3811,3812],{},"POST \u002Faccounts\u002F{id}\u002Fprobe",[2492,3814,3815,3816,3819],{},"Calls the account's entry address from outside, with a single-use token, and passes only if the entry route echoes the token back. A shop page answering ",[2438,3817,3818],{},"200"," does not pass.",[2469,3821,3822,3827],{},[2492,3823,3824],{},[2438,3825,3826],{},"POST \u002Faccounts\u002F{id}\u002Ftest",[2492,3828,3829],{},"Sends one synthetic entry call with the account's own credentials, as the procurement system would, and returns the protocol's answer whole.",[2469,3831,3832,3837],{},[2492,3833,3834],{},[2438,3835,3836],{},"POST \u002Faccounts\u002F{id}\u002Fpreview",[2492,3838,3839,3840,3843],{},"Body ",[2438,3841,3842],{},"{\"cart_id\": \"…\"}",". Runs the account's mappings over an existing cart and returns the hand-back it would produce. Writes nothing.",[2405,3845,3846,3847,3850],{},"The probe answers ",[2438,3848,3849],{},"{account, entry_probe_status, entry_probe_at, entry_probe_url, entry_probe_detail, passed, cause}",". It times out after 5 seconds and follows up to three same-origin redirects.",[2463,3852,3853,3864],{},[2466,3854,3855],{},[2469,3856,3857,3861],{},[2472,3858,3859],{},[2438,3860,3698],{},[2472,3862,3863],{},"Means",[2487,3865,3866,3876,3892,3902,3912,3922,3932,3942],{},[2469,3867,3868,3873],{},[2492,3869,3870],{},[2438,3871,3872],{},"reachable",[2492,3874,3875],{},"Passed. The only status that lets the account be enabled.",[2469,3877,3878,3883],{},[2492,3879,3880],{},[2438,3881,3882],{},"not_found",[2492,3884,3885,3321,3888,3891],{},[2438,3886,3887],{},"404",[2438,3889,3890],{},"405",": nothing serves the address. The theme is static or does not carry the entry routes.",[2469,3893,3894,3899],{},[2492,3895,3896],{},[2438,3897,3898],{},"not_entry",[2492,3900,3901],{},"Something answered, but not the entry route. A theme missing an entry permission lands here.",[2469,3903,3904,3909],{},[2492,3905,3906],{},[2438,3907,3908],{},"wrong_host",[2492,3910,3911],{},"A redirect left the host, more than three redirects, or the host serves another tenant.",[2469,3913,3914,3919],{},[2492,3915,3916],{},[2438,3917,3918],{},"tls",[2492,3920,3921],{},"The certificate was refused.",[2469,3923,3924,3929],{},[2492,3925,3926],{},[2438,3927,3928],{},"timeout",[2492,3930,3931],{},"No answer within 5 seconds.",[2469,3933,3934,3939],{},[2492,3935,3936],{},[2438,3937,3938],{},"unreachable",[2492,3940,3941],{},"DNS or connection failure.",[2469,3943,3944,3948],{},[2492,3945,3946],{},[2438,3947,3182],{},[2492,3949,3950,3951,3953,3954,3956,3957,3959],{},"No usable start page, so there is no entry address to call: the account's own ",[2438,3952,3113],{}," is not an absolute ",[2438,3955,3548],{}," address, or it has none and the tenant's ",[2438,3958,3165],{}," is empty or not one.",[2405,3961,3962,3965,3966,3969,3970,2884,3973,3335,3976,3979,3980,2452,3982,3985,3986,2643,3988,2643,3990,3992,3993,3995,3996,3998,3999,2416],{},[2409,3963,3964],{},"Enabling is gated on the probe."," Setting ",[2438,3967,3968],{},"enabled: true"," without a passed probe on the current entry address answers ",[2438,3971,3972],{},"409",[2438,3974,3975],{},"punchout account '\u003Ccode>' cannot be enabled until its entry URL answers. \u003Ccause> Probe its entry URL, then enable it.",[2438,3977,3978],{},"details"," carry ",[2438,3981,3698],{},[2438,3983,3984],{},"cause",". A finding counts only for the entry address it was taken on, so changing ",[2438,3987,2438],{},[2438,3989,2476],{},[2438,3991,3113],{}," or the tenant's ",[2438,3994,3165],{}," makes it stale, and an account that is already enabled is not re-checked. The gate follows the tenant setting ",[2438,3997,3212],{},", which defaults to ",[2438,4000,3217],{},[2405,4002,4003],{},"A test visit is revoked straight away, imports no cart and does not count toward the lockout.",[2458,4005,4007],{"id":4006},"field-mappings","Field mappings",[2405,4009,4010,4011,4014,4015,4018],{},"A field mapping is one row that fills one target in one document from one source. ",[2438,4012,4013],{},"\u002Ffield-mappings"," is plain CRUD, and a row with ",[2438,4016,4017],{},"account_id: null"," is the tenant default that every account inherits unless it has its own row for the same target.",[2463,4020,4021,4029],{},[2466,4022,4023],{},[2469,4024,4025,4027],{},[2472,4026,3271],{},[2472,4028,3156],{},[2487,4030,4031,4044,4058,4076,4093,4110,4127,4139,4153,4171],{},[2469,4032,4033,4038],{},[2492,4034,4035],{},[2438,4036,4037],{},"account_id",[2492,4039,4040,4041,4043],{},"The account, or ",[2438,4042,3571],{}," for the tenant default.",[2469,4045,4046,4050],{},[2492,4047,4048],{},[2438,4049,2476],{},[2492,4051,4052,2643,4054,3321,4056,2416],{},[2438,4053,2496],{},[2438,4055,2566],{},[2438,4057,2596],{},[2469,4059,4060,4065],{},[2492,4061,4062],{},[2438,4063,4064],{},"document",[2492,4066,4067,3392,4070,3321,4073,2416],{},[2438,4068,4069],{},"return",[2438,4071,4072],{},"entry",[2438,4074,4075],{},"catalogue",[2469,4077,4078,4083],{},[2492,4079,4080],{},[2438,4081,4082],{},"scope",[2492,4084,4085,3392,4088,3321,4090,2416],{},[2438,4086,4087],{},"cart",[2438,4089,2869],{},[2438,4091,4092],{},"unserved_line",[2469,4094,4095,4100],{},[2492,4096,4097],{},[2438,4098,4099],{},"target_kind",[2492,4101,4102,4105,4106,4109],{},[2438,4103,4104],{},"field"," for OCI, ",[2438,4107,4108],{},"path"," for cXML and IDS.",[2469,4111,4112,4117],{},[2492,4113,4114],{},[2438,4115,4116],{},"target",[2492,4118,4119,4120,4123,4124,2416],{},"The OCI field name (",[2438,4121,4122],{},"NEW_ITEM-DESCRIPTION","), or a path into the document. Relative to the line element for ",[2438,4125,4126],{},"scope: line",[2469,4128,4129,4136],{},[2492,4130,4131,2643,4133],{},[2438,4132,2704],{},[2438,4134,4135],{},"source_config",[2492,4137,4138],{},"Where the value comes from, and its options.",[2469,4140,4141,4146],{},[2492,4142,4143],{},[2438,4144,4145],{},"mutators",[2492,4147,4148,4149,4152],{},"An array of ",[2438,4150,4151],{},"{type, config}",", applied in order.",[2469,4154,4155,4160],{},[2492,4156,4157],{},[2438,4158,4159],{},"emit",[2492,4161,4162,3392,4165,3321,4168,2416],{},[2438,4163,4164],{},"always",[2438,4166,4167],{},"omit_if_empty",[2438,4169,4170],{},"never",[2469,4172,4173,4180],{},[2492,4174,4175,2643,4178],{},[2438,4176,4177],{},"position",[2438,4179,3346],{},[2492,4181,4182],{},"Ordering among extensions, and an off switch.",[2405,4184,4185,4186,4188],{},"A row is unique per account, protocol, document, scope and target. A target the protocol cannot carry is refused with ",[2438,4187,2673],{}," when you write it.",[4190,4191,4192,4195,4196,4199,4200,4202,4203,4206,4207,4210,4211,4213],"note",{},[2409,4193,4194],{},"IDS tenants seeded before punchout 1.2.1:"," the default ",[2438,4197,4198],{},"Order\u002FCustomerInfo\u002FIDNo"," row there reads ",[2438,4201,3423],{},", which is the user name, where it should read the customer number. Seeding never overwrites an existing row, so running ",[2438,4204,4205],{},"POST \u002Fdefaults"," again doesn't fix it. Set that row's ",[2438,4208,4209],{},"source_config.field"," to ",[2438,4212,3482],{},". Tenants seeded on 1.2.1 or later get the corrected row.",[2405,4215,4216,4219,4220,2643,4223,2643,4225,2643,4227,2643,4230,2643,4233,2643,4236,2643,4239,2643,4242,2643,4245,2643,4248,2643,4251,2643,4254,2643,4257,2643,4260,2643,4262,2643,4265,2643,4268,2643,4270,2643,4273,2643,4276,2643,4278,2643,4281,2643,4284,2643,4287,2416],{},[2409,4217,4218],{},"Sources"," (25): ",[2438,4221,4222],{},"constant",[2438,4224,4087],{},[2438,4226,2869],{},[2438,4228,4229],{},"product",[2438,4231,4232],{},"product_attribute",[2438,4234,4235],{},"parent_product",[2438,4237,4238],{},"parent_attribute",[2438,4240,4241],{},"price",[2438,4243,4244],{},"quantity",[2438,4246,4247],{},"unit",[2438,4249,4250],{},"currency",[2438,4252,4253],{},"session",[2438,4255,4256],{},"account",[2438,4258,4259],{},"contact",[2438,4261,3368],{},[2438,4263,4264],{},"business_unit",[2438,4266,4267],{},"address",[2438,4269,3659],{},[2438,4271,4272],{},"media",[2438,4274,4275],{},"setting",[2438,4277,4064],{},[2438,4279,4280],{},"unserved",[2438,4282,4283],{},"cxml.payload_id",[2438,4285,4286],{},"cxml.supplier_part_auxiliary_id",[2438,4288,4289],{},"cxml.field",[2405,4291,4292,4295,4296,2643,4299,2643,4302,2643,4305,2643,4308,2643,4311,2643,4314,2643,4317,2643,4320,2643,4323,2643,4326,2643,4329,2643,4332,2643,4335,2643,4338,2643,4341,2643,4344,2643,4347,2643,4350,2416],{},[2409,4293,4294],{},"Mutators"," (19): ",[2438,4297,4298],{},"trim",[2438,4300,4301],{},"upper",[2438,4303,4304],{},"lower",[2438,4306,4307],{},"max_length",[2438,4309,4310],{},"prefix",[2438,4312,4313],{},"suffix",[2438,4315,4316],{},"number_format",[2438,4318,4319],{},"price_format",[2438,4321,4322],{},"strip_tags",[2438,4324,4325],{},"html_entity_decode",[2438,4327,4328],{},"date_iso8601",[2438,4330,4331],{},"unix_timestamp",[2438,4333,4334],{},"language_alpha3",[2438,4336,4337],{},"base64_encode",[2438,4339,4340],{},"value_map",[2438,4342,4343],{},"strip_punctuation",[2438,4345,4346],{},"unit_uncefact",[2438,4348,4349],{},"gtin",[2438,4351,4352],{},"raw",[2405,4354,4355,4358,4359,2643,4362,2643,4365,2643,4368,2643,4371,4374,4375,4378,4379,4382],{},[2438,4356,4357],{},"GET \u002Fvocabularies"," lists the App's vocabularies (",[2438,4360,4361],{},"mapping-sources",[2438,4363,4364],{},"mapping-mutators",[2438,4366,4367],{},"mapping-scopes",[2438,4369,4370],{},"entry-probe-outcome",[2438,4372,4373],{},"purchase-modes",", among others), and ",[2438,4376,4377],{},"GET \u002Fvocabularies\u002F{name}"," returns one. ",[2438,4380,4381],{},"GET \u002Fvocabularies\u002Fmapping-sources"," gives every source with its options. Read them there rather than guessing.",[2405,4384,4385,4388,4389,4392,4393,4396,4397,4399,4400,4403],{},[2409,4386,4387],{},"You can extend a document but not reorder it."," Elements the standard names keep the standard's order. A cXML ",[2438,4390,4391],{},"Extrinsic"," is addressed by a key in brackets, ",[2438,4394,4395],{},"Extrinsic[CostCenter]",", which never reaches the document; it tells two ",[2438,4398,4391],{}," rows apart. Write the element's ",[2438,4401,4402],{},"@name"," as its own row.",[2405,4405,4406,4408,4409,2416],{},[2438,4407,4205],{}," seeds the shipped default mappings and is safe to repeat: rows you edited are left alone, and the answer is ",[2438,4410,4411],{},"{created, existing}",[2458,4413,2485],{"id":2426},[2405,4415,4416,4417,4420],{},"The storefront calls ",[2438,4418,4419],{},"POST \u002Fsessions\u002F{psid}\u002Freturn"," when the buyer transfers the cart, and the browser submits the form it describes:",[2463,4422,4423,4432],{},[2466,4424,4425],{},[2469,4426,4427,4430],{},[2472,4428,4429],{},"Response field",[2472,4431,3156],{},[2487,4433,4434,4453,4473,4483,4492,4517,4534],{},[2469,4435,4436,4441],{},[2492,4437,4438],{},[2438,4439,4440],{},"target_url",[2492,4442,4443,4444,2643,4446,3321,4448,2693,4450,4452],{},"Where the form goes: ",[2438,4445,2523],{},[2438,4447,2588],{},[2438,4449,2626],{},[2438,4451,3571],{}," for Secure OCI, where the browser posts nothing.",[2469,4454,4455,4463],{},[2492,4456,4457,2643,4460],{},[2438,4458,4459],{},"method",[2438,4461,4462],{},"encoding",[2492,4464,4465,3103,4467,4469,4470,4472],{},[2438,4466,3247],{},[2438,4468,3244],{}," for Secure OCI, where the browser sends nothing); url-encoded for OCI and cXML, ",[2438,4471,2615],{}," for IDS.",[2469,4474,4475,4480],{},[2492,4476,4477],{},[2438,4478,4479],{},"fields",[2492,4481,4482],{},"The form fields.",[2469,4484,4485,4489],{},[2492,4486,4487],{},[2438,4488,4064],{},[2492,4490,4491],{},"The cXML or IDS document, when there is one.",[2469,4493,4494,4499],{},[2492,4495,4496],{},[2438,4497,4498],{},"correlation_key",[2492,4500,4501,4502,4504,4505,4508,4509,4512,4513,4516],{},"A key you can match the procurement system's later order against. The seeded defaults already send it: as the header ",[2438,4503,4391],{}," named ",[2438,4506,4507],{},"CorrelationKey"," (cXML), as ",[2438,4510,4511],{},"NEW_ITEM-EXT_QUOTE_ID"," (OCI), and as ",[2438,4514,4515],{},"RefItems\u002FSupplier",", cut to 35 characters (IDS).",[2469,4518,4519,4527],{},[2492,4520,4521,2643,4524],{},[2438,4522,4523],{},"transfer_id",[2438,4525,4526],{},"transferred_at",[2492,4528,4529,4530,4533],{},"The recorded transfer. ",[2438,4531,4532],{},"GET \u002Ftransfers"," lists them.",[2469,4535,4536,4541],{},[2492,4537,4538],{},[2438,4539,4540],{},"replayed",[2492,4542,4543,4545],{},[2438,4544,3217],{}," when the visit was already handed back. The same payload comes back and no second transfer is recorded, so a double-submit is harmless.",[2405,4547,4548,4549,4551],{},"A theme built on ",[2438,4550,2440],{}," makes this call, builds the form and signs the buyer out. You call it yourself only in a storefront of your own.",[2405,4553,4554,4555,4557,4558,4561,4562,4564,4565,4568,4569,4571,4572,4575,4576,4578],{},"The purchase mode adds three ",[2438,4556,3972],{}," codes to the hand-back, and each leaves the visit open: ",[2438,4559,4560],{},"hand_back_not_offered"," (the visit's mode is ",[2438,4563,3659],{},", so its exit is the checkout), ",[2438,4566,4567],{},"cart_already_ordered"," (a ",[2438,4570,3655],{}," visit whose cart was ordered) and ",[2438,4573,4574],{},"order_missing"," (an ",[2438,4577,3663],{}," visit whose cart has no order yet).",[2458,4580,4582],{"id":4581},"purchase-mode-ids","Purchase mode (IDS)",[2405,4584,4585,4586,4588,4589,4591],{},"A wholesaler's trade software speaking IDS can let the buyer order in your shop instead of handing the cart back for approval. ",[2438,4587,3649],{}," on the account decides which exit a visit gets, and the visit keeps the mode it opened with, even if you change the account mid-visit. The claim answers it as ",[2438,4590,3649],{},", so the storefront knows which button to show.",[2463,4593,4594,4611],{},[2466,4595,4596],{},[2469,4597,4598,4602,4605,4608],{},[2472,4599,4600],{},[2438,4601,3649],{},[2472,4603,4604],{},"The buyer",[2472,4606,4607],{},"The storefront then calls",[2472,4609,4610],{},"The visit closes as",[2487,4612,4613,4631,4650],{},[2469,4614,4615,4619,4622,4626],{},[2492,4616,4617],{},[2438,4618,3655],{},[2492,4620,4621],{},"Hands the cart back. The only mode for OCI and cXML.",[2492,4623,4624],{},[2438,4625,4419],{},[2492,4627,4628],{},[2438,4629,4630],{},"transferred",[2469,4632,4633,4637,4640,4645],{},[2492,4634,4635],{},[2438,4636,3659],{},[2492,4638,4639],{},"Checks out in the shop. Nothing goes back to the trade software.",[2492,4641,4642],{},[2438,4643,4644],{},"POST \u002Fsessions\u002F{psid}\u002Fordered",[2492,4646,4647],{},[2438,4648,4649],{},"ordered",[2469,4651,4652,4656,4665,4670],{},[2492,4653,4654],{},[2438,4655,3663],{},[2492,4657,4658,4659,2643,4662,3187],{},"Checks out, then hands the ordered cart back. The IDS document names the order (",[2438,4660,4661],{},"RueckgabeKZ",[2438,4663,4664],{},"OrderConfNo",[2492,4666,4667,4668],{},"Checkout, then ",[2438,4669,4419],{},[2492,4671,4672],{},[2438,4673,4630],{},[2405,4675,4676,4679,4680,4682,4683,4686],{},[2409,4677,4678],{},"The order is an ordinary order"," placed through the ordinary checkout for the contact the visit shops as, so the same checks apply as to any other storefront order for that contact. See ",[2414,4681,166],{"href":167},". A visit that shops as the fallback contact can order only if that contact's role grants ",[2438,4684,4685],{},"orders.create","; without it, the buyer can at most request an order.",[2405,4688,4689,4690,2452,4693,4696,4697,4699,4700,4703],{},"Purchase modes need punchout 2.5.0. It asks for two new permissions, ",[2438,4691,4692],{},"customers.contacts.permissions",[2438,4694,4695],{},"orders.list",", so a tenant stays on the previous version, with no ",[2438,4698,3649],{}," and no ",[2438,4701,4702],{},"\u002Fordered",", until an admin consents in Cockpit.",[2405,4705,4706,4708,4709,2693,4712,4715],{},[2438,4707,4644],{}," takes an empty JSON body ",[2438,4710,4711],{},"{}",[2438,4713,4714],{},"psid"," is the visit's handle, the same one the claim and the hand-back use. The App does not trust the caller: it asks the orders App for the order the visit's cart became, and records it on the visit.",[2858,4717,4722],{"className":4718,"code":4719,"filename":4720,"language":4721,"meta":2863,"style":2863},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fpunchout\u002Fsessions\u002F{psid}\u002Fordered \\\n  -H \"X-Revenexx-Tenant: \u003CTENANT_SLUG>\" \\\n  -H \"X-Revenexx-Api-Key: rvxk_...\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{}'\n","Request","bash",[2438,4723,4724,4742,4756,4769,4782],{"__ignoreMap":2863},[2867,4725,4726,4730,4733,4736,4739],{"class":2869,"line":2870},[2867,4727,4729],{"class":4728},"sBMFI","curl",[2867,4731,4732],{"class":2877}," -X",[2867,4734,4735],{"class":2877}," POST",[2867,4737,4738],{"class":2877}," https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fpunchout\u002Fsessions\u002F{psid}\u002Fordered",[2867,4740,4741],{"class":2883}," \\\n",[2867,4743,4744,4747,4749,4752,4754],{"class":2869,"line":2890},[2867,4745,4746],{"class":2877},"  -H",[2867,4748,2896],{"class":2873},[2867,4750,4751],{"class":2877},"X-Revenexx-Tenant: \u003CTENANT_SLUG>",[2867,4753,2874],{"class":2873},[2867,4755,4741],{"class":2883},[2867,4757,4758,4760,4762,4765,4767],{"class":2869,"line":2938},[2867,4759,4746],{"class":2877},[2867,4761,2896],{"class":2873},[2867,4763,4764],{"class":2877},"X-Revenexx-Api-Key: rvxk_...",[2867,4766,2874],{"class":2873},[2867,4768,4741],{"class":2883},[2867,4770,4771,4773,4775,4778,4780],{"class":2869,"line":2977},[2867,4772,4746],{"class":2877},[2867,4774,2896],{"class":2873},[2867,4776,4777],{"class":2877},"Content-Type: application\u002Fjson",[2867,4779,2874],{"class":2873},[2867,4781,4741],{"class":2883},[2867,4783,4784,4787,4790,4792],{"class":2869,"line":3015},[2867,4785,4786],{"class":2877},"  -d",[2867,4788,4789],{"class":2873}," '",[2867,4791,4711],{"class":2877},[2867,4793,4794],{"class":2873},"'\n",[2858,4796,4799],{"className":2860,"code":4797,"filename":4798,"language":2862,"meta":2863,"style":2863},"{\n  \"psid\": \"…\",\n  \"status\": \"ordered\",\n  \"order_id\": \"…\",\n  \"order_number\": \"10023\",\n  \"order_status\": \"placed\",\n  \"ordered_at\": \"2026-10-12T09:41:00Z\",\n  \"replayed\": false\n}\n","Response",[2438,4800,4801,4806,4826,4845,4864,4884,4904,4924,4938],{"__ignoreMap":2863},[2867,4802,4803],{"class":2869,"line":2870},[2867,4804,4805],{"class":2873},"{\n",[2867,4807,4808,4810,4812,4814,4816,4818,4821,4823],{"class":2869,"line":2890},[2867,4809,3037],{"class":2873},[2867,4811,4714],{"class":2899},[2867,4813,2874],{"class":2873},[2867,4815,2905],{"class":2873},[2867,4817,2896],{"class":2873},[2867,4819,4820],{"class":2877},"…",[2867,4822,2874],{"class":2873},[2867,4824,4825],{"class":2873},",\n",[2867,4827,4828,4830,4833,4835,4837,4839,4841,4843],{"class":2869,"line":2938},[2867,4829,3037],{"class":2873},[2867,4831,4832],{"class":2899},"status",[2867,4834,2874],{"class":2873},[2867,4836,2905],{"class":2873},[2867,4838,2896],{"class":2873},[2867,4840,4649],{"class":2877},[2867,4842,2874],{"class":2873},[2867,4844,4825],{"class":2873},[2867,4846,4847,4849,4852,4854,4856,4858,4860,4862],{"class":2869,"line":2977},[2867,4848,3037],{"class":2873},[2867,4850,4851],{"class":2899},"order_id",[2867,4853,2874],{"class":2873},[2867,4855,2905],{"class":2873},[2867,4857,2896],{"class":2873},[2867,4859,4820],{"class":2877},[2867,4861,2874],{"class":2873},[2867,4863,4825],{"class":2873},[2867,4865,4866,4868,4871,4873,4875,4877,4880,4882],{"class":2869,"line":3015},[2867,4867,3037],{"class":2873},[2867,4869,4870],{"class":2899},"order_number",[2867,4872,2874],{"class":2873},[2867,4874,2905],{"class":2873},[2867,4876,2896],{"class":2873},[2867,4878,4879],{"class":2877},"10023",[2867,4881,2874],{"class":2873},[2867,4883,4825],{"class":2873},[2867,4885,4886,4888,4891,4893,4895,4897,4900,4902],{"class":2869,"line":3054},[2867,4887,3037],{"class":2873},[2867,4889,4890],{"class":2899},"order_status",[2867,4892,2874],{"class":2873},[2867,4894,2905],{"class":2873},[2867,4896,2896],{"class":2873},[2867,4898,4899],{"class":2877},"placed",[2867,4901,2874],{"class":2873},[2867,4903,4825],{"class":2873},[2867,4905,4906,4908,4911,4913,4915,4917,4920,4922],{"class":2869,"line":3093},[2867,4907,3037],{"class":2873},[2867,4909,4910],{"class":2899},"ordered_at",[2867,4912,2874],{"class":2873},[2867,4914,2905],{"class":2873},[2867,4916,2896],{"class":2873},[2867,4918,4919],{"class":2877},"2026-10-12T09:41:00Z",[2867,4921,2874],{"class":2873},[2867,4923,4825],{"class":2873},[2867,4925,4927,4929,4931,4933,4935],{"class":2869,"line":4926},8,[2867,4928,3037],{"class":2873},[2867,4930,4540],{"class":2899},[2867,4932,2874],{"class":2873},[2867,4934,2905],{"class":2873},[2867,4936,4937],{"class":2873}," false\n",[2867,4939,4941],{"class":2869,"line":4940},9,[2867,4942,4943],{"class":2873},"}\n",[2631,4945,4946,4960,4969],{},[2634,4947,4948,4952,4953,4956,4957,4959],{},[2409,4949,4950],{},[2438,4951,4890],{}," is ",[2438,4954,4955],{},"pending"," for an order awaiting the buyer organization's approval and ",[2438,4958,4899],{}," otherwise. It is a snapshot taken when the visit closed: read the order itself for its current status. A later decline does not reopen the visit.",[2634,4961,4962,4965,4966,2416],{},[2409,4963,4964],{},"A retry is safe."," A visit already closed this way answers the same body with ",[2438,4967,4968],{},"replayed: true",[2634,4970,4971,4974,4975,4977],{},[2409,4972,4973],{},"Checkout may outlast the visit."," A visit that ran out while the buyer paid still closes as ",[2438,4976,4649],{}," if the order was created before it ran out.",[2463,4979,4980,4989],{},[2466,4981,4982],{},[2469,4983,4984,4987],{},[2472,4985,4986],{},"Answer",[2472,4988,3863],{},[2487,4990,4991,5003,5021,5032],{},[2469,4992,4993,5000],{},[2492,4994,4995,3316,4997],{},[2438,4996,3972],{},[2438,4998,4999],{},"conflict",[2492,5001,5002],{},"The visit expired, was revoked or handed back, or no visit has that handle. One answer for all of them, because the handle travels through the buyer's system in the clear.",[2469,5004,5005,5012],{},[2492,5006,5007,3316,5009],{},[2438,5008,3972],{},[2438,5010,5011],{},"order_not_offered",[2492,5013,5014,5015,5017,5018,5020],{},"The visit's mode is not ",[2438,5016,3659],{},". An ",[2438,5019,3663],{}," visit ends with the hand-back. The visit stays open.",[2469,5022,5023,5029],{},[2492,5024,5025,3316,5027],{},[2438,5026,3972],{},[2438,5028,4574],{},[2492,5030,5031],{},"No order exists for the visit's cart yet. The visit stays open.",[2469,5033,5034,5039],{},[2492,5035,5036],{},[2438,5037,5038],{},"503",[2492,5040,5041],{},"The orders App could not be asked. The visit stays open; try again.",[4190,5043,5044,4195,5047,5050,5051,5054,5055,5058,5059,5061,5062,5064,5065,5067,5068,3316,5070,2643,5072,3316,5074,5077,5078,5080,5081,4210,5083,5086,5087,2416],{},[2409,5045,5046],{},"IDS tenants seeded before punchout 2.5.0:",[2438,5048,5049],{},"WarenkorbInfo\u002FRueckgabeKZ"," row there is a constant ",[2438,5052,5053],{},"Warenkorbrückgabe",", and the ",[2438,5056,5057],{},"Order\u002FOrderInfo\u002FOrderConfNo"," row is missing. Run ",[2438,5060,4205],{}," again to add ",[2438,5063,4664],{},". Seeding never overwrites a row, so change the ",[2438,5066,4661],{}," row yourself: ",[2438,5069,2704],{},[2438,5071,4253],{},[2438,5073,4135],{},[2438,5075,5076],{},"{\"field\": \"purchase_mode\"}",", and a ",[2438,5079,4340],{}," mutator mapping ",[2438,5082,3663],{},[2438,5084,5085],{},"Warenkorbrückgabe mit Bestellung"," with the default ",[2438,5088,5053],{},[2405,5090,5091,5096,5097,5099,5100,5102,5103,5106,5107,3321,5109,5111,5112,5114,5115,5117,5118,3321,5120,5123,5124,5126,5127,5129],{},[2409,5092,5093,5095],{},[2438,5094,2440],{}," offers only the hand-back today"," (as of 2026-10). It does not read ",[2438,5098,3649],{}," or call ",[2438,5101,4702],{},", and its starting points do not declare ",[2438,5104,5105],{},"punchout.sessions.ordered",". Set ",[2438,5108,3659],{},[2438,5110,3663],{}," only for a theme of your own, built on ",[2438,5113,2440],{}," for the entry routes, that reads ",[2438,5116,3649],{}," from the claim, shows the checkout, calls ",[2438,5119,4702],{},[2438,5121,5122],{},"\u002Freturn"," after it, and lists ",[2438,5125,5105],{}," in its ",[2438,5128,2848],{}," permissions.",[2405,5131,5132,5135,5136,5139,5140,2643,5142,5144,5145,2643,5147,2643,5149,2452,5151,2416],{},[2438,5133,5134],{},"\u002Fsessions"," is plain CRUD as well. ",[2438,5137,5138],{},"GET \u002Fsessions\u002F{id}"," reads a visit with its ",[2438,5141,4832],{},[2438,5143,3649],{}," and, once ordered, ",[2438,5146,4851],{},[2438,5148,4870],{},[2438,5150,4890],{},[2438,5152,4910],{},[2458,5154,5156],{"id":5155},"refusals-and-limits","Refusals and limits",[2463,5158,5159,5171],{},[2466,5160,5161],{},[2469,5162,5163,5166,5169],{},[2472,5164,5165],{},"Limit",[2472,5167,5168],{},"Where",[2472,5170,4986],{},[2487,5172,5173,5195,5214],{},[2469,5174,5175,5181,5184],{},[2492,5176,5177,5180],{},[2409,5178,5179],{},"Lockout",": 10 refused entries for one account code within 5 minutes",[2492,5182,5183],{},"the App",[2492,5185,3603,5186,2535,5188,2643,5191,5194],{},[2438,5187,5038],{},[2438,5189,5190],{},"Retry-After: 300",[2438,5192,5193],{},"punchout entry is temporarily unavailable for this account",". cXML and IDS: the same answer as a wrong credential.",[2469,5196,5197,5203,5206],{},[2492,5198,5199,5202],{},[2409,5200,5201],{},"Request rate",": by default 60 per minute per source IP, plus a burst of 20",[2492,5204,5205],{},"the storefront layer, configurable in the theme",[2492,5207,5208,2535,5211],{},[2438,5209,5210],{},"429",[2438,5212,5213],{},"Retry-After",[2469,5215,5216,5222,5225],{},[2492,5217,5218,5221],{},[2409,5219,5220],{},"Body size",": 64 KB OCI, 256 KB cXML, 2 MB IDS",[2492,5223,5224],{},"the storefront layer",[2492,5226,5227],{},[2438,5228,5229],{},"413",[2405,5231,5232],{},"Refused calls during a lockout count toward it, so a procurement system that keeps retrying stays locked out. Account codes are visible in the OCI and cXML entry addresses, so anyone who knows one can trigger the lockout. They cannot get in by doing so.",[2405,5234,5235,5236,3316,5239,5242,5243,5245,5246,3316,5248,5251,5252,5254],{},"A wrong credential and an unknown account answer identically, and unknown codes are locked out the same way, so a caller cannot probe for account codes. OCI answers ",[2438,5237,5238],{},"401",[2438,5240,5241],{},"punchout entry refused: the credentials are not valid for this account",", cXML answers HTTP ",[2438,5244,3818],{}," carrying Status ",[2438,5247,5238],{},[2438,5249,5250],{},"Sender identity or shared secret is invalid",", and IDS answers ",[2438,5253,5238],{},". Test calls don't count toward the lockout.",[2405,5256,5257,5260,5261,2643,5264,2643,5266,2643,5268,2643,5271,3103,5274,3321,5276,5279,5280,2643,5283,2416],{},[2438,5258,5259],{},"GET \u002Fentry-refusals"," lists every refused entry: ",[2438,5262,5263],{},"account_code",[2438,5265,4037],{},[2438,5267,2476],{},[2438,5269,5270],{},"reason",[2438,5272,5273],{},"origin",[2438,5275,4072],{},[2438,5277,5278],{},"tester","), ",[2438,5281,5282],{},"client_ip",[2438,5284,5285],{},"occurred_at",[2463,5287,5288,5298],{},[2466,5289,5290],{},[2469,5291,5292,5296],{},[2472,5293,5294],{},[2438,5295,5270],{},[2472,5297,3863],{},[2487,5299,5300,5310,5320,5330,5340,5358,5375,5385],{},[2469,5301,5302,5307],{},[2492,5303,5304],{},[2438,5305,5306],{},"unknown_account",[2492,5308,5309],{},"No account has that code.",[2469,5311,5312,5317],{},[2492,5313,5314],{},[2438,5315,5316],{},"wrong_credential",[2492,5318,5319],{},"The credentials did not match.",[2469,5321,5322,5327],{},[2492,5323,5324],{},[2438,5325,5326],{},"disabled",[2492,5328,5329],{},"The account is not enabled.",[2469,5331,5332,5337],{},[2492,5333,5334],{},[2438,5335,5336],{},"rate_limited",[2492,5338,5339],{},"The account is locked out.",[2469,5341,5342,5346],{},[2492,5343,5344],{},[2438,5345,3186],{},[2492,5347,5348,5349,5351,5352,5354,5355,5357],{},"At entry, the account lacks a credential its protocol needs, or has no usable start page: its own ",[2438,5350,3113],{}," is invalid, or it has none and the tenant's ",[2438,5353,3165],{}," is empty or invalid. On arrival, the buyer could not be signed in because of configuration: ",[2438,5356,3102],{}," is off, the account has no fallback contact, or the contact has no storefront account.",[2469,5359,5360,5364],{},[2492,5361,5362],{},[2438,5363,3776],{},[2492,5365,5366,5367,4952,5369,5371,5372,5374],{},"Nobody could be matched, and ",[2438,5368,3386],{},[2438,5370,3395],{},", or is ",[2438,5373,2686],{}," with a name that isn't an email address.",[2469,5376,5377,5382],{},[2492,5378,5379],{},[2438,5380,5381],{},"buyer_refused",[2492,5383,5384],{},"The contact may not sign in: blocked, or its registration is pending or rejected.",[2469,5386,5387,5392],{},[2492,5388,5389],{},[2438,5390,5391],{},"unavailable",[2492,5393,5394],{},"Sign-in on arrival could not be completed. Retry the visit.",[2458,5396,5398],{"id":5397},"related","Related",[2631,5400,5401,5406,5414],{},[2634,5402,5403,5405],{},[2414,5404,1470],{"href":1471}," — a punchout channel that shows only its assigned assortment.",[2634,5407,5408,2452,5410,5413],{},[2414,5409,1417],{"href":1418},[2414,5411,5412],{"href":1412},"contacts"," — who a visit shops as.",[2634,5415,5416,5420,5421,2416],{},[2414,5417,5419],{"href":5418},"\u002Fapi","API Explorer"," — every route, under ",[2409,5422,5423],{},"Procurement → Punchout",[5425,5426,5427],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":2863,"searchDepth":2890,"depth":2890,"links":5429},[5430,5431,5434,5437,5438,5439,5440,5441,5442],{"id":2460,"depth":2890,"text":2461},{"id":2766,"depth":2890,"text":2767,"children":5432},[5433],{"id":3134,"depth":2938,"text":3135},{"id":3234,"depth":2890,"text":3235,"children":5435},[5436],{"id":3745,"depth":2938,"text":3402},{"id":3791,"depth":2890,"text":3222},{"id":4006,"depth":2890,"text":4007},{"id":2426,"depth":2890,"text":2485},{"id":4581,"depth":2890,"text":4582},{"id":5155,"depth":2890,"text":5156},{"id":5397,"depth":2890,"text":5398},"The punchout App's surface — accounts for OCI, cXML and IDS 2.5, the entry addresses on your storefront host, the probe that gates enabling, field mappings, the hand-back payload, and every refusal and limit.","md",null,{},{"icon":29},{"title":1578,"description":5443},{"loc":1579},"sQUAK2w8cUy8-KJYXdtC0COAQgmwukIE0Tf-NneQ77w",1792158154608]