[{"data":1,"prerenderedAt":252},["ShallowReactive",2],{"navigation_docs_en":3,"landing_en":170},[4,23,37,47,61,79,142,156],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting started","i-lucide-rocket","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Quick start","\u002Fen\u002Fgetting-started\u002Fquick-start","en\u002F1.getting-started\u002F1.quick-start",{"title":15,"path":16,"stem":17},"Trust model","\u002Fen\u002Fgetting-started\u002Ftrust-model","en\u002F1.getting-started\u002F2.trust-model",{"title":19,"path":20,"stem":21},"Enterprise integration journey","\u002Fen\u002Fgetting-started\u002Fenterprise-integration","en\u002F1.getting-started\u002F3.enterprise-integration",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Storefront","i-lucide-store","\u002Fen\u002Fstorefront","en\u002F2.storefront",[29,33],{"title":30,"path":31,"stem":32},"Third-party Storefront","\u002Fen\u002Fstorefront\u002Fthird-party-storefront","en\u002F2.storefront\u002F1.third-party-storefront",{"title":34,"path":35,"stem":36},"Turnstile trust boundary","\u002Fen\u002Fstorefront\u002Fchallenge-and-turnstile","en\u002F2.storefront\u002F2.challenge-and-turnstile",{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":22},"OAuth and identity","i-lucide-key-round","\u002Fen\u002Foauth","en\u002F3.oauth",[43],{"title":44,"path":45,"stem":46},"Third-party account authorization boundary","\u002Fen\u002Foauth\u002Fauthorization-code-pkce","en\u002F3.oauth\u002F1.authorization-code-pkce",{"title":48,"icon":49,"path":50,"stem":51,"children":52,"page":22},"Developer platform","i-lucide-blocks","\u002Fen\u002Fplatform","en\u002F4.platform",[53,57],{"title":54,"path":55,"stem":56},"Apps, versions, installations, and scopes","\u002Fen\u002Fplatform\u002Fapps-installations-scopes","en\u002F4.platform\u002F1.apps-installations-scopes",{"title":58,"path":59,"stem":60},"Origins, redirects, proxies, and environments","\u002Fen\u002Fplatform\u002Fsecurity-and-environments","en\u002F4.platform\u002F2.security-and-environments",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":22},"Runtime extensions","i-lucide-workflow","\u002Fen\u002Fruntime","en\u002F5.runtime",[67,71,75],{"title":68,"path":69,"stem":70},"Installation Webhooks","\u002Fen\u002Fruntime\u002Fwebhooks","en\u002F5.runtime\u002F1.webhooks",{"title":72,"path":73,"stem":74},"Inventory synchronization","\u002Fen\u002Fruntime\u002Finventory-sync","en\u002F5.runtime\u002F2.inventory-sync",{"title":76,"path":77,"stem":78},"Automatic fulfillment providers","\u002Fen\u002Fruntime\u002Fauto-fulfillment","en\u002F5.runtime\u002F3.auto-fulfillment",{"title":80,"icon":81,"path":82,"stem":83,"children":84,"page":22},"API reference","i-lucide-braces","\u002Fen\u002Freference","en\u002F6.reference",[85,89,93],{"title":86,"path":87,"stem":88},"API Reference","\u002Fen\u002Freference\u002Fapi","en\u002F6.reference\u002F1.api",{"title":90,"path":91,"stem":92},"Errors, idempotency, and rate limits","\u002Fen\u002Freference\u002Ferrors-and-limits","en\u002F6.reference\u002F2.errors-and-limits",{"title":94,"path":95,"stem":96,"children":97,"page":22},"Endpoint catalog","\u002Fen\u002Freference\u002Foperations","en\u002F6.reference\u002F3.operations",[98,102,106,110,114,118,122,126,130,134,138],{"title":99,"path":100,"stem":101},"List public categories","\u002Fen\u002Freference\u002Foperations\u002Flist-public-categories","en\u002F6.reference\u002F3.operations\u002F01.list-public-categories",{"title":103,"path":104,"stem":105},"List the public product catalog","\u002Fen\u002Freference\u002Foperations\u002Flist-public-products","en\u002F6.reference\u002F3.operations\u002F02.list-public-products",{"title":107,"path":108,"stem":109},"Get a public product by slug","\u002Fen\u002Freference\u002Foperations\u002Fget-public-product","en\u002F6.reference\u002F3.operations\u002F03.get-public-product",{"title":111,"path":112,"stem":113},"Get a public store profile","\u002Fen\u002Freference\u002Foperations\u002Fget-public-merchant","en\u002F6.reference\u002F3.operations\u002F04.get-public-merchant",{"title":115,"path":116,"stem":117},"List public products for a store","\u002Fen\u002Freference\u002Foperations\u002Flist-public-merchant-products","en\u002F6.reference\u002F3.operations\u002F05.list-public-merchant-products",{"title":119,"path":120,"stem":121},"List public categories for a store","\u002Fen\u002Freference\u002Foperations\u002Flist-public-merchant-categories","en\u002F6.reference\u002F3.operations\u002F06.list-public-merchant-categories",{"title":123,"path":124,"stem":125},"Get a public product for a store","\u002Fen\u002Freference\u002Foperations\u002Fget-public-merchant-product","en\u002F6.reference\u002F3.operations\u002F07.get-public-merchant-product",{"title":127,"path":128,"stem":129},"Get the current API Key identity and scopes","\u002Fen\u002Freference\u002Foperations\u002Fget-api-key-identity","en\u002F6.reference\u002F3.operations\u002F08.get-api-key-identity",{"title":131,"path":132,"stem":133},"List public categories with an API Key","\u002Fen\u002Freference\u002Foperations\u002Flist-api-key-catalog-categories","en\u002F6.reference\u002F3.operations\u002F09.list-api-key-catalog-categories",{"title":135,"path":136,"stem":137},"List public products with an API Key","\u002Fen\u002Freference\u002Foperations\u002Flist-api-key-catalog-products","en\u002F6.reference\u002F3.operations\u002F10.list-api-key-catalog-products",{"title":139,"path":140,"stem":141},"Get a public product with an API Key","\u002Fen\u002Freference\u002Foperations\u002Fget-api-key-catalog-product","en\u002F6.reference\u002F3.operations\u002F11.get-api-key-catalog-product",{"title":143,"icon":144,"path":145,"stem":146,"children":147,"page":22},"Examples","i-lucide-code-xml","\u002Fen\u002Fexamples","en\u002F7.examples",[148,152],{"title":149,"path":150,"stem":151},"Minimal Nuxt Storefront","\u002Fen\u002Fexamples\u002Fnuxt-storefront","en\u002F7.examples\u002F1.nuxt-storefront",{"title":153,"path":154,"stem":155},"Webhook verification","\u002Fen\u002Fexamples\u002Fwebhook-verification","en\u002F7.examples\u002F2.webhook-verification",{"title":157,"icon":158,"path":159,"stem":160,"children":161,"page":22},"Versions and support","i-lucide-life-buoy","\u002Fen\u002Foperations","en\u002F8.operations",[162,166],{"title":163,"path":164,"stem":165},"Versions, migrations, and changelog","\u002Fen\u002Foperations\u002Fversions-and-migrations","en\u002F8.operations\u002F1.versions-and-migrations",{"title":167,"path":168,"stem":169},"Support and security disclosure","\u002Fen\u002Foperations\u002Fsupport-and-security","en\u002F8.operations\u002F2.support-and-security",{"id":171,"title":172,"body":173,"description":242,"extension":243,"meta":244,"navigation":245,"path":246,"seo":247,"stem":250,"__hash__":251},"landing_en\u002Fen\u002Findex.md","Ayalink Developer",{"type":174,"value":175,"toc":239},"minimark",[176,198],[177,178,179,184,187],"u-page-hero",{},[180,181,183],"template",{"v-slot:title":182},"","Build on Ayalink without crossing trust boundaries",[180,185,186],{"v-slot:description":182},"Use the public API, installation-scoped Webhooks, and durable provider protocols, and learn the OAuth 2.0 with PKCE security boundary. OAuth endpoints remain pending security review. Every example fails honestly when an API or capability is unavailable.",[180,188,189,194],{"v-slot:links":182},[190,191,193],"u-button",{"to":20,"trailing-icon":192},"i-lucide-arrow-right","Enterprise integration",[190,195,80],{"to":87,"color":196,"variant":197},"neutral","outline",[199,200,201,204],"u-page-section",{},[180,202,203],{"v-slot:title":182},"Public integration paths",[180,205,206,216,223,231],{"v-slot:features":182},[207,208,210,213],"u-page-feature",{"icon":209,"to":20},"i-lucide-route",[180,211,212],{"v-slot:title":182},"End-to-end integration",[180,214,215],{"v-slot:description":182},"Move from platform enablement and authorization through API use, Webhooks, testing, production, and emergency revocation, with availability at every stage.",[207,217,218,220],{"icon":25,"to":31},[180,219,30],{"v-slot:title":182},[180,221,222],{"v-slot:description":182},"Render public catalog data and send users through the Ayalink authorization domain for account access.",[207,224,225,228],{"icon":39,"to":45},[180,226,227],{"v-slot:title":182},"OAuth and PKCE",[180,229,230],{"v-slot:description":182},"Official authorization domain, exact redirects, PKCE S256, isolated grants, and phishing recovery; OAuth APIs remain pending review.",[207,232,234,236],{"icon":233,"to":69},"i-lucide-webhook",[180,235,62],{"v-slot:title":182},[180,237,238],{"v-slot:description":182},"Signed Webhooks, versioned inventory synchronization, and recoverable automatic fulfillment.",{"title":182,"searchDepth":240,"depth":240,"links":241},2,[],"Build secure storefronts, apps, Webhooks, inventory connectors, and fulfillment providers on Ayalink.","md",{},true,"\u002Fen",{"title":248,"description":249},"Ayalink Developer Documentation","Public API, OAuth, Webhook and extension documentation for Ayalink.","en\u002Findex","rmWcIbEE6y-4-lo_uuIBVeusHD1PV4tZYF7x1qOooVo",1785946176771]