[{"data":1,"prerenderedAt":420},["ShallowReactive",2],{"navigation_docs":3,"-docs-integrations":214,"-docs-integrations-surround":415},[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":97,"body":216,"description":407,"extension":408,"links":409,"meta":410,"navigation":412,"path":98,"seo":413,"stem":99,"__hash__":414},"docs\u002Fdocs\u002Fintegrations\u002Findex.md",{"type":217,"value":218,"toc":397},"minimark",[219,223,228,231,236,248,259,263,274,280,292,303,307,347,357,361],[220,221,222],"p",{},"The Avvyr Integrations API is an event-driven platform for moving data between external systems and Avvyr — with transaction tracking, automatic retries, and full observability through a visual dashboard.",[224,225,227],"h2",{"id":226},"two-directions","Two directions",[220,229,230],{},"The platform supports two directions of data flow, each with different capabilities:",[232,233,235],"h3",{"id":234},"inbound-external-systems-avvyr","Inbound — external systems → Avvyr",[220,237,238,239,243,244,247],{},"Push data ",[240,241,242],"strong",{},"into"," Avvyr from any external system. This is fully open: use the ",[240,245,246],{},"Custom Inbound API"," to send inventory updates, orders, products, prices, or customers from any system that can make an HTTP call.",[249,250,255],"pre",{"className":251,"code":253,"language":254},[252],"language-text","External System → POST \u002Fintegrations\u002Fcustom\u002Finbound → Queue → Worker → Avvyr\n","text",[256,257,253],"code",{"__ignoreMap":258},"",[232,260,262],{"id":261},"outbound-avvyr-external-systems","Outbound — Avvyr → external systems",[220,264,265,266,269,270,273],{},"When something happens in Avvyr (an order is placed, inventory changes, a receipt is generated), the platform publishes a ",[240,267,268],{},"domain event",". That event is routed to ",[240,271,272],{},"pre-built connectors"," (Klaviyo, OmniConnect, Business Central, etc.) that transform and deliver the data to the external service.",[249,275,278],{"className":276,"code":277,"language":254},[252],"Avvyr Platform → Domain Event → Dispatcher → Pre-built Connector → External Service\n",[256,279,277],{"__ignoreMap":258},[281,282,284,285,287,288,291],"callout",{"icon":283},"i-lucide-info","Outbound delivery through the Integrations API is only available via ",[240,286,272],{},". If you need to react to Avvyr events in your own system, use the ",[289,290,75],"a",{"href":76}," instead — it lets you subscribe to domain events and receive webhooks at your own HTTP endpoints with configurable auth and retries.",[220,293,294,295,298,299,302],{},"Every transaction — inbound and outbound — is tracked as an ",[240,296,297],{},"IntegrationEvent"," with full lifecycle visibility: ",[256,300,301],{},"queued → processing → success | failed",". Failed events can be retried automatically or manually resubmitted.",[224,304,306],{"id":305},"key-capabilities","Key capabilities",[308,309,310,317,323,329,335,341],"ul",{},[311,312,313,316],"li",{},[240,314,315],{},"Pre-built connectors"," — outbound integrations for popular services (Klaviyo, Business Central, Fortnox, etc.)",[311,318,319,322],{},[240,320,321],{},"Custom inbound API"," — generic REST endpoint for pushing data into Avvyr from any external system",[311,324,325,328],{},[240,326,327],{},"Event tracking"," — every transaction is logged with status, payloads, and communication history",[311,330,331,334],{},[240,332,333],{},"Automatic retries"," — exponential backoff with configurable retry counts per event type",[311,336,337,340],{},[240,338,339],{},"Manual resubmission"," — retry any failed event with one click in the dashboard",[311,342,343,346],{},[240,344,345],{},"Dead-letter handling"," — events that exhaust retries are captured and surfaced for investigation",[281,348,350,353,354,356],{"icon":349,"to":76},"i-lucide-bell",[240,351,352],{},"Looking for outbound events?"," The ",[289,355,75],{"href":76}," lets you subscribe to domain events (order created, product updated, etc.) and receive webhooks at your own endpoints.",[224,358,360],{"id":359},"next-steps","Next steps",[308,362,363,369,375,381,386,391],{},[311,364,365,368],{},[289,366,367],{"href":108},"Why the Integrations API?"," — when to use it and how it compares to the Management API",[311,370,371,374],{},[289,372,373],{"href":112},"Who is it for?"," — use cases and target audiences",[311,376,377,380],{},[289,378,379],{"href":116},"Pre-built Integrations"," — available connectors and what they sync",[311,382,383,385],{},[289,384,246],{"href":120}," — push data into Avvyr from any system",[311,387,388,390],{},[289,389,123],{"href":124}," — how events flow through the platform",[311,392,393,396],{},[289,394,395],{"href":128},"Management API Endpoints"," — configure and monitor integrations via API",{"title":258,"searchDepth":398,"depth":398,"links":399},2,[400,405,406],{"id":226,"depth":398,"text":227,"children":401},[402,404],{"id":234,"depth":403,"text":235},3,{"id":261,"depth":403,"text":262},{"id":305,"depth":398,"text":306},{"id":359,"depth":398,"text":360},"Connect Avvyr to external systems — ERP, accounting, marketing, shipping, and more","md",null,{"icon":411},"i-lucide-plug",true,{"title":97,"description":407},"ghGm5sa04iepcwoSyDv2QPJGOnD7L0rXzsz9iWhd594",[416,418],{"title":93,"path":94,"stem":95,"description":417,"children":-1},"All available domain events with descriptions",{"title":107,"path":108,"stem":109,"description":419,"children":-1},"How the Integrations API compares to calling the Management API directly — and when each approach makes sense",1775725938178]