First you need to upload an OpenAPI specification file. This file describes the REST API you want to onboard. These files can be either .yaml or .json files.
Either upload a spec, or provide a hosted url and we can fetch it
All securitySchemes defined in your specification are available here to configure and enable/disable for your app.
Configure Auth Methods
OAuth2
We current support the following OAuth2 flows:
Authorization Code
Client Credentials
Configure your config, such as the client_id and client_secret and enable the flow.
Configure OAuth2 (Authorization Code)
API Key
Configure your API Key name which part of your requests it should be sent with.
Configure API Key
HTTP Refresh
This method allows custom implementations of auth where request are to be made in order to complete the auth flow.
Configure HTTP Refresh
⌘I
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Versori User Documentation","colors":{"primary":"#6EB0D8","light":"#6EB0D8","dark":"#6EB0D8"},"logo":{"light":"https://mintcdn.com/versori/PWNCaMS5nGiiWoff/logo/versori-logo-wordmark.svg?fit=max\u0026auto=format\u0026n=PWNCaMS5nGiiWoff\u0026q=85\u0026s=be10819ca139d000a6edaef35334c0af","dark":"https://mintcdn.com/versori/PWNCaMS5nGiiWoff/logo/versori-logo-wordmark-white.svg?fit=max\u0026auto=format\u0026n=PWNCaMS5nGiiWoff\u0026q=85\u0026s=1568a99dadb6fa8dfc83009eba877497"},"favicon":"https://mintcdn.com/versori/PWNCaMS5nGiiWoff/logo/versori-logo.svg?fit=max\u0026auto=format\u0026n=PWNCaMS5nGiiWoff\u0026q=85\u0026s=1765cb3e4363526dd85cf7c576a8f68f","api":{"openapi":["openapi/connect-api-v1.yaml","openapi/embedded-api-v1.yaml","openapi/organisations-api-v1.yaml","openapi/switchboard-api-v1alpha1.yaml","openapi/platform-api.yaml"],"playground":{"display":"interactive","proxy":false},"mdx":{"auth":{"method":"bearer","name":"Authorization"},"server":["https://platform.versori.com/api"]}},"background":{"decoration":"gradient","color":{"light":"#ffffff","dark":"#151919"}},"search":{"prompt":"Search the docs..."},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"versori","hasAudioNarration":false,"actualSubdomain":"versori","customDomains":["docs.versori.com"],"gitSource":{"type":"github","owner":"versori","repo":"user-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad09d9413e5d952c6a7407c","collectionId":"314b2d25-0631-41c2-aeae-fdf8104d942c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad09d9413e5d952c6a7407c"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad09d9413e5d952c6a7407c","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":525},{"language":"default","tag":"Platform API","count":115},{"language":"default","tag":"Switchboard API","count":82},{"language":"default","tag":"Endpoints","count":62},{"language":"default","tag":"Connect API","count":41},{"language":"default","tag":"Organisations API","count":38},{"language":"default","tag":"Documentation","count":32},{"language":"default","tag":"projects","count":32},{"language":"default","tag":"User Guide","count":31},{"language":"default","tag":"CLI","count":27}]},"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}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"#content-area.max-w-xl{max-width:64rem}.whitespace-pre-line{white-space:unset}"}],"page":{"pagePath":"legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api","slug":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api","pageMetadata":{"title":"Onboard a REST API","description":"REST apps are onboarded via uploading an OpenAPI specification file.","href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api"},"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: \"REST apps are onboarded via uploading an OpenAPI specification file.\"\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{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Frame,Heading,OptimizedFrame,OptimizedImage,Tab,Tabs}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(Tabs,{children:[_jsxs(Tab,{title:`Documentation`,id:`documentation`,\"data-child-heading-ids\":`[\"1-upload-an-openapi-specification-file\",\"2-upload-a-logo\",\"3-configure-your-app\",\"4-select-a-server\",\"5-auth-methods\"]`,children:[_jsx(Heading,{level:`3`,id:`1-upload-an-openapi-specification-file`,children:`1. Upload an OpenAPI specification file`}),_jsxs(_components.p,{children:[`First you need to upload an OpenAPI specification file. This file describes the REST API you want to onboard. These files can be either `,_jsx(_components.code,{children:`.yaml`}),` or `,_jsx(_components.code,{children:`.json`}),` files.`]}),_jsx(Frame,{caption:`Either upload a spec, or provide a hosted url and we can fetch it`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/apps/rest-api/rest-upload-specification.png`})}),_jsx(Heading,{level:`3`,id:`2-upload-a-logo`,children:`2. Upload a logo`}),_jsx(_components.p,{children:`You can upload a logo for your app. This helps identify your systems at a glance.`}),_jsx(Frame,{caption:`Upload a logo for your app`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/apps/rest-api/app-image-upload.png`})}),_jsx(Heading,{level:`3`,id:`3-configure-your-app`,children:`3. Configure your app`}),_jsx(_components.p,{children:`You can configure your app by providing a name. This is also used to help identify your app in the Versori UI.`}),_jsx(Frame,{caption:`Configure your app`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/apps/rest-api/app-name.png`})}),_jsx(Heading,{level:`3`,id:`4-select-a-server`,children:`4. Select a server`}),_jsx(_components.p,{children:`From the available servers in your specification, select the one you want to call your requests against.`}),_jsx(Frame,{caption:`Select a server`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/apps/rest-api/app-server-select.png`})}),_jsx(Heading,{level:`3`,id:`5-auth-methods`,children:`5. Auth Methods`}),_jsxs(_components.p,{children:[`All `,_jsx(_components.code,{children:`securitySchemes`}),` defined in your specification are available here to configure and enable/disable for your app.`]}),_jsx(Frame,{caption:`Configure Auth Methods`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/apps/rest-api/app-auth-methods.png`})}),_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`OAuth2`,id:`oauth2`,children:[_jsx(_components.p,{children:`We current support the following OAuth2 flows:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Authorization Code`}),`\n`,_jsx(_components.li,{children:`Client Credentials`}),`\n`]}),_jsxs(_components.p,{children:[`Configure your config, such as the `,_jsx(_components.code,{children:`client_id`}),` and `,_jsx(_components.code,{children:`client_secret`}),` and enable the flow.`]}),_jsx(Frame,{caption:`Configure OAuth2 (Authorization Code)`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/apps/rest-api/app-oauth-auth-code.png`})})]}),_jsxs(Accordion,{title:`API Key`,id:`api-key`,children:[_jsx(_components.p,{children:`Configure your API Key name which part of your requests it should be sent with.`}),_jsx(Frame,{caption:`Configure API Key`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/apps/rest-api/app-api-key.png`})})]}),_jsxs(Accordion,{title:`HTTP Refresh`,id:`http-refresh`,children:[_jsx(_components.p,{children:`This method allows custom implementations of auth where request are to be made in order to complete the auth flow.`}),_jsx(Frame,{caption:`Configure HTTP Refresh`,children:_jsx(OptimizedImage,{src:`https://storage.googleapis.com/versori-assets/apps/user-docs/apps/rest-api/app-http-refresh.png`})})]})]})]}),_jsx(Tab,{title:`Video Guide`,id:`video-guide`,children:_jsx(OptimizedFrame,{width:`100%`,height:`407`,src:`https://www.youtube.com/embed/geFRpJtcf-4`,title:`YouTube video player`,frameborder:`0`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowfullscreen:true})})]})}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":"Onboard a REST API","description":"REST apps are onboarded via uploading an OpenAPI specification file.","href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Upload an OpenAPI specification file","slug":"1-upload-an-openapi-specification-file","depth":3,"children":[],"tabId":"documentation"},{"title":"2. Upload a logo","slug":"2-upload-a-logo","depth":3,"children":[],"tabId":"documentation"},{"title":"3. Configure your app","slug":"3-configure-your-app","depth":3,"children":[],"tabId":"documentation"},{"title":"4. Select a server","slug":"4-select-a-server","depth":3,"children":[],"tabId":"documentation"},{"title":"5. Auth Methods","slug":"5-auth-methods","depth":3,"children":[],"tabId":"documentation"}],"codeExamples":{}},"jsLinks":[],"subdomain":"versori","siteName":"Versori User Documentation","title":"Onboard a REST API - Versori User Documentation","navMaps":{"firstHrefInVersion":{"Latest":{"href":"/latest/home","matchLevel":4},"Legacy":{"href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api","matchLevel":0},"v2":{"href":"/v2/introduction","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-01-23T11:43:56.315Z","originalFileLocation":"legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api.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=\"REST apps are onboarded via uploading an OpenAPI specification file.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Versori User Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_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/versori/JHvcKEOb4limbJz2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Onboard a REST API - Versori User Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"REST apps are onboarded via uploading an OpenAPI specification file.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Versori User Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://versori.mintlify.app/_mintlify/api/og/v2?division=Onboarding+Apps\u0026amp;title=Onboard+a+REST+API\u0026amp;description=REST+apps+are+onboarded+via+uploading+an+OpenAPI+specification+file.\u0026amp;theme=1ac70f2532992ffb34bd6aef\u0026amp;signature=f5b6cfde20e34fda6b9625a98682e0383389d3efe2efce411bba68166dc52cb9\">\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=\"Onboard a REST API - Versori User Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"REST apps are onboarded via uploading an OpenAPI specification file.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://versori.mintlify.app/_mintlify/api/og/v2?division=Onboarding+Apps\u0026amp;title=Onboard+a+REST+API\u0026amp;description=REST+apps+are+onboarded+via+uploading+an+OpenAPI+specification+file.\u0026amp;theme=1ac70f2532992ffb34bd6aef\u0026amp;signature=f5b6cfde20e34fda6b9625a98682e0383389d3efe2efce411bba68166dc52cb9\">\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/versori/JHvcKEOb4limbJz2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Versori User Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6EB0D8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.versori.com/#organization\",\"name\":\"Versori User Documentation\",\"url\":\"https://docs.versori.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/versori/PWNCaMS5nGiiWoff/logo/versori-logo-wordmark.svg?fit=max\u0026auto=format\u0026n=PWNCaMS5nGiiWoff\u0026q=85\u0026s=be10819ca139d000a6edaef35334c0af\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.versori.com#website\",\"name\":\"Versori User Documentation\",\"url\":\"https://docs.versori.com\",\"publisher\":{\"@id\":\"https://docs.versori.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api#webpage\",\"url\":\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api\",\"name\":\"Onboard a REST API\",\"description\":\"REST apps are onboarded via uploading an OpenAPI specification file.\",\"dateModified\":\"2026-01-23T11:43:56.315Z\",\"isPartOf\":{\"@id\":\"https://docs.versori.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Versori User Documentation\",\"item\":\"https://docs.versori.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Onboard a REST API\",\"item\":\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api#article\",\"headline\":\"Onboard a REST API\",\"name\":\"Onboard a REST API\",\"description\":\"REST apps are onboarded via uploading an OpenAPI specification file.\",\"url\":\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api\",\"mainEntityOfPage\":{\"@id\":\"https://docs.versori.com/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api#webpage\"},\"dateModified\":\"2026-01-23T11:43:56.315Z\",\"publisher\":{\"@id\":\"https://docs.versori.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.versori.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Versori User Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Versori User Documentation","nav":{"global":null,"versions":[{"version":"Latest","pages":[{"title":"Latest","href":"/latest/home"}]},{"version":"Legacy","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/legacy/welcome"}]},{"tab":"Integrate","pages":[{"title":"Integrate","href":"/legacy/integrate/intro"}]},{"tab":"Embedded","pages":[{"title":"Embedded","href":"/legacy/embedded/intro"}]},{"tab":"Switchboard (old)","anchors":[{"anchor":"Documentation","groups":[{"group":"Home","pages":[{"title":"Introduction","href":"/legacy/switchboard/introduction"}]},{"group":"Concepts","pages":[{"title":"Introduction","href":"/legacy/switchboard/introduction"},{"title":"Core Concepts","href":"/legacy/switchboard/core-concepts"}]},{"group":"Features","pages":[{"title":"Apps","href":"/legacy/switchboard/features/apps"},{"title":"Boards","href":"/legacy/switchboard/features/boards"},{"title":"Board Editor","href":"/legacy/switchboard/features/board-editor"},{"title":"Hubs SDK","href":"/legacy/switchboard/features/hubs-sdk"},{"group":"Actions","pages":[{"title":"Overview","href":"/legacy/switchboard/features/actions/overview"},{"title":"Transformer","href":"/legacy/switchboard/features/actions/transformer"},{"title":"Databuilder","href":"/legacy/switchboard/features/actions/databuilder"},{"title":"Filter","href":"/legacy/switchboard/features/actions/filter"},{"title":"Datamapper","href":"/legacy/switchboard/features/actions/datamapper"},{"title":"Batch","href":"/legacy/switchboard/features/actions/batch"},{"title":"Delay","href":"/legacy/switchboard/features/actions/delay"},{"title":"Splitter","href":"/legacy/switchboard/features/actions/splitter"},{"title":"Trigger","description":"The Trigger Action is used as a startpoint within your flows, to trigger requests either manually or on a schedule.","href":"/legacy/switchboard/features/actions/trigger"}]}]},{"group":"How-to Guides","pages":[{"group":"Apps","pages":[{"group":"Onboarding Apps","pages":[{"title":"Onboard a REST API","href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/rest-api"},{"title":"Onboard a GraphQL API","description":"GraphQL Apps are onboarded by providing a URL for introspection.","href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/graphql-api"},{"title":"Onboard an SQL App","href":"/legacy/switchboard/how-to-guides/apps/onboarding-apps/sql-app"}]}]},{"title":"How to create a Board, an use the Board Editor","href":"/legacy/switchboard/how-to-guides/create-a-board"},{"title":"How to Connect to your Apps","href":"/legacy/switchboard/how-to-guides/connect-to-an-app"},{"title":"How to add a Webhook Listener into your Integration","href":"/legacy/switchboard/how-to-guides/adding-a-webhook"},{"title":"How to use Selectors to template data within your Integrations","href":"/legacy/switchboard/how-to-guides/using-selectors"},{"title":"How to use the Versori Hubs SDK","href":"/legacy/switchboard/how-to-guides/using-the-hubs-sdk"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/legacy/api-reference/authentication"}]}]},{"version":"v2","pages":[{"title":"v2","href":"/v2/introduction"}]}]},"basePath":"","title":"Onboard a REST API - Versori User Documentation","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}