[{"data":1,"prerenderedAt":771},["ShallowReactive",2],{"navigation_docs":3,"-docs-cms":357,"-docs-cms-surround":766,"docs-site-config":754},[4,74,135,139,161,195,273],{"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},"Avvyr CMS","\u002Fdocs\u002Fcms","docs\u002Fcms\u002Findex",[79,80,92,105,118,131],{"title":75,"path":76,"stem":77},{"title":11,"path":81,"stem":82,"children":83,"page":31},"\u002Fdocs\u002Fcms\u002Fgetting-started","docs\u002Fcms\u002F1.getting-started",[84,88],{"title":85,"path":86,"stem":87},"Quickstart","\u002Fdocs\u002Fcms\u002Fgetting-started\u002Fquickstart","docs\u002Fcms\u002F1.getting-started\u002F1.quickstart",{"title":89,"path":90,"stem":91},"Keys and access","\u002Fdocs\u002Fcms\u002Fgetting-started\u002Fkeys-and-access","docs\u002Fcms\u002F1.getting-started\u002F2.keys-and-access",{"title":93,"path":94,"stem":95,"children":96,"page":31},"Content Model","\u002Fdocs\u002Fcms\u002Fcontent-model","docs\u002Fcms\u002F2.content-model",[97,101],{"title":98,"path":99,"stem":100},"Types and fields","\u002Fdocs\u002Fcms\u002Fcontent-model\u002Ftypes-and-fields","docs\u002Fcms\u002F2.content-model\u002F1.types-and-fields",{"title":102,"path":103,"stem":104},"Entries and publishing","\u002Fdocs\u002Fcms\u002Fcontent-model\u002Fentries-and-publishing","docs\u002Fcms\u002F2.content-model\u002F2.entries-and-publishing",{"title":106,"path":107,"stem":108,"children":109,"page":31},"Delivery","\u002Fdocs\u002Fcms\u002Fdelivery","docs\u002Fcms\u002F3.delivery",[110,114],{"title":111,"path":112,"stem":113},"Delivery API","\u002Fdocs\u002Fcms\u002Fdelivery\u002Fdelivery-api","docs\u002Fcms\u002F3.delivery\u002F1.delivery-api",{"title":115,"path":116,"stem":117},"Preview and live editing","\u002Fdocs\u002Fcms\u002Fdelivery\u002Fpreview","docs\u002Fcms\u002F3.delivery\u002F2.preview",{"title":119,"path":120,"stem":121,"children":122,"page":31},"Frameworks","\u002Fdocs\u002Fcms\u002Fframeworks","docs\u002Fcms\u002F4.frameworks",[123,127],{"title":124,"path":125,"stem":126},"JavaScript client","\u002Fdocs\u002Fcms\u002Fframeworks\u002Fjavascript-client","docs\u002Fcms\u002F4.frameworks\u002F1.javascript-client",{"title":128,"path":129,"stem":130},"Nuxt layer","\u002Fdocs\u002Fcms\u002Fframeworks\u002Fnuxt","docs\u002Fcms\u002F4.frameworks\u002F2.nuxt",{"title":132,"path":133,"stem":134},"Management API","\u002Fdocs\u002Fcms\u002Fmanagement-api","docs\u002Fcms\u002F5.management-api",{"title":136,"path":137,"stem":138},"Early Access","\u002Fdocs\u002Fearly-access","docs\u002Fearly-access",{"title":140,"path":141,"stem":142,"children":143},"Events API","\u002Fdocs\u002Fevents","docs\u002Fevents\u002Findex",[144,145],{"title":140,"path":141,"stem":142},{"title":11,"path":146,"stem":147,"children":148,"page":31},"\u002Fdocs\u002Fevents\u002Fgetting-started","docs\u002Fevents\u002F1.getting-started",[149,153,157],{"title":150,"path":151,"stem":152},"Subscribing","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fsubscribing","docs\u002Fevents\u002F1.getting-started\u002F1.subscribing",{"title":154,"path":155,"stem":156},"Event Delivery","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fevent-delivery","docs\u002Fevents\u002F1.getting-started\u002F2.event-delivery",{"title":158,"path":159,"stem":160},"Event Reference","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fevent-reference","docs\u002Fevents\u002F1.getting-started\u002F3.event-reference",{"title":162,"path":163,"stem":164,"children":165},"Integrations API","\u002Fdocs\u002Fintegrations","docs\u002Fintegrations\u002Findex",[166,167],{"title":162,"path":163,"stem":164},{"title":11,"path":168,"stem":169,"children":170,"page":31},"\u002Fdocs\u002Fintegrations\u002Fgetting-started","docs\u002Fintegrations\u002F1.getting-started",[171,175,179,183,187,191],{"title":172,"path":173,"stem":174},"Why Use It?","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fwhy-integrations-api","docs\u002Fintegrations\u002F1.getting-started\u002F1.why-integrations-api",{"title":176,"path":177,"stem":178},"Use Cases","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fwho-is-it-for","docs\u002Fintegrations\u002F1.getting-started\u002F2.who-is-it-for",{"title":180,"path":181,"stem":182},"Pre-built Connectors","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fpre-built-integrations","docs\u002Fintegrations\u002F1.getting-started\u002F3.pre-built-integrations",{"title":184,"path":185,"stem":186},"Custom Inbound","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fcustom-inbound-api","docs\u002Fintegrations\u002F1.getting-started\u002F4.custom-inbound-api",{"title":188,"path":189,"stem":190},"Event Lifecycle","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fevent-lifecycle","docs\u002Fintegrations\u002F1.getting-started\u002F5.event-lifecycle",{"title":192,"path":193,"stem":194},"API Endpoints","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fmanagement-api-endpoints","docs\u002Fintegrations\u002F1.getting-started\u002F6.management-api-endpoints",{"title":196,"path":197,"stem":198,"children":199},"MCP Server","\u002Fdocs\u002Fmcp","docs\u002Fmcp\u002Findex",[200,201,225,234,244],{"title":196,"path":197,"stem":198},{"title":11,"path":202,"stem":203,"children":204,"page":31},"\u002Fdocs\u002Fmcp\u002Fgetting-started","docs\u002Fmcp\u002F1.getting-started",[205,209,213,217,221],{"title":206,"path":207,"stem":208},"Claude","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fclaude","docs\u002Fmcp\u002F1.getting-started\u002F1.claude",{"title":210,"path":211,"stem":212},"Claude Code","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fclaude-code","docs\u002Fmcp\u002F1.getting-started\u002F2.claude-code",{"title":214,"path":215,"stem":216},"VS Code","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fvscode","docs\u002Fmcp\u002F1.getting-started\u002F3.vscode",{"title":218,"path":219,"stem":220},"Cursor","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fcursor","docs\u002Fmcp\u002F1.getting-started\u002F4.cursor",{"title":222,"path":223,"stem":224},"Verify the connection","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fverify","docs\u002Fmcp\u002F1.getting-started\u002F5.verify",{"title":226,"path":227,"stem":228,"children":229,"page":31},"Docs Server","\u002Fdocs\u002Fmcp\u002Fdocs-server","docs\u002Fmcp\u002F2.docs-server",[230],{"title":231,"path":232,"stem":233},"Docs server tools","\u002Fdocs\u002Fmcp\u002Fdocs-server\u002Ftools","docs\u002Fmcp\u002F2.docs-server\u002F1.tools",{"title":235,"path":236,"stem":237,"children":238},"API Server","\u002Fdocs\u002Fmcp\u002Fapi-server","docs\u002Fmcp\u002F3.api-server\u002Findex",[239,240],{"title":235,"path":236,"stem":237},{"title":241,"path":242,"stem":243},"Available tools","\u002Fdocs\u002Fmcp\u002Fapi-server\u002Ftools","docs\u002Fmcp\u002F3.api-server\u002F1.tools",{"title":245,"path":246,"stem":247,"children":248,"page":31},"Examples","\u002Fdocs\u002Fmcp\u002Fexamples","docs\u002Fmcp\u002F4.examples",[249,253,257,261,265,269],{"title":250,"path":251,"stem":252},"Exploring an API","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fexploring-an-api","docs\u002Fmcp\u002F4.examples\u002F1.exploring-an-api",{"title":254,"path":255,"stem":256},"Building a Feature","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fbuilding-a-feature","docs\u002Fmcp\u002F4.examples\u002F2.building-a-feature",{"title":258,"path":259,"stem":260},"Understanding Models","\u002Fdocs\u002Fmcp\u002Fexamples\u002Funderstanding-models","docs\u002Fmcp\u002F4.examples\u002F3.understanding-models",{"title":262,"path":263,"stem":264},"Code Review","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fcode-review","docs\u002Fmcp\u002F4.examples\u002F4.code-review",{"title":266,"path":267,"stem":268},"Combining MCP Servers","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fmulti-mcp","docs\u002Fmcp\u002F4.examples\u002F5.multi-mcp",{"title":270,"path":271,"stem":272},"Tips","\u002Fdocs\u002Fmcp\u002Fexamples\u002Ftips","docs\u002Fmcp\u002F4.examples\u002F6.tips",{"title":274,"path":275,"stem":276,"children":277,"page":31},"Storefront SDK","\u002Fdocs\u002Fstorefront-sdk","docs\u002Fstorefront-sdk",[278,290,323,338],{"title":11,"path":279,"stem":280,"children":281,"page":31},"\u002Fdocs\u002Fstorefront-sdk\u002Fgetting-started","docs\u002Fstorefront-sdk\u002F1.getting-started",[282,286],{"title":283,"path":284,"stem":285},"Installation","\u002Fdocs\u002Fstorefront-sdk\u002Fgetting-started\u002Finstallation","docs\u002Fstorefront-sdk\u002F1.getting-started\u002F1.installation",{"title":287,"path":288,"stem":289},"Configuration","\u002Fdocs\u002Fstorefront-sdk\u002Fgetting-started\u002Fconfiguration","docs\u002Fstorefront-sdk\u002F1.getting-started\u002F2.configuration",{"title":291,"path":292,"stem":293,"children":294,"page":31},"Resources","\u002Fdocs\u002Fstorefront-sdk\u002Fresources","docs\u002Fstorefront-sdk\u002F2.resources",[295,299,303,307,311,315,319],{"title":296,"path":297,"stem":298},"Products","\u002Fdocs\u002Fstorefront-sdk\u002Fresources\u002Fproducts","docs\u002Fstorefront-sdk\u002F2.resources\u002F1.products",{"title":300,"path":301,"stem":302},"Cart","\u002Fdocs\u002Fstorefront-sdk\u002Fresources\u002Fcart","docs\u002Fstorefront-sdk\u002F2.resources\u002F2.cart",{"title":304,"path":305,"stem":306},"Auth","\u002Fdocs\u002Fstorefront-sdk\u002Fresources\u002Fauth","docs\u002Fstorefront-sdk\u002F2.resources\u002F3.auth",{"title":308,"path":309,"stem":310},"Checkout & Shipping","\u002Fdocs\u002Fstorefront-sdk\u002Fresources\u002Fcheckout-shipping","docs\u002Fstorefront-sdk\u002F2.resources\u002F4.checkout-shipping",{"title":312,"path":313,"stem":314},"Orders, Returns & Reviews","\u002Fdocs\u002Fstorefront-sdk\u002Fresources\u002Forders-returns-reviews","docs\u002Fstorefront-sdk\u002F2.resources\u002F5.orders-returns-reviews",{"title":316,"path":317,"stem":318},"Customer assistant","\u002Fdocs\u002Fstorefront-sdk\u002Fresources\u002Fassistant","docs\u002Fstorefront-sdk\u002F2.resources\u002F6.assistant",{"title":320,"path":321,"stem":322},"Products in images","\u002Fdocs\u002Fstorefront-sdk\u002Fresources\u002Fproducts-in-images","docs\u002Fstorefront-sdk\u002F2.resources\u002F7.products-in-images",{"title":128,"path":324,"stem":325,"children":326,"page":31},"\u002Fdocs\u002Fstorefront-sdk\u002Fnuxt-layer","docs\u002Fstorefront-sdk\u002F3.nuxt-layer",[327,331,335],{"title":328,"path":329,"stem":330},"Overview","\u002Fdocs\u002Fstorefront-sdk\u002Fnuxt-layer\u002Foverview","docs\u002Fstorefront-sdk\u002F3.nuxt-layer\u002F1.overview",{"title":332,"path":333,"stem":334},"Composables","\u002Fdocs\u002Fstorefront-sdk\u002Fnuxt-layer\u002Fcomposables","docs\u002Fstorefront-sdk\u002F3.nuxt-layer\u002F2.composables",{"title":316,"path":336,"stem":337},"\u002Fdocs\u002Fstorefront-sdk\u002Fnuxt-layer\u002Fassistant","docs\u002Fstorefront-sdk\u002F3.nuxt-layer\u002F3.assistant",{"title":67,"path":339,"stem":340,"children":341,"page":31},"\u002Fdocs\u002Fstorefront-sdk\u002Fnextjs","docs\u002Fstorefront-sdk\u002F4.nextjs",[342,345,349,353],{"title":328,"path":343,"stem":344},"\u002Fdocs\u002Fstorefront-sdk\u002Fnextjs\u002Foverview","docs\u002Fstorefront-sdk\u002F4.nextjs\u002F1.overview",{"title":346,"path":347,"stem":348},"Hooks","\u002Fdocs\u002Fstorefront-sdk\u002Fnextjs\u002Fhooks","docs\u002Fstorefront-sdk\u002F4.nextjs\u002F2.hooks",{"title":350,"path":351,"stem":352},"Server helpers and proxy","\u002Fdocs\u002Fstorefront-sdk\u002Fnextjs\u002Fserver","docs\u002Fstorefront-sdk\u002F4.nextjs\u002F3.server",{"title":354,"path":355,"stem":356},"Components","\u002Fdocs\u002Fstorefront-sdk\u002Fnextjs\u002Fcomponents","docs\u002Fstorefront-sdk\u002F4.nextjs\u002F4.components",{"id":358,"title":75,"body":359,"description":752,"extension":753,"links":754,"meta":755,"navigation":763,"path":76,"seo":764,"stem":77,"__hash__":765},"docs\u002Fdocs\u002Fcms\u002Findex.md",{"type":360,"value":361,"toc":743},"minimark",[362,366,369,388,393,513,517,599,609,613,654,662,666,670,720,724],[363,364,365],"p",{},"Avvyr CMS is a headless CMS built into Avvyr. Editors build pages from blocks, write articles and manage navigation in the Avvyr app. Your site reads the published content as JSON over a fast, fully cacheable delivery API.",[363,367,368],{},"It is independent of the Storefront API: a site can use the CMS for content and the Storefront API for products, or the CMS on its own.",[370,371,373,374,378,379,383,384,387],"callout",{"icon":372},"i-lucide-puzzle","Avvyr CMS is an ",[375,376,377],"strong",{},"add-on",". Without it, every call under ",[380,381,382],"code",{},"\u002Fv1\u002Fcms"," returns ",[380,385,386],{},"403 ADDON_NOT_AVAILABLE",". Ask your Avvyr contact to turn it on.",[389,390,392],"h2",{"id":391},"concepts","Concepts",[394,395,396,409],"table",{},[397,398,399],"thead",{},[400,401,402,406],"tr",{},[403,404,405],"th",{},"Concept",[403,407,408],{},"What it is",[410,411,412,427,449,463,473,486,503],"tbody",{},[400,413,414,420],{},[415,416,417],"td",{},[375,418,419],{},"Site",[415,421,422,423,426],{},"One website. Has its own languages, delivery keys, preview URL and a content ",[375,424,425],{},"version"," that goes up on every publish. A tenant can have several sites.",[400,428,429,434],{},[415,430,431],{},[375,432,433],{},"Type",[415,435,436,437,440,441,444,445,448],{},"A schema. An ",[375,438,439],{},"entry type"," describes something editors create (a page, an article, the navigation). A ",[375,442,443],{},"block type"," describes a section that goes inside a ",[380,446,447],{},"blocks"," field (a hero, an image grid, an FAQ).",[400,450,451,456],{},[415,452,453],{},[375,454,455],{},"Field",[415,457,458,459,462],{},"One value on a type: text, rich text, media, link, reference, blocks, object and more. Any field can be ",[375,460,461],{},"localized",".",[400,464,465,470],{},[415,466,467],{},[375,468,469],{},"Entry",[415,471,472],{},"One piece of content of an entry type. Has a draft and, once published, a published version.",[400,474,475,480],{},[415,476,477],{},[375,478,479],{},"Folder",[415,481,482,483,462],{},"Groups entries and gives them a URL segment, e.g. ",[380,484,485],{},"\u002Fblog",[400,487,488,493],{},[415,489,490],{},[375,491,492],{},"Singleton",[415,494,495,496,499,500,462],{},"An entry type with exactly one entry per site, e.g. ",[380,497,498],{},"navigation"," or ",[380,501,502],{},"settings",[400,504,505,510],{},[415,506,507],{},[375,508,509],{},"Routable",[415,511,512],{},"An entry type whose entries have a path and become pages on the site.",[389,514,516],{"id":515},"two-apis","Two APIs",[394,518,519,529],{},[397,520,521],{},[400,522,523,525,527],{},[403,524],{},[403,526,132],{},[403,528,111],{},[410,530,531,546,561,577,588],{},[400,532,533,536,541],{},[415,534,535],{},"Base path",[415,537,538],{},[380,539,540],{},"https:\u002F\u002Fapi.avvyr.com\u002Fv1\u002Fcms",[415,542,543],{},[380,544,545],{},"https:\u002F\u002Fapi.avvyr.com\u002Fv1\u002Fcontent\u002F{siteId}",[400,547,548,551,558],{},[415,549,550],{},"Used by",[415,552,553,554,557],{},"The Avvyr app, scripts, migrations, CI (",[380,555,556],{},"avvyr-cms push",")",[415,559,560],{},"Your site",[400,562,563,565,571],{},[415,564,304],{},[415,566,567,568],{},"Avvyr API key in ",[380,569,570],{},"x-api-key",[415,572,573,574],{},"The site's delivery key in ",[380,575,576],{},"x-cms-key",[400,578,579,582,585],{},[415,580,581],{},"Reads",[415,583,584],{},"Drafts and everything else",[415,586,587],{},"Published content (drafts with the preview key)",[400,589,590,593,596],{},[415,591,592],{},"Writes",[415,594,595],{},"Sites, types, folders, entries, publishing",[415,597,598],{},"Never",[363,600,601,602,605,606,462],{},"The delivery API serves everything under a version number, ",[380,603,604],{},"\u002Fv\u002F{version}\u002F...",", and those responses never change. Your CDN and the browser can cache them for a year, and a publish shows up as soon as the site asks for the new version. See ",[607,608,111],"a",{"href":112},[389,610,612],{"id":611},"packages","Packages",[394,614,615,624],{},[397,616,617],{},[400,618,619,622],{},[403,620,621],{},"Package",[403,623,408],{},[410,625,626,644],{},[400,627,628,633],{},[415,629,630],{},[380,631,632],{},"@avvyr\u002Fcms",[415,634,635,636,639,640,643],{},"Framework-agnostic delivery client, schema-as-code (",[380,637,638],{},"defineType","), the ",[380,641,642],{},"avvyr-cms"," CLI and helpers for media and rich text. Node 18+ and the browser.",[400,645,646,651],{},[415,647,648],{},[380,649,650],{},"@avvyr\u002Fcms-nuxt",[415,652,653],{},"Nuxt 4 layer. Keeps the whole published site in server memory, and adds composables, a block renderer, rich text, responsive images, preview, live preview and a sitemap helper.",[363,655,656,657,659,660,462],{},"There is no Next.js package yet. On other frameworks, use ",[380,658,632],{}," on the server and map block types to your own components; see ",[607,661,124],{"href":125},[370,663,665],{"icon":664},"i-lucide-package","Ask your Avvyr contact for access to the packages before you start.",[389,667,669],{"id":668},"what-is-not-in-the-cms","What is not in the CMS",[671,672,673,680,686,707],"ul",{},[674,675,676,679],"li",{},[375,677,678],{},"Product data."," Products, prices and stock come from the Storefront API. Link to them from your own components.",[674,681,682,685],{},[375,683,684],{},"Redirects."," Handle redirects in your site's middleware.",[674,687,688,691,692,695,696,699,700,703,704,462],{},[375,689,690],{},"SEO fields out of the box."," Add them to your types; the convention is an ",[380,693,694],{},"object"," field called ",[380,697,698],{},"seo"," with ",[380,701,702],{},"title"," and ",[380,705,706],{},"description",[674,708,709,712,713,716,717,719],{},[375,710,711],{},"Webhooks on publish."," Not delivered yet. Poll ",[380,714,715],{},"GET \u002Fversion"," (cheap and cached for 5 seconds), as ",[380,718,650],{}," does.",[389,721,723],{"id":722},"next-steps","Next steps",[671,725,726,731,735,739],{},[674,727,728,730],{},[607,729,85],{"href":86},": create a site, a type and a page, then read it back",[674,732,733],{},[607,734,89],{"href":90},[674,736,737],{},[607,738,98],{"href":99},[674,740,741],{},[607,742,128],{"href":129},{"title":744,"searchDepth":745,"depth":745,"links":746},"",2,[747,748,749,750,751],{"id":391,"depth":745,"text":392},{"id":515,"depth":745,"text":516},{"id":611,"depth":745,"text":612},{"id":668,"depth":745,"text":669},{"id":722,"depth":745,"text":723},"Headless content for your site's pages, navigation and editorial content, built into Avvyr","md",null,{"questions":756,"icon":762},{"en":757},[758,759,760,761],"What is the difference between the Management API and the delivery API?","Which key do I use to read published content?","How do I define content types in code?","How does live preview work with my site?","i-lucide-layout-template",true,{"title":75,"description":752},"9F0uZiKtYUiuOCGFh6oG2cbLTFqzO6-65RMRqvBx9dU",[767,769],{"title":71,"path":72,"stem":73,"description":768,"children":-1},"Responsive srcset and direct URL construction",{"title":85,"path":86,"stem":87,"description":770,"children":-1},"Create a site, define a page type, publish a page and read it from the delivery API",1793388936124]