[{"data":1,"prerenderedAt":691},["ShallowReactive",2],{"navigation_docs":3,"-docs-events":214,"-docs-events-surround":686},[4,74,96,130],{"title":5,"path":6,"stem":7,"children":8},"Assets API","\u002Fdocs\u002Fassets","docs\u002Fassets\u002Findex",[9,10,32,57],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14,"page":31},"Getting Started","\u002Fdocs\u002Fassets\u002Fgetting-started","docs\u002Fassets\u002F1.getting-started",[15,19,23,27],{"title":16,"path":17,"stem":18},"Base URL","\u002Fdocs\u002Fassets\u002Fgetting-started\u002Fbase-url","docs\u002Fassets\u002F1.getting-started\u002F1.base-url",{"title":20,"path":21,"stem":22},"Important Notes","\u002Fdocs\u002Fassets\u002Fgetting-started\u002Fimportant-notes","docs\u002Fassets\u002F1.getting-started\u002F2.important-notes",{"title":24,"path":25,"stem":26},"URL Format","\u002Fdocs\u002Fassets\u002Fgetting-started\u002Furl-format","docs\u002Fassets\u002F1.getting-started\u002F3.url-format",{"title":28,"path":29,"stem":30},"Custom Domains","\u002Fdocs\u002Fassets\u002Fgetting-started\u002Fcustom-domains","docs\u002Fassets\u002F1.getting-started\u002F4.custom-domains",false,{"title":33,"path":34,"stem":35,"children":36,"page":31},"Usage","\u002Fdocs\u002Fassets\u002Fusage","docs\u002Fassets\u002F2.usage",[37,41,45,49,53],{"title":38,"path":39,"stem":40},"Transforms","\u002Fdocs\u002Fassets\u002Fusage\u002Ftransforms","docs\u002Fassets\u002F2.usage\u002F1.transforms",{"title":42,"path":43,"stem":44},"Caching","\u002Fdocs\u002Fassets\u002Fusage\u002Fcaching","docs\u002Fassets\u002F2.usage\u002F2.caching",{"title":46,"path":47,"stem":48},"Recipes","\u002Fdocs\u002Fassets\u002Fusage\u002Frecipes","docs\u002Fassets\u002F2.usage\u002F3.recipes",{"title":50,"path":51,"stem":52},"Best Practices","\u002Fdocs\u002Fassets\u002Fusage\u002Fbest-practices","docs\u002Fassets\u002F2.usage\u002F4.best-practices",{"title":54,"path":55,"stem":56},"Reference","\u002Fdocs\u002Fassets\u002Fusage\u002Freference","docs\u002Fassets\u002F2.usage\u002F5.reference",{"title":58,"path":59,"stem":60,"children":61,"page":31},"Integration","\u002Fdocs\u002Fassets\u002Fintegration","docs\u002Fassets\u002F3.integration",[62,66,70],{"title":63,"path":64,"stem":65},"Nuxt","\u002Fdocs\u002Fassets\u002Fintegration\u002Fnuxt","docs\u002Fassets\u002F3.integration\u002F1.nuxt",{"title":67,"path":68,"stem":69},"Next.js","\u002Fdocs\u002Fassets\u002Fintegration\u002Fnextjs","docs\u002Fassets\u002F3.integration\u002F2.nextjs",{"title":71,"path":72,"stem":73},"Plain HTML","\u002Fdocs\u002Fassets\u002Fintegration\u002Fhtml","docs\u002Fassets\u002F3.integration\u002F3.html",{"title":75,"path":76,"stem":77,"children":78},"Events API","\u002Fdocs\u002Fevents","docs\u002Fevents\u002Findex",[79,80],{"title":75,"path":76,"stem":77},{"title":11,"path":81,"stem":82,"children":83,"page":31},"\u002Fdocs\u002Fevents\u002Fgetting-started","docs\u002Fevents\u002F1.getting-started",[84,88,92],{"title":85,"path":86,"stem":87},"Subscribing","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fsubscribing","docs\u002Fevents\u002F1.getting-started\u002F1.subscribing",{"title":89,"path":90,"stem":91},"Event Delivery","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fevent-delivery","docs\u002Fevents\u002F1.getting-started\u002F2.event-delivery",{"title":93,"path":94,"stem":95},"Event Reference","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fevent-reference","docs\u002Fevents\u002F1.getting-started\u002F3.event-reference",{"title":97,"path":98,"stem":99,"children":100},"Integrations API","\u002Fdocs\u002Fintegrations","docs\u002Fintegrations\u002Findex",[101,102],{"title":97,"path":98,"stem":99},{"title":11,"path":103,"stem":104,"children":105,"page":31},"\u002Fdocs\u002Fintegrations\u002Fgetting-started","docs\u002Fintegrations\u002F1.getting-started",[106,110,114,118,122,126],{"title":107,"path":108,"stem":109},"Why Use It?","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fwhy-integrations-api","docs\u002Fintegrations\u002F1.getting-started\u002F1.why-integrations-api",{"title":111,"path":112,"stem":113},"Use Cases","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fwho-is-it-for","docs\u002Fintegrations\u002F1.getting-started\u002F2.who-is-it-for",{"title":115,"path":116,"stem":117},"Pre-built Connectors","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fpre-built-integrations","docs\u002Fintegrations\u002F1.getting-started\u002F3.pre-built-integrations",{"title":119,"path":120,"stem":121},"Custom Inbound","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fcustom-inbound-api","docs\u002Fintegrations\u002F1.getting-started\u002F4.custom-inbound-api",{"title":123,"path":124,"stem":125},"Event Lifecycle","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fevent-lifecycle","docs\u002Fintegrations\u002F1.getting-started\u002F5.event-lifecycle",{"title":127,"path":128,"stem":129},"API Endpoints","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fmanagement-api-endpoints","docs\u002Fintegrations\u002F1.getting-started\u002F6.management-api-endpoints",{"title":131,"path":132,"stem":133,"children":134,"redirect":136},"MCP Server","\u002Fdocs\u002Fmcp","docs\u002Fmcp\u002Findex",[135,137,156,189],{"title":131,"path":132,"stem":133,"redirect":136},"\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fvscode",{"title":11,"path":138,"stem":139,"children":140,"page":31},"\u002Fdocs\u002Fmcp\u002Fgetting-started","docs\u002Fmcp\u002F1.getting-started",[141,144,148,152],{"title":142,"path":136,"stem":143},"VS Code","docs\u002Fmcp\u002F1.getting-started\u002F1.vscode",{"title":145,"path":146,"stem":147},"Claude Desktop","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fclaude-desktop","docs\u002Fmcp\u002F1.getting-started\u002F2.claude-desktop",{"title":149,"path":150,"stem":151},"Cursor","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fcursor","docs\u002Fmcp\u002F1.getting-started\u002F3.cursor",{"title":153,"path":154,"stem":155},"Verify Connection","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fverify","docs\u002Fmcp\u002F1.getting-started\u002F4.verify",{"title":157,"path":158,"stem":159,"children":160,"page":31},"Tools","\u002Fdocs\u002Fmcp\u002Ftools","docs\u002Fmcp\u002F2.tools",[161,165,169,173,177,181,185],{"title":162,"path":163,"stem":164},"list_endpoints","\u002Fdocs\u002Fmcp\u002Ftools\u002Flist-endpoints","docs\u002Fmcp\u002F2.tools\u002F1.list-endpoints",{"title":166,"path":167,"stem":168},"get_endpoint","\u002Fdocs\u002Fmcp\u002Ftools\u002Fget-endpoint","docs\u002Fmcp\u002F2.tools\u002F2.get-endpoint",{"title":170,"path":171,"stem":172},"get_schema","\u002Fdocs\u002Fmcp\u002Ftools\u002Fget-schema","docs\u002Fmcp\u002F2.tools\u002F3.get-schema",{"title":174,"path":175,"stem":176},"list_schemas","\u002Fdocs\u002Fmcp\u002Ftools\u002Flist-schemas","docs\u002Fmcp\u002F2.tools\u002F4.list-schemas",{"title":178,"path":179,"stem":180},"search_docs","\u002Fdocs\u002Fmcp\u002Ftools\u002Fsearch-docs","docs\u002Fmcp\u002F2.tools\u002F5.search-docs",{"title":182,"path":183,"stem":184},"get_api_overview","\u002Fdocs\u002Fmcp\u002Ftools\u002Fget-api-overview","docs\u002Fmcp\u002F2.tools\u002F6.get-api-overview",{"title":186,"path":187,"stem":188},"get_description","\u002Fdocs\u002Fmcp\u002Ftools\u002Fget-description","docs\u002Fmcp\u002F2.tools\u002F7.get-description",{"title":190,"path":191,"stem":192,"children":193,"page":31},"Examples","\u002Fdocs\u002Fmcp\u002Fexamples","docs\u002Fmcp\u002F3.examples",[194,198,202,206,210],{"title":195,"path":196,"stem":197},"Exploring an API","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fexploring-an-api","docs\u002Fmcp\u002F3.examples\u002F1.exploring-an-api",{"title":199,"path":200,"stem":201},"Building a Feature","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fbuilding-a-feature","docs\u002Fmcp\u002F3.examples\u002F2.building-a-feature",{"title":203,"path":204,"stem":205},"Understanding Models","\u002Fdocs\u002Fmcp\u002Fexamples\u002Funderstanding-models","docs\u002Fmcp\u002F3.examples\u002F3.understanding-models",{"title":207,"path":208,"stem":209},"Code Review","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fcode-review","docs\u002Fmcp\u002F3.examples\u002F4.code-review",{"title":211,"path":212,"stem":213},"Tips","\u002Fdocs\u002Fmcp\u002Fexamples\u002Ftips","docs\u002Fmcp\u002F3.examples\u002F5.tips",{"id":215,"title":75,"body":216,"description":678,"extension":679,"links":680,"meta":681,"navigation":683,"path":76,"seo":684,"stem":77,"__hash__":685},"docs\u002Fdocs\u002Fevents\u002Findex.md",{"type":217,"value":218,"toc":661},"minimark",[219,228,233,240,274,283,288,299,310,314,320,331,335,339,399,403,455,459,501,505,547,551,593,597,639,643],[220,221,222,223,227],"p",{},"The Avvyr Events API lets you subscribe to ",[224,225,226],"strong",{},"domain events"," — notifications fired whenever something happens on the platform (an order is created, a product is updated, inventory changes, etc.). You register a webhook URL, choose which events you care about, and Avvyr delivers them to your endpoint in real time.",[229,230,232],"h2",{"id":231},"why-the-events-api","Why the Events API?",[220,234,235,236,239],{},"If you need your own system to ",[224,237,238],{},"react"," to things happening in Avvyr — without polling — the Events API is the way to go. Common scenarios:",[241,242,243,250,256,262,268],"ul",{},[244,245,246,249],"li",{},[224,247,248],{},"Sync orders to your ERP"," as they're created",[244,251,252,255],{},[224,253,254],{},"Update your search index"," when products change",[244,257,258,261],{},[224,259,260],{},"Trigger fulfillment workflows"," when orders are ready for pickup",[244,263,264,267],{},[224,265,266],{},"Push data to your data warehouse"," for analytics",[244,269,270,273],{},[224,271,272],{},"Notify external systems"," about inventory changes",[275,276,279,282],"callout",{"color":277,"icon":278},"warning","i-lucide-alert-triangle",[224,280,281],{},"We never recommend polling."," Polling is inefficient, wastes resources, and introduces unnecessary latency. Webhooks deliver data the instant something happens — use them.",[284,285,287],"h3",{"id":286},"always-fetch-fresh-data","Always fetch fresh data",[220,289,290,291,294,295,298],{},"The webhook payload contains the entity data ",[224,292,293],{},"at the time the event was fired",". In some cases the payload may be limited, and the entity could have been updated again between the event firing and your system processing it. We recommend that you always ",[224,296,297],{},"make a follow-up request to the Management API"," to fetch the latest version of the entity when you receive a webhook. Treat the webhook as a notification that something changed, and the API call as the source of truth.",[300,301,306],"pre",{"className":302,"code":304,"language":305},[303],"language-text","1. Receive webhook → \"orderUpdated\" for order 12345\n2. GET \u002Fv1\u002Forders\u002F12345 → fetch the latest order state\n3. Process the fresh data in your system\n","text",[307,308,304],"code",{"__ignoreMap":309},"",[229,311,313],{"id":312},"how-it-works","How it works",[300,315,318],{"className":316,"code":317,"language":305},[303],"Something happens in Avvyr (e.g. order created)\n    ↓\nDomain event published to message bus\n    ↓\nWebhook delivery service checks for matching subscriptions\n    ↓\nPOST to your endpoint with event payload + auth headers\n",[307,319,317],{"__ignoreMap":309},[220,321,322,323,326,327,330],{},"Each event subscription targets a specific ",[224,324,325],{},"event type"," and a ",[224,328,329],{},"destination URL",". When a matching event fires, Avvyr sends an HTTP POST to your endpoint with the event payload. You can configure authentication, custom headers, and retry behavior per subscription.",[229,332,334],{"id":333},"available-events","Available events",[284,336,338],{"id":337},"orders","Orders",[340,341,342,355],"table",{},[343,344,345],"thead",{},[346,347,348,352],"tr",{},[349,350,351],"th",{},"Event",[349,353,354],{},"Fired when",[356,357,358,369,379,389],"tbody",{},[346,359,360,366],{},[361,362,363],"td",{},[307,364,365],{},"orderCreated",[361,367,368],{},"A new order is created",[346,370,371,376],{},[361,372,373],{},[307,374,375],{},"orderUpdated",[361,377,378],{},"An order is modified (status change, line items, etc.)",[346,380,381,386],{},[361,382,383],{},[307,384,385],{},"orderDeleted",[361,387,388],{},"An order is deleted",[346,390,391,396],{},[361,392,393],{},[307,394,395],{},"orderReadyForPickup",[361,397,398],{},"An order is marked as ready for customer pickup",[284,400,402],{"id":401},"cart","Cart",[340,404,405,413],{},[343,406,407],{},[346,408,409,411],{},[349,410,351],{},[349,412,354],{},[356,414,415,425,435,445],{},[346,416,417,422],{},[361,418,419],{},[307,420,421],{},"cartCreated",[361,423,424],{},"A new cart is created",[346,426,427,432],{},[361,428,429],{},[307,430,431],{},"cartUpdated",[361,433,434],{},"A cart is modified (items added\u002Fremoved, customer set, etc.)",[346,436,437,442],{},[361,438,439],{},[307,440,441],{},"cartDeleted",[361,443,444],{},"A cart is deleted",[346,446,447,452],{},[361,448,449],{},[307,450,451],{},"cartFullyPaid",[361,453,454],{},"A cart is fully paid and ready for completion",[284,456,458],{"id":457},"products","Products",[340,460,461,469],{},[343,462,463],{},[346,464,465,467],{},[349,466,351],{},[349,468,354],{},[356,470,471,481,491],{},[346,472,473,478],{},[361,474,475],{},[307,476,477],{},"productCreated",[361,479,480],{},"A new product is created",[346,482,483,488],{},[361,484,485],{},[307,486,487],{},"productUpdated",[361,489,490],{},"A product is modified (name, price, attributes, etc.)",[346,492,493,498],{},[361,494,495],{},[307,496,497],{},"productDeleted",[361,499,500],{},"A product is deleted",[284,502,504],{"id":503},"transfers","Transfers",[340,506,507,515],{},[343,508,509],{},[346,510,511,513],{},[349,512,351],{},[349,514,354],{},[356,516,517,527,537],{},[346,518,519,524],{},[361,520,521],{},[307,522,523],{},"transferCreated",[361,525,526],{},"A stock transfer is created",[346,528,529,534],{},[361,530,531],{},[307,532,533],{},"transferUpdated",[361,535,536],{},"A stock transfer is modified",[346,538,539,544],{},[361,540,541],{},[307,542,543],{},"transferDeleted",[361,545,546],{},"A stock transfer is deleted",[284,548,550],{"id":549},"purchases","Purchases",[340,552,553,561],{},[343,554,555],{},[346,556,557,559],{},[349,558,351],{},[349,560,354],{},[356,562,563,573,583],{},[346,564,565,570],{},[361,566,567],{},[307,568,569],{},"purchaseCreated",[361,571,572],{},"A purchase order is created",[346,574,575,580],{},[361,576,577],{},[307,578,579],{},"purchaseUpdated",[361,581,582],{},"A purchase order is modified",[346,584,585,590],{},[361,586,587],{},[307,588,589],{},"purchaseDeleted",[361,591,592],{},"A purchase order is deleted",[284,594,596],{"id":595},"fulfillment","Fulfillment",[340,598,599,607],{},[343,600,601],{},[346,602,603,605],{},[349,604,351],{},[349,606,354],{},[356,608,609,619,629],{},[346,610,611,616],{},[361,612,613],{},[307,614,615],{},"fulfillmentCreated",[361,617,618],{},"A fulfillment is created",[346,620,621,626],{},[361,622,623],{},[307,624,625],{},"fulfillmentUpdated",[361,627,628],{},"A fulfillment is modified",[346,630,631,636],{},[361,632,633],{},[307,634,635],{},"fulfillmentDeleted",[361,637,638],{},"A fulfillment is deleted",[229,640,642],{"id":641},"next-steps","Next steps",[241,644,645,651,656],{},[244,646,647,650],{},[648,649,85],"a",{"href":86}," — create your first event subscription",[244,652,653,655],{},[648,654,89],{"href":90}," — payload format, auth, retries, and verification",[244,657,658,660],{},[648,659,93],{"href":94}," — all available events with payload examples",{"title":309,"searchDepth":662,"depth":662,"links":663},2,[664,668,669,677],{"id":231,"depth":662,"text":232,"children":665},[666],{"id":286,"depth":667,"text":287},3,{"id":312,"depth":662,"text":313},{"id":333,"depth":662,"text":334,"children":670},[671,672,673,674,675,676],{"id":337,"depth":667,"text":338},{"id":401,"depth":667,"text":402},{"id":457,"depth":667,"text":458},{"id":503,"depth":667,"text":504},{"id":549,"depth":667,"text":550},{"id":595,"depth":667,"text":596},{"id":641,"depth":662,"text":642},"Subscribe to domain events and receive webhooks when things happen in Avvyr","md",null,{"icon":682},"i-lucide-bell",true,{"title":75,"description":678},"HJJIy5fl1i_qgQb8WWKFpcI0th2mra4qdN78QghjmB0",[687,689],{"title":71,"path":72,"stem":73,"description":688,"children":-1},"Responsive srcset and direct URL construction",{"title":85,"path":86,"stem":87,"description":690,"children":-1},"Create and manage event subscriptions via the Management API",1775725938178]