[{"data":1,"prerenderedAt":3001},["ShallowReactive",2],{"navigation_docs":3,"-docs-sdks-app-sdk":2047},[4,75,166,221,431,1771],{"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],{"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},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides\u002Findex",[80,81,111,117,123,129,136],{"title":76,"path":77,"stem":78},{"title":82,"path":83,"stem":84,"children":85},"Build a revenexx App","\u002Fdocs\u002Fguides\u002Fapps","docs\u002Fguides\u002Fapps\u002Findex",[86,87,93,99,105],{"title":82,"path":83,"stem":84},{"title":88,"path":89,"stem":90,"children":91},"Add a data model","\u002Fdocs\u002Fguides\u002Fapps\u002Fadd-a-data-model","docs\u002Fguides\u002Fapps\u002Fadd-a-data-model\u002Findex",[92],{"title":88,"path":89,"stem":90},{"title":94,"path":95,"stem":96,"children":97},"Build your first app","\u002Fdocs\u002Fguides\u002Fapps\u002Fbuild-your-first-app","docs\u002Fguides\u002Fapps\u002Fbuild-your-first-app\u002Findex",[98],{"title":94,"path":95,"stem":96},{"title":100,"path":101,"stem":102,"children":103},"Deploy with the CLI","\u002Fdocs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli","docs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli\u002Findex",[104],{"title":100,"path":101,"stem":102},{"title":106,"path":107,"stem":108,"children":109},"Operate an App in production","\u002Fdocs\u002Fguides\u002Fapps\u002Foperate-in-production","docs\u002Fguides\u002Fapps\u002Foperate-in-production\u002Findex",[110],{"title":106,"path":107,"stem":108},{"title":112,"path":113,"stem":114,"children":115},"Configure pricing rules","\u002Fdocs\u002Fguides\u002Fconfigure-pricing-rules","docs\u002Fguides\u002Fconfigure-pricing-rules\u002Findex",[116],{"title":112,"path":113,"stem":114},{"title":118,"path":119,"stem":120,"children":121},"Examples","\u002Fdocs\u002Fguides\u002Fexamples","docs\u002Fguides\u002Fexamples\u002Findex",[122],{"title":118,"path":119,"stem":120},{"title":124,"path":125,"stem":126,"children":127},"Import a BMECAT product catalog","\u002Fdocs\u002Fguides\u002Fimport-a-bmecat-catalog","docs\u002Fguides\u002Fimport-a-bmecat-catalog\u002Findex",[128],{"title":124,"path":125,"stem":126},{"title":130,"path":131,"stem":132,"children":133,"icon":135},"Operate & go live","\u002Fdocs\u002Fguides\u002Foperate","docs\u002Fguides\u002Foperate\u002Findex",[134],{"title":130,"path":131,"stem":132,"icon":135},"i-lucide-activity",{"title":137,"path":138,"stem":139,"children":140},"Build a storefront Theme","\u002Fdocs\u002Fguides\u002Fthemes","docs\u002Fguides\u002Fthemes\u002Findex",[141,142,148,154,160],{"title":137,"path":138,"stem":139},{"title":143,"path":144,"stem":145,"children":146},"Build your first Theme","\u002Fdocs\u002Fguides\u002Fthemes\u002Fbuild-your-first-theme","docs\u002Fguides\u002Fthemes\u002Fbuild-your-first-theme\u002Findex",[147],{"title":143,"path":144,"stem":145},{"title":149,"path":150,"stem":151,"children":152},"Customize blocks","\u002Fdocs\u002Fguides\u002Fthemes\u002Fcustomize-blocks","docs\u002Fguides\u002Fthemes\u002Fcustomize-blocks\u002Findex",[153],{"title":149,"path":150,"stem":151},{"title":155,"path":156,"stem":157,"children":158},"Deploy your storefront","\u002Fdocs\u002Fguides\u002Fthemes\u002Fdeploy-your-storefront","docs\u002Fguides\u002Fthemes\u002Fdeploy-your-storefront\u002Findex",[159],{"title":155,"path":156,"stem":157},{"title":161,"path":162,"stem":163,"children":164},"Theme tokens and styling","\u002Fdocs\u002Fguides\u002Fthemes\u002Ftheme-tokens-and-styling","docs\u002Fguides\u002Fthemes\u002Ftheme-tokens-and-styling\u002Findex",[165],{"title":161,"path":162,"stem":163},{"title":167,"path":168,"stem":169,"children":170},"SDKs","\u002Fdocs\u002Fsdks","docs\u002Fsdks\u002Findex",[171,172,178,184,190,196,202,208,215],{"title":167,"path":168,"stem":169},{"title":173,"path":174,"stem":175,"children":176},"App SDK","\u002Fdocs\u002Fsdks\u002Fapp-sdk","docs\u002Fsdks\u002Fapp-sdk\u002Findex",[177],{"title":173,"path":174,"stem":175},{"title":179,"path":180,"stem":181,"children":182},"CLI","\u002Fdocs\u002Fsdks\u002Fcli","docs\u002Fsdks\u002Fcli\u002Findex",[183],{"title":179,"path":180,"stem":181},{"title":185,"path":186,"stem":187,"children":188},"Design systems","\u002Fdocs\u002Fsdks\u002Fdesign-systems","docs\u002Fsdks\u002Fdesign-systems\u002Findex",[189],{"title":185,"path":186,"stem":187},{"title":191,"path":192,"stem":193,"children":194},"Integration Node SDK","\u002Fdocs\u002Fsdks\u002Fintegration-nodes","docs\u002Fsdks\u002Fintegration-nodes\u002Findex",[195],{"title":191,"path":192,"stem":193},{"title":197,"path":198,"stem":199,"children":200},"Node SDK","\u002Fdocs\u002Fsdks\u002Fnode","docs\u002Fsdks\u002Fnode\u002Findex",[201],{"title":197,"path":198,"stem":199},{"title":203,"path":204,"stem":205,"children":206},"PHP SDK","\u002Fdocs\u002Fsdks\u002Fphp","docs\u002Fsdks\u002Fphp\u002Findex",[207],{"title":203,"path":204,"stem":205},{"title":209,"path":210,"stem":211,"children":212,"icon":214},"Versioning","\u002Fdocs\u002Fsdks\u002Fversioning","docs\u002Fsdks\u002Fversioning\u002Findex",[213],{"title":209,"path":210,"stem":211,"icon":214},"i-lucide-git-branch",{"title":216,"path":217,"stem":218,"children":219},"Web \u002F JavaScript SDK","\u002Fdocs\u002Fsdks\u002Fweb","docs\u002Fsdks\u002Fweb\u002Findex",[220],{"title":216,"path":217,"stem":218},{"title":222,"path":223,"stem":224,"children":225},"Services","\u002Fdocs\u002Fservices","docs\u002Fservices\u002Findex",[226,227,263,293,311,365,413],{"title":222,"path":223,"stem":224},{"title":228,"path":229,"stem":230,"children":231},"API usage","\u002Fdocs\u002Fservices\u002Fapi-usage","docs\u002Fservices\u002Fapi-usage\u002Findex",[232,233,239,245,251,257],{"title":228,"path":229,"stem":230},{"title":234,"path":235,"stem":236,"children":237},"Errors","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Ferrors","docs\u002Fservices\u002Fapi-usage\u002Ferrors\u002Findex",[238],{"title":234,"path":235,"stem":236},{"title":240,"path":241,"stem":242,"children":243},"Retries & idempotency","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fidempotency","docs\u002Fservices\u002Fapi-usage\u002Fidempotency\u002Findex",[244],{"title":240,"path":241,"stem":242},{"title":246,"path":247,"stem":248,"children":249},"Pagination & filtering","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fpagination","docs\u002Fservices\u002Fapi-usage\u002Fpagination\u002Findex",[250],{"title":246,"path":247,"stem":248},{"title":252,"path":253,"stem":254,"children":255},"Rate limits","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Frate-limits","docs\u002Fservices\u002Fapi-usage\u002Frate-limits\u002Findex",[256],{"title":252,"path":253,"stem":254},{"title":258,"path":259,"stem":260,"children":261},"Versioning & stability","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fversioning","docs\u002Fservices\u002Fapi-usage\u002Fversioning\u002Findex",[262],{"title":258,"path":259,"stem":260},{"title":264,"path":265,"stem":266,"children":267},"Authentication","\u002Fdocs\u002Fservices\u002Fauth","docs\u002Fservices\u002Fauth\u002Findex",[268,269,275,281,287],{"title":264,"path":265,"stem":266},{"title":270,"path":271,"stem":272,"children":273},"API keys","\u002Fdocs\u002Fservices\u002Fauth\u002Fapi-keys","docs\u002Fservices\u002Fauth\u002Fapi-keys\u002Findex",[274],{"title":270,"path":271,"stem":272},{"title":276,"path":277,"stem":278,"children":279},"Multi-factor authentication","\u002Fdocs\u002Fservices\u002Fauth\u002Fmfa","docs\u002Fservices\u002Fauth\u002Fmfa\u002Findex",[280],{"title":276,"path":277,"stem":278},{"title":282,"path":283,"stem":284,"children":285},"Social sign-in","\u002Fdocs\u002Fservices\u002Fauth\u002Foauth2","docs\u002Fservices\u002Fauth\u002Foauth2\u002Findex",[286],{"title":282,"path":283,"stem":284},{"title":288,"path":289,"stem":290,"children":291},"Sessions","\u002Fdocs\u002Fservices\u002Fauth\u002Fsessions","docs\u002Fservices\u002Fauth\u002Fsessions\u002Findex",[292],{"title":288,"path":289,"stem":290},{"title":294,"path":295,"stem":296,"children":297},"Events","\u002Fdocs\u002Fservices\u002Fevents","docs\u002Fservices\u002Fevents\u002Findex",[298,299,305],{"title":294,"path":295,"stem":296},{"title":300,"path":301,"stem":302,"children":303},"Consuming events","\u002Fdocs\u002Fservices\u002Fevents\u002Fconsuming-events","docs\u002Fservices\u002Fevents\u002Fconsuming-events\u002Findex",[304],{"title":300,"path":301,"stem":302},{"title":306,"path":307,"stem":308,"children":309},"Event types","\u002Fdocs\u002Fservices\u002Fevents\u002Fevent-types","docs\u002Fservices\u002Fevents\u002Fevent-types\u002Findex",[310],{"title":306,"path":307,"stem":308},{"title":312,"path":313,"stem":314,"children":315},"Network","\u002Fdocs\u002Fservices\u002Fnetwork","docs\u002Fservices\u002Fnetwork\u002Findex",[316,317,323,329,335,341,347,353,359],{"title":312,"path":313,"stem":314},{"title":318,"path":319,"stem":320,"children":321},"Caching","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcaching","docs\u002Fservices\u002Fnetwork\u002Fcaching\u002Findex",[322],{"title":318,"path":319,"stem":320},{"title":324,"path":325,"stem":326,"children":327},"Content delivery (CDN)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcdn","docs\u002Fservices\u002Fnetwork\u002Fcdn\u002Findex",[328],{"title":324,"path":325,"stem":326},{"title":330,"path":331,"stem":332,"children":333},"Compression","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcompression","docs\u002Fservices\u002Fnetwork\u002Fcompression\u002Findex",[334],{"title":330,"path":331,"stem":332},{"title":336,"path":337,"stem":338,"children":339},"DDoS mitigation","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fddos","docs\u002Fservices\u002Fnetwork\u002Fddos\u002Findex",[340],{"title":336,"path":337,"stem":338},{"title":342,"path":343,"stem":344,"children":345},"Edge network","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fedges","docs\u002Fservices\u002Fnetwork\u002Fedges\u002Findex",[346],{"title":342,"path":343,"stem":344},{"title":348,"path":349,"stem":350,"children":351},"Endpoints","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fendpoints","docs\u002Fservices\u002Fnetwork\u002Fendpoints\u002Findex",[352],{"title":348,"path":349,"stem":350},{"title":354,"path":355,"stem":356,"children":357},"Transport Layer Security (TLS)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Ftls","docs\u002Fservices\u002Fnetwork\u002Ftls\u002Findex",[358],{"title":354,"path":355,"stem":356},{"title":360,"path":361,"stem":362,"children":363},"Web application firewall (WAF)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fwaf","docs\u002Fservices\u002Fnetwork\u002Fwaf\u002Findex",[364],{"title":360,"path":361,"stem":362},{"title":366,"path":367,"stem":368,"children":369},"Storage","\u002Fdocs\u002Fservices\u002Fstorage","docs\u002Fservices\u002Fstorage\u002Findex",[370,371,377,383,389,395,401,407],{"title":366,"path":367,"stem":368},{"title":372,"path":373,"stem":374,"children":375},"Folders","\u002Fdocs\u002Fservices\u002Fstorage\u002Fbuckets","docs\u002Fservices\u002Fstorage\u002Fbuckets\u002Findex",[376],{"title":372,"path":373,"stem":374},{"title":378,"path":379,"stem":380,"children":381},"Signed URLs and access","\u002Fdocs\u002Fservices\u002Fstorage\u002Ffile-tokens","docs\u002Fservices\u002Fstorage\u002Ffile-tokens\u002Findex",[382],{"title":378,"path":379,"stem":380},{"title":384,"path":385,"stem":386,"children":387},"Serve and transform images","\u002Fdocs\u002Fservices\u002Fstorage\u002Fimages","docs\u002Fservices\u002Fstorage\u002Fimages\u002Findex",[388],{"title":384,"path":385,"stem":386},{"title":390,"path":391,"stem":392,"children":393},"3D assets","\u002Fdocs\u002Fservices\u002Fstorage\u002Fmodel-viewer","docs\u002Fservices\u002Fstorage\u002Fmodel-viewer\u002Findex",[394],{"title":390,"path":391,"stem":392},{"title":396,"path":397,"stem":398,"children":399},"Access control and visibility","\u002Fdocs\u002Fservices\u002Fstorage\u002Fpermissions","docs\u002Fservices\u002Fstorage\u002Fpermissions\u002Findex",[400],{"title":396,"path":397,"stem":398},{"title":402,"path":403,"stem":404,"children":405},"Quick start","\u002Fdocs\u002Fservices\u002Fstorage\u002Fquick-start","docs\u002Fservices\u002Fstorage\u002Fquick-start\u002Findex",[406],{"title":402,"path":403,"stem":404},{"title":408,"path":409,"stem":410,"children":411},"Upload and manage files","\u002Fdocs\u002Fservices\u002Fstorage\u002Fupload-download","docs\u002Fservices\u002Fstorage\u002Fupload-download\u002Findex",[412],{"title":408,"path":409,"stem":410},{"title":414,"path":415,"stem":416,"children":417},"Webhooks","\u002Fdocs\u002Fservices\u002Fwebhooks","docs\u002Fservices\u002Fwebhooks\u002Findex",[418,419,425],{"title":414,"path":415,"stem":416},{"title":420,"path":421,"stem":422,"children":423},"Delivery","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fdelivery","docs\u002Fservices\u002Fwebhooks\u002Fdelivery\u002Findex",[424],{"title":420,"path":421,"stem":422},{"title":426,"path":427,"stem":428,"children":429},"Security","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fsecurity","docs\u002Fservices\u002Fwebhooks\u002Fsecurity\u002Findex",[430],{"title":426,"path":427,"stem":428},{"title":432,"path":433,"stem":434,"children":435},"Studios","\u002Fdocs\u002Fstudios","docs\u002Fstudios\u002Findex",[436,437,443,610,958,1240,1422],{"title":432,"path":433,"stem":434},{"title":438,"path":439,"stem":440,"children":441},"AI Studio","\u002Fdocs\u002Fstudios\u002Fai","docs\u002Fstudios\u002Fai\u002Findex",[442],{"title":438,"path":439,"stem":440},{"title":444,"path":445,"stem":446,"children":447},"Analytics Studio","\u002Fdocs\u002Fstudios\u002Fanalytics","docs\u002Fstudios\u002Fanalytics\u002Findex",[448,449,492,529,535,554,585],{"title":444,"path":445,"stem":446},{"title":450,"path":451,"stem":452,"children":453,"icon":455},"Make your app's data analyzable","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Findex",[454,456,462,468,474,480,486],{"title":450,"path":451,"stem":452,"icon":455},"i-lucide-table-2",{"title":457,"path":458,"stem":459,"children":460},"Column locators","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators\u002Findex",[461],{"title":457,"path":458,"stem":459},{"title":463,"path":464,"stem":465,"children":466},"Declaring a view","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view\u002Findex",[467],{"title":463,"path":464,"stem":465},{"title":469,"path":470,"stem":471,"children":472},"Example","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample\u002Findex",[473],{"title":469,"path":470,"stem":471},{"title":475,"path":476,"stem":477,"children":478},"Semantic roles","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles\u002Findex",[479],{"title":475,"path":476,"stem":477},{"title":481,"path":482,"stem":483,"children":484},"Tenant isolation","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation\u002Findex",[485],{"title":481,"path":482,"stem":483},{"title":487,"path":488,"stem":489,"children":490},"The contract","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract\u002Findex",[491],{"title":487,"path":488,"stem":489},{"title":493,"path":494,"stem":495,"children":496,"icon":498},"Stream commerce activity","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Findex",[497,499,505,511,517,523],{"title":493,"path":494,"stem":495,"icon":498},"i-lucide-radio",{"title":500,"path":501,"stem":502,"children":503},"Delivery guarantees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees\u002Findex",[504],{"title":500,"path":501,"stem":502},{"title":506,"path":507,"stem":508,"children":509},"Event types for reporting","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting\u002Findex",[510],{"title":506,"path":507,"stem":508},{"title":512,"path":513,"stem":514,"children":515},"Register an endpoint","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint\u002Findex",[516],{"title":512,"path":513,"stem":514},{"title":518,"path":519,"stem":520,"children":521},"The event stream","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream\u002Findex",[522],{"title":518,"path":519,"stem":520},{"title":524,"path":525,"stem":526,"children":527},"Verify a delivery","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery\u002Findex",[528],{"title":524,"path":525,"stem":526},{"title":530,"path":531,"stem":532,"children":533,"icon":29},"Getting data out","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out","docs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out\u002Findex",[534],{"title":530,"path":531,"stem":532,"icon":29},{"title":536,"path":537,"stem":538,"children":539,"icon":541},"Limits and what's next","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Findex",[540,542,548],{"title":536,"path":537,"stem":538,"icon":541},"i-lucide-list-checks",{"title":543,"path":544,"stem":545,"children":546},"Designing for what's coming","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming\u002Findex",[547],{"title":543,"path":544,"stem":545},{"title":549,"path":550,"stem":551,"children":552},"What does not exist yet","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet\u002Findex",[553],{"title":549,"path":550,"stem":551},{"title":555,"path":556,"stem":557,"children":558,"icon":560},"Build your own reporting store","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Findex",[559,561,567,573,579],{"title":555,"path":556,"stem":557,"icon":560},"i-lucide-database",{"title":562,"path":563,"stem":564,"children":565},"Backfill","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill\u002Findex",[566],{"title":562,"path":563,"stem":564},{"title":568,"path":569,"stem":570,"children":571},"Incremental sync","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync\u002Findex",[572],{"title":568,"path":569,"stem":570},{"title":574,"path":575,"stem":576,"children":577},"Modelling","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling\u002Findex",[578],{"title":574,"path":575,"stem":576},{"title":580,"path":581,"stem":582,"children":583},"Pull versus push","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push\u002Findex",[584],{"title":580,"path":581,"stem":582},{"title":586,"path":587,"stem":588,"children":589,"icon":591},"What the tenant sees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Findex",[590,592,598,604],{"title":586,"path":587,"stem":588,"icon":591},"i-lucide-chart-column",{"title":593,"path":594,"stem":595,"children":596},"Cohorts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts\u002Findex",[597],{"title":593,"path":594,"stem":595},{"title":599,"path":600,"stem":601,"children":602},"Datasets and charts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts\u002Findex",[603],{"title":599,"path":600,"stem":601},{"title":605,"path":606,"stem":607,"children":608},"Studio overview","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview\u002Findex",[609],{"title":605,"path":606,"stem":607},{"title":611,"path":612,"stem":613,"children":614},"App Studio","\u002Fdocs\u002Fstudios\u002Fapps","docs\u002Fstudios\u002Fapps\u002Findex",[615,616,653,724,789,807,874],{"title":611,"path":612,"stem":613},{"title":617,"path":618,"stem":619,"children":620,"icon":622},"Admin UI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Findex",[621,623,629,635,641,647],{"title":617,"path":618,"stem":619,"icon":622},"i-lucide-layout-dashboard",{"title":624,"path":625,"stem":626,"children":627},"How the Cockpit renders","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders\u002Findex",[628],{"title":624,"path":625,"stem":626},{"title":630,"path":631,"stem":632,"children":633},"Preview locally","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally\u002Findex",[634],{"title":630,"path":631,"stem":632},{"title":636,"path":637,"stem":638,"children":639},"Reading settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings\u002Findex",[640],{"title":636,"path":637,"stem":638},{"title":642,"path":643,"stem":644,"children":645},"Settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings\u002Findex",[646],{"title":642,"path":643,"stem":644},{"title":648,"path":649,"stem":650,"children":651},"Vocabularies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies\u002Findex",[652],{"title":648,"path":649,"stem":650},{"title":654,"path":655,"stem":656,"children":657,"icon":659},"Your app's API","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Findex",[658,660,665,671,677,683,689,694,700,706,712,718],{"title":654,"path":655,"stem":656,"icon":659},"i-lucide-route",{"title":318,"path":661,"stem":662,"children":663},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching\u002Findex",[664],{"title":318,"path":661,"stem":662},{"title":666,"path":667,"stem":668,"children":669},"Calling another app","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app\u002Findex",[670],{"title":666,"path":667,"stem":668},{"title":672,"path":673,"stem":674,"children":675},"Capabilities","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities\u002Findex",[676],{"title":672,"path":673,"stem":674},{"title":678,"path":679,"stem":680,"children":681},"Capability reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference\u002Findex",[682],{"title":678,"path":679,"stem":680},{"title":684,"path":685,"stem":686,"children":687},"CRUD","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud\u002Findex",[688],{"title":684,"path":685,"stem":686},{"title":234,"path":690,"stem":691,"children":692},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors\u002Findex",[693],{"title":234,"path":690,"stem":691},{"title":695,"path":696,"stem":697,"children":698},"Overriding a capability","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability","docs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability\u002Findex",[699],{"title":695,"path":696,"stem":697},{"title":701,"path":702,"stem":703,"children":704},"Pagination and filtering","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering\u002Findex",[705],{"title":701,"path":702,"stem":703},{"title":707,"path":708,"stem":709,"children":710},"Published OpenAPI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi\u002Findex",[711],{"title":707,"path":708,"stem":709},{"title":713,"path":714,"stem":715,"children":716},"The router","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter","docs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter\u002Findex",[717],{"title":713,"path":714,"stem":715},{"title":719,"path":720,"stem":721,"children":722},"Tags","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags\u002Findex",[723],{"title":719,"path":720,"stem":721},{"title":725,"path":726,"stem":727,"children":728,"icon":560},"Data model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Findex",[729,730,736,742,748,754,760,766,772,778,783],{"title":725,"path":726,"stem":727,"icon":560},{"title":731,"path":732,"stem":733,"children":734},"Adapters","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters\u002Findex",[735],{"title":731,"path":732,"stem":733},{"title":737,"path":738,"stem":739,"children":740},"Column types","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types\u002Findex",[741],{"title":737,"path":738,"stem":739},{"title":743,"path":744,"stem":745,"children":746},"Cross-app lookups","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups\u002Findex",[747],{"title":743,"path":744,"stem":745},{"title":749,"path":750,"stem":751,"children":752},"Migrations","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations\u002Findex",[753],{"title":749,"path":750,"stem":751},{"title":755,"path":756,"stem":757,"children":758},"Projections","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections\u002Findex",[759],{"title":755,"path":756,"stem":757},{"title":761,"path":762,"stem":763,"children":764},"Relationships","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships\u002Findex",[765],{"title":761,"path":762,"stem":763},{"title":767,"path":768,"stem":769,"children":770},"Schema reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference\u002Findex",[771],{"title":767,"path":768,"stem":769},{"title":773,"path":774,"stem":775,"children":776},"Scoping","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping\u002Findex",[777],{"title":773,"path":774,"stem":775},{"title":481,"path":779,"stem":780,"children":781},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation\u002Findex",[782],{"title":481,"path":779,"stem":780},{"title":784,"path":785,"stem":786,"children":787},"The typed client","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client\u002Findex",[788],{"title":784,"path":785,"stem":786},{"title":790,"path":791,"stem":792,"children":793},"Getting started","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Findex",[794,795,801],{"title":790,"path":791,"stem":792},{"title":796,"path":797,"stem":798,"children":799},"App model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model\u002Findex",[800],{"title":796,"path":797,"stem":798},{"title":802,"path":803,"stem":804,"children":805},"App isolation","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation\u002Findex",[806],{"title":802,"path":803,"stem":804},{"title":808,"path":809,"stem":810,"children":811,"icon":813},"Platform services","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Findex",[812,814,820,826,832,838,844,850,856,862,868],{"title":808,"path":809,"stem":810,"icon":813},"i-lucide-boxes",{"title":815,"path":816,"stem":817,"children":818},"Entity access","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access\u002Findex",[819],{"title":815,"path":816,"stem":817},{"title":821,"path":822,"stem":823,"children":824},"Events you emit","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit\u002Findex",[825],{"title":821,"path":822,"stem":823},{"title":827,"path":828,"stem":829,"children":830},"Events you receive","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive\u002Findex",[831],{"title":827,"path":828,"stem":829},{"title":833,"path":834,"stem":835,"children":836},"Not yet proven","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven\u002Findex",[837],{"title":833,"path":834,"stem":835},{"title":839,"path":840,"stem":841,"children":842},"Outbound HTTP","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http\u002Findex",[843],{"title":839,"path":840,"stem":841},{"title":845,"path":846,"stem":847,"children":848},"Permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions\u002Findex",[849],{"title":845,"path":846,"stem":847},{"title":851,"path":852,"stem":853,"children":854},"Person permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions\u002Findex",[855],{"title":851,"path":852,"stem":853},{"title":857,"path":858,"stem":859,"children":860},"Scheduled work","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work\u002Findex",[861],{"title":857,"path":858,"stem":859},{"title":863,"path":864,"stem":865,"children":866},"Tenant identity","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity\u002Findex",[867],{"title":863,"path":864,"stem":865},{"title":869,"path":870,"stem":871,"children":872},"Tracing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing\u002Findex",[873],{"title":869,"path":870,"stem":871},{"title":875,"path":876,"stem":877,"children":878,"icon":880},"Ship and operate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Findex",[879,881,887,893,899,905,911,917,923,929,935,941,947,953],{"title":875,"path":876,"stem":877,"icon":880},"i-lucide-rocket",{"title":882,"path":883,"stem":884,"children":885},"Billing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling\u002Findex",[886],{"title":882,"path":883,"stem":884},{"title":888,"path":889,"stem":890,"children":891},"Consent","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent\u002Findex",[892],{"title":888,"path":889,"stem":890},{"title":894,"path":895,"stem":896,"children":897},"Dependencies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies\u002Findex",[898],{"title":894,"path":895,"stem":896},{"title":900,"path":901,"stem":902,"children":903},"Deploying","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying\u002Findex",[904],{"title":900,"path":901,"stem":902},{"title":906,"path":907,"stem":908,"children":909},"Manifest reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference\u002Findex",[910],{"title":906,"path":907,"stem":908},{"title":912,"path":913,"stem":914,"children":915},"Operating","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating\u002Findex",[916],{"title":912,"path":913,"stem":914},{"title":918,"path":919,"stem":920,"children":921},"Pairing a frontend","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend\u002Findex",[922],{"title":918,"path":919,"stem":920},{"title":924,"path":925,"stem":926,"children":927},"Private or Marketplace","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace\u002Findex",[928],{"title":924,"path":925,"stem":926},{"title":930,"path":931,"stem":932,"children":933},"Publish and install","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install\u002Findex",[934],{"title":930,"path":931,"stem":932},{"title":936,"path":937,"stem":938,"children":939},"Testing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting\u002Findex",[940],{"title":936,"path":937,"stem":938},{"title":942,"path":943,"stem":944,"children":945},"Validate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate\u002Findex",[946],{"title":942,"path":943,"stem":944},{"title":948,"path":949,"stem":950,"children":951},"Verifying live","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live\u002Findex",[952],{"title":948,"path":949,"stem":950},{"title":209,"path":954,"stem":955,"children":956},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning\u002Findex",[957],{"title":209,"path":954,"stem":955},{"title":959,"path":960,"stem":961,"children":962},"Commerce Studio","\u002Fdocs\u002Fstudios\u002Fcommerce","docs\u002Fstudios\u002Fcommerce\u002Findex",[963,964,1036,1090,1133,1138,1192],{"title":959,"path":960,"stem":961},{"title":965,"path":966,"stem":967,"children":968,"icon":970},"Build an app","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Findex",[969,971,977,983,989,995,1001,1007,1013,1019,1025,1030],{"title":965,"path":966,"stem":967,"icon":970},"i-lucide-puzzle",{"title":972,"path":973,"stem":974,"children":975},"Actions and writes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes\u002Findex",[976],{"title":972,"path":973,"stem":974},{"title":978,"path":979,"stem":980,"children":981},"cockpit.json reference","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference\u002Findex",[982],{"title":978,"path":979,"stem":980},{"title":984,"path":985,"stem":986,"children":987},"Detail views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views\u002Findex",[988],{"title":984,"path":985,"stem":986},{"title":990,"path":991,"stem":992,"children":993},"Forms","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms\u002Findex",[994],{"title":990,"path":991,"stem":992},{"title":996,"path":997,"stem":998,"children":999},"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",[1000],{"title":996,"path":997,"stem":998},{"title":1002,"path":1003,"stem":1004,"children":1005},"How it renders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders\u002Findex",[1006],{"title":1002,"path":1003,"stem":1004},{"title":1008,"path":1009,"stem":1010,"children":1011},"List views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views\u002Findex",[1012],{"title":1008,"path":1009,"stem":1010},{"title":1014,"path":1015,"stem":1016,"children":1017},"Navigation","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation\u002Findex",[1018],{"title":1014,"path":1015,"stem":1016},{"title":1020,"path":1021,"stem":1022,"children":1023},"Permissions and scope","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope\u002Findex",[1024],{"title":1020,"path":1021,"stem":1022},{"title":630,"path":1026,"stem":1027,"children":1028},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally\u002Findex",[1029],{"title":630,"path":1026,"stem":1027},{"title":1031,"path":1032,"stem":1033,"children":1034},"Widgets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets\u002Findex",[1035],{"title":1031,"path":1032,"stem":1033},{"title":1037,"path":1038,"stem":1039,"children":1040,"icon":1042},"Catalog","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Findex",[1041,1043,1049,1055,1061,1067,1072,1078,1084],{"title":1037,"path":1038,"stem":1039,"icon":1042},"i-lucide-package",{"title":1044,"path":1045,"stem":1046,"children":1047},"Assets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets\u002Findex",[1048],{"title":1044,"path":1045,"stem":1046},{"title":1050,"path":1051,"stem":1052,"children":1053},"Associations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations\u002Findex",[1054],{"title":1050,"path":1051,"stem":1052},{"title":1056,"path":1057,"stem":1058,"children":1059},"Categories","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories\u002Findex",[1060],{"title":1056,"path":1057,"stem":1058},{"title":1062,"path":1063,"stem":1064,"children":1065},"Completeness","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness\u002Findex",[1066],{"title":1062,"path":1063,"stem":1064},{"title":725,"path":1068,"stem":1069,"children":1070},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model\u002Findex",[1071],{"title":725,"path":1068,"stem":1069},{"title":1073,"path":1074,"stem":1075,"children":1076},"Import and export","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export\u002Findex",[1077],{"title":1073,"path":1074,"stem":1075},{"title":1079,"path":1080,"stem":1081,"children":1082},"Products","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts\u002Findex",[1083],{"title":1079,"path":1080,"stem":1081},{"title":1085,"path":1086,"stem":1087,"children":1088},"References","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences\u002Findex",[1089],{"title":1085,"path":1086,"stem":1087},{"title":1091,"path":1092,"stem":1093,"children":1094,"icon":1096},"Customers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Findex",[1095,1097,1103,1109,1115,1121,1127],{"title":1091,"path":1092,"stem":1093,"icon":1096},"i-lucide-building-2",{"title":1098,"path":1099,"stem":1100,"children":1101},"Contacts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts\u002Findex",[1102],{"title":1098,"path":1099,"stem":1100},{"title":1104,"path":1105,"stem":1106,"children":1107},"Organizations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations\u002Findex",[1108],{"title":1104,"path":1105,"stem":1106},{"title":1110,"path":1111,"stem":1112,"children":1113},"Roles and permissions","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions\u002Findex",[1114],{"title":1110,"path":1111,"stem":1112},{"title":1116,"path":1117,"stem":1118,"children":1119},"Segments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments\u002Findex",[1120],{"title":1116,"path":1117,"stem":1118},{"title":1122,"path":1123,"stem":1124,"children":1125},"Storefront accounts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts\u002Findex",[1126],{"title":1122,"path":1123,"stem":1124},{"title":1128,"path":1129,"stem":1130,"children":1131},"Value lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists\u002Findex",[1132],{"title":1128,"path":1129,"stem":1130},{"title":790,"path":1134,"stem":1135,"children":1136,"icon":880},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fgetting-started","docs\u002Fstudios\u002Fcommerce\u002Fgetting-started\u002Findex",[1137],{"title":790,"path":1134,"stem":1135,"icon":880},{"title":1139,"path":1140,"stem":1141,"children":1142,"icon":1144},"Markets and pricing","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Findex",[1143,1145,1151,1157,1163,1169,1175,1181,1186],{"title":1139,"path":1140,"stem":1141,"icon":1144},"i-lucide-globe",{"title":1146,"path":1147,"stem":1148,"children":1149},"Carriers and tracking","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking\u002Findex",[1150],{"title":1146,"path":1147,"stem":1148},{"title":1152,"path":1153,"stem":1154,"children":1155},"Channels","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels\u002Findex",[1156],{"title":1152,"path":1153,"stem":1154},{"title":1158,"path":1159,"stem":1160,"children":1161},"Markets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets\u002Findex",[1162],{"title":1158,"path":1159,"stem":1160},{"title":1164,"path":1165,"stem":1166,"children":1167},"Payment lifecycle","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle\u002Findex",[1168],{"title":1164,"path":1165,"stem":1166},{"title":1170,"path":1171,"stem":1172,"children":1173},"Payment methods","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods\u002Findex",[1174],{"title":1170,"path":1171,"stem":1172},{"title":1176,"path":1177,"stem":1178,"children":1179},"Price lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists\u002Findex",[1180],{"title":1176,"path":1177,"stem":1178},{"title":642,"path":1182,"stem":1183,"children":1184},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings\u002Findex",[1185],{"title":642,"path":1182,"stem":1183},{"title":1187,"path":1188,"stem":1189,"children":1190},"Shipping rates","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates\u002Findex",[1191],{"title":1187,"path":1188,"stem":1189},{"title":1193,"path":1194,"stem":1195,"children":1196,"icon":1198},"Orders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Findex",[1197,1199,1205,1211,1217,1223,1228,1234],{"title":1193,"path":1194,"stem":1195,"icon":1198},"i-lucide-receipt-text",{"title":1200,"path":1201,"stem":1202,"children":1203},"Carts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts\u002Findex",[1204],{"title":1200,"path":1201,"stem":1202},{"title":1206,"path":1207,"stem":1208,"children":1209},"Events and comments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments\u002Findex",[1210],{"title":1206,"path":1207,"stem":1208},{"title":1212,"path":1213,"stem":1214,"children":1215},"Number ranges","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges\u002Findex",[1216],{"title":1212,"path":1213,"stem":1214},{"title":1218,"path":1219,"stem":1220,"children":1221},"Order lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists\u002Findex",[1222],{"title":1218,"path":1219,"stem":1220},{"title":1193,"path":1224,"stem":1225,"children":1226},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders\u002Findex",[1227],{"title":1193,"path":1224,"stem":1225},{"title":1229,"path":1230,"stem":1231,"children":1232},"Returns","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns\u002Findex",[1233],{"title":1229,"path":1230,"stem":1231},{"title":1235,"path":1236,"stem":1237,"children":1238},"Stock","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock\u002Findex",[1239],{"title":1235,"path":1236,"stem":1237},{"title":1241,"path":1242,"stem":1243,"children":1244},"Integration Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio","docs\u002Fstudios\u002Fintegration-studio\u002Findex",[1245,1246,1283,1320,1350,1355,1385],{"title":1241,"path":1242,"stem":1243},{"title":1247,"path":1248,"stem":1249,"children":1250,"icon":1252},"Build the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Findex",[1251,1253,1259,1265,1271,1277],{"title":1247,"path":1248,"stem":1249,"icon":1252},"i-lucide-workflow",{"title":1254,"path":1255,"stem":1256,"children":1257},"Expressions","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions\u002Findex",[1258],{"title":1254,"path":1255,"stem":1256},{"title":1260,"path":1261,"stem":1262,"children":1263},"Node catalog","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog\u002Findex",[1264],{"title":1260,"path":1261,"stem":1262},{"title":1266,"path":1267,"stem":1268,"children":1269},"Node configuration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration\u002Findex",[1270],{"title":1266,"path":1267,"stem":1268},{"title":1272,"path":1273,"stem":1274,"children":1275},"Templates","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates\u002Findex",[1276],{"title":1272,"path":1273,"stem":1274},{"title":1278,"path":1279,"stem":1280,"children":1281},"The workflow document","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model\u002Findex",[1282],{"title":1278,"path":1279,"stem":1280},{"title":1284,"path":1285,"stem":1286,"children":1287,"icon":1289},"Connect the systems","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Findex",[1288,1290,1296,1302,1308,1314],{"title":1284,"path":1285,"stem":1286,"icon":1289},"i-lucide-key-round",{"title":1291,"path":1292,"stem":1293,"children":1294},"Credentials","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials\u002Findex",[1295],{"title":1291,"path":1292,"stem":1293},{"title":1297,"path":1298,"stem":1299,"children":1300},"File transfer","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles\u002Findex",[1301],{"title":1297,"path":1298,"stem":1299},{"title":1303,"path":1304,"stem":1305,"children":1306},"OAuth","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth\u002Findex",[1307],{"title":1303,"path":1304,"stem":1305},{"title":1309,"path":1310,"stem":1311,"children":1312},"Reaching Revenue Cloud","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud\u002Findex",[1313],{"title":1309,"path":1310,"stem":1311},{"title":1315,"path":1316,"stem":1317,"children":1318},"Secrets","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets\u002Findex",[1319],{"title":1315,"path":1316,"stem":1317},{"title":1321,"path":1322,"stem":1323,"children":1324,"icon":1042},"Extend the Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Findex",[1325,1326,1332,1338,1344],{"title":1321,"path":1322,"stem":1323,"icon":1042},{"title":1327,"path":1328,"stem":1329,"children":1330},"Custom nodes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes\u002Findex",[1331],{"title":1327,"path":1328,"stem":1329},{"title":1333,"path":1334,"stem":1335,"children":1336},"Dynamic behaviour","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour\u002Findex",[1337],{"title":1333,"path":1334,"stem":1335},{"title":1339,"path":1340,"stem":1341,"children":1342},"Package manifest","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest\u002Findex",[1343],{"title":1339,"path":1340,"stem":1341},{"title":1345,"path":1346,"stem":1347,"children":1348},"Registration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration\u002Findex",[1349],{"title":1345,"path":1346,"stem":1347},{"title":790,"path":1351,"stem":1352,"children":1353,"icon":880},"\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started","docs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started\u002Findex",[1354],{"title":790,"path":1351,"stem":1352,"icon":880},{"title":1356,"path":1357,"stem":1358,"children":1359,"icon":135},"Run, watch, recover","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Findex",[1360,1361,1367,1373,1379],{"title":1356,"path":1357,"stem":1358,"icon":135},{"title":1362,"path":1363,"stem":1364,"children":1365},"Missed runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters\u002Findex",[1366],{"title":1362,"path":1363,"stem":1364},{"title":1368,"path":1369,"stem":1370,"children":1371},"Failure handling","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling\u002Findex",[1372],{"title":1368,"path":1369,"stem":1370},{"title":1374,"path":1375,"stem":1376,"children":1377},"Revisions and audit","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit\u002Findex",[1378],{"title":1374,"path":1375,"stem":1376},{"title":1380,"path":1381,"stem":1382,"children":1383},"Runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns\u002Findex",[1384],{"title":1380,"path":1381,"stem":1382},{"title":1386,"path":1387,"stem":1388,"children":1389,"icon":1391},"Start the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Findex",[1390,1392,1398,1404,1410,1416],{"title":1386,"path":1387,"stem":1388,"icon":1391},"i-lucide-zap",{"title":1393,"path":1394,"stem":1395,"children":1396},"Event triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers\u002Findex",[1397],{"title":1393,"path":1394,"stem":1395},{"title":1399,"path":1400,"stem":1401,"children":1402},"Execution modes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes\u002Findex",[1403],{"title":1399,"path":1400,"stem":1401},{"title":1405,"path":1406,"stem":1407,"children":1408},"Schedule triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers\u002Findex",[1409],{"title":1405,"path":1406,"stem":1407},{"title":1411,"path":1412,"stem":1413,"children":1414},"Triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers\u002Findex",[1415],{"title":1411,"path":1412,"stem":1413},{"title":1417,"path":1418,"stem":1419,"children":1420},"Webhook triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers\u002Findex",[1421],{"title":1417,"path":1418,"stem":1419},{"title":1423,"path":1424,"stem":1425,"children":1426},"Experience Studio","\u002Fdocs\u002Fstudios\u002Fsites","docs\u002Fstudios\u002Fsites\u002Findex",[1427,1428,1477,1524,1650,1656,1698],{"title":1423,"path":1424,"stem":1425},{"title":1429,"path":1430,"stem":1431,"children":1432,"icon":1434},"Compose pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Findex",[1433,1435,1441,1447,1453,1459,1465,1471],{"title":1429,"path":1430,"stem":1431,"icon":1434},"i-lucide-layout-template",{"title":1436,"path":1437,"stem":1438,"children":1439},"Block catalog","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog\u002Findex",[1440],{"title":1436,"path":1437,"stem":1438},{"title":1442,"path":1443,"stem":1444,"children":1445},"Block options","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options\u002Findex",[1446],{"title":1442,"path":1443,"stem":1444},{"title":1448,"path":1449,"stem":1450,"children":1451},"How a block works","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works\u002Findex",[1452],{"title":1448,"path":1449,"stem":1450},{"title":1454,"path":1455,"stem":1456,"children":1457},"Inline editing","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing\u002Findex",[1458],{"title":1454,"path":1455,"stem":1456},{"title":1460,"path":1461,"stem":1462,"children":1463},"Reading published pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages\u002Findex",[1464],{"title":1460,"path":1461,"stem":1462},{"title":1466,"path":1467,"stem":1468,"children":1469},"Registering blocks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering\u002Findex",[1470],{"title":1466,"path":1467,"stem":1468},{"title":1472,"path":1473,"stem":1474,"children":1475},"Shells and fields","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields\u002Findex",[1476],{"title":1472,"path":1473,"stem":1474},{"title":1478,"path":1479,"stem":1480,"children":1481,"icon":1483},"Connect data","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata","docs\u002Fstudios\u002Fsites\u002Fdata\u002Findex",[1482,1484,1489,1495,1501,1506,1512,1518],{"title":1478,"path":1479,"stem":1480,"icon":1483},"i-lucide-plug",{"title":264,"path":1485,"stem":1486,"children":1487},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication\u002Findex",[1488],{"title":264,"path":1485,"stem":1486},{"title":1490,"path":1491,"stem":1492,"children":1493},"The BFF pattern","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern\u002Findex",[1494],{"title":1490,"path":1491,"stem":1492},{"title":1496,"path":1497,"stem":1498,"children":1499},"Catalog, cart, checkout","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout\u002Findex",[1500],{"title":1496,"path":1497,"stem":1498},{"title":990,"path":1502,"stem":1503,"children":1504},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms\u002Findex",[1505],{"title":990,"path":1502,"stem":1503},{"title":1507,"path":1508,"stem":1509,"children":1510},"Media and assets","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia\u002Findex",[1511],{"title":1507,"path":1508,"stem":1509},{"title":1513,"path":1514,"stem":1515,"children":1516},"Multi-tenant themes","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes\u002Findex",[1517],{"title":1513,"path":1514,"stem":1515},{"title":1519,"path":1520,"stem":1521,"children":1522},"Search","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch\u002Findex",[1523],{"title":1519,"path":1520,"stem":1521},{"title":1525,"path":1526,"stem":1527,"children":1528,"icon":880},"Build and deploy","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Findex",[1529,1530,1536,1542,1548,1554,1560,1566,1644],{"title":1525,"path":1526,"stem":1527,"icon":880},{"title":1531,"path":1532,"stem":1533,"children":1534},"Build configuration","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration\u002Findex",[1535],{"title":1531,"path":1532,"stem":1533},{"title":1537,"path":1538,"stem":1539,"children":1540},"Compute specifications","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications\u002Findex",[1541],{"title":1537,"path":1538,"stem":1539},{"title":1543,"path":1544,"stem":1545,"children":1546},"Environment variables","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables\u002Findex",[1547],{"title":1543,"path":1544,"stem":1545},{"title":1549,"path":1550,"stem":1551,"children":1552},"From Git","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git\u002Findex",[1553],{"title":1549,"path":1550,"stem":1551},{"title":1555,"path":1556,"stem":1557,"children":1558},"From the CLI","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli\u002Findex",[1559],{"title":1555,"path":1556,"stem":1557},{"title":1561,"path":1562,"stem":1563,"children":1564},"Manually","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually\u002Findex",[1565],{"title":1561,"path":1562,"stem":1563},{"title":1567,"path":1568,"stem":1569,"children":1570},"Quick-starts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Findex",[1571,1572,1578,1584,1590,1596,1602,1608,1614,1620,1626,1632,1638],{"title":1567,"path":1568,"stem":1569},{"title":1573,"path":1574,"stem":1575,"children":1576},"Deploy an Angular app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular\u002Findex",[1577],{"title":1573,"path":1574,"stem":1575},{"title":1579,"path":1580,"stem":1581,"children":1582},"Deploy a Astro app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro\u002Findex",[1583],{"title":1579,"path":1580,"stem":1581},{"title":1585,"path":1586,"stem":1587,"children":1588},"Deploy a Flutter Web app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter\u002Findex",[1589],{"title":1585,"path":1586,"stem":1587},{"title":1591,"path":1592,"stem":1593,"children":1594},"Deploy a Next.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs\u002Findex",[1595],{"title":1591,"path":1592,"stem":1593},{"title":1597,"path":1598,"stem":1599,"children":1600},"Deploy a Nuxt app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt\u002Findex",[1601],{"title":1597,"path":1598,"stem":1599},{"title":1603,"path":1604,"stem":1605,"children":1606},"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",[1607],{"title":1603,"path":1604,"stem":1605},{"title":1609,"path":1610,"stem":1611,"children":1612},"Deploy a React app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact\u002Findex",[1613],{"title":1609,"path":1610,"stem":1611},{"title":1615,"path":1616,"stem":1617,"children":1618},"Deploy a Remix app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix\u002Findex",[1619],{"title":1615,"path":1616,"stem":1617},{"title":1621,"path":1622,"stem":1623,"children":1624},"Deploy a SvelteKit app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit\u002Findex",[1625],{"title":1621,"path":1622,"stem":1623},{"title":1627,"path":1628,"stem":1629,"children":1630},"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",[1631],{"title":1627,"path":1628,"stem":1629},{"title":1633,"path":1634,"stem":1635,"children":1636},"Deploy a Vanilla JS app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla\u002Findex",[1637],{"title":1633,"path":1634,"stem":1635},{"title":1639,"path":1640,"stem":1641,"children":1642},"Deploy a Vue.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue\u002Findex",[1643],{"title":1639,"path":1640,"stem":1641},{"title":1645,"path":1646,"stem":1647,"children":1648},"Starting points","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points\u002Findex",[1649],{"title":1645,"path":1646,"stem":1647},{"title":790,"path":1651,"stem":1652,"children":1653,"icon":1655},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fgetting-started","docs\u002Fstudios\u002Fsites\u002Fgetting-started\u002Findex",[1654],{"title":790,"path":1651,"stem":1652,"icon":1655},"i-lucide-terminal",{"title":1657,"path":1658,"stem":1659,"children":1660,"icon":1144},"Production","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Findex",[1661,1662,1668,1674,1680,1686,1692],{"title":1657,"path":1658,"stem":1659,"icon":1144},{"title":1663,"path":1664,"stem":1665,"children":1666},"Deployments","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments\u002Findex",[1667],{"title":1663,"path":1664,"stem":1665},{"title":1669,"path":1670,"stem":1671,"children":1672},"Domains","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains\u002Findex",[1673],{"title":1669,"path":1670,"stem":1671},{"title":1675,"path":1676,"stem":1677,"children":1678},"Instant rollbacks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks\u002Findex",[1679],{"title":1675,"path":1676,"stem":1677},{"title":1681,"path":1682,"stem":1683,"children":1684},"Logs","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs\u002Findex",[1685],{"title":1681,"path":1682,"stem":1683},{"title":1687,"path":1688,"stem":1689,"children":1690},"Previews","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews\u002Findex",[1691],{"title":1687,"path":1688,"stem":1689},{"title":1693,"path":1694,"stem":1695,"children":1696},"Publishing a theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme\u002Findex",[1697],{"title":1693,"path":1694,"stem":1695},{"title":1699,"path":1700,"stem":1701,"children":1702,"icon":1704},"Build the theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Findex",[1703,1705,1711,1717,1723,1729,1735,1741,1747,1765],{"title":1699,"path":1700,"stem":1701,"icon":1704},"i-lucide-palette",{"title":1706,"path":1707,"stem":1708,"children":1709},"Theme anatomy","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy\u002Findex",[1710],{"title":1706,"path":1707,"stem":1708},{"title":1712,"path":1713,"stem":1714,"children":1715},"Design tokens","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens\u002Findex",[1716],{"title":1712,"path":1713,"stem":1714},{"title":1718,"path":1719,"stem":1720,"children":1721},"Frameworks","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks\u002Findex",[1722],{"title":1718,"path":1719,"stem":1720},{"title":1724,"path":1725,"stem":1726,"children":1727},"The layer chain","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain\u002Findex",[1728],{"title":1724,"path":1725,"stem":1726},{"title":1730,"path":1731,"stem":1732,"children":1733},"Local development","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development\u002Findex",[1734],{"title":1730,"path":1731,"stem":1732},{"title":1736,"path":1737,"stem":1738,"children":1739},"Modules and plugins","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins\u002Findex",[1740],{"title":1736,"path":1737,"stem":1738},{"title":1742,"path":1743,"stem":1744,"children":1745},"Overriding","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding\u002Findex",[1746],{"title":1742,"path":1743,"stem":1744},{"title":1748,"path":1749,"stem":1750,"children":1751},"Rendering","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Findex",[1752,1753,1759],{"title":1748,"path":1749,"stem":1750},{"title":1754,"path":1755,"stem":1756,"children":1757},"SSR","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr\u002Findex",[1758],{"title":1754,"path":1755,"stem":1756},{"title":1760,"path":1761,"stem":1762,"children":1763},"Static","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic\u002Findex",[1764],{"title":1760,"path":1761,"stem":1762},{"title":1766,"path":1767,"stem":1768,"children":1769},"Service modes","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes\u002Findex",[1770],{"title":1766,"path":1767,"stem":1768},{"title":1772,"path":1773,"stem":1774,"children":1775},"Tools","\u002Fdocs\u002Ftools","docs\u002Ftools\u002Findex",[1776,1777,1784,1993],{"title":1772,"path":1773,"stem":1774},{"title":1778,"path":1779,"stem":1780,"children":1781,"icon":1783},"AI agents","\u002Fdocs\u002Ftools\u002Fai-agents","docs\u002Ftools\u002Fai-agents\u002Findex",[1782],{"title":1778,"path":1779,"stem":1780,"icon":1783},"i-lucide-shield-alert",{"title":1785,"path":1786,"stem":1787,"children":1788},"Command line","\u002Fdocs\u002Ftools\u002Fcommand-line","docs\u002Ftools\u002Fcommand-line\u002Findex",[1789,1790,1796,1801,1807,1813,1819,1825,1831,1951,1957,1963,1969,1975,1981,1987],{"title":1785,"path":1786,"stem":1787},{"title":1791,"path":1792,"stem":1793,"children":1794},"Aliases","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Faliases","docs\u002Ftools\u002Fcommand-line\u002Faliases\u002Findex",[1795],{"title":1791,"path":1792,"stem":1793},{"title":264,"path":1797,"stem":1798,"children":1799},"\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fauthentication","docs\u002Ftools\u002Fcommand-line\u002Fauthentication\u002Findex",[1800],{"title":264,"path":1797,"stem":1798},{"title":1802,"path":1803,"stem":1804,"children":1805},"Commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fcommands","docs\u002Ftools\u002Fcommand-line\u002Fcommands\u002Findex",[1806],{"title":1802,"path":1803,"stem":1804},{"title":1808,"path":1809,"stem":1810,"children":1811},"Installation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finstallation","docs\u002Ftools\u002Fcommand-line\u002Finstallation\u002Findex",[1812],{"title":1808,"path":1809,"stem":1810},{"title":1814,"path":1815,"stem":1816,"children":1817},"Interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finteractive","docs\u002Ftools\u002Fcommand-line\u002Finteractive\u002Findex",[1818],{"title":1814,"path":1815,"stem":1816},{"title":1820,"path":1821,"stem":1822,"children":1823},"Non-interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fnon-interactive","docs\u002Ftools\u002Fcommand-line\u002Fnon-interactive\u002Findex",[1824],{"title":1820,"path":1821,"stem":1822},{"title":1826,"path":1827,"stem":1828,"children":1829},"Project configuration","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fproject-configuration","docs\u002Ftools\u002Fcommand-line\u002Fproject-configuration\u002Findex",[1830],{"title":1826,"path":1827,"stem":1828},{"title":1832,"path":1833,"stem":1834,"children":1835},"Command reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Findex",[1836,1837,1843,1849,1855,1861,1867,1873,1879,1885,1891,1897,1903,1909,1915,1921,1927,1933,1939,1945],{"title":1832,"path":1833,"stem":1834},{"title":1838,"path":1839,"stem":1840,"children":1841},"About commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout\u002Findex",[1842],{"title":1838,"path":1839,"stem":1840},{"title":1844,"path":1845,"stem":1846,"children":1847},"Apps commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps\u002Findex",[1848],{"title":1844,"path":1845,"stem":1846},{"title":1850,"path":1851,"stem":1852,"children":1853},"Carts commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Findex",[1854],{"title":1850,"path":1851,"stem":1852},{"title":1856,"path":1857,"stem":1858,"children":1859},"Channels commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels\u002Findex",[1860],{"title":1856,"path":1857,"stem":1858},{"title":1862,"path":1863,"stem":1864,"children":1865},"Create commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate\u002Findex",[1866],{"title":1862,"path":1863,"stem":1864},{"title":1868,"path":1869,"stem":1870,"children":1871},"Customers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Findex",[1872],{"title":1868,"path":1869,"stem":1870},{"title":1874,"path":1875,"stem":1876,"children":1877},"Deploy commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy\u002Findex",[1878],{"title":1874,"path":1875,"stem":1876},{"title":1880,"path":1881,"stem":1882,"children":1883},"Forms commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms\u002Findex",[1884],{"title":1880,"path":1881,"stem":1882},{"title":1886,"path":1887,"stem":1888,"children":1889},"Markets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets\u002Findex",[1890],{"title":1886,"path":1887,"stem":1888},{"title":1892,"path":1893,"stem":1894,"children":1895},"Order lists commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists\u002Findex",[1896],{"title":1892,"path":1893,"stem":1894},{"title":1898,"path":1899,"stem":1900,"children":1901},"Orders commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders\u002Findex",[1902],{"title":1898,"path":1899,"stem":1900},{"title":1904,"path":1905,"stem":1906,"children":1907},"Pages commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Findex",[1908],{"title":1904,"path":1905,"stem":1906},{"title":1910,"path":1911,"stem":1912,"children":1913},"Prices commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices\u002Findex",[1914],{"title":1910,"path":1911,"stem":1912},{"title":1916,"path":1917,"stem":1918,"children":1919},"Products commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Findex",[1920],{"title":1916,"path":1917,"stem":1918},{"title":1922,"path":1923,"stem":1924,"children":1925},"Search commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch\u002Findex",[1926],{"title":1922,"path":1923,"stem":1924},{"title":1928,"path":1929,"stem":1930,"children":1931},"Settings commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings\u002Findex",[1932],{"title":1928,"path":1929,"stem":1930},{"title":1934,"path":1935,"stem":1936,"children":1937},"Sites commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites\u002Findex",[1938],{"title":1934,"path":1935,"stem":1936},{"title":1940,"path":1941,"stem":1942,"children":1943},"Skills commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills\u002Findex",[1944],{"title":1940,"path":1941,"stem":1942},{"title":1946,"path":1947,"stem":1948,"children":1949},"Storage commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage\u002Findex",[1950],{"title":1946,"path":1947,"stem":1948},{"title":1952,"path":1953,"stem":1954,"children":1955},"Interactive shell (REPL)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Frepl","docs\u002Ftools\u002Fcommand-line\u002Frepl\u002Findex",[1956],{"title":1952,"path":1953,"stem":1954},{"title":1958,"path":1959,"stem":1960,"children":1961},"Scaffolding","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscaffolding","docs\u002Ftools\u002Fcommand-line\u002Fscaffolding\u002Findex",[1962],{"title":1958,"path":1959,"stem":1960},{"title":1964,"path":1965,"stem":1966,"children":1967},"Scripting & output","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscripting","docs\u002Ftools\u002Fcommand-line\u002Fscripting\u002Findex",[1968],{"title":1964,"path":1965,"stem":1966},{"title":1970,"path":1971,"stem":1972,"children":1973},"Skills","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Fskills\u002Findex",[1974],{"title":1970,"path":1971,"stem":1972},{"title":1976,"path":1977,"stem":1978,"children":1979},"Full-screen app (TUI)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftui","docs\u002Ftools\u002Fcommand-line\u002Ftui\u002Findex",[1980],{"title":1976,"path":1977,"stem":1978},{"title":1982,"path":1983,"stem":1984,"children":1985},"Type generation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftype-generation","docs\u002Ftools\u002Fcommand-line\u002Ftype-generation\u002Findex",[1986],{"title":1982,"path":1983,"stem":1984},{"title":1988,"path":1989,"stem":1990,"children":1991},"Background watchers","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fwatch","docs\u002Ftools\u002Fcommand-line\u002Fwatch\u002Findex",[1992],{"title":1988,"path":1989,"stem":1990},{"title":1994,"path":1995,"stem":1996,"children":1997},"Model Context Protocol","\u002Fdocs\u002Ftools\u002Fmcp","docs\u002Ftools\u002Fmcp\u002Findex",[1998,1999,2005,2011,2017,2023,2029,2035,2041],{"title":1994,"path":1995,"stem":1996},{"title":2000,"path":2001,"stem":2002,"children":2003},"revenexx docs MCP in Google Antigravity","\u002Fdocs\u002Ftools\u002Fmcp\u002Fantigravity","docs\u002Ftools\u002Fmcp\u002Fantigravity\u002Findex",[2004],{"title":2000,"path":2001,"stem":2002},{"title":2006,"path":2007,"stem":2008,"children":2009},"revenexx docs MCP in Claude Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-code","docs\u002Ftools\u002Fmcp\u002Fclaude-code\u002Findex",[2010],{"title":2006,"path":2007,"stem":2008},{"title":2012,"path":2013,"stem":2014,"children":2015},"revenexx docs MCP in Claude Desktop","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-desktop","docs\u002Ftools\u002Fmcp\u002Fclaude-desktop\u002Findex",[2016],{"title":2012,"path":2013,"stem":2014},{"title":2018,"path":2019,"stem":2020,"children":2021},"revenexx docs MCP in Cursor","\u002Fdocs\u002Ftools\u002Fmcp\u002Fcursor","docs\u002Ftools\u002Fmcp\u002Fcursor\u002Findex",[2022],{"title":2018,"path":2019,"stem":2020},{"title":2024,"path":2025,"stem":2026,"children":2027},"revenexx docs MCP in OpenCode","\u002Fdocs\u002Ftools\u002Fmcp\u002Fopencode","docs\u002Ftools\u002Fmcp\u002Fopencode\u002Findex",[2028],{"title":2024,"path":2025,"stem":2026},{"title":2030,"path":2031,"stem":2032,"children":2033},"revenexx docs MCP in VS Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fvscode","docs\u002Ftools\u002Fmcp\u002Fvscode\u002Findex",[2034],{"title":2030,"path":2031,"stem":2032},{"title":2036,"path":2037,"stem":2038,"children":2039},"revenexx docs MCP in Windsurf","\u002Fdocs\u002Ftools\u002Fmcp\u002Fwindsurf","docs\u002Ftools\u002Fmcp\u002Fwindsurf\u002Findex",[2040],{"title":2036,"path":2037,"stem":2038},{"title":2042,"path":2043,"stem":2044,"children":2045},"revenexx docs MCP in Zenflow","\u002Fdocs\u002Ftools\u002Fmcp\u002Fzenflow","docs\u002Ftools\u002Fmcp\u002Fzenflow\u002Findex",[2046],{"title":2042,"path":2043,"stem":2044},{"id":2048,"title":173,"body":2049,"description":2994,"extension":2995,"landing":2996,"links":2996,"meta":2997,"navigation":2367,"path":174,"seo":2998,"sitemap":2999,"stem":175,"__hash__":3000},"docs\u002Fdocs\u002Fsdks\u002Fapp-sdk\u002Findex.md",{"type":2050,"value":2051,"toc":2987},"minimark",[2052,2074,2077,2088,2093,2119,2126,2143,2147,2158,2210,2225,2251,2255,2262,2324,2574,2626,2630,2641,2912,2927,2947,2951,2983],[2053,2054,2055,2056,2060,2061,2065,2066,2069,2070,2073],"p",{},"The App SDK is the toolkit for building ",[2057,2058,2059],"a",{"href":612},"revenexx Apps",". An App declares its data in JSON and runs a function for its custom logic. The SDK gives that function two things: a ",[2062,2063,2064],"strong",{},"typed data client"," over the app's own tables, and a small ",[2062,2067,2068],{},"HTTP router"," for the function's request handling. The typed client itself is generated by the ",[2057,2071,2072],{"href":1959},"revenexx CLI"," from your app's declarations.",[2053,2075,2076],{},"Status: shipped (0.x), under active development. It's available for JavaScript\u002FTypeScript and PHP, and the API can still change between minor versions before 1.0.",[2053,2078,2079,2080,2083,2084,2087],{},"If you're new to Apps, read ",[2057,2081,2082],{"href":612},"the App Marketplace overview"," and ",[2057,2085,2086],{"href":797},"the app model"," first — this page is about the SDK you write the app's code with.",[2089,2090,2092],"h2",{"id":2091},"install","Install",[2094,2095,2101],"pre",{"className":2096,"code":2097,"filename":2098,"language":2099,"meta":2100,"style":2100},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install @revenexx\u002Fapp-sdk\n","npm","bash","",[2102,2103,2104],"code",{"__ignoreMap":2100},[2105,2106,2109,2112,2116],"span",{"class":2107,"line":2108},"line",1,[2105,2110,2098],{"class":2111},"sBMFI",[2105,2113,2115],{"class":2114},"sfazB"," install",[2105,2117,2118],{"class":2114}," @revenexx\u002Fapp-sdk\n",[2053,2120,2121,2122,2125],{},"For an app written in PHP, the Composer package is ",[2102,2123,2124],{},"revenexx\u002Fapp-sdk"," (PHP 8.2 or newer).",[2094,2127,2130],{"className":2096,"code":2128,"filename":2129,"language":2099,"meta":2100,"style":2100},"composer require revenexx\u002Fapp-sdk\n","Composer",[2102,2131,2132],{"__ignoreMap":2100},[2105,2133,2134,2137,2140],{"class":2107,"line":2108},[2105,2135,2136],{"class":2111},"composer",[2105,2138,2139],{"class":2114}," require",[2105,2141,2142],{"class":2114}," revenexx\u002Fapp-sdk\n",[2089,2144,2146],{"id":2145},"generate-the-typed-client","Generate the typed client",[2053,2148,2149,2150,2153,2154,2157],{},"Your app declares its tables in ",[2102,2151,2152],{},"schema.json"," and its identity and permissions in ",[2102,2155,2156],{},"manifest.json",". The CLI reads both and generates a typed data client, for JavaScript by default.",[2094,2159,2162],{"className":2096,"code":2160,"filename":2161,"language":2099,"meta":2100,"style":2100},"revenexx apps generate \\\n  --schema .\u002Fschema.json \\\n  --manifest .\u002Fmanifest.json \\\n  --out .\u002Fsrc\u002Fdb\n","Generate",[2102,2163,2164,2179,2190,2201],{"__ignoreMap":2100},[2105,2165,2166,2169,2172,2175],{"class":2107,"line":2108},[2105,2167,2168],{"class":2111},"revenexx",[2105,2170,2171],{"class":2114}," apps",[2105,2173,2174],{"class":2114}," generate",[2105,2176,2178],{"class":2177},"sTEyZ"," \\\n",[2105,2180,2182,2185,2188],{"class":2107,"line":2181},2,[2105,2183,2184],{"class":2114},"  --schema",[2105,2186,2187],{"class":2114}," .\u002Fschema.json",[2105,2189,2178],{"class":2177},[2105,2191,2193,2196,2199],{"class":2107,"line":2192},3,[2105,2194,2195],{"class":2114},"  --manifest",[2105,2197,2198],{"class":2114}," .\u002Fmanifest.json",[2105,2200,2178],{"class":2177},[2105,2202,2204,2207],{"class":2107,"line":2203},4,[2105,2205,2206],{"class":2114},"  --out",[2105,2208,2209],{"class":2114}," .\u002Fsrc\u002Fdb\n",[2053,2211,2212,2213,2083,2215,2217,2218,2221,2222,2224],{},"Run with no flags in an app directory and it reads ",[2102,2214,2152],{},[2102,2216,2156],{}," from the working directory and writes into ",[2102,2219,2220],{},"src\u002F",". For PHP output and the rest of the flags, see ",[2057,2223,1958],{"href":1959},".",[2053,2226,2227,2228,2231,2232,2083,2235,2238,2239,2242,2243,2246,2247,2250],{},"The generated client only exposes the operations your manifest grants. If the manifest gives an entity ",[2102,2229,2230],{},"read"," access, the client has ",[2102,2233,2234],{},"list",[2102,2236,2237],{},"get","; ",[2102,2240,2241],{},"create",", ",[2102,2244,2245],{},"update",", and ",[2102,2248,2249],{},"delete"," follow the matching grants. Ungranted operations aren't generated, so the permission boundary is enforced in the types, not just at runtime.",[2089,2252,2254],{"id":2253},"adapters-the-same-code-in-every-environment","Adapters: the same code in every environment",[2053,2256,2257,2258,2261],{},"The data client takes an ",[2062,2259,2260],{},"adapter",". Your app code stays the same; you swap the adapter for where it runs.",[2263,2264,2265,2281],"table",{},[2266,2267,2268],"thead",{},[2269,2270,2271,2275,2278],"tr",{},[2272,2273,2274],"th",{},"Adapter",[2272,2276,2277],{},"What it does",[2272,2279,2280],{},"Use it for",[2282,2283,2284,2298,2311],"tbody",{},[2269,2285,2286,2292,2295],{},[2287,2288,2289],"td",{},[2102,2290,2291],{},"mock",[2287,2293,2294],{},"In-memory fixtures, no infrastructure.",[2287,2296,2297],{},"Unit tests and fast local iteration.",[2269,2299,2300,2305,2308],{},[2287,2301,2302],{},[2102,2303,2304],{},"remote",[2287,2306,2307],{},"Real data over HTTP against a dev tenant.",[2287,2309,2310],{},"Checking behavior against the real data plane before deploy.",[2269,2312,2313,2318,2321],{},[2287,2314,2315],{},[2102,2316,2317],{},"runtime",[2287,2319,2320],{},"Production. Auto-configured from the function's invocation context.",[2287,2322,2323],{},"The deployed App (JavaScript only).",[2094,2325,2330],{"className":2326,"code":2327,"filename":2328,"language":2329,"meta":2100,"style":2100},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createDb } from \".\u002Fdb\u002Fdb.generated.js\";\n\nconst db = createDb({ adapter: \"mock\", seed: { greetings: [] } });\n\nawait db.greetings.create({ name: \"Max\" });\n\nconst list = await db.greetings.list({\n  where: { locale: \"en\" },\n  order: \"created_at.desc\",\n  limit: 20,\n});\n","Generated client","js",[2102,2331,2332,2363,2369,2431,2435,2475,2480,2508,2533,2551,2565],{"__ignoreMap":2100},[2105,2333,2334,2338,2342,2345,2348,2351,2354,2357,2360],{"class":2107,"line":2108},[2105,2335,2337],{"class":2336},"s7zQu","import",[2105,2339,2341],{"class":2340},"sMK4o"," {",[2105,2343,2344],{"class":2177}," createDb",[2105,2346,2347],{"class":2340}," }",[2105,2349,2350],{"class":2336}," from",[2105,2352,2353],{"class":2340}," \"",[2105,2355,2356],{"class":2114},".\u002Fdb\u002Fdb.generated.js",[2105,2358,2359],{"class":2340},"\"",[2105,2361,2362],{"class":2340},";\n",[2105,2364,2365],{"class":2107,"line":2181},[2105,2366,2368],{"emptyLinePlaceholder":2367},true,"\n",[2105,2370,2371,2375,2378,2381,2384,2387,2390,2394,2397,2399,2401,2403,2406,2409,2411,2413,2416,2418,2421,2424,2426,2429],{"class":2107,"line":2192},[2105,2372,2374],{"class":2373},"spNyl","const",[2105,2376,2377],{"class":2177}," db ",[2105,2379,2380],{"class":2340},"=",[2105,2382,2344],{"class":2383},"s2Zo4",[2105,2385,2386],{"class":2177},"(",[2105,2388,2389],{"class":2340},"{",[2105,2391,2393],{"class":2392},"swJcz"," adapter",[2105,2395,2396],{"class":2340},":",[2105,2398,2353],{"class":2340},[2105,2400,2291],{"class":2114},[2105,2402,2359],{"class":2340},[2105,2404,2405],{"class":2340},",",[2105,2407,2408],{"class":2392}," seed",[2105,2410,2396],{"class":2340},[2105,2412,2341],{"class":2340},[2105,2414,2415],{"class":2392}," greetings",[2105,2417,2396],{"class":2340},[2105,2419,2420],{"class":2177}," [] ",[2105,2422,2423],{"class":2340},"}",[2105,2425,2347],{"class":2340},[2105,2427,2428],{"class":2177},")",[2105,2430,2362],{"class":2340},[2105,2432,2433],{"class":2107,"line":2203},[2105,2434,2368],{"emptyLinePlaceholder":2367},[2105,2436,2438,2441,2444,2446,2449,2451,2453,2455,2457,2460,2462,2464,2467,2469,2471,2473],{"class":2107,"line":2437},5,[2105,2439,2440],{"class":2336},"await",[2105,2442,2443],{"class":2177}," db",[2105,2445,2224],{"class":2340},[2105,2447,2448],{"class":2177},"greetings",[2105,2450,2224],{"class":2340},[2105,2452,2241],{"class":2383},[2105,2454,2386],{"class":2177},[2105,2456,2389],{"class":2340},[2105,2458,2459],{"class":2392}," name",[2105,2461,2396],{"class":2340},[2105,2463,2353],{"class":2340},[2105,2465,2466],{"class":2114},"Max",[2105,2468,2359],{"class":2340},[2105,2470,2347],{"class":2340},[2105,2472,2428],{"class":2177},[2105,2474,2362],{"class":2340},[2105,2476,2478],{"class":2107,"line":2477},6,[2105,2479,2368],{"emptyLinePlaceholder":2367},[2105,2481,2483,2485,2488,2490,2493,2495,2497,2499,2501,2503,2505],{"class":2107,"line":2482},7,[2105,2484,2374],{"class":2373},[2105,2486,2487],{"class":2177}," list ",[2105,2489,2380],{"class":2340},[2105,2491,2492],{"class":2336}," await",[2105,2494,2443],{"class":2177},[2105,2496,2224],{"class":2340},[2105,2498,2448],{"class":2177},[2105,2500,2224],{"class":2340},[2105,2502,2234],{"class":2383},[2105,2504,2386],{"class":2177},[2105,2506,2507],{"class":2340},"{\n",[2105,2509,2511,2514,2516,2518,2521,2523,2525,2528,2530],{"class":2107,"line":2510},8,[2105,2512,2513],{"class":2392},"  where",[2105,2515,2396],{"class":2340},[2105,2517,2341],{"class":2340},[2105,2519,2520],{"class":2392}," locale",[2105,2522,2396],{"class":2340},[2105,2524,2353],{"class":2340},[2105,2526,2527],{"class":2114},"en",[2105,2529,2359],{"class":2340},[2105,2531,2532],{"class":2340}," },\n",[2105,2534,2536,2539,2541,2543,2546,2548],{"class":2107,"line":2535},9,[2105,2537,2538],{"class":2392},"  order",[2105,2540,2396],{"class":2340},[2105,2542,2353],{"class":2340},[2105,2544,2545],{"class":2114},"created_at.desc",[2105,2547,2359],{"class":2340},[2105,2549,2550],{"class":2340},",\n",[2105,2552,2554,2557,2559,2563],{"class":2107,"line":2553},10,[2105,2555,2556],{"class":2392},"  limit",[2105,2558,2396],{"class":2340},[2105,2560,2562],{"class":2561},"sbssI"," 20",[2105,2564,2550],{"class":2340},[2105,2566,2568,2570,2572],{"class":2107,"line":2567},11,[2105,2569,2423],{"class":2340},[2105,2571,2428],{"class":2177},[2105,2573,2362],{"class":2340},[2053,2575,2576,2577,2242,2580,2242,2583,2242,2586,2246,2589,2592,2593,2595,2596,2242,2599,2242,2602,2242,2605,2242,2608,2242,2611,2242,2614,2242,2617,2242,2620,2246,2623,2224],{},"Queries take ",[2102,2578,2579],{},"where",[2102,2581,2582],{},"select",[2102,2584,2585],{},"order",[2102,2587,2588],{},"limit",[2102,2590,2591],{},"offset",". The ",[2102,2594,2579],{}," operators are ",[2102,2597,2598],{},"eq",[2102,2600,2601],{},"neq",[2102,2603,2604],{},"gt",[2102,2606,2607],{},"gte",[2102,2609,2610],{},"lt",[2102,2612,2613],{},"lte",[2102,2615,2616],{},"like",[2102,2618,2619],{},"ilike",[2102,2621,2622],{},"in",[2102,2624,2625],{},"is",[2089,2627,2629],{"id":2628},"the-apps-function-handler","The app's function handler",[2053,2631,2632,2633,2636,2637,2640],{},"For an App with custom logic, the SDK's router turns the function's request into declarative routes. ",[2102,2634,2635],{},"createApp"," makes the router; ",[2102,2638,2639],{},"mountCrud"," exposes an entity over standard CRUD paths.",[2094,2642,2645],{"className":2326,"code":2643,"filename":2644,"language":2329,"meta":2100,"style":2100},"const { createApp, mountCrud } = require(\"@revenexx\u002Fapp-sdk\u002Frouter\");\nconst { createDb, ENTITIES } = require(\".\u002Fdb.generated\");\n\nmodule.exports = (context) => {\n  const app = createApp({ name: \"markets\" });\n  const db = createDb({ adapter: \"runtime\", context });\n\n  mountCrud(app, db.markets, {\n    path: \"\u002Fmarkets\",\n    columns: ENTITIES.markets.columns,\n  });\n\n  return app.handler()(context);\n};\n","App function",[2102,2646,2647,2681,2713,2717,2739,2772,2807,2811,2833,2849,2870,2879,2884,2906],{"__ignoreMap":2100},[2105,2648,2649,2651,2653,2656,2658,2661,2663,2666,2668,2670,2672,2675,2677,2679],{"class":2107,"line":2108},[2105,2650,2374],{"class":2373},[2105,2652,2341],{"class":2340},[2105,2654,2655],{"class":2177}," createApp",[2105,2657,2405],{"class":2340},[2105,2659,2660],{"class":2177}," mountCrud ",[2105,2662,2423],{"class":2340},[2105,2664,2665],{"class":2340}," =",[2105,2667,2139],{"class":2383},[2105,2669,2386],{"class":2177},[2105,2671,2359],{"class":2340},[2105,2673,2674],{"class":2114},"@revenexx\u002Fapp-sdk\u002Frouter",[2105,2676,2359],{"class":2340},[2105,2678,2428],{"class":2177},[2105,2680,2362],{"class":2340},[2105,2682,2683,2685,2687,2689,2691,2694,2696,2698,2700,2702,2704,2707,2709,2711],{"class":2107,"line":2181},[2105,2684,2374],{"class":2373},[2105,2686,2341],{"class":2340},[2105,2688,2344],{"class":2177},[2105,2690,2405],{"class":2340},[2105,2692,2693],{"class":2177}," ENTITIES ",[2105,2695,2423],{"class":2340},[2105,2697,2665],{"class":2340},[2105,2699,2139],{"class":2383},[2105,2701,2386],{"class":2177},[2105,2703,2359],{"class":2340},[2105,2705,2706],{"class":2114},".\u002Fdb.generated",[2105,2708,2359],{"class":2340},[2105,2710,2428],{"class":2177},[2105,2712,2362],{"class":2340},[2105,2714,2715],{"class":2107,"line":2192},[2105,2716,2368],{"emptyLinePlaceholder":2367},[2105,2718,2719,2722,2724,2727,2731,2733,2736],{"class":2107,"line":2203},[2105,2720,2721],{"class":2340},"module.exports",[2105,2723,2665],{"class":2340},[2105,2725,2726],{"class":2340}," (",[2105,2728,2730],{"class":2729},"sHdIc","context",[2105,2732,2428],{"class":2340},[2105,2734,2735],{"class":2373}," =>",[2105,2737,2738],{"class":2340}," {\n",[2105,2740,2741,2744,2747,2749,2751,2753,2755,2757,2759,2761,2764,2766,2768,2770],{"class":2107,"line":2437},[2105,2742,2743],{"class":2373},"  const",[2105,2745,2746],{"class":2177}," app",[2105,2748,2665],{"class":2340},[2105,2750,2655],{"class":2383},[2105,2752,2386],{"class":2392},[2105,2754,2389],{"class":2340},[2105,2756,2459],{"class":2392},[2105,2758,2396],{"class":2340},[2105,2760,2353],{"class":2340},[2105,2762,2763],{"class":2114},"markets",[2105,2765,2359],{"class":2340},[2105,2767,2347],{"class":2340},[2105,2769,2428],{"class":2392},[2105,2771,2362],{"class":2340},[2105,2773,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2801,2803,2805],{"class":2107,"line":2477},[2105,2775,2743],{"class":2373},[2105,2777,2443],{"class":2177},[2105,2779,2665],{"class":2340},[2105,2781,2344],{"class":2383},[2105,2783,2386],{"class":2392},[2105,2785,2389],{"class":2340},[2105,2787,2393],{"class":2392},[2105,2789,2396],{"class":2340},[2105,2791,2353],{"class":2340},[2105,2793,2317],{"class":2114},[2105,2795,2359],{"class":2340},[2105,2797,2405],{"class":2340},[2105,2799,2800],{"class":2177}," context",[2105,2802,2347],{"class":2340},[2105,2804,2428],{"class":2392},[2105,2806,2362],{"class":2340},[2105,2808,2809],{"class":2107,"line":2482},[2105,2810,2368],{"emptyLinePlaceholder":2367},[2105,2812,2813,2816,2818,2821,2823,2825,2827,2829,2831],{"class":2107,"line":2510},[2105,2814,2815],{"class":2383},"  mountCrud",[2105,2817,2386],{"class":2392},[2105,2819,2820],{"class":2177},"app",[2105,2822,2405],{"class":2340},[2105,2824,2443],{"class":2177},[2105,2826,2224],{"class":2340},[2105,2828,2763],{"class":2177},[2105,2830,2405],{"class":2340},[2105,2832,2738],{"class":2340},[2105,2834,2835,2838,2840,2842,2845,2847],{"class":2107,"line":2535},[2105,2836,2837],{"class":2392},"    path",[2105,2839,2396],{"class":2340},[2105,2841,2353],{"class":2340},[2105,2843,2844],{"class":2114},"\u002Fmarkets",[2105,2846,2359],{"class":2340},[2105,2848,2550],{"class":2340},[2105,2850,2851,2854,2856,2859,2861,2863,2865,2868],{"class":2107,"line":2553},[2105,2852,2853],{"class":2392},"    columns",[2105,2855,2396],{"class":2340},[2105,2857,2858],{"class":2177}," ENTITIES",[2105,2860,2224],{"class":2340},[2105,2862,2763],{"class":2177},[2105,2864,2224],{"class":2340},[2105,2866,2867],{"class":2177},"columns",[2105,2869,2550],{"class":2340},[2105,2871,2872,2875,2877],{"class":2107,"line":2567},[2105,2873,2874],{"class":2340},"  }",[2105,2876,2428],{"class":2392},[2105,2878,2362],{"class":2340},[2105,2880,2882],{"class":2107,"line":2881},12,[2105,2883,2368],{"emptyLinePlaceholder":2367},[2105,2885,2887,2890,2892,2894,2897,2900,2902,2904],{"class":2107,"line":2886},13,[2105,2888,2889],{"class":2336},"  return",[2105,2891,2746],{"class":2177},[2105,2893,2224],{"class":2340},[2105,2895,2896],{"class":2383},"handler",[2105,2898,2899],{"class":2392},"()(",[2105,2901,2730],{"class":2177},[2105,2903,2428],{"class":2392},[2105,2905,2362],{"class":2340},[2105,2907,2909],{"class":2107,"line":2908},14,[2105,2910,2911],{"class":2340},"};\n",[2053,2913,2914,2915,2917,2918,2920,2921,2083,2924,2224],{},"In production the ",[2102,2916,2317],{}," adapter reads the App's invocation context, so you don't wire up the endpoint, tenant, or credentials yourself. When you use the ",[2102,2919,2304],{}," adapter to test against a dev tenant, the data-plane call carries the public auth contract: ",[2102,2922,2923],{},"Authorization: Bearer \u003Ctoken>",[2102,2925,2926],{},"X-Revenexx-Tenant: \u003Cslug>",[2053,2928,2929,2930,2242,2933,2242,2936,2242,2939,2942,2943,2946],{},"The router also gives you HTTP error helpers — ",[2102,2931,2932],{},"notFound",[2102,2934,2935],{},"badRequest",[2102,2937,2938],{},"forbidden",[2102,2940,2941],{},"conflict",", and the ",[2102,2944,2945],{},"HttpError"," class — for returning correct status codes from custom routes.",[2089,2948,2950],{"id":2949},"where-to-go-next","Where to go next",[2952,2953,2954,2961,2966,2971,2976],"ul",{},[2955,2956,2957,2960],"li",{},[2057,2958,2959],{"href":612},"App Marketplace"," — what an App is and how it's published.",[2955,2962,2963,2965],{},[2057,2964,796],{"href":797}," — the declarative JSON files an App is built from.",[2955,2967,2968,2970],{},[2057,2969,906],{"href":907}," — the manifest fields, including permissions.",[2955,2972,2973,2975],{},[2057,2974,767],{"href":768}," — how to declare your tables.",[2955,2977,2978,2982],{},[2057,2979,2981],{"href":2980},"\u002Fapi","API Explorer"," — the platform API your App data is served through.",[2984,2985,2986],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":2100,"searchDepth":2181,"depth":2181,"links":2988},[2989,2990,2991,2992,2993],{"id":2091,"depth":2181,"text":2092},{"id":2145,"depth":2181,"text":2146},{"id":2253,"depth":2181,"text":2254},{"id":2628,"depth":2181,"text":2629},{"id":2949,"depth":2181,"text":2950},"Build revenexx Apps with a typed data client over your app's tables and a small HTTP router for the app's function.","md",null,{},{"title":173,"description":2994},{"loc":174},"2GIx7-AaUV09fRbCF-WxgHexRmSD1b1Qp74Cc_A9HOk",1789752112137]