Unified CDN is a robust, all-in-one file storage network. It works as a proxy, sitting between your application and various file storage providers, while providing a dashboard, authentication and REST API.Using the same API pattern, you can connect to numerous file storage providers, improving your developer experience, and making managing multiple databases much easier.
Deploy
Get started with deploying your own Unified CDN instance.
Manage
Learn to use and configure the Unified CDN dashboard.
API
Connect your application to a Unified CDN instance.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Unified CDN","colors":{"primary":"#0ea5e9","light":"#0ea5e9","dark":"#0ea5e9"},"logo":{"light":"https://mintcdn.com/qian-bb67b1f9/Awz1euvUaB4OEv57/light-icon.png?fit=max\u0026auto=format\u0026n=Awz1euvUaB4OEv57\u0026q=85\u0026s=6050d378b5b4eb4d3645d484991509c5","dark":"https://mintcdn.com/qian-bb67b1f9/Awz1euvUaB4OEv57/dark-icon.png?fit=max\u0026auto=format\u0026n=Awz1euvUaB4OEv57\u0026q=85\u0026s=048c0d954b3866f8c57c810a0495f97a"},"favicon":"https://mintcdn.com/qian-bb67b1f9/Awz1euvUaB4OEv57/favicon.ico?fit=max\u0026auto=format\u0026n=Awz1euvUaB4OEv57\u0026q=85\u0026s=7e4498171446aabcab21ff10f77208dd","navbar":{"links":[{"href":"https://github.com/ng-qi-an/unified-cdn","label":"Github"}]},"footer":{"socials":{"github":"https://github.com/ng-qi-an/unified-cdn"}},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"qian-bb67b1f9","hasAudioNarration":false,"actualSubdomain":"qian-bb67b1f9","customDomains":["unified-cdn-docs.ngqian.com"],"gitSource":{"type":"github","owner":"ng-qi-an","repo":"unified-cdn","deployBranch":"main","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":"","_id":"6adda76bca91f1d9a1779ccf"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af879c3474f4586a497fb99","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"API","count":9},{"language":"default","tag":"Files","count":6},{"language":"default","tag":"Dashboard","count":2},{"language":"default","tag":"Grant codes","count":2},{"language":"default","tag":"Getting started","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"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":"editor-metadata","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":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"index","slug":"/","pageMetadata":{"title":"Introduction","description":"Welcome to Unified CDN!","href":"/index"},"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: \"Welcome to Unified CDN!\"\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`,strong:`strong`,..._provideComponents(),...props.components},{Card}=_components;if(!Card)_missingMdxReference(`Card`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Unified CDN`}),` is a robust, all-in-one `,_jsx(_components.strong,{children:`file storage network`}),`. It works as a proxy, sitting between your application and various file storage providers, while providing a `,_jsx(_components.strong,{children:`dashboard`}),`, `,_jsx(_components.strong,{children:`authentication`}),` and `,_jsx(_components.strong,{children:`REST API`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Using the `,_jsx(_components.strong,{children:`same API pattern`}),`, you can connect to `,_jsx(_components.strong,{children:`numerous file storage providers`}),`, improving your developer experience, and making managing multiple databases `,_jsx(_components.strong,{children:`much easier`}),`.`]}),`\n`,_jsx(Card,{title:`Deploy`,icon:`rocket`,href:`/dashboard/installation`,children:_jsx(_components.p,{children:`Get started with deploying your own Unified CDN instance.`})}),`\n`,_jsx(Card,{title:`Manage`,icon:`laptop-minimal`,href:`/dashboard/navigation`,children:_jsx(_components.p,{children:`Learn to use and configure the Unified CDN dashboard.`})}),`\n`,_jsx(Card,{title:`API`,icon:`chevrons-left-right-ellipsis`,href:`/api/authentication`,children:_jsx(_components.p,{children:`Connect your application to a Unified CDN instance.`})})]})}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":{"config":{},"pageMetadata":{"title":"Introduction","description":"Welcome to Unified CDN!","href":"/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"qian-bb67b1f9","siteName":"Unified CDN","title":"Introduction - Unified CDN","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-14T15:09:59.493Z","originalFileLocation":"index.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=\"system\"}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=\"Welcome to Unified CDN!\">\u003cmeta data-mint-head name=\"application-name\" content=\"Unified CDN\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qian-bb67b1f9/vgfk4bucJtEA7121/_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/qian-bb67b1f9/vgfk4bucJtEA7121/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qian-bb67b1f9/vgfk4bucJtEA7121/_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/qian-bb67b1f9/vgfk4bucJtEA7121/_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/qian-bb67b1f9/vgfk4bucJtEA7121/_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/qian-bb67b1f9/vgfk4bucJtEA7121/_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/qian-bb67b1f9/vgfk4bucJtEA7121/_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/qian-bb67b1f9/vgfk4bucJtEA7121/_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/qian-bb67b1f9/vgfk4bucJtEA7121/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Introduction - Unified CDN\">\u003cmeta data-mint-head property=\"og:description\" content=\"Welcome to Unified CDN!\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Unified CDN\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://unified-cdn-docs.ngqian.com\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://qian-bb67b1f9.mintlify.site/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=Introduction\u0026amp;description=Welcome+to+Unified+CDN%21\u0026amp;theme=06b2e48965de68854c9a167d\u0026amp;signature=657493849b3975148f5aca4e567362543cb3b876d60e57dca48c6185e0533df5\">\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=\"Introduction - Unified CDN\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Welcome to Unified CDN!\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://qian-bb67b1f9.mintlify.site/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=Introduction\u0026amp;description=Welcome+to+Unified+CDN%21\u0026amp;theme=06b2e48965de68854c9a167d\u0026amp;signature=657493849b3975148f5aca4e567362543cb3b876d60e57dca48c6185e0533df5\">\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/qian-bb67b1f9/vgfk4bucJtEA7121/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Unified CDN\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0ea5e9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://unified-cdn-docs.ngqian.com\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/index.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://unified-cdn-docs.ngqian.com/#organization\",\"name\":\"Unified CDN\",\"url\":\"https://unified-cdn-docs.ngqian.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/qian-bb67b1f9/Awz1euvUaB4OEv57/light-icon.png?fit=max\u0026auto=format\u0026n=Awz1euvUaB4OEv57\u0026q=85\u0026s=6050d378b5b4eb4d3645d484991509c5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://unified-cdn-docs.ngqian.com#website\",\"name\":\"Unified CDN\",\"url\":\"https://unified-cdn-docs.ngqian.com\",\"publisher\":{\"@id\":\"https://unified-cdn-docs.ngqian.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://unified-cdn-docs.ngqian.com/#webpage\",\"url\":\"https://unified-cdn-docs.ngqian.com/\",\"name\":\"Introduction\",\"description\":\"Welcome to Unified CDN!\",\"dateModified\":\"2026-11-14T15:09:59.493Z\",\"isPartOf\":{\"@id\":\"https://unified-cdn-docs.ngqian.com#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://unified-cdn-docs.ngqian.com/#article\",\"headline\":\"Introduction\",\"name\":\"Introduction\",\"description\":\"Welcome to Unified CDN!\",\"url\":\"https://unified-cdn-docs.ngqian.com/\",\"mainEntityOfPage\":{\"@id\":\"https://unified-cdn-docs.ngqian.com/#webpage\"},\"dateModified\":\"2026-11-14T15:09:59.493Z\",\"publisher\":{\"@id\":\"https://unified-cdn-docs.ngqian.com/#organization\"},\"isPartOf\":{\"@id\":\"https://unified-cdn-docs.ngqian.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Unified CDN\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Unified CDN\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/index.md","siteName":"Unified CDN","nav":{"global":null,"groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":""}]},{"group":"Dashboard","pages":[{"title":"Installation","description":"The fastest way to create your own Unified CDN instance.","href":"/dashboard/installation"},{"title":"Deploying","href":"/dashboard/deploying"}]},{"group":"API","pages":[{"title":"Authentication","href":"/api/authentication"},{"group":"Files","pages":[{"title":"Get a file's contents","deprecated":null,"version":null,"openapi":"/api/files/openapi.yaml get /files/{id}/view","href":"/api/files/get-a-files-contents"},{"title":"Get a file's details","deprecated":null,"version":null,"openapi":"/api/files/openapi.yaml get /files/{id}/get","href":"/api/files/get-a-files-details"},{"title":"Rename a file","deprecated":null,"version":null,"openapi":"/api/files/openapi.yaml patch /files/{id}/rename","href":"/api/files/rename-a-file"},{"title":"Delete a file","deprecated":null,"version":null,"openapi":"/api/files/openapi.yaml delete /files/{id}/delete","href":"/api/files/delete-a-file"},{"title":"Upload files","deprecated":null,"version":null,"openapi":"/api/files/openapi.yaml post /files/upload","href":"/api/files/upload-files"},{"title":"Delete files","deprecated":null,"version":null,"openapi":"/api/files/openapi.yaml delete /files/delete","href":"/api/files/delete-files"}]},{"group":"Grant codes","pages":[{"title":"Generate grant code","deprecated":null,"version":null,"openapi":"/api/grant-codes/openapi.yaml post /grant-codes/generate","href":"/api/grant-codes/generate-grant-code"},{"title":"Get grant code details","deprecated":null,"version":null,"openapi":"/api/grant-codes/openapi.yaml get /grant-codes/get","href":"/api/grant-codes/get-grant-code-details"}]}]}]},"basePath":"","title":"Introduction - Unified CDN","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":[],"chunks":[]}