WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.
Cosmo enables teams and organizations to manage and scale (federated) GraphQL architectures with ease. Quickly iterate without breaking anything through composition checks.WunderGraph Cosmo can easily run locally, on-premises, or in the cloud as a managed service. Cosmo is a batteries-included solution, covering everything from routing to analytics.Cosmo supports monolithic GraphQL APIs as well as Federation v1 and v2, including Subscriptions.
The Cosmo command line interface, referred to as wgc, plays a crucial role in managing the Cosmo platform. Its functions include pushing schemas, validating schemas, initiating new projects, and managing users, among others. It communicates directly with the Control Plane to perform these operations.
Control Plane
The Control Plane forms the heart of the Cosmo platform and comprises two core elements: The Platform API and the Node API. The Platform API is utilized by the Cosmo CLI tool and Studio for platform management. On the other hand, the Node API facilitates fleet-specific operations, carried out by the Router nodes.
Router
The Router is the component that understands the GraphQL Federation protocol. It is responsible for routing requests to the correct subgraphs and for aggregating the responses. While it maintains a connection with the Control Plane, its operation is independent and does not depend on the Control Plane’s functionality for maximum availability.
Studio
The Studio serves as the web interface for the Cosmo platform, providing a user-friendly medium for platform management and collaboration on GraphQL Federation. It maintains a connection with the Control Plane through the admin API, enabling efficient platform management.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"WunderGraph","colors":{"primary":"#ea4899","light":"#ea4899","dark":"#ea4899"},"logo":{"light":"https://mintcdn.com/wundergraphinc/Lko791L3Kvuj3JHY/logo/light.svg?fit=max\u0026auto=format\u0026n=Lko791L3Kvuj3JHY\u0026q=85\u0026s=1877cdae169b31d438adf776ae7087f9","dark":"https://mintcdn.com/wundergraphinc/YDoaRPXJqqOa7ihg/logo/dark.svg?fit=max\u0026auto=format\u0026n=YDoaRPXJqqOa7ihg\u0026q=85\u0026s=2b2590e1246dbcde54be6f257ddc7885","href":"https://cosmo-docs.wundergraph.com/"},"favicon":"https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/favicon.png?fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=5c8f87531fa87214946d81c914c93efc","appearance":{"default":"dark"},"background":{"decoration":"windows"},"navbar":{"links":[{"href":"https://cosmo.wundergraph.com/login","label":"Cloud Login"}],"primary":{"type":"button","label":"Talk to an Expert","href":"https://wundergraph.com/contact/sales"}},"footer":{"socials":{"x":"https://twitter.com/wundergraphcom","discord":"https://wundergraph.com/discord","github":"https://github.com/wundergraph","youtube":"https://www.youtube.com/@wundergraph"},"links":[{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://wundergraph.com/privacy-policy"},{"label":"Cookie Policy","href":"https://wundergraph.com/cookies"},{"label":"Website Terms","href":"https://wundergraph.com/terms"},{"label":"Cosmo Managed Terms","href":"https://wundergraph.com/cosmo-managed-service-terms"}]},{"header":"Trust","items":[{"label":"Trust Center","href":"https://trust.wundergraph.com/"}]}]},"fonts":{"heading":{"family":"Inter"},"body":{"family":"Inter"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":false},"integrations":{"gtm":{"tagId":"GTM-5GPL7DQH"},"koala":{"publicApiKey":"pk_c7477bfbf86479d918562f7add220a2d7098"},"posthog":{"apiKey":"phc_CEnvoyw3KcTuC5E1seDPrgvAamgGRDLfzPi1e7RU1G1","apiHost":"https://eu.i.posthog.com"},"plausible":{"domain":"cosmo-docs.wundergraph.com"}},"banner":{"content":"Help map how teams scale Federated GraphQL in the State of Federation 2026 Survey. We donate $30 to UNICEF per response → [Take the survey](https://8bxwlo3ot55.typeform.com/to/zIJKRQUe).","dismissible":false},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Platform Status","icon":"signal","href":"https://status.wundergraph.com/"},{"anchor":"GitHub","icon":"github","href":"https://github.com/wundergraph/cosmo"},{"anchor":"Blog","icon":"newspaper","href":"https://wundergraph.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"wundergraphinc","hasAudioNarration":false,"actualSubdomain":"wundergraphinc","customDomains":["cosmo-docs.wundergraph.com"],"gitSource":{"type":"github","owner":"wundergraph","repo":"cosmo","deployBranch":"main","contentDirectory":"docs-website","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf5f00737ceb5e710907cf","collectionId":"fe9849de-93a3-4337-8cac-2f4604e1f2ae","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf5f00737ceb5e710907cf"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf5f00737ceb5e710907cf","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Documentation","count":220},{"language":"default","tag":"CLI","count":214},{"language":"default","tag":"Router","count":124},{"language":"default","tag":"Studio","count":56},{"language":"default","tag":"Tutorials","count":26},{"language":"default","tag":"GraphQL / Federation","count":24},{"language":"default","tag":"Directives","count":17},{"language":"default","tag":"Cosmo Connect","count":15},{"language":"default","tag":"Monograph","count":14},{"language":"default","tag":"Subgraph","count":14}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".osano-cm-dialog--type_box{border-radius:.375rem}.osano-cm-dialog--type_box,.osano-cm-info{--box-shadow:0 10px 15px -3px rgb(248 248 251 / 0.3),\n 0 4px 6px -4px rgb(248 248 251 / 0.3);-webkit-box-shadow:var(--box-shadow);-moz-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}.osano-cm-widget:focus{outline:0}"}],"page":{"pagePath":"overview","slug":"/overview","pageMetadata":{"title":"WunderGraph Cosmo","description":"WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.","icon":"note","href":"/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,OptimizedImage}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-1.png?fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=95dcd2c96571f78a43002c1d3220daf1`,\"data-og-width\":`477`,width:`477`,\"data-og-height\":`598`,height:`598`,\"data-path\":`images/image-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=a9bfc3e13d7e489bf5b41d2f5b691752 280w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=f523fb3bbedd9edd154ec5fdac26ed24 560w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=dc3eabf9b170aa7324dd09c70fd5bce2 840w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=299bb9d067b2c3945688866272f9ba06 1100w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=89881902979fbd454e44ee617c8181c8 1650w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=cb71ebeacbaf1f1a46ff4b05af94da36 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`built-for-any-scale`,children:`Built for any scale`}),`\n`,_jsx(_components.p,{children:`Cosmo enables teams and organizations to manage and scale (federated) GraphQL architectures with ease. Quickly iterate without breaking anything through composition checks.`}),`\n`,_jsx(_components.p,{children:`WunderGraph Cosmo can easily run locally, on-premises, or in the cloud as a managed service. Cosmo is a batteries-included solution, covering everything from routing to analytics.`}),`\n`,_jsx(_components.p,{children:`Cosmo supports monolithic GraphQL APIs as well as Federation v1 and v2, including Subscriptions.`}),`\n`,_jsx(Frame,{caption:`The Core Components`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-2.png?fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=8cc2e8afbb9aecbefd2eb8b34c189bba`,\"data-og-width\":`1720`,width:`1720`,\"data-og-height\":`1276`,height:`1276`,\"data-path\":`images/image-2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-2.png?w=280\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=a464c61502bf0210c69aa958655254ec 280w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-2.png?w=560\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=bdffe4a4ef72717581c8158caa0683b6 560w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-2.png?w=840\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=29eccaf4ecd5b79b993fab523c97ad9c 840w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=1e76c006a2add64a79451b3e1748893b 1100w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=bc76ea6f56e712c7fc6bd00d0cf8ad9e 1650w, https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/images/image-2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=9e4ca083103a35069edfd05cea0393ad 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`the-cosmo-stack`,children:_jsx(_components.strong,{children:`The Cosmo stack`})}),`\n`,_jsxs(CardGroup,{children:[_jsx(Card,{title:`CLI`,icon:`terminal`,href:`/cli/intro`,children:_jsxs(_components.p,{children:[`The Cosmo command line interface, referred to as `,_jsx(_components.code,{children:`wgc`}),`, plays a crucial role in managing the Cosmo platform. Its functions include pushing schemas, validating schemas, initiating new projects, and managing users, among others. It communicates directly with the Control Plane to perform these operations.`]})}),_jsx(Card,{title:`Control Plane`,icon:`server`,href:`/control-plane/intro`,children:_jsx(_components.p,{children:`The Control Plane forms the heart of the Cosmo platform and comprises two core elements: The Platform API and the Node API. The Platform API is utilized by the Cosmo CLI tool and Studio for platform management. On the other hand, the Node API facilitates fleet-specific operations, carried out by the Router nodes.`})}),_jsx(Card,{title:`Router`,icon:`router`,href:`/router/intro`,children:_jsx(_components.p,{children:`The Router is the component that understands the GraphQL Federation protocol. It is responsible for routing requests to the correct subgraphs and for aggregating the responses. While it maintains a connection with the Control Plane, its operation is independent and does not depend on the Control Plane’s functionality for maximum availability.`})}),_jsx(Card,{title:`Studio`,icon:`microphone-lines`,href:`/studio/intro`,children:_jsx(_components.p,{children:`The Studio serves as the web interface for the Cosmo platform, providing a user-friendly medium for platform management and collaboration on GraphQL Federation. It maintains a connection with the Control Plane through the admin API, enabling efficient platform management.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"WunderGraph Cosmo","description":"WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.","icon":"note","href":"/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Built for any scale","slug":"built-for-any-scale","depth":2,"children":[]},{"title":"The Cosmo stack","slug":"the-cosmo-stack","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/wundergraphinc/c20d56ed2ea5ad45/analytics.js","/_mintlify/custom/wundergraphinc/0a55a31d9c045e90/osano.js"],"subdomain":"wundergraphinc","siteName":"WunderGraph","title":"WunderGraph Cosmo - WunderGraph","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-27T08:07:27.003Z","originalFileLocation":"overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.\">\u003cmeta data-mint-head name=\"application-name\" content=\"WunderGraph\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"WunderGraph Cosmo - WunderGraph\">\u003cmeta data-mint-head property=\"og:description\" content=\"WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"WunderGraph\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://cosmo-docs.wundergraph.com/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://wundergraphinc.mintlify.app/_mintlify/api/og/v2?division=+\u0026amp;title=WunderGraph+Cosmo\u0026amp;description=WunderGraph+Cosmo+is+the+Full+Lifecycle+GraphQL+API+Management+Solution+to+manage+Federated+Graphs+at+scale.+Composition+checks%2C+routing%2C+analytics%2C+and+distrib\u0026amp;theme=bec8a9a9f4ab1a77bed38caa\u0026amp;signature=4beb21faa0cf97b29fbdc4a7e3fed17c4f14f758e16eced602e55b52e969ab3b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"WunderGraph Cosmo - WunderGraph\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://wundergraphinc.mintlify.app/_mintlify/api/og/v2?division=+\u0026amp;title=WunderGraph+Cosmo\u0026amp;description=WunderGraph+Cosmo+is+the+Full+Lifecycle+GraphQL+API+Management+Solution+to+manage+Federated+Graphs+at+scale.+Composition+checks%2C+routing%2C+analytics%2C+and+distrib\u0026amp;theme=bec8a9a9f4ab1a77bed38caa\u0026amp;signature=4beb21faa0cf97b29fbdc4a7e3fed17c4f14f758e16eced602e55b52e969ab3b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"WunderGraph\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ea4899\">\u003clink data-mint-head rel=\"canonical\" href=\"https://cosmo-docs.wundergraph.com/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://cosmo-docs.wundergraph.com/#organization\",\"name\":\"WunderGraph\",\"url\":\"https://cosmo-docs.wundergraph.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/wundergraphinc/Lko791L3Kvuj3JHY/logo/light.svg?fit=max\u0026auto=format\u0026n=Lko791L3Kvuj3JHY\u0026q=85\u0026s=1877cdae169b31d438adf776ae7087f9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://cosmo-docs.wundergraph.com#website\",\"name\":\"WunderGraph\",\"url\":\"https://cosmo-docs.wundergraph.com\",\"publisher\":{\"@id\":\"https://cosmo-docs.wundergraph.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://cosmo-docs.wundergraph.com/overview#webpage\",\"url\":\"https://cosmo-docs.wundergraph.com/overview\",\"name\":\"WunderGraph Cosmo\",\"description\":\"WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.\",\"dateModified\":\"2026-01-27T08:07:27.003Z\",\"isPartOf\":{\"@id\":\"https://cosmo-docs.wundergraph.com#website\"},\"breadcrumb\":{\"@id\":\"https://cosmo-docs.wundergraph.com/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://cosmo-docs.wundergraph.com/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"WunderGraph\",\"item\":\"https://cosmo-docs.wundergraph.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WunderGraph Cosmo\",\"item\":\"https://cosmo-docs.wundergraph.com/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://cosmo-docs.wundergraph.com/overview#article\",\"headline\":\"WunderGraph Cosmo\",\"name\":\"WunderGraph Cosmo\",\"description\":\"WunderGraph Cosmo is the Full Lifecycle GraphQL API Management Solution to manage Federated Graphs at scale. Composition checks, routing, analytics, and distributed tracing all in one platform.\",\"url\":\"https://cosmo-docs.wundergraph.com/overview\",\"mainEntityOfPage\":{\"@id\":\"https://cosmo-docs.wundergraph.com/overview#webpage\"},\"dateModified\":\"2026-01-27T08:07:27.003Z\",\"publisher\":{\"@id\":\"https://cosmo-docs.wundergraph.com/#organization\"},\"isPartOf\":{\"@id\":\"https://cosmo-docs.wundergraph.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"WunderGraph\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"WunderGraph","nav":{"global":{"anchors":[{"anchor":"Platform Status","icon":"signal","href":"https://status.wundergraph.com/"},{"anchor":"GitHub","icon":"github","href":"https://github.com/wundergraph/cosmo"},{"anchor":"Blog","icon":"newspaper","href":"https://wundergraph.com/blog"}]},"tabs":[{"tab":"Documentation","icon":"book-open","groups":[{"group":" ","pages":[{"title":"WunderGraph Cosmo","icon":"note","href":"/overview"},{"title":"Architecture","description":"High-level architecture of the Cosmo Platform","icon":"archway","href":"/architecture"},{"title":"Enterprise","icon":"building-memo","href":"/enterprise"},{"title":"Security \u0026 Compliance","icon":"lock","href":"/security-and-compliance"},{"title":"Self Hosting","icon":"note","href":"/self-hosted"}]},{"group":"Getting Started","pages":[{"title":"Cosmo Cloud Onboarding","icon":"cloud-sun","href":"/getting-started/cosmo-cloud-onboarding"},{"title":"Switch from Apollo to Cosmo","icon":"rotate","href":"/getting-started/switch-from-apollo-to-cosmo"},{"title":"Mastering Local Development for GraphQL Federation","icon":"code","href":"/tutorial/mastering-local-development-for-graphql-federation"}]},{"group":"Concepts","pages":[{"title":"Proposals","icon":"file-circle-plus","href":"/concepts/proposals"},{"title":"Feature Flags","icon":"flag","href":"/concepts/feature-flags"},{"title":"Namespaces","icon":"object-ungroup","href":"/concepts/namespaces"},{"title":"Schema Contracts","icon":"file-signature","href":"/concepts/schema-contracts"},{"title":"Cache Warmer","icon":"fire","href":"/concepts/cache-warmer"},{"title":"Router Compatibility Versions","icon":"handshake","href":"/concepts/router-compatibility-versions"}]},{"group":"Cosmo Connect","pages":[{"title":"Overview","icon":"circle-info","href":"/connect/overview"},{"title":"Router Plugins","icon":"plug","href":"/connect/plugins"},{"title":"gRPC Services","icon":"server","href":"/connect/grpc-services"}]},{"group":"Cosmo ConnectRPC","pages":[{"title":"Overview","icon":"circle-info","href":"/connect-rpc/overview"},{"title":"Define Contracts","icon":"scroll","href":"/connect-rpc/produce-define-contracts"},{"title":"Configure Router","icon":"gears","href":"/connect-rpc/produce-configure-router"},{"title":"Generate \u0026 Distribute SDKs","icon":"wand-magic-sparkles","href":"/connect-rpc/produce-generate-distribute-sdks"},{"title":"Consume SDKs","icon":"brackets-curly","href":"/connect-rpc/consume-via-sdks"},{"title":"Consume REST / OpenAPI","icon":"arrow-right-arrow-left","href":"/connect-rpc/consume-via-rest-openapi"},{"title":"Consume gRPC","icon":"tower-broadcast","href":"/connect-rpc/consume-via-grpc"}]},{"group":"Router","pages":[{"title":"Cosmo Router","icon":"door-open","href":"/router/intro"},{"title":"Download \u0026 Install","icon":"sign-posts-wrench","href":"/router/download-and-install"},{"group":"Configuration","icon":"sliders-up","pages":[{"title":"Router Configuration","icon":"circle-info","sidebarTitle":"Overview","href":"/router/configuration"},{"title":"Configuration Design","icon":"ruler-combined","href":"/router/configuration/config-design"},{"title":"Template Expressions","icon":"brackets-curly","href":"/router/configuration/template-expressions"}]},{"group":"MCP Gateway","icon":"robot","pages":[{"title":"MCP Gateway","icon":"robot","href":"/router/mcp"},{"title":"Quickstart","icon":"rocket","href":"/router/mcp/quickstart"},{"title":"Tools","icon":"wrench","href":"/router/mcp/tools"},{"title":"Configuration","icon":"sliders-up","href":"/router/mcp/configuration"},{"group":"OAuth 2.1","icon":"shield-check","pages":[{"title":"Overview","icon":"shield-check","href":"/router/mcp/oauth/overview"},{"title":"OAuth Quickstart","icon":"rocket","href":"/router/mcp/oauth/quickstart"},{"title":"Scope Enforcement","icon":"layer-group","href":"/router/mcp/oauth/scopes"},{"title":"OAuth Configuration Reference","icon":"sliders-up","href":"/router/mcp/oauth/configuration"}]},{"title":"IDE \u0026 AI Tool Setup","icon":"display-code","href":"/router/mcp/ide-setup"}]},{"group":"Custom Modules","icon":"cubes","pages":[{"title":"Overview","icon":"cubes","href":"/router/custom-modules"},{"title":"Migration: Request Deduplication","icon":"arrows-turn-right","href":"/router/custom-modules-migration"}]},{"group":"Cosmo Connect","icon":"network-wired","pages":[{"title":"Overview","icon":"lightbulb","sidebarTitle":"Overview","href":"/router/gRPC/concepts"},{"group":"Plugins","icon":"plug","pages":[{"title":"Plugins","sidebarTitle":"Overview","icon":"circle-info","href":"/router/gRPC/plugins"},{"title":"Debugging","sidebarTitle":"Debugging","icon":"bug","href":"/router/gRPC/plugins/debugging"},{"group":"Go Plugins","icon":"golang","pages":[{"title":"Go Plugins","icon":"circle-info","sidebarTitle":"Overview","href":"/router/gRPC/plugins/go-plugin/overview"},{"title":"HTTP Client","sidebarTitle":"HTTP Client","icon":"diagram-project","href":"/router/gRPC/plugins/go-plugin/http-client"},{"title":"Telemetry","sidebarTitle":"Telemetry","icon":"binary-circle-check","href":"/router/gRPC/plugins/go-plugin/telemetry"},{"title":"Logging","icon":"file-lines","href":"/router/gRPC/plugins/go-plugin/logging"}]},{"group":"TypeScript Plugins","icon":"t","pages":[{"title":"TypeScript Plugins","icon":"circle-info","sidebarTitle":"Overview","href":"/router/gRPC/plugins/ts-plugin/overview"}]}]},{"title":"gRPC Services","sidebarTitle":"gRPC Services","icon":"server","href":"/router/gRPC/grpc-services"},{"title":"GraphQL Support","icon":"shield-check","href":"/router/gRPC/graphql-support"},{"title":"Field Resolvers","sidebarTitle":"Field Resolvers","icon":"function","href":"/router/gRPC/field-resolvers"},{"title":"@requires","sidebarTitle":"@requires","icon":"link","href":"/router/gRPC/requires"}]},{"title":"Authentication \u0026 Authorization","icon":"camera-cctv","href":"/router/authentication-and-authorization"},{"title":"Advanced Data Privacy","icon":"fingerprint","href":"/router/advanced-data-privacy"},{"group":"Subscriptions","icon":"webhook","pages":[{"title":"Subscriptions","icon":"circle-info","sidebarTitle":"Overview","href":"/router/subscriptions"},{"title":"Server Sent Events (SSE)","icon":"server","href":"/router/subscriptions/server-sent-events-sse"},{"title":"Multipart HTTP Requests","icon":"network-wired","href":"/router/subscriptions/multipart-http-requests"},{"title":"Websocket Subprotocols","icon":"plug","href":"/router/subscriptions/websocket-subprotocols"},{"title":"Subscriptions Configuration","icon":"router","sidebarTitle":"Configuration","href":"/router/subscriptions/router-configuration-for-subscriptions"},{"title":"Migration: Subscriptions Overhaul","icon":"arrows-turn-right","href":"/router/subscriptions-migration"}]},{"group":"Defer","icon":"forward-step","pages":[{"title":"Defer","icon":"forward-step","sidebarTitle":"Overview","href":"/router/defer"},{"title":"Using @defer","icon":"code","sidebarTitle":"Usage and Examples","href":"/router/defer/usage"},{"title":"How the Router Executes @defer","icon":"diagram-project","sidebarTitle":"How It Works","href":"/router/defer/how-it-works"},{"title":"When to Use @defer","icon":"scale-balanced","sidebarTitle":"When to Use","href":"/router/defer/when-to-use"}]},{"group":"Persisted Queries","icon":"cloud-binary","pages":[{"title":"Persisted Queries","icon":"circle-info","sidebarTitle":"Overview","href":"/router/persisted-queries"},{"title":"Persisted Operations","icon":"database","href":"/router/persisted-queries/persisted-operations"},{"title":"Automatic Persisted Queries (APQ)","icon":"bolt","href":"/router/persisted-queries/automatic-persisted-queries-apq"}]},{"group":"Open Telemetry","icon":"binary-circle-check","pages":[{"title":"Open Telemetry","sidebarTitle":"Overview","icon":"circle-info","href":"/router/open-telemetry"},{"title":"Custom Attributes","icon":"globe","href":"/router/open-telemetry/custom-attributes"},{"title":"Prometheus OTLP Ingestion","icon":"gauge-high","href":"/router/open-telemetry/prometheus-otlp-ingestion"},{"title":"Setup OpenTelemetry Collector","icon":"server","href":"/router/open-telemetry/setup-opentelemetry-collector"},{"title":"Dynatrace","icon":"server","href":"/router/open-telemetry/dynatrace"}]},{"group":"Metrics \u0026 Monitoring","icon":"projector","pages":[{"title":"Metrics \u0026 Monitoring","sidebarTitle":"Overview","icon":"circle-info","href":"/router/metrics-and-monitoring"},{"title":"Span Error Status \u0026 Error Metrics","sidebarTitle":"Span Error Status","icon":"triangle-exclamation","href":"/router/metrics-and-monitoring/span-error-status"},{"title":"Exemplars","sidebarTitle":"Exemplars","icon":"crosshairs","href":"/router/metrics-and-monitoring/exemplars"},{"title":"Prometheus Metric Reference","icon":"gauge-high","href":"/router/metrics-and-monitoring/prometheus-metric-reference"},{"title":"Grafana","icon":"chart-line","href":"/router/metrics-and-monitoring/grafana"}]},{"group":"Proxy capabilities","icon":"bridge-circle-check","pages":[{"title":"Proxy Capabilities","icon":"circle-info","sidebarTitle":"Overview","href":"/router/proxy-capabilities"},{"title":"Subgraph Request Headers Operations","icon":"arrow-right-to-bracket","href":"/router/proxy-capabilities/subgraph-request-header-operations"},{"title":"Subgraph Response Header Operations","icon":"arrow-right-from-bracket","href":"/router/proxy-capabilities/subgraph-response-header-operations"},{"title":"Forward Client Extensions","icon":"share-nodes","href":"/router/proxy-capabilities/forward-client-extensions"},{"title":"Adjusting Cache Control","icon":"clock","href":"/router/proxy-capabilities/adjusting-cache-control"},{"title":"Override Subgraph Config","icon":"sliders","href":"/router/proxy-capabilities/override-subgraph-config"},{"title":"Router Response Header Operations","icon":"arrow-right-from-bracket","href":"/router/proxy-capabilities/router-response-header-operations"}]},{"group":"Traffic shaping","icon":"road-circle-check","pages":[{"title":"Traffic Shaping","icon":"circle-info","sidebarTitle":"Overview","href":"/router/traffic-shaping"},{"title":"Retry","icon":"arrow-rotate-left","href":"/router/traffic-shaping/retry"},{"title":"Timeout","icon":"clock","href":"/router/traffic-shaping/timeout"},{"title":"Circuit Breaker","icon":"plug-circle-bolt","href":"/router/traffic-shaping/circuit-breaker"}]},{"title":"Storage Providers","icon":"cabinet-filing","href":"/router/storage-providers"},{"group":"Deployment","icon":"truck-ramp-couch","pages":[{"title":"Deployment","sidebarTitle":"Overview","icon":"circle-info","href":"/router/deployment"},{"title":"Config Hot Reload","icon":"arrows-rotate","href":"/router/deployment/config-hot-reload"}]},{"group":"Security","icon":"shield-quartered","pages":[{"title":"Security","sidebarTitle":"Overview","icon":"circle-info","href":"/router/security"},{"title":"TLS","icon":"shield-halved","href":"/router/security/tls"},{"title":"Config Validation \u0026 Signing","icon":"signature","href":"/router/security/config-validation-and-signing"},{"title":"Hardening Guide","icon":"book","href":"/router/security/hardening-guide"},{"title":"Cost Control","icon":"scale-balanced","href":"/router/security/cost-control"},{"title":"Validate Inline Arguments","icon":"shield-halved","href":"/router/security/validate-inline-arguments"}]},{"group":"Development","icon":"flask-round-potion","pages":[{"title":"Development","icon":"circle-info","sidebarTitle":"Overview","href":"/router/development"},{"title":"Debugging","icon":"bug","href":"/router/development/debugging"},{"title":"Development Mode","icon":"code","href":"/router/development/development-mode"}]},{"title":"Response Cache (Experimental)","icon":"boxes-stacked","href":"/router/response-cache"},{"title":"Request Deduplication","icon":"clone","href":"/router/request-deduplication"},{"title":"Performance Debugging","icon":"gauge-high","href":"/router/performance-debugging"},{"title":"Advanced Request Tracing (ART)","icon":"stars","href":"/router/advanced-request-tracing-art"},{"group":"Query Plan","icon":"file-contract","pages":[{"title":"Query Plan","icon":"circle-info","sidebarTitle":"Overview","href":"/router/query-plan"},{"title":"Batch Generate Query Plans","icon":"layer-group","href":"/router/query-plan/batch-generate-query-plans"}]},{"group":"Cosmo Streams (EDFS)","icon":"wave","pages":[{"title":"Cosmo Streams (EDFS)","icon":"circle-info","sidebarTitle":"Overview","href":"/router/cosmo-streams"},{"group":"NATS","icon":"puzzle-piece","pages":[{"title":"NATS","sidebarTitle":"Overview","icon":"circle-info","href":"/router/cosmo-streams/nats"},{"title":"Stream And Consumer Configuration","icon":"wave","href":"/router/cosmo-streams/nats/stream-and-consumer-configuration"}]},{"title":"Kafka","icon":"sitemap","href":"/router/cosmo-streams/kafka"},{"title":"Redis","icon":"sitemap","href":"/router/cosmo-streams/redis"},{"group":"Custom Modules","icon":"cubes","pages":[{"title":"Custom Modules","sidebarTitle":"Overview","icon":"circle-info","href":"/router/cosmo-streams/custom-modules"},{"title":"SubscriptionOnCreate Handler","icon":"circle-plus","href":"/router/cosmo-streams/custom-modules/subscription-on-create"},{"title":"SubscriptionOnStart Handler","icon":"circle-play","href":"/router/cosmo-streams/custom-modules/subscription-on-start"},{"title":"BeforeEventsDispatch Handler","icon":"split","href":"/router/cosmo-streams/custom-modules/before-events-dispatch"},{"title":"OnReceiveEvents Handler","icon":"arrow-left","href":"/router/cosmo-streams/custom-modules/on-receive-event"},{"title":"OnPublishEvents Handler","icon":"arrow-right","href":"/router/cosmo-streams/custom-modules/on-publish-event"}]}]},{"title":"Compliance and Data Management","icon":"cloud-binary","href":"/router/compliance-and-data-management"},{"title":"Query Batching","icon":"layer-group","sidebarTitle":"Query Batching","href":"/router/query-batching"},{"title":"Feature Flags","icon":"flag","sidebarTitle":"Feature Flags","href":"/router/feature-flags"},{"group":"Subgraph data propagation","icon":"share-from-square","pages":[{"title":"Subgraph Error Propagation","icon":"bug","href":"/router/subgraph-data-propagation/subgraph-error-propagation"},{"title":"Subgraph Extension Propagation","icon":"puzzle-piece","href":"/router/subgraph-data-propagation/subgraph-extension-propagation"}]},{"title":"Relaxed Field Selection Merging Nullability","icon":"merge","href":"/router/relaxed-field-selection-merging-nullability"},{"title":"String Literals for Enums","icon":"quotes","href":"/router/string-literals-for-enums"},{"title":"File Upload","icon":"upload","href":"/router/file-upload"},{"title":"Access Logs","icon":"camera-cctv","href":"/router/access-logs"},{"title":"Profiling","icon":"binoculars","href":"/router/profiling"},{"title":"Upgrading The Router","icon":"arrows-rotate","href":"/router/upgrading-the-router"}]},{"group":"Studio","pages":[{"title":"Cosmo Studio","icon":"door-open","href":"/studio/intro"},{"title":"Overview Page","icon":"map","href":"/studio/overview-page"},{"title":"Schema Explorer","icon":"file-lines","href":"/studio/schema-explorer"},{"title":"Schema Registry","icon":"atom","href":"/studio/schema-registry"},{"title":"Schema Checks","icon":"list-check","href":"/studio/schema-checks"},{"group":"Check Extensions","icon":"puzzle-piece-simple","pages":[{"title":"Subgraph Check Extensions","sidebarTitle":"Overview","icon":"puzzle-piece-simple","href":"/studio/subgraph-check-extensions"},{"title":"Request Payload Structure","sidebarTitle":"Request Payload","icon":"share","href":"/studio/sce/request-payload-structure"},{"title":"Response Payload Structure","sidebarTitle":"Response Payload","icon":"reply","href":"/studio/sce/response-structure"},{"title":"File Structure","sidebarTitle":"File Structure","icon":"file-export","href":"/studio/sce/file-content"},{"title":"Handler example","sidebarTitle":"Handler example","icon":"puzzle-piece-simple","href":"/studio/sce/handler-example"}]},{"title":"Schema Contracts","icon":"file-contract","href":"/studio/schema-contracts"},{"title":"Overrides","icon":"overline","href":"/studio/overrides"},{"title":"Changelog","icon":"file-plus-minus","href":"/studio/changelog"},{"group":"Playground++","icon":"rectangle-code","pages":[{"title":"Playground++","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/playground"},{"title":"Collections","icon":"folder-open","href":"/studio/playground/collections"},{"title":"Custom Scripts","icon":"code","href":"/studio/playground/custom-scripts"},{"title":"Sharing Playground Sessions","icon":"share-nodes","href":"/studio/playground/shared-playground-state"},{"title":"Default Headers","icon":"sliders","href":"/studio/playground/default-headers"}]},{"title":"Graph Documentation","icon":"readme","href":"/studio/studio"},{"title":"Compositions","icon":"books","href":"/studio/compositions"},{"group":"Analytics","icon":"chart-line","pages":[{"title":"Analytics","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/analytics"},{"title":"Metrics","icon":"gauge-high","href":"/studio/analytics/metrics"},{"title":"Traces","icon":"route","href":"/studio/analytics/traces"},{"title":"Distributed Tracing","icon":"network-wired","href":"/studio/analytics/distributed-tracing"},{"title":"Schema Field Usage","icon":"chart-column","href":"/studio/analytics/schema-field-usage"},{"title":"Client Identification","icon":"user-group","href":"/studio/analytics/client-identification"}]},{"title":"Operations","icon":"chart-line","href":"/studio/operations"},{"group":"API Keys","icon":"key","pages":[{"title":"API Keys","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/api-keys"},{"title":"API Key Permissions","icon":"shield-halved","href":"/studio/api-keys/api-key-permissions"},{"title":"API Key Resources","icon":"database","href":"/studio/api-keys/api-key-resources"}]},{"title":"Migrate from Apollo","icon":"swap-arrows","href":"/studio/migrate-from-apollo"},{"group":"Alerts and notifications","icon":"alarm-snooze","pages":[{"title":"Alerts And Notifications","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/alerts-and-notifications"},{"title":"Webhooks","icon":"webhook","href":"/studio/alerts-and-notifications/webhooks"},{"title":"Slack Integration","icon":"slack","href":"/studio/alerts-and-notifications/slack-integration"}]},{"title":"Graph Access Control","icon":"user-secret","href":"/studio/graph-access-control"},{"title":"Cluster Management","icon":"layer-group","href":"/studio/cluster-management"},{"title":"Sessions","icon":"shield-plus","sidebarTitle":"Sessions","href":"/studio/sessions"},{"title":"RBAC","icon":"user-tie","href":"/studio/rbac"},{"group":"Groups","icon":"users-rectangle","pages":[{"title":"Groups","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/groups"},{"title":"Group Rules","icon":"database","href":"/studio/groups/group-rules"}]},{"group":"SSO","icon":"building-lock","pages":[{"title":"SSO","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/sso"},{"title":"Okta","icon":"user-shield","href":"/studio/sso/okta"},{"title":"Auth0","icon":"user-lock","href":"/studio/sso/auth0"},{"title":"Keycloak","icon":"key","href":"/studio/sso/keycloak"},{"title":"Microsoft Entra","icon":"microsoft","href":"/studio/sso/microsoft-entra"}]},{"title":"Namespace Login Methods","icon":"lock-keyhole","href":"/studio/namespace-login-methods"},{"title":"Organization Login Methods","icon":"lock-keyhole","href":"/studio/organization-login-methods"},{"group":"SCIM","icon":"file-user","pages":[{"title":"SCIM","sidebarTitle":"Overview","icon":"circle-info","href":"/studio/scim"},{"title":"Okta","icon":"user-shield","href":"/studio/scim/okta"},{"title":"Okta (OIN version)","icon":"shield-check","href":"/studio/scim/okta-oin-version"}]},{"title":"Audit Log","icon":"people-roof","href":"/studio/audit-log"},{"title":"Cosmo AI","icon":"brain-circuit","href":"/studio/cosmo-ai"},{"group":"Policies","icon":"user-police-tie","pages":[{"title":"Policies","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/policies"},{"title":"Linter Rules","icon":"code","href":"/studio/lint-policy/linter-rules"}]},{"title":"Graph Pruning","icon":"broom-wide","href":"/studio/graph-pruning"},{"title":"Invitations","icon":"envelopes-bulk","href":"/studio/invitations"}]},{"group":"Control Plane","pages":[{"title":"Cosmo Control Plane","icon":"door-open","href":"/control-plane/intro"},{"title":"Configuration","icon":"sliders-up","href":"/control-plane/configuration"},{"title":"Webhooks","icon":"webhook","href":"/control-plane/webhooks"}]},{"group":"GraphQL / Federation","pages":[{"title":"Federation Compatibility Matrix","icon":"person-rifle","href":"/federation/federation-compatibility-matrix"},{"group":"Directives","icon":"sign-post","pages":[{"title":"Directives Reference","icon":"list-check","href":"/federation/federation-directives-index"},{"title":"@authenticated","icon":"lock","href":"/federation/directives/authenticated"},{"title":"@composeDirective","icon":"pen-nib","href":"/federation/directives/composeddirective"},{"title":"@connect__fieldResolver","icon":"function","href":"/federation/directives/connect__fieldresolver"},{"title":"@defer","icon":"forward-step","href":"/federation/directives/defer"},{"title":"@deprecated","icon":"triangle-exclamation","href":"/federation/directives/deprecated"},{"title":"@external","icon":"arrow-right-from-bracket","href":"/federation/directives/external"},{"title":"@key","icon":"fingerprint","href":"/federation/directives/key"},{"title":"@link","icon":"link","href":"/federation/directives/link"},{"title":"@openfed configureDescription","icon":"pen-to-square","href":"/federation/directives/openfed__configuredescription"},{"title":"@openfed requireFetchReasons","icon":"magnifying-glass-chart","href":"/federation/directives/openfed__requirefetchreasons"},{"title":"@openfed subscriptionFilter","icon":"filter","href":"/federation/directives/openfed__subscriptionfilter"},{"title":"@provides","icon":"hand-holding","href":"/federation/directives/provides"},{"title":"@requires","icon":"link","href":"/federation/directives/requires"},{"title":"@shareable","icon":"share-nodes","href":"/federation/directives/shareable"},{"title":"@specifiedBy","icon":"link","href":"/federation/directives/specifiedby"},{"title":"@requiresScopes","icon":"key","href":"/federation/directives/requiresscopes"}]},{"group":"Event-Driven Federated Subscriptions","icon":"conveyor-belt-boxes","pages":[{"title":"Event-Driven Federated Subscriptions","sidebarTitle":"Overview","icon":"circle-info","href":"/federation/event-driven-federated-subscriptions"},{"title":"NATS","icon":"puzzle-piece","href":"/federation/event-driven-federated-subscriptions/nats"},{"title":"Kafka","icon":"sitemap","href":"/federation/event-driven-federated-subscriptions/kafka"},{"title":"Redis","icon":"sitemap","href":"/federation/event-driven-federated-subscriptions/redis"},{"title":"Composition Rules","icon":"network-wired","href":"/federation/event-driven-federated-subscriptions/composition-rules"}]},{"title":"Composition Errors","icon":"triangle-exclamation","sidebarTitle":"Composition errors","href":"/federation/composition-errors"}]},{"group":"Deployments and Hosting","pages":[{"title":"Cosmo","icon":"door-open","href":"/deployments-and-hosting/intro"},{"group":"Kubernetes","icon":"layer-group","pages":[{"title":"Kubernetes","sidebarTitle":"Overview","icon":"circle-info","href":"/deployments-and-hosting/kubernetes"},{"group":"Helm Chart","icon":"chart-line","pages":[{"title":"Helm Chart","sidebarTitle":"Overview","icon":"circle-info","href":"/deployments-and-hosting/kubernetes/helm-chart"},{"title":"Cosmo Platform","icon":"dharmachakra","href":"/deployments-and-hosting/kubernetes/helm-chart/cosmo-platform"},{"title":"Router","icon":"router","href":"/deployments-and-hosting/kubernetes/helm-chart/router"}]}]},{"group":"Terraform","icon":"road-bridge","pages":[{"title":"Terraform","icon":"circle-info","sidebarTitle":"Overview","href":"/deployments-and-hosting/terraform"},{"title":"AWS Fargate","icon":"aws","href":"/deployments-and-hosting/terraform/aws-fargate"}]},{"title":"Docker","icon":"docker","href":"/deployments-and-hosting/docker"},{"title":"Release Management","icon":"memo-circle-check","href":"/deployments-and-hosting/release-management"},{"title":"Cosmo Cloud","icon":"cloud","href":"/deployments-and-hosting/cosmo-cloud"}]}]},{"tab":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/cli/intro"}]},{"tab":"Tutorials","icon":"newspaper","pages":[{"title":"Tutorials","href":"/tutorial"}]}]},"title":"WunderGraph Cosmo - WunderGraph","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["10e4515597","07c022d89b","a74be98ba7"],"chunks":["BannerMarkdown-BVNUlwBc.js","dist-aeztFa9U.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-rL8ZCCw4.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","Frame-COGkNuA6.js","DynamicMarkdown-85clUA0i.js","zoom-image-lightbox-BZxD9MAj.js","lightbox-handle-r17bVUz3.js"]}