[{"data":1,"prerenderedAt":5547},["ShallowReactive",2],{"navigation_docs":3,"-docs-guides-commerce-quotes-to-orders":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":215,"body":2401,"description":5539,"extension":5540,"landing":5541,"links":5541,"meta":5542,"navigation":5543,"path":216,"seo":5544,"sitemap":5545,"stem":217,"__hash__":5546},"docs\u002Fdocs\u002Fguides\u002Fcommerce\u002Fquotes-to-orders\u002Findex.md",{"type":2402,"value":2403,"toc":5524},"minimark",[2404,2413,2464,2518,2528,2533,2591,2619,2623,2631,2635,2638,2648,2883,2894,2918,2930,2975,2978,3100,3122,3127,3153,3156,3219,3274,3278,3283,3407,3419,3549,3573,3594,3626,3630,3636,3643,3803,3819,3966,3978,4001,4004,4081,4115,4125,4129,4138,4519,4570,4601,4770,4797,4827,4831,4834,4990,5006,5055,5059,5106,5149,5153,5329,5339,5348,5356,5360,5478,5482,5520],[2405,2406,2407,2408,2412],"p",{},"Accepting a quote does not create an order. The acceptance call answers with an ",[2409,2410,2411],"strong",{},"order draft",", a body shaped for the order call, and it is your code that places the order and then tells the quote which order took which lines. This page walks that hand-over end to end: a quote is requested and priced, the buyer accepts part of it, you place the order from the draft, you write the order back, and the buyer comes back for the rest.",[2405,2414,2415,2416,2419,2420,2422,2423,2419,2427,2430,2431,2434,2435,2440,2441,2444,2445,2449,2450,2454,2455,2459,2460,2463],{},"This is for developers wiring a B2B storefront, a sales tool or an ERP sync to quotes. You need a tenant with the ",[2409,2417,2418],{},"Quotes"," and ",[2409,2421,1511],{}," apps and an API key with the ",[2424,2425,2426],"code",{},"quotes.*",[2424,2428,2429],{},"orders.*"," scopes (looking up topics in the event catalog has no documented scope yet, so a development key with ",[2424,2432,2433],{},"*"," covers it; see ",[2436,2437,2439],"a",{"href":2438},"\u002Fdocs\u002Fgetting-started\u002Fprerequisites#which-scope-covers-which-app","which scope covers which app","). New to the platform? ",[2436,2442,64],{"href":2443},"\u002Fdocs\u002Fgetting-started\u002Fprerequisites#cockpit-and-who-grants-access"," covers Cockpit, your ",[2436,2446,2448],{"href":2447},"\u002Fdocs\u002Fgetting-started\u002Fprerequisites#find-your-tenant-slug","tenant slug",", ",[2436,2451,2453],{"href":2452},"\u002Fdocs\u002Fgetting-started\u002Fprerequisites#check-and-install-an-app","installing an app"," and a ",[2436,2456,2458],{"href":2457},"\u002Fdocs\u002Fgetting-started\u002Fprerequisites#get-a-test-tenant","test tenant",". Every call goes through the ",[2436,2461,2462],{"href":508},"API gateway"," with the same two headers. Make these calls from your backend and keep the key out of the browser:",[2465,2466,2472],"pre",{"className":2467,"code":2468,"filename":2469,"language":2470,"meta":2471,"style":2471},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export REVENEXX_TENANT=\"\u003CTENANT_SLUG>\"\nexport REVENEXX_API_KEY=\"rvxk_...\"\n","Environment","bash","",[2424,2473,2474,2501],{"__ignoreMap":2471},[2475,2476,2479,2483,2487,2491,2494,2498],"span",{"class":2477,"line":2478},"line",1,[2475,2480,2482],{"class":2481},"spNyl","export",[2475,2484,2486],{"class":2485},"sTEyZ"," REVENEXX_TENANT",[2475,2488,2490],{"class":2489},"sMK4o","=",[2475,2492,2493],{"class":2489},"\"",[2475,2495,2497],{"class":2496},"sfazB","\u003CTENANT_SLUG>",[2475,2499,2500],{"class":2489},"\"\n",[2475,2502,2504,2506,2509,2511,2513,2516],{"class":2477,"line":2503},2,[2475,2505,2482],{"class":2481},[2475,2507,2508],{"class":2485}," REVENEXX_API_KEY",[2475,2510,2490],{"class":2489},[2475,2512,2493],{"class":2489},[2475,2514,2515],{"class":2496},"rvxk_...",[2475,2517,2500],{"class":2489},[2405,2519,2520,2521,2419,2524,2527],{},"The examples use ",[2424,2522,2523],{},"curl",[2424,2525,2526],{},"jq",", and a value in angle brackets is an id from your own data.",[2529,2530,2532],"h2",{"id":2531},"what-the-quotes-app-does-and-does-not-do","What the Quotes App does and does not do",[2534,2535,2536,2543,2561,2571,2577],"ul",{},[2537,2538,2539,2542],"li",{},[2409,2540,2541],{},"It does not place the order."," Orders mints the order and its number. Quotes only hands over a draft and records, afterwards, which order took which lines.",[2537,2544,2545,2552,2553,2556,2557,2560],{},[2409,2546,2547,2548,2551],{},"There is no ",[2424,2549,2550],{},"ordered"," status."," After the write-back the quote is still ",[2424,2554,2555],{},"accepted"," (or ",[2424,2558,2559],{},"partially_accepted","). The order id is recorded on the lines.",[2537,2562,2563,2566,2567,2570],{},[2409,2564,2565],{},"It does not look prices up."," The prices on a quote are what you or your sales staff send to the ",[2424,2568,2569],{},"price"," call. A tenant whose prices come from an ERP replaces that pricing call.",[2537,2572,2573,2576],{},[2409,2574,2575],{},"A line is accepted or declined whole."," Partial acceptance chooses lines, not quantities.",[2537,2578,2579,2582,2583,2586,2587,2590],{},[2409,2580,2581],{},"Every quote has a number."," A range named ",[2424,2584,2585],{},"quote"," (prefix ",[2424,2588,2589],{},"ANG-",") numbers them.",[2405,2592,2593,2596,2597,2419,2600,2603,2604,2607,2608,2611,2612,2615,2616,2618],{},[2409,2594,2595],{},"Number ranges are optional to set up."," Quotes and orders each create their standard range the first time they need one. To see and adjust the ranges before the first quote, call ",[2424,2598,2599],{},"POST \u002Fv1\u002Fquotes\u002Fnumber-ranges\u002Fdefaults",[2424,2601,2602],{},"POST \u002Fv1\u002Forders\u002Fnumber-ranges\u002Fdefaults"," with an empty ",[2424,2605,2606],{},"{}"," body. Both are idempotent. Placing an order answers ",[2424,2609,2610],{},"422"," with the code ",[2424,2613,2614],{},"number_range_missing"," only when the tenant's order range setting names a range that does not exist: create that range, or point the setting at one that does. See ",[2436,2617,1536],{"href":1537},".",[2529,2620,2622],{"id":2621},"the-path-from-request-to-order","The path from request to order",[2465,2624,2629],{"className":2625,"code":2627,"language":2628,"meta":2471},[2626],"language-text","request or create ─▶ price ─▶ accept (all or some lines) ─▶ order_draft\n        ▲              │                   │                     │\n        └── re-price ──┘        accept the rest later      POST \u002Forders\u002Fplace\n                                                                 │\n                                                  POST \u002Fquotes\u002Fquotes\u002F{id}\u002Fordered\n","text",[2424,2630,2627],{"__ignoreMap":2471},[2529,2632,2634],{"id":2633},"_1-open-a-quote","1. Open a quote",[2405,2636,2637],{},"A quote starts one of two ways.",[2405,2639,2640,2643,2644,2647],{},[2409,2641,2642],{},"A buyer asks for one",", and it starts as ",[2424,2645,2646],{},"requested",":",[2465,2649,2652],{"className":2467,"code":2650,"filename":2651,"language":2470,"meta":2471,"style":2471},"QUOTE=$(curl -s -X POST https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Frequest \\\n  -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\" \\\n  -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"currency\": \"EUR\",\n    \"contact_id\": \"\u003CCONTACT_ID>\",\n    \"organization_id\": \"\u003CORGANIZATION_ID>\",\n    \"buyer_note\": \"We order this every quarter. What is the price for 500?\",\n    \"shipping_address\": { \"name\": \"Acme GmbH\", \"street\": \"Hauptstr. 1\", \"zip\": \"10115\", \"city\": \"Berlin\", \"country\": \"DE\" },\n    \"items\": [\n      { \"sku\": \"WIDGET-1\", \"name\": \"Widget\", \"quantity\": 500, \"list_price\": 12.50, \"tax_rate\": 19 },\n      { \"sku\": \"GADGET-2\", \"name\": \"Gadget\", \"quantity\": 40, \"list_price\": 89.00, \"tax_rate\": 19 }\n    ]\n  }')\n\nQUOTE_ID=$(printf '%s' \"$QUOTE\" | jq -r .id)\nprintf '%s' \"$QUOTE\" | jq '.items[] | {id, sku}'\n","A buyer requests a quote",[2424,2653,2654,2680,2698,2715,2729,2741,2747,2753,2759,2765,2771,2777,2783,2789,2795,2807,2814,2854],{"__ignoreMap":2471},[2475,2655,2656,2659,2662,2665,2668,2671,2674,2677],{"class":2477,"line":2478},[2475,2657,2658],{"class":2485},"QUOTE",[2475,2660,2661],{"class":2489},"=$(",[2475,2663,2523],{"class":2664},"sBMFI",[2475,2666,2667],{"class":2496}," -s",[2475,2669,2670],{"class":2496}," -X",[2475,2672,2673],{"class":2496}," POST",[2475,2675,2676],{"class":2496}," https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Frequest",[2475,2678,2679],{"class":2485}," \\\n",[2475,2681,2682,2685,2688,2691,2694,2696],{"class":2477,"line":2503},[2475,2683,2684],{"class":2496},"  -H",[2475,2686,2687],{"class":2489}," \"",[2475,2689,2690],{"class":2496},"X-Revenexx-Tenant: ",[2475,2692,2693],{"class":2485},"$REVENEXX_TENANT",[2475,2695,2493],{"class":2489},[2475,2697,2679],{"class":2485},[2475,2699,2701,2703,2705,2708,2711,2713],{"class":2477,"line":2700},3,[2475,2702,2684],{"class":2496},[2475,2704,2687],{"class":2489},[2475,2706,2707],{"class":2496},"X-Revenexx-Api-Key: ",[2475,2709,2710],{"class":2485},"$REVENEXX_API_KEY",[2475,2712,2493],{"class":2489},[2475,2714,2679],{"class":2485},[2475,2716,2718,2720,2722,2725,2727],{"class":2477,"line":2717},4,[2475,2719,2684],{"class":2496},[2475,2721,2687],{"class":2489},[2475,2723,2724],{"class":2496},"Content-Type: application\u002Fjson",[2475,2726,2493],{"class":2489},[2475,2728,2679],{"class":2485},[2475,2730,2732,2735,2738],{"class":2477,"line":2731},5,[2475,2733,2734],{"class":2496},"  -d",[2475,2736,2737],{"class":2489}," '",[2475,2739,2740],{"class":2496},"{\n",[2475,2742,2744],{"class":2477,"line":2743},6,[2475,2745,2746],{"class":2496},"    \"currency\": \"EUR\",\n",[2475,2748,2750],{"class":2477,"line":2749},7,[2475,2751,2752],{"class":2496},"    \"contact_id\": \"\u003CCONTACT_ID>\",\n",[2475,2754,2756],{"class":2477,"line":2755},8,[2475,2757,2758],{"class":2496},"    \"organization_id\": \"\u003CORGANIZATION_ID>\",\n",[2475,2760,2762],{"class":2477,"line":2761},9,[2475,2763,2764],{"class":2496},"    \"buyer_note\": \"We order this every quarter. What is the price for 500?\",\n",[2475,2766,2768],{"class":2477,"line":2767},10,[2475,2769,2770],{"class":2496},"    \"shipping_address\": { \"name\": \"Acme GmbH\", \"street\": \"Hauptstr. 1\", \"zip\": \"10115\", \"city\": \"Berlin\", \"country\": \"DE\" },\n",[2475,2772,2774],{"class":2477,"line":2773},11,[2475,2775,2776],{"class":2496},"    \"items\": [\n",[2475,2778,2780],{"class":2477,"line":2779},12,[2475,2781,2782],{"class":2496},"      { \"sku\": \"WIDGET-1\", \"name\": \"Widget\", \"quantity\": 500, \"list_price\": 12.50, \"tax_rate\": 19 },\n",[2475,2784,2786],{"class":2477,"line":2785},13,[2475,2787,2788],{"class":2496},"      { \"sku\": \"GADGET-2\", \"name\": \"Gadget\", \"quantity\": 40, \"list_price\": 89.00, \"tax_rate\": 19 }\n",[2475,2790,2792],{"class":2477,"line":2791},14,[2475,2793,2794],{"class":2496},"    ]\n",[2475,2796,2798,2801,2804],{"class":2477,"line":2797},15,[2475,2799,2800],{"class":2496},"  }",[2475,2802,2803],{"class":2489},"'",[2475,2805,2806],{"class":2489},")\n",[2475,2808,2810],{"class":2477,"line":2809},16,[2475,2811,2813],{"emptyLinePlaceholder":2812},true,"\n",[2475,2815,2817,2820,2822,2826,2828,2831,2833,2835,2838,2840,2843,2846,2849,2852],{"class":2477,"line":2816},17,[2475,2818,2819],{"class":2485},"QUOTE_ID",[2475,2821,2661],{"class":2489},[2475,2823,2825],{"class":2824},"s2Zo4","printf",[2475,2827,2737],{"class":2489},[2475,2829,2830],{"class":2496},"%s",[2475,2832,2803],{"class":2489},[2475,2834,2687],{"class":2489},[2475,2836,2837],{"class":2485},"$QUOTE",[2475,2839,2493],{"class":2489},[2475,2841,2842],{"class":2489}," |",[2475,2844,2845],{"class":2664}," jq",[2475,2847,2848],{"class":2496}," -r",[2475,2850,2851],{"class":2496}," .id",[2475,2853,2806],{"class":2489},[2475,2855,2857,2859,2861,2863,2865,2867,2869,2871,2873,2875,2877,2880],{"class":2477,"line":2856},18,[2475,2858,2825],{"class":2824},[2475,2860,2737],{"class":2489},[2475,2862,2830],{"class":2496},[2475,2864,2803],{"class":2489},[2475,2866,2687],{"class":2489},[2475,2868,2837],{"class":2485},[2475,2870,2493],{"class":2489},[2475,2872,2842],{"class":2489},[2475,2874,2845],{"class":2664},[2475,2876,2737],{"class":2489},[2475,2878,2879],{"class":2496},".items[] | {id, sku}",[2475,2881,2882],{"class":2489},"'\n",[2405,2884,2885,2886,2889,2890,2893],{},"The last line prints the line ids you price and accept by. ",[2424,2887,2888],{},"GET \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}"," reads the quote back without its positions; ",[2424,2891,2892],{},"GET \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Fdetail"," returns the positions, the trail and the attachments as well.",[2405,2895,2896,2899,2900,2903,2904,2419,2907,2910,2911,2914,2915,2618],{},[2409,2897,2898],{},"Sales opens one",", with ",[2424,2901,2902],{},"POST \u002Fv1\u002Fquotes\u002Fquotes"," and the same body plus ",[2424,2905,2906],{},"owner_id",[2424,2908,2909],{},"seller_note",", and read the ",[2424,2912,2913],{},"id"," the same way. It starts as ",[2424,2916,2917],{},"in_review",[2405,2919,2920,2419,2923,2926,2927,2929],{},[2424,2921,2922],{},"\u003CCONTACT_ID>",[2424,2924,2925],{},"\u003CORGANIZATION_ID>"," are the buyer's ids from ",[2436,2928,1404],{"href":1405},". A call your backend makes with only an API key is not attributed to a buyer, so the body says who is asking.",[2405,2931,2932,2419,2935,2938,2939,2941,2942,2454,2945,2948,2949,2449,2952,2449,2955,2449,2958,2449,2961,2419,2964,2967,2968,2971,2972,2618],{},[2424,2933,2934],{},"currency",[2424,2936,2937],{},"items"," are required. ",[2424,2940,2934],{}," is a three-letter code, and each item needs a ",[2424,2943,2944],{},"name",[2424,2946,2947],{},"quantity"," above 0. A quote holds at most 500 lines. Each item can carry ",[2424,2950,2951],{},"sku",[2424,2953,2954],{},"product_id",[2424,2956,2957],{},"unit",[2424,2959,2960],{},"list_price",[2424,2962,2963],{},"tax_rate",[2424,2965,2966],{},"metadata",". The answer is the quote with its items, its ",[2424,2969,2970],{},"number"," and its ",[2424,2973,2974],{},"status",[2405,2976,2977],{},"The statuses, and where they lead:",[2979,2980,2981,2997],"table",{},[2982,2983,2984],"thead",{},[2985,2986,2987,2991,2994],"tr",{},[2988,2989,2990],"th",{},"Status",[2988,2992,2993],{},"Meaning",[2988,2995,2996],{},"Next",[2998,2999,3000,3021,3037,3059,3080],"tbody",{},[2985,3001,3002,3007,3010],{},[3003,3004,3005],"td",{},[2424,3006,2646],{},[3003,3008,3009],{},"A buyer asked.",[3003,3011,3012,3014,3015,2449,3018],{},[2424,3013,2917],{},", priced, ",[2424,3016,3017],{},"rejected",[2424,3019,3020],{},"expired",[2985,3022,3023,3027,3030],{},[3003,3024,3025],{},[2424,3026,2917],{},[3003,3028,3029],{},"Sales owns it.",[3003,3031,3032,3033,2449,3035],{},"priced, ",[2424,3034,3017],{},[2424,3036,3020],{},[2985,3038,3039,3044,3047],{},[3003,3040,3041],{},[2424,3042,3043],{},"quoted",[3003,3045,3046],{},"Priced and waiting for the buyer.",[3003,3048,3049,2449,3051,2449,3053,2449,3056,3058],{},[2424,3050,2555],{},[2424,3052,2559],{},[2424,3054,3055],{},"declined",[2424,3057,3020],{},", priced again",[2985,3060,3061,3065,3071],{},[3003,3062,3063],{},[2424,3064,2559],{},[3003,3066,3067,3068],{},"Some lines decided, some open. ",[2409,3069,3070],{},"Not final.",[3003,3072,3073,2449,3075,2449,3077,3079],{},[2424,3074,2555],{},[2424,3076,3055],{},[2424,3078,3020],{},", more lines accepted",[2985,3081,3082,3092,3097],{},[3003,3083,3084,2449,3086,2449,3088,2449,3090],{},[2424,3085,2555],{},[2424,3087,3055],{},[2424,3089,3017],{},[2424,3091,3020],{},[3003,3093,3094],{},[2409,3095,3096],{},"Final.",[3003,3098,3099],{},"none",[2405,3101,3102,3103,3106,3107,3109,3110,3113,3114,3117,3118,3121],{},"To claim a requested quote for a person, ",[2424,3104,3105],{},"POST \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Freview"," with an ",[2424,3108,2906],{},". ",[2424,3111,3112],{},"POST \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Freject"," with a ",[2424,3115,3116],{},"reason"," is the merchant refusing it. ",[2424,3119,3120],{},"GET \u002Fv1\u002Fquotes\u002Fquotes?status=quoted,partially_accepted"," lists the quotes that are waiting on a customer.",[3123,3124,3126],"h3",{"id":3125},"find-the-open-quotes-that-name-a-product","Find the open quotes that name a product",[2405,3128,3129,3132,3133,2419,3136,3139,3140,2449,3142,2449,3144,3146,3147,3149,3150,3152],{},[2424,3130,3131],{},"GET \u002Fv1\u002Fquotes\u002Fopen-items"," lists every position of an open quote that names one product, across all quotes. Each row is the position with its quote's ",[2424,3134,3135],{},"quote_number",[2424,3137,3138],{},"quote_status",", newest quote first, then by position. A quote is open while it is ",[2424,3141,2646],{},[2424,3143,2917],{},[2424,3145,3043],{}," or ",[2424,3148,2559],{},"; pass ",[2424,3151,2974],{}," with a comma-separated list of states to read other states.",[2405,3154,3155],{},"Ask this before you delete a product for good: a quote that is still being negotiated holds the delete, and this call shows which open quotes still name the product.",[2465,3157,3160],{"className":2467,"code":3158,"filename":3159,"language":2470,"meta":2471,"style":2471},"curl -s \"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Fopen-items?product_id=\u003CPRODUCT_ID>&limit=50&offset=0\" \\\n  -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\" \\\n  -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n  | jq '{total: .page.total, hasMore: .page.hasMore, rows: [.items[] | {quote_number, quote_status, name, quantity}]}'\n","Open quote positions for a product",[2424,3161,3162,3177,3191,3205],{"__ignoreMap":2471},[2475,3163,3164,3166,3168,3170,3173,3175],{"class":2477,"line":2478},[2475,3165,2523],{"class":2664},[2475,3167,2667],{"class":2496},[2475,3169,2687],{"class":2489},[2475,3171,3172],{"class":2496},"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Fopen-items?product_id=\u003CPRODUCT_ID>&limit=50&offset=0",[2475,3174,2493],{"class":2489},[2475,3176,2679],{"class":2485},[2475,3178,3179,3181,3183,3185,3187,3189],{"class":2477,"line":2503},[2475,3180,2684],{"class":2496},[2475,3182,2687],{"class":2489},[2475,3184,2690],{"class":2496},[2475,3186,2693],{"class":2485},[2475,3188,2493],{"class":2489},[2475,3190,2679],{"class":2485},[2475,3192,3193,3195,3197,3199,3201,3203],{"class":2477,"line":2700},[2475,3194,2684],{"class":2496},[2475,3196,2687],{"class":2489},[2475,3198,2707],{"class":2496},[2475,3200,2710],{"class":2485},[2475,3202,2493],{"class":2489},[2475,3204,2679],{"class":2485},[2475,3206,3207,3210,3212,3214,3217],{"class":2477,"line":2717},[2475,3208,3209],{"class":2489},"  |",[2475,3211,2845],{"class":2664},[2475,3213,2737],{"class":2489},[2475,3215,3216],{"class":2496},"{total: .page.total, hasMore: .page.hasMore, rows: [.items[] | {quote_number, quote_status, name, quantity}]}",[2475,3218,2882],{"class":2489},[2405,3220,3221,3223,3224,3227,3228,3230,3231,3234,3235,3237,3238,3241,3242,3245,3246,3249,3250,2449,3252,2449,3255,2419,3258,3109,3261,3263,3264,3267,3268,3270,3271,3273],{},[2424,3222,2954],{}," is required and must be a uuid; without it the call answers ",[2424,3225,3226],{},"400",", and so does a ",[2424,3229,2974],{}," that names a state a quote cannot be in. ",[2424,3232,3233],{},"limit"," defaults to 50 and is capped at 200: a larger value is clamped, not refused. The answer has ",[2424,3236,2937],{},", a ",[2424,3239,3240],{},"filter"," that echoes the product and the states read as open, and a ",[2424,3243,3244],{},"page"," with ",[2424,3247,3248],{},"total"," (every match, ignoring the page window), ",[2424,3251,3233],{},[2424,3253,3254],{},"offset",[2424,3256,3257],{},"returned",[2424,3259,3260],{},"hasMore",[2424,3262,3260],{}," is true while ",[2424,3265,3266],{},"offset + returned"," is below ",[2424,3269,3248],{},", so read the next page with a higher ",[2424,3272,3254],{},". A call attributed to a buyer reads only that buyer's organisation's quotes.",[2529,3275,3277],{"id":3276},"_2-price-it","2. Price it",[2405,3279,3280,3281,2618],{},"Pricing sets what each line costs, the carriage and how long the offer holds. It moves the quote to ",[2424,3282,3043],{},[2465,3284,3287],{"className":2467,"code":3285,"filename":3286,"language":2470,"meta":2471,"style":2471},"curl -s -X POST \"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Fquotes\u002F$QUOTE_ID\u002Fprice\" \\\n  -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\" \\\n  -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"items\": [\n      { \"id\": \"\u003CITEM_ID_1>\", \"quoted_price\": 11.25, \"price_reason\": \"volume\" },\n      { \"id\": \"\u003CITEM_ID_2>\", \"quoted_price\": 80.10, \"price_reason\": \"volume\" }\n    ],\n    \"shipping_amount\": 25,\n    \"shipping_tax_rate\": 19,\n    \"valid_until\": \"2026-12-31T23:59:59Z\",\n    \"seller_note\": \"Volume price, valid to the end of the year.\"\n  }'\n","Price the quote",[2424,3288,3289,3314,3328,3342,3354,3362,3366,3371,3376,3381,3386,3391,3396,3401],{"__ignoreMap":2471},[2475,3290,3291,3293,3295,3297,3299,3301,3304,3307,3310,3312],{"class":2477,"line":2478},[2475,3292,2523],{"class":2664},[2475,3294,2667],{"class":2496},[2475,3296,2670],{"class":2496},[2475,3298,2673],{"class":2496},[2475,3300,2687],{"class":2489},[2475,3302,3303],{"class":2496},"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Fquotes\u002F",[2475,3305,3306],{"class":2485},"$QUOTE_ID",[2475,3308,3309],{"class":2496},"\u002Fprice",[2475,3311,2493],{"class":2489},[2475,3313,2679],{"class":2485},[2475,3315,3316,3318,3320,3322,3324,3326],{"class":2477,"line":2503},[2475,3317,2684],{"class":2496},[2475,3319,2687],{"class":2489},[2475,3321,2690],{"class":2496},[2475,3323,2693],{"class":2485},[2475,3325,2493],{"class":2489},[2475,3327,2679],{"class":2485},[2475,3329,3330,3332,3334,3336,3338,3340],{"class":2477,"line":2700},[2475,3331,2684],{"class":2496},[2475,3333,2687],{"class":2489},[2475,3335,2707],{"class":2496},[2475,3337,2710],{"class":2485},[2475,3339,2493],{"class":2489},[2475,3341,2679],{"class":2485},[2475,3343,3344,3346,3348,3350,3352],{"class":2477,"line":2717},[2475,3345,2684],{"class":2496},[2475,3347,2687],{"class":2489},[2475,3349,2724],{"class":2496},[2475,3351,2493],{"class":2489},[2475,3353,2679],{"class":2485},[2475,3355,3356,3358,3360],{"class":2477,"line":2731},[2475,3357,2734],{"class":2496},[2475,3359,2737],{"class":2489},[2475,3361,2740],{"class":2496},[2475,3363,3364],{"class":2477,"line":2743},[2475,3365,2776],{"class":2496},[2475,3367,3368],{"class":2477,"line":2749},[2475,3369,3370],{"class":2496},"      { \"id\": \"\u003CITEM_ID_1>\", \"quoted_price\": 11.25, \"price_reason\": \"volume\" },\n",[2475,3372,3373],{"class":2477,"line":2755},[2475,3374,3375],{"class":2496},"      { \"id\": \"\u003CITEM_ID_2>\", \"quoted_price\": 80.10, \"price_reason\": \"volume\" }\n",[2475,3377,3378],{"class":2477,"line":2761},[2475,3379,3380],{"class":2496},"    ],\n",[2475,3382,3383],{"class":2477,"line":2767},[2475,3384,3385],{"class":2496},"    \"shipping_amount\": 25,\n",[2475,3387,3388],{"class":2477,"line":2773},[2475,3389,3390],{"class":2496},"    \"shipping_tax_rate\": 19,\n",[2475,3392,3393],{"class":2477,"line":2779},[2475,3394,3395],{"class":2496},"    \"valid_until\": \"2026-12-31T23:59:59Z\",\n",[2475,3397,3398],{"class":2477,"line":2785},[2475,3399,3400],{"class":2496},"    \"seller_note\": \"Volume price, valid to the end of the year.\"\n",[2475,3402,3403,3405],{"class":2477,"line":2791},[2475,3404,2800],{"class":2496},[2475,3406,2882],{"class":2489},[2405,3408,3409,2419,3412,3415,3416,2618],{},[2424,3410,3411],{},"\u003CITEM_ID_1>",[2424,3413,3414],{},"\u003CITEM_ID_2>"," are the line ids printed in step 1. You can read them again from ",[2424,3417,3418],{},"GET \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Fitems",[2534,3420,3421,3461,3505,3520,3532],{},[2537,3422,3423,3427,3428,3430,3431,3434,3435,3438,3439,2449,3442,2449,3445,2449,3448,2449,3451,3146,3454,3457,3458,2618],{},[2409,3424,3425],{},[2424,3426,2937],{}," names the lines to price by their ",[2424,3429,2913],{},", each with a ",[2424,3432,3433],{},"quoted_price"," (0 or more), an optional ",[2424,3436,3437],{},"price_reason"," (",[2424,3440,3441],{},"volume",[2424,3443,3444],{},"competition",[2424,3446,3447],{},"relationship",[2424,3449,3450],{},"clearance",[2424,3452,3453],{},"cost_change",[2424,3455,3456],{},"other",") and a ",[2424,3459,3460],{},"lead_time_days",[2537,3462,3463,2419,3468,3473,3474,3477,3478,3483,3484,3486,3487,3489,3490,3495,3496,3498,3499,3501,3502,3504],{},[2409,3464,3465],{},[2424,3466,3467],{},"shipping_amount",[2409,3469,3470],{},[2424,3471,3472],{},"shipping_tax_rate"," (0 to 100) are the carriage, net. ",[2424,3475,3476],{},"grand_total"," is the quoted goods plus carriage, before tax. Beside it the quote stores ",[2409,3479,3480],{},[2424,3481,3482],{},"tax_total"," (every position's line total at its own ",[2424,3485,2963],{},", plus the carriage at ",[2424,3488,3472],{},"; a position or carriage without a rate carries none) and ",[2409,3491,3492],{},[2424,3493,3494],{},"gross_total",", what the buyer pays with tax: ",[2424,3497,3476],{}," plus ",[2424,3500,3482],{},". Both are stored wherever ",[2424,3503,3476],{}," is (when the quote is created, on a pricing round and when one position is priced), and returned on the quote and on the accept response. You never send them: the quote computes both and ignores any you send.",[2537,3506,3507,3512,3513,3516,3517,3519],{},[2409,3508,3509],{},[2424,3510,3511],{},"valid_until"," is when the offer ends. Left out, it is now plus the tenant's default (30 days). ",[2409,3514,3515],{},"A re-price does not extend an existing date."," Send a new ",[2424,3518,3511],{}," when you mean to.",[2537,3521,3522,3523,2449,3525,3146,3527,3529,3530,2618],{},"A quote that is ",[2424,3524,2646],{},[2424,3526,2917],{},[2424,3528,3043],{}," can be priced. Pricing a decided or expired quote is a ",[2424,3531,2610],{},[2537,3533,3534,3539,3540,3542,3543,3545,3546,2618],{},[2409,3535,3536],{},[2424,3537,3538],{},"sender_country"," (optional) is the ISO 3166-1 alpha-2 code of the country the goods are sent from. It sets how the address lines on the quote you send print in capitals, and it is never stored. Anything that is not a country's code is a ",[2424,3541,3226],{},". Omit it and the market's ship-from country counts, else the market code when it is a country's code. The addresses freeze the first time the quote is sent and later rounds keep those lines, so a valid value on a re-price changes nothing (an invalid one is still a ",[2424,3544,3226],{},"). The full rule is on ",[2436,3547,1511],{"href":3548},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders#sender-country",[2405,3550,3551,3552,3113,3555,3237,3558,3561,3562,3565,3566,3146,3569,3572],{},"To attach a drawing, a datasheet or a signed document, ",[2424,3553,3554],{},"POST \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Fattachments",[2424,3556,3557],{},"filename",[2424,3559,3560],{},"file_ref"," that points to the file in your own storage and a ",[2424,3563,3564],{},"visibility"," of ",[2424,3567,3568],{},"internal",[2424,3570,3571],{},"customer",". The app keeps the reference only, not the file.",[2405,3574,3575,3576,2449,3578,3146,3580,2449,3582,3585,3586,3589,3590,3593],{},"While the quote is ",[2424,3577,2646],{},[2424,3579,2917],{},[2424,3581,3043],{},[2424,3583,3584],{},"PATCH \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Fitems\u002F{item_id}"," changes one line: it sets the line's negotiated price, price reason and lead time and re-totals the line and the quote. It sends nothing to the buyer and writes no event, so send the quote again with ",[2424,3587,3588],{},"POST ...\u002Fprice"," to tell them. A key you leave out keeps its value, and ",[2424,3591,3592],{},"null"," clears it.",[2405,3595,3596,3597,3600,3601,3604,3605,3113,3608,2454,3611,3613,3614,3616,3617,3619,3620,3622,3623,2618],{},"Pricing a quote the buyer has already seen again writes a new ",[2424,3598,3599],{},"revision"," by default, and fires ",[2424,3602,3603],{},"quote.quoted"," once per round. To talk to the buyer in between, ",[2424,3606,3607],{},"POST \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Fevents",[2424,3609,3610],{},"body",[2424,3612,3564],{},": ",[2424,3615,3568],{}," (the default, for your team) or ",[2424,3618,3571],{},". Only a ",[2424,3621,3571],{}," note fires ",[2424,3624,3625],{},"quote.message",[2529,3627,3629],{"id":3628},"_3-the-buyer-accepts","3. The buyer accepts",[2405,3631,3632,3635],{},[2409,3633,3634],{},"Accepting everything still open"," takes no positions in the body. Send an empty object:",[2405,3637,3638,3639,3642],{},"The calls below save each answer to a file of its own (",[2424,3640,3641],{},"$ACCEPT_FILE",", never overwritten), because the order draft in it comes only once. Keep the file.",[2465,3644,3647],{"className":2467,"code":3645,"filename":3646,"language":2470,"meta":2471,"style":2471},"ACCEPT_FILE=\"accept-$QUOTE_ID-$(date +%s).json\"\ncurl -s -o \"$ACCEPT_FILE\" -X POST \"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Fquotes\u002F$QUOTE_ID\u002Faccept\" \\\n  -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\" \\\n  -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" -d '{}'\n\njq -e .order_draft \"$ACCEPT_FILE\" > \u002Fdev\u002Fnull || echo \"no order draft in the answer: read $ACCEPT_FILE\"\n","Accept all",[2424,3648,3649,3683,3715,3729,3743,3762,3766],{"__ignoreMap":2471},[2475,3650,3651,3654,3656,3658,3661,3663,3666,3669,3672,3675,3678,3681],{"class":2477,"line":2478},[2475,3652,3653],{"class":2485},"ACCEPT_FILE",[2475,3655,2490],{"class":2489},[2475,3657,2493],{"class":2489},[2475,3659,3660],{"class":2496},"accept-",[2475,3662,3306],{"class":2485},[2475,3664,3665],{"class":2496},"-",[2475,3667,3668],{"class":2489},"$(",[2475,3670,3671],{"class":2664},"date",[2475,3673,3674],{"class":2496}," +%s",[2475,3676,3677],{"class":2489},")",[2475,3679,3680],{"class":2496},".json",[2475,3682,2500],{"class":2489},[2475,3684,3685,3687,3689,3692,3694,3696,3698,3700,3702,3704,3706,3708,3711,3713],{"class":2477,"line":2503},[2475,3686,2523],{"class":2664},[2475,3688,2667],{"class":2496},[2475,3690,3691],{"class":2496}," -o",[2475,3693,2687],{"class":2489},[2475,3695,3641],{"class":2485},[2475,3697,2493],{"class":2489},[2475,3699,2670],{"class":2496},[2475,3701,2673],{"class":2496},[2475,3703,2687],{"class":2489},[2475,3705,3303],{"class":2496},[2475,3707,3306],{"class":2485},[2475,3709,3710],{"class":2496},"\u002Faccept",[2475,3712,2493],{"class":2489},[2475,3714,2679],{"class":2485},[2475,3716,3717,3719,3721,3723,3725,3727],{"class":2477,"line":2700},[2475,3718,2684],{"class":2496},[2475,3720,2687],{"class":2489},[2475,3722,2690],{"class":2496},[2475,3724,2693],{"class":2485},[2475,3726,2493],{"class":2489},[2475,3728,2679],{"class":2485},[2475,3730,3731,3733,3735,3737,3739,3741],{"class":2477,"line":2717},[2475,3732,2684],{"class":2496},[2475,3734,2687],{"class":2489},[2475,3736,2707],{"class":2496},[2475,3738,2710],{"class":2485},[2475,3740,2493],{"class":2489},[2475,3742,2679],{"class":2485},[2475,3744,3745,3747,3749,3751,3753,3756,3758,3760],{"class":2477,"line":2731},[2475,3746,2684],{"class":2496},[2475,3748,2687],{"class":2489},[2475,3750,2724],{"class":2496},[2475,3752,2493],{"class":2489},[2475,3754,3755],{"class":2496}," -d",[2475,3757,2737],{"class":2489},[2475,3759,2606],{"class":2496},[2475,3761,2882],{"class":2489},[2475,3763,3764],{"class":2477,"line":2743},[2475,3765,2813],{"emptyLinePlaceholder":2812},[2475,3767,3768,3770,3773,3776,3778,3780,3782,3785,3788,3791,3794,3796,3799,3801],{"class":2477,"line":2749},[2475,3769,2526],{"class":2664},[2475,3771,3772],{"class":2496}," -e",[2475,3774,3775],{"class":2496}," .order_draft",[2475,3777,2687],{"class":2489},[2475,3779,3641],{"class":2485},[2475,3781,2493],{"class":2489},[2475,3783,3784],{"class":2489}," >",[2475,3786,3787],{"class":2496}," \u002Fdev\u002Fnull",[2475,3789,3790],{"class":2489}," ||",[2475,3792,3793],{"class":2824}," echo",[2475,3795,2687],{"class":2489},[2475,3797,3798],{"class":2496},"no order draft in the answer: read ",[2475,3800,3641],{"class":2485},[2475,3802,2500],{"class":2489},[2405,3804,3805,3808,3809,3812,3813,3815,3816,3818],{},[2409,3806,3807],{},"Accepting some lines"," (use this instead of the call above) names them with a ",[2424,3810,3811],{},"decision"," each (",[2424,3814,2555],{}," by default, or ",[2424,3817,3055],{},"):",[2465,3820,3823],{"className":2467,"code":3821,"filename":3822,"language":2470,"meta":2471,"style":2471},"ACCEPT_FILE=\"accept-$QUOTE_ID-$(date +%s).json\"\ncurl -s -o \"$ACCEPT_FILE\" -X POST \"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Fquotes\u002F$QUOTE_ID\u002Faccept\" \\\n  -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\" \\\n  -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"items\": [ { \"id\": \"\u003CITEM_ID>\", \"decision\": \"accepted\" } ] }'\n\njq -e .order_draft \"$ACCEPT_FILE\" > \u002Fdev\u002Fnull || echo \"no order draft in the answer: read $ACCEPT_FILE\"\n","Accept one line",[2424,3824,3825,3851,3881,3895,3909,3921,3932,3936],{"__ignoreMap":2471},[2475,3826,3827,3829,3831,3833,3835,3837,3839,3841,3843,3845,3847,3849],{"class":2477,"line":2478},[2475,3828,3653],{"class":2485},[2475,3830,2490],{"class":2489},[2475,3832,2493],{"class":2489},[2475,3834,3660],{"class":2496},[2475,3836,3306],{"class":2485},[2475,3838,3665],{"class":2496},[2475,3840,3668],{"class":2489},[2475,3842,3671],{"class":2664},[2475,3844,3674],{"class":2496},[2475,3846,3677],{"class":2489},[2475,3848,3680],{"class":2496},[2475,3850,2500],{"class":2489},[2475,3852,3853,3855,3857,3859,3861,3863,3865,3867,3869,3871,3873,3875,3877,3879],{"class":2477,"line":2503},[2475,3854,2523],{"class":2664},[2475,3856,2667],{"class":2496},[2475,3858,3691],{"class":2496},[2475,3860,2687],{"class":2489},[2475,3862,3641],{"class":2485},[2475,3864,2493],{"class":2489},[2475,3866,2670],{"class":2496},[2475,3868,2673],{"class":2496},[2475,3870,2687],{"class":2489},[2475,3872,3303],{"class":2496},[2475,3874,3306],{"class":2485},[2475,3876,3710],{"class":2496},[2475,3878,2493],{"class":2489},[2475,3880,2679],{"class":2485},[2475,3882,3883,3885,3887,3889,3891,3893],{"class":2477,"line":2700},[2475,3884,2684],{"class":2496},[2475,3886,2687],{"class":2489},[2475,3888,2690],{"class":2496},[2475,3890,2693],{"class":2485},[2475,3892,2493],{"class":2489},[2475,3894,2679],{"class":2485},[2475,3896,3897,3899,3901,3903,3905,3907],{"class":2477,"line":2717},[2475,3898,2684],{"class":2496},[2475,3900,2687],{"class":2489},[2475,3902,2707],{"class":2496},[2475,3904,2710],{"class":2485},[2475,3906,2493],{"class":2489},[2475,3908,2679],{"class":2485},[2475,3910,3911,3913,3915,3917,3919],{"class":2477,"line":2731},[2475,3912,2684],{"class":2496},[2475,3914,2687],{"class":2489},[2475,3916,2724],{"class":2496},[2475,3918,2493],{"class":2489},[2475,3920,2679],{"class":2485},[2475,3922,3923,3925,3927,3930],{"class":2477,"line":2743},[2475,3924,2734],{"class":2496},[2475,3926,2737],{"class":2489},[2475,3928,3929],{"class":2496},"{ \"items\": [ { \"id\": \"\u003CITEM_ID>\", \"decision\": \"accepted\" } ] }",[2475,3931,2882],{"class":2489},[2475,3933,3934],{"class":2477,"line":2749},[2475,3935,2813],{"emptyLinePlaceholder":2812},[2475,3937,3938,3940,3942,3944,3946,3948,3950,3952,3954,3956,3958,3960,3962,3964],{"class":2477,"line":2755},[2475,3939,2526],{"class":2664},[2475,3941,3772],{"class":2496},[2475,3943,3775],{"class":2496},[2475,3945,2687],{"class":2489},[2475,3947,3641],{"class":2485},[2475,3949,2493],{"class":2489},[2475,3951,3784],{"class":2489},[2475,3953,3787],{"class":2496},[2475,3955,3790],{"class":2489},[2475,3957,3793],{"class":2824},[2475,3959,2687],{"class":2489},[2475,3961,3798],{"class":2496},[2475,3963,3641],{"class":2485},[2475,3965,2500],{"class":2489},[2405,3967,3968,3969,3971,3972,3974,3975,3977],{},"The quote becomes ",[2424,3970,2555],{}," when no line is left open, ",[2424,3973,3055],{}," when no line is left open and none was accepted, and ",[2424,3976,2559],{}," while some lines are still open.",[3979,3980,3981,3984,3985,3988,3989,3237,3991,3993,3994,3996,3997,4000],"warning",{},[2409,3982,3983],{},"The order draft comes once, and only in this answer."," There is no call to fetch it again, and accepting the same lines again is refused (a ",[2424,3986,3987],{},"409"," while the quote is ",[2424,3990,2559],{},[2424,3992,2610],{}," once it is ",[2424,3995,2555],{},"). Store the ",[2424,3998,3999],{},"order_draft"," durably before you place the order. If placing the order fails after the acceptance, the draft you saved is all you have, and the carriage on a first acceptance is not offered a second time.",[2405,4002,4003],{},"What an acceptance refuses:",[2979,4005,4006,4016],{},[2982,4007,4008],{},[2985,4009,4010,4013],{},[2988,4011,4012],{},"Answer",[2988,4014,4015],{},"When",[2998,4017,4018,4036,4046,4056,4065],{},[2985,4019,4020,4024],{},[3003,4021,4022],{},[2424,4023,3226],{},[3003,4025,4026,4027,4029,4030,4032,4033,4035],{},"A named position is not on the quote, a ",[2424,4028,3811],{}," is neither ",[2424,4031,2555],{}," nor ",[2424,4034,3055],{},", or the named set is empty.",[2985,4037,4038,4043],{},[3003,4039,4040],{},[2424,4041,4042],{},"403",[3003,4044,4045],{},"The call is attributed to a buyer, the tenant accepts only from the person who asked, and someone else is accepting.",[2985,4047,4048,4053],{},[3003,4049,4050],{},[2424,4051,4052],{},"404",[3003,4054,4055],{},"The call is attributed to a buyer and the quote belongs to another organization.",[2985,4057,4058,4062],{},[3003,4059,4060],{},[2424,4061,3987],{},[3003,4063,4064],{},"A named line is already decided, or every line is.",[2985,4066,4067,4071],{},[3003,4068,4069],{},[2424,4070,2610],{},[3003,4072,4073,4074,2449,4076,3146,4078,4080],{},"The quote is not open to acceptance: it was never priced, it expired, it is already ",[2424,4075,2555],{},[2424,4077,3055],{},[2424,4079,3017],{},", or the tenant does not let a quote be taken apart and you named lines.",[2405,4082,4083,4084,4086,4087,4089,4090,4093,4094,4096,4097,4099,4100,4102,4103,4106,4107,4110,4111,4114],{},"A quote past its ",[2424,4085,3511],{}," cannot be accepted, whether or not the expiry sweep has moved it to ",[2424,4088,3020],{}," yet. A merchant can set a grace period (",[2424,4091,4092],{},"expiry_grace_hours","), but the hourly sweep does not honour it: within about an hour of ",[2424,4095,3511],{}," the quote shows as ",[2424,4098,3020],{},", and accepting it is refused with a ",[2424,4101,2610],{}," (\"a quote in expired cannot be accepted\") (as of 2026-09). Do not promise a buyer more than that hour. Who may accept is a tenant setting: ",[2424,4104,4105],{},"acceptance_scope"," is ",[2424,4108,4109],{},"organization"," (anyone in the buyer's organization, the default) or ",[2424,4112,4113],{},"requester"," (only the person who asked), and partial acceptance can be switched off so that a quote is taken whole.",[3979,4116,4117,4120,4121,4124],{},[2409,4118,4119],{},"The acceptance answer carries the whole quote, internal notes and attachments included."," It is not the buyer's view. A storefront must pick what it shows out of the answer rather than forward it to a browser. For the buyer's own view of a quote, read ",[2424,4122,4123],{},"GET \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Fdetail?audience=customer",", which leaves out internal notes and files.",[2529,4126,4128],{"id":4127},"_4-place-the-order-from-the-draft","4. Place the order from the draft",[2405,4130,4131,4132,4134,4135,2647],{},"The answer has an ",[2424,4133,3999],{}," covering ",[2409,4136,4137],{},"only the lines this call accepted",[2465,4139,4143],{"className":4140,"code":4141,"filename":3999,"language":4142,"meta":2471,"style":2471},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"currency\": \"EUR\",\n  \"contact_id\": \"…\",\n  \"organization_id\": \"…\",\n  \"shipping_address\": { \"name\": \"Acme GmbH\", \"street\": \"Hauptstr. 1\", \"zip\": \"10115\", \"city\": \"Berlin\", \"country\": \"DE\" },\n  \"shipping\": { \"method\": \"quote\", \"price\": 25, \"tax_rate\": 19 },\n  \"items\": [\n    { \"sku\": \"WIDGET-1\", \"name\": \"Widget\", \"quantity\": 500, \"unit_price\": 11.25, \"tax_rate\": 19 }\n  ],\n  \"metadata\": { \"quote_id\": \"…\", \"quote_number\": \"ANG-000001\" }\n}\n","json",[2424,4144,4145,4149,4170,4190,4209,4314,4371,4384,4463,4468,4514],{"__ignoreMap":2471},[2475,4146,4147],{"class":2477,"line":2478},[2475,4148,2740],{"class":2489},[2475,4150,4151,4154,4156,4158,4160,4162,4165,4167],{"class":2477,"line":2503},[2475,4152,4153],{"class":2489},"  \"",[2475,4155,2934],{"class":2481},[2475,4157,2493],{"class":2489},[2475,4159,2647],{"class":2489},[2475,4161,2687],{"class":2489},[2475,4163,4164],{"class":2496},"EUR",[2475,4166,2493],{"class":2489},[2475,4168,4169],{"class":2489},",\n",[2475,4171,4172,4174,4177,4179,4181,4183,4186,4188],{"class":2477,"line":2700},[2475,4173,4153],{"class":2489},[2475,4175,4176],{"class":2481},"contact_id",[2475,4178,2493],{"class":2489},[2475,4180,2647],{"class":2489},[2475,4182,2687],{"class":2489},[2475,4184,4185],{"class":2496},"…",[2475,4187,2493],{"class":2489},[2475,4189,4169],{"class":2489},[2475,4191,4192,4194,4197,4199,4201,4203,4205,4207],{"class":2477,"line":2717},[2475,4193,4153],{"class":2489},[2475,4195,4196],{"class":2481},"organization_id",[2475,4198,2493],{"class":2489},[2475,4200,2647],{"class":2489},[2475,4202,2687],{"class":2489},[2475,4204,4185],{"class":2496},[2475,4206,2493],{"class":2489},[2475,4208,4169],{"class":2489},[2475,4210,4211,4213,4216,4218,4220,4223,4225,4227,4229,4231,4233,4236,4238,4241,4243,4246,4248,4250,4252,4255,4257,4259,4261,4264,4266,4268,4270,4273,4275,4277,4279,4282,4284,4286,4288,4291,4293,4295,4297,4300,4302,4304,4306,4309,4311],{"class":2477,"line":2731},[2475,4212,4153],{"class":2489},[2475,4214,4215],{"class":2481},"shipping_address",[2475,4217,2493],{"class":2489},[2475,4219,2647],{"class":2489},[2475,4221,4222],{"class":2489}," {",[2475,4224,2687],{"class":2489},[2475,4226,2944],{"class":2664},[2475,4228,2493],{"class":2489},[2475,4230,2647],{"class":2489},[2475,4232,2687],{"class":2489},[2475,4234,4235],{"class":2496},"Acme GmbH",[2475,4237,2493],{"class":2489},[2475,4239,4240],{"class":2489},",",[2475,4242,2687],{"class":2489},[2475,4244,4245],{"class":2664},"street",[2475,4247,2493],{"class":2489},[2475,4249,2647],{"class":2489},[2475,4251,2687],{"class":2489},[2475,4253,4254],{"class":2496},"Hauptstr. 1",[2475,4256,2493],{"class":2489},[2475,4258,4240],{"class":2489},[2475,4260,2687],{"class":2489},[2475,4262,4263],{"class":2664},"zip",[2475,4265,2493],{"class":2489},[2475,4267,2647],{"class":2489},[2475,4269,2687],{"class":2489},[2475,4271,4272],{"class":2496},"10115",[2475,4274,2493],{"class":2489},[2475,4276,4240],{"class":2489},[2475,4278,2687],{"class":2489},[2475,4280,4281],{"class":2664},"city",[2475,4283,2493],{"class":2489},[2475,4285,2647],{"class":2489},[2475,4287,2687],{"class":2489},[2475,4289,4290],{"class":2496},"Berlin",[2475,4292,2493],{"class":2489},[2475,4294,4240],{"class":2489},[2475,4296,2687],{"class":2489},[2475,4298,4299],{"class":2664},"country",[2475,4301,2493],{"class":2489},[2475,4303,2647],{"class":2489},[2475,4305,2687],{"class":2489},[2475,4307,4308],{"class":2496},"DE",[2475,4310,2493],{"class":2489},[2475,4312,4313],{"class":2489}," },\n",[2475,4315,4316,4318,4321,4323,4325,4327,4329,4332,4334,4336,4338,4340,4342,4344,4346,4348,4350,4352,4356,4358,4360,4362,4364,4366,4369],{"class":2477,"line":2743},[2475,4317,4153],{"class":2489},[2475,4319,4320],{"class":2481},"shipping",[2475,4322,2493],{"class":2489},[2475,4324,2647],{"class":2489},[2475,4326,4222],{"class":2489},[2475,4328,2687],{"class":2489},[2475,4330,4331],{"class":2664},"method",[2475,4333,2493],{"class":2489},[2475,4335,2647],{"class":2489},[2475,4337,2687],{"class":2489},[2475,4339,2585],{"class":2496},[2475,4341,2493],{"class":2489},[2475,4343,4240],{"class":2489},[2475,4345,2687],{"class":2489},[2475,4347,2569],{"class":2664},[2475,4349,2493],{"class":2489},[2475,4351,2647],{"class":2489},[2475,4353,4355],{"class":4354},"sbssI"," 25",[2475,4357,4240],{"class":2489},[2475,4359,2687],{"class":2489},[2475,4361,2963],{"class":2664},[2475,4363,2493],{"class":2489},[2475,4365,2647],{"class":2489},[2475,4367,4368],{"class":4354}," 19",[2475,4370,4313],{"class":2489},[2475,4372,4373,4375,4377,4379,4381],{"class":2477,"line":2749},[2475,4374,4153],{"class":2489},[2475,4376,2937],{"class":2481},[2475,4378,2493],{"class":2489},[2475,4380,2647],{"class":2489},[2475,4382,4383],{"class":2489}," [\n",[2475,4385,4386,4389,4391,4393,4395,4397,4399,4402,4404,4406,4408,4410,4412,4414,4416,4419,4421,4423,4425,4427,4429,4431,4434,4436,4438,4441,4443,4445,4448,4450,4452,4454,4456,4458,4460],{"class":2477,"line":2755},[2475,4387,4388],{"class":2489},"    {",[2475,4390,2687],{"class":2489},[2475,4392,2951],{"class":2664},[2475,4394,2493],{"class":2489},[2475,4396,2647],{"class":2489},[2475,4398,2687],{"class":2489},[2475,4400,4401],{"class":2496},"WIDGET-1",[2475,4403,2493],{"class":2489},[2475,4405,4240],{"class":2489},[2475,4407,2687],{"class":2489},[2475,4409,2944],{"class":2664},[2475,4411,2493],{"class":2489},[2475,4413,2647],{"class":2489},[2475,4415,2687],{"class":2489},[2475,4417,4418],{"class":2496},"Widget",[2475,4420,2493],{"class":2489},[2475,4422,4240],{"class":2489},[2475,4424,2687],{"class":2489},[2475,4426,2947],{"class":2664},[2475,4428,2493],{"class":2489},[2475,4430,2647],{"class":2489},[2475,4432,4433],{"class":4354}," 500",[2475,4435,4240],{"class":2489},[2475,4437,2687],{"class":2489},[2475,4439,4440],{"class":2664},"unit_price",[2475,4442,2493],{"class":2489},[2475,4444,2647],{"class":2489},[2475,4446,4447],{"class":4354}," 11.25",[2475,4449,4240],{"class":2489},[2475,4451,2687],{"class":2489},[2475,4453,2963],{"class":2664},[2475,4455,2493],{"class":2489},[2475,4457,2647],{"class":2489},[2475,4459,4368],{"class":4354},[2475,4461,4462],{"class":2489}," }\n",[2475,4464,4465],{"class":2477,"line":2761},[2475,4466,4467],{"class":2489},"  ],\n",[2475,4469,4470,4472,4474,4476,4478,4480,4482,4485,4487,4489,4491,4493,4495,4497,4499,4501,4503,4505,4507,4510,4512],{"class":2477,"line":2767},[2475,4471,4153],{"class":2489},[2475,4473,2966],{"class":2481},[2475,4475,2493],{"class":2489},[2475,4477,2647],{"class":2489},[2475,4479,4222],{"class":2489},[2475,4481,2687],{"class":2489},[2475,4483,4484],{"class":2664},"quote_id",[2475,4486,2493],{"class":2489},[2475,4488,2647],{"class":2489},[2475,4490,2687],{"class":2489},[2475,4492,4185],{"class":2496},[2475,4494,2493],{"class":2489},[2475,4496,4240],{"class":2489},[2475,4498,2687],{"class":2489},[2475,4500,3135],{"class":2664},[2475,4502,2493],{"class":2489},[2475,4504,2647],{"class":2489},[2475,4506,2687],{"class":2489},[2475,4508,4509],{"class":2496},"ANG-000001",[2475,4511,2493],{"class":2489},[2475,4513,4462],{"class":2489},[2475,4515,4516],{"class":2477,"line":2773},[2475,4517,4518],{"class":2489},"}\n",[2534,4520,4521,4528,4542,4549],{},[2537,4522,4523,4527],{},[2409,4524,4525],{},[2424,4526,4440],{}," is the negotiated price: the quoted price, else the list price, else 0.",[2537,4529,4530,4534,4535,4538,4539,4541],{},[2409,4531,4532],{},[2424,4533,4320],{}," appears ",[2409,4536,4537],{},"only on the first acceptance",", and only when the quote has carriage. A later acceptance has no ",[2424,4540,4320],{}," key at all (not a zero), so the freight lands on one order only.",[2537,4543,4544,4548],{},[2409,4545,4546],{},[2424,4547,2966],{}," carries the quote's id and number, and lands on the order.",[2537,4550,4551,4552,2449,4555,2449,4558,4561,4562,3146,4564,4566,4567,4569],{},"Fields the quote does not hold (",[2424,4553,4554],{},"buyer",[2424,4556,4557],{},"billing_address",[2424,4559,4560],{},"cart_id",", a line's ",[2424,4563,2954],{},[2424,4565,2951],{},") are left out, not null. A line with no ",[2424,4568,2963],{}," on the quote comes through without one, and the order then records a rate of 0.",[2405,4571,4572,4573,4576,4577,4579,4580,4582,4583,4585,4586,4588,4589,3146,4592,4595,4596,4598,4599,2618],{},"The draft has the shape ",[2424,4574,4575],{},"POST \u002Fv1\u002Forders\u002Fplace"," takes, so post it as it is. One exception: when you place the order as a signed-in buyer, the draft's ",[2424,4578,4176],{}," must be that buyer's. A colleague accepting under the ",[2424,4581,4109],{}," scope would be refused with a ",[2424,4584,3226],{},", so drop ",[2424,4587,4176],{}," from the draft or match it. Add what only you know, such as ",[2424,4590,4591],{},"channel_id",[2424,4593,4594],{},"payment"," (both are optional), and do not send a ",[2424,4597,3476],{},": Orders computes it, and a total you send that does not match is a ",[2424,4600,3226],{},[2465,4602,4605],{"className":2467,"code":4603,"filename":4604,"language":2470,"meta":2471,"style":2471},"ORDER_ID=$(jq '.order_draft | . + {customer_order_number: .metadata.quote_number}' \"$ACCEPT_FILE\" \\\n  | curl -s -X POST https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Forders\u002Fplace \\\n      -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\" \\\n      -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n      -H \"Content-Type: application\u002Fjson\" -d @- \\\n  | jq -r .id)\n\nif [ -z \"$ORDER_ID\" ] || [ \"$ORDER_ID\" = null ]; then echo \"order was not placed: do not write back\"; fi\n","Place the order",[2424,4606,4607,4631,4649,4664,4678,4695,4707,4711],{"__ignoreMap":2471},[2475,4608,4609,4612,4614,4616,4618,4621,4623,4625,4627,4629],{"class":2477,"line":2478},[2475,4610,4611],{"class":2485},"ORDER_ID",[2475,4613,2661],{"class":2489},[2475,4615,2526],{"class":2664},[2475,4617,2737],{"class":2489},[2475,4619,4620],{"class":2496},".order_draft | . + {customer_order_number: .metadata.quote_number}",[2475,4622,2803],{"class":2489},[2475,4624,2687],{"class":2489},[2475,4626,3641],{"class":2485},[2475,4628,2493],{"class":2489},[2475,4630,2679],{"class":2485},[2475,4632,4633,4635,4638,4640,4642,4644,4647],{"class":2477,"line":2503},[2475,4634,3209],{"class":2489},[2475,4636,4637],{"class":2664}," curl",[2475,4639,2667],{"class":2496},[2475,4641,2670],{"class":2496},[2475,4643,2673],{"class":2496},[2475,4645,4646],{"class":2496}," https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Forders\u002Fplace",[2475,4648,2679],{"class":2485},[2475,4650,4651,4654,4656,4658,4660,4662],{"class":2477,"line":2700},[2475,4652,4653],{"class":2496},"      -H",[2475,4655,2687],{"class":2489},[2475,4657,2690],{"class":2496},[2475,4659,2693],{"class":2485},[2475,4661,2493],{"class":2489},[2475,4663,2679],{"class":2485},[2475,4665,4666,4668,4670,4672,4674,4676],{"class":2477,"line":2717},[2475,4667,4653],{"class":2496},[2475,4669,2687],{"class":2489},[2475,4671,2707],{"class":2496},[2475,4673,2710],{"class":2485},[2475,4675,2493],{"class":2489},[2475,4677,2679],{"class":2485},[2475,4679,4680,4682,4684,4686,4688,4690,4693],{"class":2477,"line":2731},[2475,4681,4653],{"class":2496},[2475,4683,2687],{"class":2489},[2475,4685,2724],{"class":2496},[2475,4687,2493],{"class":2489},[2475,4689,3755],{"class":2496},[2475,4691,4692],{"class":2496}," @-",[2475,4694,2679],{"class":2485},[2475,4696,4697,4699,4701,4703,4705],{"class":2477,"line":2743},[2475,4698,3209],{"class":2489},[2475,4700,2845],{"class":2664},[2475,4702,2848],{"class":2496},[2475,4704,2851],{"class":2496},[2475,4706,2806],{"class":2489},[2475,4708,4709],{"class":2477,"line":2749},[2475,4710,2813],{"emptyLinePlaceholder":2812},[2475,4712,4713,4717,4720,4723,4725,4728,4730,4733,4735,4737,4739,4741,4743,4746,4749,4752,4755,4757,4759,4762,4764,4767],{"class":2477,"line":2755},[2475,4714,4716],{"class":4715},"s7zQu","if",[2475,4718,4719],{"class":2489}," [",[2475,4721,4722],{"class":2489}," -z",[2475,4724,2687],{"class":2489},[2475,4726,4727],{"class":2485},"$ORDER_ID",[2475,4729,2493],{"class":2489},[2475,4731,4732],{"class":2489}," ]",[2475,4734,3790],{"class":2489},[2475,4736,4719],{"class":2489},[2475,4738,2687],{"class":2489},[2475,4740,4727],{"class":2485},[2475,4742,2493],{"class":2489},[2475,4744,4745],{"class":2489}," =",[2475,4747,4748],{"class":2485}," null ",[2475,4750,4751],{"class":2489},"];",[2475,4753,4754],{"class":4715}," then",[2475,4756,3793],{"class":2824},[2475,4758,2687],{"class":2489},[2475,4760,4761],{"class":2496},"order was not placed: do not write back",[2475,4763,2493],{"class":2489},[2475,4765,4766],{"class":2489},";",[2475,4768,4769],{"class":4715}," fi\n",[2405,4771,4772,4773,4775,4776,4779,4780,4782,4783,4786,4787,4790,4791,4793,4794,4796],{},"The last line of the snippet stops you before step 5 unless Orders answered with a real order id. The draft comes from the file you saved in step 3 (",[2424,4774,3641],{},", or its name if you are in a new shell), so this step still works in a new shell. Orders does not deduplicate a repeated ",[2424,4777,4778],{},"place",": posting the same draft twice makes two orders. If a ",[2424,4781,4778],{}," call timed out or its answer was lost, look for it before you post the draft again: the snippet above sets the order's ",[2424,4784,4785],{},"customer_order_number"," to the quote number, so ",[2424,4788,4789],{},"GET \u002Fv1\u002Forders?customer_order_number=\u003CQUOTE_NUMBER>"," finds it. The field is not unique, so after two partial acceptances the same quote number sits on two orders: compare their lines. A filter on ",[2424,4792,2966],{}," does not exist, and Orders ignores an unknown query parameter and answers with the unfiltered list. If the draft has no ",[2424,4795,2937],{},", there is nothing to order: that happens when every open line was declined, and you skip this step.",[2405,4798,4799,4800,4803,4804,4806,4807,4809,4810,3245,4813,4816,4817,4820,4821,4824,4825,2618],{},"An order holds at most the tenant's ",[2424,4801,4802],{},"max_items_per_order"," lines (500 by default), so a longer draft is refused with a ",[2424,4805,3226],{},". Look at the ",[2424,4808,2974],{}," in the answer before you tell the buyer the order is placed. Orders can answer ",[2424,4811,4812],{},"201",[2424,4814,4815],{},"status: \"pending\""," and no ",[2424,4818,4819],{},"placed_at",", when the caller may only request orders or the order is above the tenant's approval threshold (see ",[2436,4822,4823],{"href":209},"purchase approvals"," for how that differs from a purchase request). See ",[2436,4826,1511],{"href":1548},[2529,4828,4830],{"id":4829},"_5-write-the-order-back-to-the-quote","5. Write the order back to the quote",[2405,4832,4833],{},"Orders mints the order id after the draft was handed over, so the quote cannot know it. Tell it, and only once you hold a real order id. A write-back with a wrong id marks the lines as ordered, and repeating it is then refused:",[2465,4835,4838],{"className":2467,"code":4836,"filename":4837,"language":2470,"meta":2471,"style":2471},"if [ -z \"$ORDER_ID\" ] || [ \"$ORDER_ID\" = null ]; then\n  echo \"no order id: do not write back\"\nelse\n  curl -s -X POST \"https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Fquotes\u002Fquotes\u002F$QUOTE_ID\u002Fordered\" \\\n    -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\" \\\n    -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n    -H \"Content-Type: application\u002Fjson\" \\\n    -d \"{ \\\"order_id\\\": \\\"$ORDER_ID\\\" }\"\nfi\n","Write back",[2424,4839,4840,4875,4887,4892,4916,4931,4945,4957,4985],{"__ignoreMap":2471},[2475,4841,4842,4844,4846,4848,4850,4852,4854,4856,4858,4860,4862,4864,4866,4868,4870,4872],{"class":2477,"line":2478},[2475,4843,4716],{"class":4715},[2475,4845,4719],{"class":2489},[2475,4847,4722],{"class":2489},[2475,4849,2687],{"class":2489},[2475,4851,4727],{"class":2485},[2475,4853,2493],{"class":2489},[2475,4855,4732],{"class":2489},[2475,4857,3790],{"class":2489},[2475,4859,4719],{"class":2489},[2475,4861,2687],{"class":2489},[2475,4863,4727],{"class":2485},[2475,4865,2493],{"class":2489},[2475,4867,4745],{"class":2489},[2475,4869,4748],{"class":2485},[2475,4871,4751],{"class":2489},[2475,4873,4874],{"class":4715}," then\n",[2475,4876,4877,4880,4882,4885],{"class":2477,"line":2503},[2475,4878,4879],{"class":2824},"  echo",[2475,4881,2687],{"class":2489},[2475,4883,4884],{"class":2496},"no order id: do not write back",[2475,4886,2500],{"class":2489},[2475,4888,4889],{"class":2477,"line":2700},[2475,4890,4891],{"class":4715},"else\n",[2475,4893,4894,4897,4899,4901,4903,4905,4907,4909,4912,4914],{"class":2477,"line":2717},[2475,4895,4896],{"class":2664},"  curl",[2475,4898,2667],{"class":2496},[2475,4900,2670],{"class":2496},[2475,4902,2673],{"class":2496},[2475,4904,2687],{"class":2489},[2475,4906,3303],{"class":2496},[2475,4908,3306],{"class":2485},[2475,4910,4911],{"class":2496},"\u002Fordered",[2475,4913,2493],{"class":2489},[2475,4915,2679],{"class":2485},[2475,4917,4918,4921,4923,4925,4927,4929],{"class":2477,"line":2731},[2475,4919,4920],{"class":2496},"    -H",[2475,4922,2687],{"class":2489},[2475,4924,2690],{"class":2496},[2475,4926,2693],{"class":2485},[2475,4928,2493],{"class":2489},[2475,4930,2679],{"class":2485},[2475,4932,4933,4935,4937,4939,4941,4943],{"class":2477,"line":2743},[2475,4934,4920],{"class":2496},[2475,4936,2687],{"class":2489},[2475,4938,2707],{"class":2496},[2475,4940,2710],{"class":2485},[2475,4942,2493],{"class":2489},[2475,4944,2679],{"class":2485},[2475,4946,4947,4949,4951,4953,4955],{"class":2477,"line":2749},[2475,4948,4920],{"class":2496},[2475,4950,2687],{"class":2489},[2475,4952,2724],{"class":2496},[2475,4954,2493],{"class":2489},[2475,4956,2679],{"class":2485},[2475,4958,4959,4962,4964,4967,4970,4973,4975,4977,4980,4983],{"class":2477,"line":2755},[2475,4960,4961],{"class":2496},"    -d",[2475,4963,2687],{"class":2489},[2475,4965,4966],{"class":2496},"{ ",[2475,4968,4969],{"class":2485},"\\\"",[2475,4971,4972],{"class":2496},"order_id",[2475,4974,4969],{"class":2485},[2475,4976,3613],{"class":2496},[2475,4978,4979],{"class":2485},"\\\"$ORDER_ID\\\"",[2475,4981,4982],{"class":2496}," }",[2475,4984,2500],{"class":2489},[2475,4986,4987],{"class":2477,"line":2761},[2475,4988,4989],{"class":4715},"fi\n",[2405,4991,4992,4993,4996,4997,4999,5000,5003,5004,2618],{},"The answer is ",[2424,4994,4995],{},"{ quote_id, order_id, items }",", where ",[2424,4998,2937],{}," is the number of lines marked. By default it marks every line that is accepted and has no order yet. Pass ",[2424,5001,5002],{},"item_ids"," to name the lines instead, for example when two orders are open on the same quote. It marks the lines you name, accepted or not. Ids that match no line are ignored, and if none of them matches, the answer is a ",[2424,5005,3987],{},[2534,5007,5008,5017,5034],{},[2537,5009,5010,5013,5014,5016],{},[2409,5011,5012],{},"It changes no status and sets no number."," It only records ",[2424,5015,4972],{}," on the lines.",[2537,5018,5019,5024,5025,5027,5028,5030,5031,5033],{},[2409,5020,5021,5022,2618],{},"Repeating it is safe only without ",[2424,5023,5002],{}," Nothing is left to mark, so the answer is ",[2424,5026,3987],{}," (\"no accepted position is waiting for an order\"). With ",[2424,5029,5002],{},", it re-marks those lines and overwrites their ",[2424,5032,4972],{},", without a check.",[2537,5035,5036,5039,5040,5042,5043,5045,5046,5048,5049,5051,5052,5054],{},[2409,5037,5038],{},"Skipping it leaves the quote unable to say which order came from it."," The order exists and the quote stays ",[2424,5041,2555],{},", but the lines carry no ",[2424,5044,4972],{},", and a later write-back without ",[2424,5047,5002],{}," will mark them. Do it right after you place the order, and retry it if it fails. If you skip it for one order and later write back a second order without ",[2424,5050,5002],{},", every line still unmarked gets the second order's id, so name the lines with ",[2424,5053,5002],{}," whenever two orders can be open.",[2529,5056,5058],{"id":5057},"_6-the-rest-of-the-quote","6. The rest of the quote",[2405,5060,5061,5063,5064,5067,5068,2419,5071,5074,5075,5077,5078,5081,5082,5084,5085,5088,5089,5092,5093,5095,5096,5099,5100,5102,5103,2618],{},[2424,5062,2559],{}," is not the end. The buyer can accept more lines later, and ",[2409,5065,5066],{},"that produces a second order draft and a second order"," (without carriage), which you place and write back in the same way. If you come back in a new shell, set the variables again first: ",[2424,5069,5070],{},"REVENEXX_TENANT",[2424,5072,5073],{},"REVENEXX_API_KEY"," from the top of the page, ",[2424,5076,2819],{},", and the id of the line still open, read from ",[2424,5079,5080],{},"GET \u002Fv1\u002Fquotes\u002Fquotes\u002F$QUOTE_ID\u002Fitems",". The second acceptance is bound by ",[2424,5083,3511],{}," like the first. Declining the rest with ",[2424,5086,5087],{},"POST \u002Fv1\u002Fquotes\u002Fquotes\u002F{id}\u002Fdecline"," ends the ",[2409,5090,5091],{},"whole"," quote as ",[2424,5094,3055],{},", which is final, even though some lines were accepted and ordered. The ",[2424,5097,5098],{},"quote.decided"," event then reports no accepted lines and all lines as declined. To end the quote as ",[2424,5101,2555],{}," instead, accept the remaining lines with ",[2424,5104,5105],{},"\"decision\": \"declined\"",[2405,5107,5108,5109,2449,5111,2449,5113,3146,5115,5117,5118,5120,5121,5123,5124,5127,5128,5130,5131,5134,5135,5137,5138,2419,5141,5144,5145,5148],{},"A quote that nobody accepts expires. An hourly sweep moves a quote that is ",[2424,5110,2646],{},[2424,5112,2917],{},[2424,5114,3043],{},[2424,5116,2559],{}," past its ",[2424,5119,3511],{}," to ",[2424,5122,3020],{}," and fires ",[2424,5125,5126],{},"quote.expired",". Only a quote with a ",[2424,5129,3511],{}," can expire, and pricing sets one. You can run the sweep yourself with ",[2424,5132,5133],{},"POST \u002Fv1\u002Fquotes\u002Fexpire"," and an empty ",[2424,5136,2606],{}," body. The hourly run and the manual call do not behave alike: only the manual call honours the tenant's ",[2424,5139,5140],{},"auto_expire_enabled",[2424,5142,5143],{},"expiry_warning_days"," settings and sends ",[2424,5146,5147],{},"quote.expiring",", and neither one honours the grace period, so running it often closes that window early (as of 2026-09).",[2529,5150,5152],{"id":5151},"_7-listen-for-what-happened","7. Listen for what happened",[2979,5154,5155,5168],{},[2982,5156,5157],{},[2985,5158,5159,5162,5165],{},[2988,5160,5161],{},"Event",[2988,5163,5164],{},"Fires when",[2988,5166,5167],{},"Carries",[2998,5169,5170,5197,5222,5246,5271,5289,5312],{},[2985,5171,5172,5177,5180],{},[3003,5173,5174],{},[2424,5175,5176],{},"quote.requested",[3003,5178,5179],{},"A buyer requested a quote, or sales opened one.",[3003,5181,5182,2449,5184,2449,5186,2449,5189,2449,5191,2449,5194],{},[2424,5183,4484],{},[2424,5185,2970],{},[2424,5187,5188],{},"origin",[2424,5190,2934],{},[2424,5192,5193],{},"list_total",[2424,5195,5196],{},"item_count",[2985,5198,5199,5203,5206],{},[3003,5200,5201],{},[2424,5202,3603],{},[3003,5204,5205],{},"A pricing round. Once per round.",[3003,5207,5208,2449,5210,5212,5213,2449,5215,2449,5217,5219,5220],{},[2424,5209,4484],{},[2424,5211,2970],{},", totals, ",[2424,5214,3467],{},[2424,5216,3511],{},[2424,5218,3599],{},", the buyer's contact details, ",[2424,5221,2909],{},[2985,5223,5224,5228,5234],{},[3003,5225,5226],{},[2424,5227,3625],{},[3003,5229,5230,5231,2618],{},"A note with ",[2424,5232,5233],{},"visibility: customer",[3003,5235,5236,2449,5238,2449,5240,2449,5242,5245],{},[2424,5237,4484],{},[2424,5239,2970],{},[2424,5241,3610],{},[2424,5243,5244],{},"from",", the buyer's contact details",[2985,5247,5248,5252,5255],{},[3003,5249,5250],{},[2424,5251,5098],{},[3003,5253,5254],{},"A buyer accepted or declined.",[3003,5256,5257,2449,5259,2449,5261,2449,5263,2449,5266,2449,5269],{},[2424,5258,4484],{},[2424,5260,2970],{},[2424,5262,2974],{},[2424,5264,5265],{},"accepted_items",[2424,5267,5268],{},"declined_items",[2424,5270,4972],{},[2985,5272,5273,5278,5281],{},[3003,5274,5275],{},[2424,5276,5277],{},"quote.rejected",[3003,5279,5280],{},"The merchant refused a quote.",[3003,5282,5283,2449,5285,2449,5287,5245],{},[2424,5284,4484],{},[2424,5286,2970],{},[2424,5288,3116],{},[2985,5290,5291,5295,5300],{},[3003,5292,5293],{},[2424,5294,5147],{},[3003,5296,5297,5298,2618],{},"A quote is within the warning window of its ",[2424,5299,3511],{},[3003,5301,5302,2449,5304,2449,5306,2449,5308,5311],{},[2424,5303,4484],{},[2424,5305,2970],{},[2424,5307,3511],{},[2424,5309,5310],{},"days_left",", totals",[2985,5313,5314,5318,5321],{},[3003,5315,5316],{},[2424,5317,5126],{},[3003,5319,5320],{},"The sweep expired a quote.",[3003,5322,5323,2449,5325,2449,5327],{},[2424,5324,4484],{},[2424,5326,2970],{},[2424,5328,3511],{},[2405,5330,5331,5332,5335,5336,5338],{},"Subscribe with the exact topic strings your tenant's catalog lists (",[2424,5333,5334],{},"GET \u002Fv1\u002Fevents\u002Fcatalog","; ",[2436,5337,604],{"href":605}," explains how topics are named).",[5340,5341,5342,5344,5345,5347],"note",{},[2424,5343,5098],{}," carries an ",[2424,5346,4972],{}," field, and it is always empty. The order does not exist yet when the buyer accepts. Take the order id from the order you place, not from this event.",[5340,5349,5350,5352,5353,5355],{},[2424,5351,5147],{}," fires only from a call to ",[2424,5354,5133],{},", not from the hourly sweep (as of 2026-09). If you depend on the warning, call it on your own schedule.",[2529,5357,5359],{"id":5358},"troubleshooting","Troubleshooting",[2534,5361,5362,5372,5382,5396,5407,5420,5428,5439,5447,5456,5464],{},[2537,5363,5364,5371],{},[2409,5365,5366,5368,5369,2618],{},[2424,5367,2610],{}," placing the order, code ",[2424,5370,2614],{}," The tenant's order range setting names a range that does not exist. Create it, or point the setting at one that does (see the note on number ranges at the top).",[2537,5373,5374,5381],{},[2409,5375,5376,3146,5378,5380],{},[2424,5377,3987],{},[2424,5379,2610],{}," on accept, on lines you already accepted."," The first acceptance has happened, and the draft was in its answer. Use the copy you stored.",[2537,5383,5384,5389,5390,5392,5393,5395],{},[2409,5385,5386,5388],{},[2424,5387,2610],{}," on accept: \"this quote expired on …\"."," ",[2424,5391,3511],{}," has passed, or the sweep has already moved the quote to ",[2424,5394,3020],{}," (\"a quote in expired cannot be accepted\"). An expired quote is final. Open a new quote for the lines that are still wanted.",[2537,5397,5398,5403,5404,5406],{},[2409,5399,5400,5402],{},[2424,5401,2610],{}," on accept: \"partial acceptance is switched off\"."," The tenant takes a quote whole. Accept with an empty ",[2424,5405,2606],{}," body.",[2537,5408,5409,5414,5415,4106,5417,5419],{},[2409,5410,5411,5413],{},[2424,5412,4042],{}," on accept."," The call is attributed to a buyer, the tenant's ",[2424,5416,4105],{},[2424,5418,4113],{},", and another contact is accepting.",[2537,5421,5422,5427],{},[2409,5423,5424,5426],{},[2424,5425,4052],{}," on a quote that exists."," The call is attributed to a buyer from another organization.",[2537,5429,5430,5435,5436,5438],{},[2409,5431,5432,5434],{},[2424,5433,3226],{}," placing the order naming two totals."," You sent a ",[2424,5437,3476],{}," that Orders computed differently. Leave it out.",[2537,5440,5441,5444,5445,2618],{},[2409,5442,5443],{},"The order has no freight."," The buyer accepted in two steps, and freight is on the first draft only. Check the first ",[2424,5446,3999],{},[2537,5448,5449,5452,5453,5455],{},[2409,5450,5451],{},"The re-priced quote still expires on the old date."," A re-price keeps ",[2424,5454,3511],{},". Send a new one.",[2537,5457,5458,5461,5462,2618],{},[2409,5459,5460],{},"The same quote shows two orders."," That is correct after two partial acceptances. Each order took its own lines, and the lines carry their own ",[2424,5463,4972],{},[2537,5465,5466,5473,5474,2419,5476,2618],{},[2409,5467,5468,3146,5471,2618],{},[2424,5469,5470],{},"401",[2424,5472,4042],{}," The tenant slug or key is wrong, or the key has no access to Quotes. See ",[2436,5475,556],{"href":557},[2436,5477,513],{"href":514},[2529,5479,5481],{"id":5480},"where-to-go-next","Where to go next",[2534,5483,5484,5489,5494,5499,5505,5510,5515],{},[2537,5485,5486,5488],{},[2436,5487,229],{"href":230}," — what happens to the order after you place it: shipment, cancellation, return and refund.",[2537,5490,5491,5493],{},[2436,5492,1511],{"href":1548}," — the order reference.",[2537,5495,5496,5498],{},[2436,5497,1536],{"href":1537}," — the order and quote ranges.",[2537,5500,5501,5504],{},[2436,5502,5503],{"href":441},"Sign a buyer in"," — how a storefront attributes calls to a buyer.",[2537,5506,5507,5509],{},[2436,5508,208],{"href":209}," — the other way a B2B order waits for someone.",[2537,5511,5512,5514],{},[2436,5513,159],{"href":160}," — contract prices, before a quote is needed.",[2537,5516,5517,5519],{},[2436,5518,201],{"href":202}," — reduce a priced cart with an offer or a code.",[5521,5522,5523],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":2471,"searchDepth":2503,"depth":2503,"links":5525},[5526,5527,5528,5531,5532,5533,5534,5535,5536,5537,5538],{"id":2531,"depth":2503,"text":2532},{"id":2621,"depth":2503,"text":2622},{"id":2633,"depth":2503,"text":2634,"children":5529},[5530],{"id":3125,"depth":2700,"text":3126},{"id":3276,"depth":2503,"text":3277},{"id":3628,"depth":2503,"text":3629},{"id":4127,"depth":2503,"text":4128},{"id":4829,"depth":2503,"text":4830},{"id":5057,"depth":2503,"text":5058},{"id":5151,"depth":2503,"text":5152},{"id":5358,"depth":2503,"text":5359},{"id":5480,"depth":2503,"text":5481},"Take a B2B quote from request to order over the Quotes and Orders APIs — open and price a quote, let the buyer accept all or part of it, place the order from the order draft the acceptance returns, and write the order back to the quote.","md",null,{},{"icon":220},{"title":215,"description":5539},{"loc":216},"5snc1Yoyl7cNL45VqCTrQOKIE0m2EYaLBBRW8iNSzFM",1792158131833]