Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click
If you are a user of Apollo GraphOS with configured graphs, then you can migrate to WunderGraph Cosmo with a click of a button.
Migrate from Apollo button
Once you have clicked on “Migrate from Apollo”, a modal will appear. This modal will request your “Graph API Key” for the federated graph you wish to migrate.
Your API key is never saved nor stored; it is only temporarily used to fetch the necessary data for migration.
Navigate to the 'This Graph' tab and click on API Keys
5
Create a new key and copy
Migrate from Apollo modal
Once you have acquired the key, paste the key into the Graph API Key input, type the name of the variant to be migrated into the Graph Variant Name input and click on the “Migrate” button.That’s it! After a few seconds, your graphs will have been successfully migrated to WunderGraph Cosmo.
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":"6ae1cf52372d045ef83e6e38","collectionId":"b28fa0be-6b11-4265-85ed-a698ee69dde7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1cf52372d045ef83e6e38"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1cf52372d045ef83e6e38","clientVersion":"0.0.4054","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":"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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"billing-updated-9-15","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":"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},{"name":"turbopuffer-dual-write","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":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":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":"studio/migrate-from-apollo","slug":"/studio/migrate-from-apollo","pageMetadata":{"title":"Migrate from Apollo","description":"Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click","icon":"swap-arrows","href":"/studio/migrate-from-apollo"},"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: \"Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click\"\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={p:`p`,..._provideComponents(),...props.components},{Frame,Heading,Info,OptimizedImage,Step,Steps}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`If you are a user of Apollo GraphOS with configured graphs, then you can migrate to WunderGraph Cosmo with a click of a button.`}),`\n`,_jsx(Frame,{caption:`Migrate from Apollo button`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/no-graphs-found-migrate-from-apollo.png?fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=62bd2cc78a43134d7e024ec6f30bbf27`,alt:`WunderGraph Docs showing no graphs found with option to migrate from Apollo`,title:`No graphs found — migrate from Apollo`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1115`,height:`1115`,\"data-path\":`images/studio/no-graphs-found-migrate-from-apollo.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/no-graphs-found-migrate-from-apollo.png?w=280\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=305ce457040a9a5865dfe881129957aa 280w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/no-graphs-found-migrate-from-apollo.png?w=560\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=45ffb8208fabc5b998662d1e08b0aba2 560w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/no-graphs-found-migrate-from-apollo.png?w=840\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=b340ed11313cd9aaf7b3d9a0e3b106f2 840w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/no-graphs-found-migrate-from-apollo.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=8aab91f2c88b98909bdc26d3a50770fc 1100w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/no-graphs-found-migrate-from-apollo.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=1f973616ff7248ccd32075c65c0cde13 1650w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/no-graphs-found-migrate-from-apollo.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=29a344b071ade2d6825e18a0e7ee2ad8 2500w`})}),`\n`,_jsx(_components.p,{children:`Once you have clicked on “Migrate from Apollo”, a modal will appear. This modal will request your “Graph API Key” for the federated graph you wish to migrate.`}),`\n`,_jsx(Info,{children:_jsx(_components.p,{children:`Your API key is never saved nor stored; it is only temporarily used to fetch the necessary data for migration.`})}),`\n`,_jsx(Heading,{level:`3`,id:`steps-to-fetch-the-graph-api-key`,children:`Steps to fetch the graph API key`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Navigate to Apollo GraphOS Studio`}),_jsx(Step,{title:`Select the graph that has to be migrated`,children:_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/cloud-supergraph-section-overview.png?fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=49557b666072e45f8647a2eee5c0e225`,alt:`Cosmo Docs cloud supergraph section with main variant and graph search bar`,title:`Cloud Supergraph section overview`,\"data-og-width\":`1810`,width:`1810`,\"data-og-height\":`1190`,height:`1190`,\"data-path\":`images/studio/cloud-supergraph-section-overview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/cloud-supergraph-section-overview.png?w=280\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=61337877420e9abb29134652b4b6973f 280w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/cloud-supergraph-section-overview.png?w=560\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=65651790021483380769c6e3efdf2d8a 560w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/cloud-supergraph-section-overview.png?w=840\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=72aa272dcaa0bfa68fb517eac200c047 840w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/cloud-supergraph-section-overview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=6f4fdf785bec50b21bdb44b51e6e7764 1100w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/cloud-supergraph-section-overview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=9a956cde75aa17041c8e522d4a5e3b6c 1650w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/cloud-supergraph-section-overview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=39af1bfb35e0fb97b90ab3c24cf996dc 2500w`})})}),_jsx(Step,{title:`Navigate to the settings page of the graph`,children:_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/settings-option-in-operations-section.png?fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=3cd0f3b6f95ba619213d86ffb5e29606`,alt:`Cosmo Docs user interface showing settings option in operations section`,title:`Settings option in operations section`,\"data-og-width\":`145`,width:`145`,\"data-og-height\":`556`,height:`556`,\"data-path\":`images/studio/settings-option-in-operations-section.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/settings-option-in-operations-section.png?w=280\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=e4114c04caa48702f483bcf36e040268 280w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/settings-option-in-operations-section.png?w=560\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=2a71716e1204fdab3cd19a95a2f5cc1b 560w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/settings-option-in-operations-section.png?w=840\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=d070f7862fb0128b570a193be4986bf2 840w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/settings-option-in-operations-section.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=8beef0fd8fafc457ea39035fb63de0ed 1100w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/settings-option-in-operations-section.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=41e4da4629a877bf4bf14e2a517917de 1650w, https://mintcdn.com/wundergraphinc/nR5X5HWNIS7xjYKE/images/studio/settings-option-in-operations-section.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nR5X5HWNIS7xjYKE\u0026q=85\u0026s=1d1678bad9023516911928c7fec1177f 2500w`})})}),_jsxs(Step,{title:`Navigate to the 'This Graph' tab and click on API Keys`,children:[_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/build-variant-settings-this-graph.png?fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=10e4d7d293941b577261a6e9e78dcff2`,alt:`Cosmo Docs settings page for build variant with This Graph tab highlighted`,title:`Build variant settings — This Graph`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`267`,height:`267`,\"data-path\":`images/studio/build-variant-settings-this-graph.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/build-variant-settings-this-graph.png?w=280\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=2d33930da8a2c7605c477659290e9d3d 280w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/build-variant-settings-this-graph.png?w=560\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=edbac8731e93edb1193e24a9feecbf2e 560w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/build-variant-settings-this-graph.png?w=840\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=688001e845afa194e3a80f55a6c39ef9 840w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/build-variant-settings-this-graph.png?w=1100\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=e55c7c30a0db86b1909e0afa6c121be9 1100w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/build-variant-settings-this-graph.png?w=1650\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=004968c0a87c4baa57a4558f9da67689 1650w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/build-variant-settings-this-graph.png?w=2500\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=b9e42a681d98054f8da2449b339ba266 2500w`})}),_jsx(`br`,{}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/api-keys-highlighted-in-general-settings.png?fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=ddd98487e858cfe5f9c549be11f675e4`,alt:`General settings section showing API Keys highlighted as current selection`,title:`API Keys highlighted in general settings`,\"data-og-width\":`282`,width:`282`,\"data-og-height\":`309`,height:`309`,\"data-path\":`images/studio/api-keys-highlighted-in-general-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/api-keys-highlighted-in-general-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=b5738439588871a87f6e19f0439020ba 280w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/api-keys-highlighted-in-general-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=f7e3d9a33398af1a9762a42ab96daba1 560w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/api-keys-highlighted-in-general-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=2edad38b270a5a74d123f80fbc495ab8 840w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/api-keys-highlighted-in-general-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=912992f209b9df946f316d7049a1d886 1100w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/api-keys-highlighted-in-general-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=6c15f8c83069f42c4490c0e324f12da9 1650w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/api-keys-highlighted-in-general-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=f730452e73ccbdf5cc7af23694750a57 2500w`})})]}),_jsxs(Step,{title:`Create a new key and copy`,children:[_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/create-api-key-for-spotify-demo-graph.png?fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=ff64fd6544f83277607c9cf3cdf4a5f2`,alt:`Create API key for Spotify Demo Graph to uniquely identify data`,title:`Create API key for Spotify Demo Graph`,\"data-og-width\":`2102`,width:`2102`,\"data-og-height\":`103`,height:`103`,\"data-path\":`images/studio/create-api-key-for-spotify-demo-graph.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/create-api-key-for-spotify-demo-graph.png?w=280\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=c2e532efc0bfc6139fd3cb031e8d2aa7 280w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/create-api-key-for-spotify-demo-graph.png?w=560\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=3cf695bf060554064c16a3e32f9e3570 560w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/create-api-key-for-spotify-demo-graph.png?w=840\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=870d181ce576575f86431b041c3dc539 840w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/create-api-key-for-spotify-demo-graph.png?w=1100\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=f7bfff071eae4014c092a2dcefc88c5d 1100w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/create-api-key-for-spotify-demo-graph.png?w=1650\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=ab924cd5cb651cd9d8d3aa21a4f9d893 1650w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/create-api-key-for-spotify-demo-graph.png?w=2500\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=0956852af91d85f0f5d35fcd8ac7bf97 2500w`})}),_jsx(`br`,{}),_jsx(Frame,{caption:`Migrate from Apollo modal`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/apollo-migration-page-with-api-key-fields.png?fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=f849466429f563e0515ae40233465b01`,alt:`Cosmo Docs migration modal showing Graph API Key and Variant Name fields`,title:`Apollo migration page with API key fields`,\"data-og-width\":`1074`,width:`1074`,\"data-og-height\":`858`,height:`858`,\"data-path\":`images/studio/apollo-migration-page-with-api-key-fields.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/apollo-migration-page-with-api-key-fields.png?w=280\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=544828a30168f3647072671dd89c88b6 280w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/apollo-migration-page-with-api-key-fields.png?w=560\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=dfb50a90b9ad857f95795391c30c0cae 560w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/apollo-migration-page-with-api-key-fields.png?w=840\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=2a67fea327618776a2e1f06acdf9846a 840w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/apollo-migration-page-with-api-key-fields.png?w=1100\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=79cea5a8c999be072357064bdc6ddfa4 1100w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/apollo-migration-page-with-api-key-fields.png?w=1650\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=b7c0d13183a1478b62fbb300d8de5c3a 1650w, https://mintcdn.com/wundergraphinc/RN72sgIyfy9HBPRO/images/studio/apollo-migration-page-with-api-key-fields.png?w=2500\u0026fit=max\u0026auto=format\u0026n=RN72sgIyfy9HBPRO\u0026q=85\u0026s=90b50daf72068ee20569252002aea849 2500w`})})]})]}),`\n`,_jsx(_components.p,{children:`Once you have acquired the key, paste the key into the Graph API Key input, type the name of the variant to be migrated into the Graph Variant Name input and click on the “Migrate” button.`}),`\n`,_jsx(_components.p,{children:`That’s it! After a few seconds, your graphs will have been successfully migrated to WunderGraph Cosmo.`})]})}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":"Migrate from Apollo","description":"Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click","icon":"swap-arrows","href":"/studio/migrate-from-apollo"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Steps to fetch the graph API key","slug":"steps-to-fetch-the-graph-api-key","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/wundergraphinc/c20d56ed2ea5ad45/analytics.js","/_mintlify/custom/wundergraphinc/0a55a31d9c045e90/osano.js"],"subdomain":"wundergraphinc","siteName":"WunderGraph","title":"Migrate from Apollo - WunderGraph","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-27T08:07:27.202Z","originalFileLocation":"studio/migrate-from-apollo.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=\"Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click\">\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=\"Migrate from Apollo - WunderGraph\">\u003cmeta data-mint-head property=\"og:description\" content=\"Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"WunderGraph\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://cosmo-docs.wundergraph.com/studio/migrate-from-apollo\">\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=Studio\u0026amp;title=Migrate+from+Apollo\u0026amp;description=Migrate+from+Apollo+GraphOS+to+WunderGraph+Cosmo+with+a+single+click\u0026amp;theme=bec8a9a9f4ab1a77bed38caa\u0026amp;signature=ae0e91f29dbfdc16a676f731a33456605669dc3ec31454c7e7cb8a027ac90392\">\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=\"Migrate from Apollo - WunderGraph\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://wundergraphinc.mintlify.app/_mintlify/api/og/v2?division=Studio\u0026amp;title=Migrate+from+Apollo\u0026amp;description=Migrate+from+Apollo+GraphOS+to+WunderGraph+Cosmo+with+a+single+click\u0026amp;theme=bec8a9a9f4ab1a77bed38caa\u0026amp;signature=ae0e91f29dbfdc16a676f731a33456605669dc3ec31454c7e7cb8a027ac90392\">\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/studio/migrate-from-apollo\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/studio/migrate-from-apollo.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/studio/migrate-from-apollo#webpage\",\"url\":\"https://cosmo-docs.wundergraph.com/studio/migrate-from-apollo\",\"name\":\"Migrate from Apollo\",\"description\":\"Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click\",\"dateModified\":\"2026-01-27T08:07:27.202Z\",\"isPartOf\":{\"@id\":\"https://cosmo-docs.wundergraph.com#website\"},\"breadcrumb\":{\"@id\":\"https://cosmo-docs.wundergraph.com/studio/migrate-from-apollo#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://cosmo-docs.wundergraph.com/studio/migrate-from-apollo#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Studio\",\"item\":\"https://cosmo-docs.wundergraph.com/studio/intro\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migrate from Apollo\",\"item\":\"https://cosmo-docs.wundergraph.com/studio/migrate-from-apollo\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://cosmo-docs.wundergraph.com/studio/migrate-from-apollo#article\",\"headline\":\"Migrate from Apollo\",\"name\":\"Migrate from Apollo\",\"description\":\"Migrate from Apollo GraphOS to WunderGraph Cosmo with a single click\",\"url\":\"https://cosmo-docs.wundergraph.com/studio/migrate-from-apollo\",\"mainEntityOfPage\":{\"@id\":\"https://cosmo-docs.wundergraph.com/studio/migrate-from-apollo#webpage\"},\"dateModified\":\"2026-01-27T08:07:27.202Z\",\"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","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","description":"Configure the resources accessible to your API keys.","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","description":"Get notified about schema changes to your federated graphs through webhooks or slack integration","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"}]}]},"basePath":"","title":"Migrate from Apollo - WunderGraph","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["10e4515597","07c022d89b","a74be98ba7"],"chunks":["BannerMarkdown-DIeMibn4.js","dist-DJnKvr0g.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-B2v50t8t.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","Frame-PS-3COT9.js","DynamicMarkdown-BcnBltEQ.js","zoom-image-lightbox-B4-wUcHm.js","lightbox-handle-r17bVUz3.js"]}