Bring datasets from Snowflake, BigQuery, Databricks, Redshift, and dbt into Portal’s catalog as searchable, ownable entities.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Spotify for Backstage","colors":{"primary":"#34baa2","light":"#9af0e1","dark":"#91eeda"},"logo":{"light":"https://mintcdn.com/spotify-89f50c35/24doFeqc-xIrJKxF/static/logo/light.svg?fit=max\u0026auto=format\u0026n=24doFeqc-xIrJKxF\u0026q=85\u0026s=e7c3376851f302fc6d1308df15deb771","dark":"https://mintcdn.com/spotify-89f50c35/24doFeqc-xIrJKxF/static/logo/dark.svg?fit=max\u0026auto=format\u0026n=24doFeqc-xIrJKxF\u0026q=85\u0026s=a4e4bd6c0b855fc5959169face3701e1","href":"/"},"favicon":"https://mintcdn.com/spotify-89f50c35/6C5KyJhdlFRgXnE0/static/favicon.ico?fit=max\u0026auto=format\u0026n=6C5KyJhdlFRgXnE0\u0026q=85\u0026s=78c7096e52c0a4493c1d4b76355d22d9","api":{"playground":{"display":"simple"}},"appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://backstage.spotify.com/contact-us/try-portal/","label":"Try Spotify Portal"}],"primary":{"type":"button","label":"Log in","href":"https://backstage.spotify.com/login/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/showcase/spotify-r\u0026d","x":"https://twitter.com/spotifyeng","youtube":"https://www.youtube.com/@SpotifyRnD","instagram":"https://www.instagram.com/lifeatspotify","facebook":"https://www.facebook.com/spotify"},"links":[{"header":"Learn More","items":[{"label":"Go to backstage.spotify.com","href":"https://backstage.spotify.com"},{"label":"Explore the demo","href":"https://demo.backstage.io/catalog"},{"label":"Partner interest form","href":"https://backstage.spotify.com/interested-in-partnering"}]},{"header":"News \u0026 Updates","items":[{"label":"Read our blog","href":"https://backstage.spotify.com/blog"},{"label":"Subscribe to newsletter","href":"https://spoti.fi/backstagenewsletter"},{"label":"Portal system status","href":"https://status.spotifyportal.com"}]},{"header":"Community","items":[{"label":"Join the community","href":"https://github.com/backstage/community"},{"label":"Get Backstage Certified","href":"https://www.cncf.io/training/certification/cba"}]},{"header":"Legal","items":[{"label":"Security","href":"https://backstage.spotify.com/security"},{"label":"Privacy Policy","href":"https://backstage.spotify.com/spotify-for-backstage-terms/privacy-policy"},{"label":"Cookies","href":"https://www.spotify.com/legal/cookies-policy"},{"label":"Terms of Service","href":"https://backstage.spotify.com/terms-of-service"},{"label":"Trademark Usage","href":"https://www.linuxfoundation.org/legal/trademark-usage"}]}]},"seo":{"metatags":{"canonical":"https://backstage.spotify.com/docs"}},"fonts":{"heading":{"family":"Circular Sp","source":"https://mintlify-assets.b-cdn.net/fonts/CircularSpTitle-Bold.woff2","format":"woff2"},"body":{"family":"Circular Sp","source":"https://mintlify-assets.b-cdn.net/fonts/CircularSp-Book.woff2","format":"woff2"}},"styling":{"codeblocks":{"theme":{"light":"github-light","dark":"dracula"}},"latex":false},"integrations":{"gtm":{"tagId":"GTM-58S6R55"},"telemetry":{"enabled":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Contact us","icon":"headset","href":"https://backstage.spotify.com/contact-us/talk-to-us/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"spotify-89f50c35","hasAudioNarration":false,"actualSubdomain":"spotify-89f50c35","customDomains":["backstage.spotify.com"],"gitSource":{"type":"github","owner":"backstage-external","repo":"spotify-for-backstage-docs","deployBranch":"main","contentDirectory":"public","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af70fd85dcd64e14d2edac9","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"Portal","count":140},{"language":"default","tag":"Plugins","count":111},{"language":"default","tag":"Soundcheck","count":88},{"language":"default","tag":"Portal Features \u0026 Plugins","count":88},{"language":"default","tag":"API Reference","count":45},{"language":"default","tag":"Integrations","count":35},{"language":"default","tag":"Guides","count":34},{"language":"default","tag":"Core Concepts","count":31},{"language":"default","tag":"Checks","count":19},{"language":"default","tag":"Fact Collectors","count":16}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"backstage-support@spotify.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":[{"filePath":"styles.css","content":"body{--font-jetbrains-mono:\n 'JetBrains Mono', SF Mono, SFMono-Regular, Menlo, Monaco, Cascadia Mono,\n Segoe UI Mono, Roboto Mono, Oxygen Mono, Ubuntu Monospace, Source Code Pro,\n Fira Mono, Droid Sans Mono, Consolas, Courier New, monospace}#topbar-cta-button svg path{stroke:#000000}#topbar-cta-button span{color:#000000}#content:has(.video-overlay){isolation:auto}.landing-page-card{transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);backdrop-filter:blur(12px);border-width:2px;background-color:rgb(255 255 255)}.landing-page-card:is(.dark *){background-color:rgb(255 255 255 / 0.1)}.landing-page-card:hover{transform:translateY(-0.25rem)}.landing-page-card [data-component-part=\"card-icon\"],.landing-page-card [data-component-part=\"card-icon\"]>img{width:48px;height:48px}.landing-page-card h2{font-size:1.5rem;margin-bottom:1rem;font-weight:600}"}],"page":{"pagePath":"portal/core-features-and-plugins/data-experience","slug":"/portal/core-features-and-plugins/data-experience","pageMetadata":{"sidebar_position":9,"title":"Data Experience","description":"Bring datasets from Snowflake, BigQuery, Databricks, Redshift, and dbt into Portal's catalog as searchable, ownable entities.","href":"/portal/core-features-and-plugins/data-experience/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: \"Bring datasets from Snowflake, BigQuery, Databricks, Redshift, and dbt into Portal’s catalog as searchable, ownable entities.\"\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"dracula"}},"config":{},"pageMetadata":{"sidebar_position":9,"title":"Data Experience","description":"Bring datasets from Snowflake, BigQuery, Databricks, Redshift, and dbt into Portal's catalog as searchable, ownable entities.","href":"/portal/core-features-and-plugins/data-experience/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"spotify-89f50c35","siteName":"Spotify for Backstage","title":"Data Experience - Spotify for Backstage","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-18T13:22:30.819Z","originalFileLocation":"portal/core-features-and-plugins/data-experience/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=\"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=\"Bring datasets from Snowflake, BigQuery, Databricks, Redshift, and dbt into Portal\u0026#x27;s catalog as searchable, ownable entities.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Spotify for Backstage\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_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=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Data Experience - Spotify for Backstage\">\u003cmeta data-mint-head property=\"og:description\" content=\"Bring datasets from Snowflake, BigQuery, Databricks, Redshift, and dbt into Portal\u0026#x27;s catalog as searchable, ownable entities.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Spotify for Backstage\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://backstage.spotify.com/docs/portal/core-features-and-plugins/data-experience\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://spotify-89f50c35.mintlify.site/docs/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Data+Experience\u0026amp;description=Bring+datasets+from+Snowflake%2C+BigQuery%2C+Databricks%2C+Redshift%2C+and+dbt+into+Portal%27s+catalog+as+searchable%2C+ownable+entities.\u0026amp;theme=a6f41037062b0a3b3eab7f14\u0026amp;signature=2186ca1b6e43ff52a123df4ac36a66f566a3f8d9f0b6064310ed2dbf91baff38\">\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=\"Data Experience - Spotify for Backstage\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Bring datasets from Snowflake, BigQuery, Databricks, Redshift, and dbt into Portal\u0026#x27;s catalog as searchable, ownable entities.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://spotify-89f50c35.mintlify.site/docs/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Data+Experience\u0026amp;description=Bring+datasets+from+Snowflake%2C+BigQuery%2C+Databricks%2C+Redshift%2C+and+dbt+into+Portal%27s+catalog+as+searchable%2C+ownable+entities.\u0026amp;theme=a6f41037062b0a3b3eab7f14\u0026amp;signature=2186ca1b6e43ff52a123df4ac36a66f566a3f8d9f0b6064310ed2dbf91baff38\">\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=\"/docs/mintlify-assets/_mintlify/favicons/spotify-89f50c35/R_8z5ScClO7v3nRq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Spotify for Backstage\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#34baa2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://backstage.spotify.com/docs/portal/core-features-and-plugins/data-experience\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/portal/core-features-and-plugins/data-experience.md\">","agentPointerHref":"/docs/portal/core-features-and-plugins/data-experience.md","siteName":"Spotify for Backstage","nav":{"global":{"anchors":[{"anchor":"Contact us","icon":"headset","href":"https://backstage.spotify.com/contact-us/talk-to-us/"}]},"tabs":[{"tab":"Portal","pages":[{"title":"Spotify Portal for Backstage","sidebarTitle":"Spotify Portal for Backstage","href":"/portal"},{"group":"Getting Started","root":{"title":"Getting Started Guide","sidebarTitle":"Getting started with Portal for Backstage","href":"/portal/getting-started"},"pages":[{"title":"AWS Marketplace","sidebarTitle":"Buy Portal on AWS Marketplace","href":"/portal/aws-marketplace"}]},{"group":"Portal Features \u0026 Plugins","root":{"title":"Portal Features \u0026 Plugins","sidebarTitle":"Overview","href":"/portal/core-features-and-plugins/index"},"pages":[{"group":"Catalog","root":{"title":"Software Catalog Overview","sidebarTitle":"Overview","href":"/portal/core-features-and-plugins/catalog/index"},"pages":[{"title":"Creating the Catalog Graph","href":"/portal/core-features-and-plugins/catalog/creating-the-catalog-graph"},{"title":"Descriptor Format of Catalog Entities","href":"/portal/core-features-and-plugins/catalog/descriptor-format"},{"title":"Life of an Entity","href":"/portal/core-features-and-plugins/catalog/life-of-an-entity"},{"title":"Entity References","href":"/portal/core-features-and-plugins/catalog/references"},{"title":"System Model","href":"/portal/core-features-and-plugins/catalog/system-model"},{"title":"Well-known Relations between Catalog Entities","sidebarTitle":"Well-known Relations","href":"/portal/core-features-and-plugins/catalog/well-known-relations"},{"title":"Well-known Status fields of Catalog Entities","sidebarTitle":"Well-known Statuses","href":"/portal/core-features-and-plugins/catalog/well-known-statuses"},{"title":"Creating a Single Entity","sidebarTitle":"Creating a Single Entity","href":"/portal/core-features-and-plugins/catalog/single-entity-create"},{"title":"Auto Ingestion","sidebarTitle":"Auto Ingestion","href":"/portal/core-features-and-plugins/catalog/auto-ingestion"},{"title":"Monorepos","href":"/portal/core-features-and-plugins/catalog/monorepos"},{"title":"Updating Components","sidebarTitle":"Updating Components","href":"/portal/core-features-and-plugins/catalog/bulk-editing"},{"group":"Bulk catalog ingestion","root":{"title":"Bulk catalog ingestion","sidebarTitle":"Overview","href":"/portal/core-features-and-plugins/catalog-builder/index"},"pages":[{"title":"Understanding Management Modes","sidebarTitle":"Understanding Management Modes","href":"/portal/core-features-and-plugins/catalog-builder/management-modes"},{"title":"Portal Mode Walkthrough","sidebarTitle":"Portal Mode Walkthrough","href":"/portal/core-features-and-plugins/catalog-builder/portal-mode-walkthrough"},{"title":"YAML Mode Walkthrough","sidebarTitle":"YAML Mode Walkthrough","href":"/portal/core-features-and-plugins/catalog-builder/yaml-mode-walkthrough"},{"title":"Troubleshooting Bulk Catalog Ingestion","sidebarTitle":"Troubleshooting","href":"/portal/core-features-and-plugins/catalog-builder/troubleshooting"},{"title":"Frequently Asked Questions","sidebarTitle":"FAQ","href":"/portal/core-features-and-plugins/catalog-builder/faq"}]}]},{"group":"Scaffolder","root":{"sidebarTitle":"Scaffolder","title":"Scaffolder (Portal)","href":"/portal/core-features-and-plugins/scaffolder/index"},"pages":[{"sidebarTitle":"Getting Started","title":"Getting Started with Scaffolder","href":"/portal/core-features-and-plugins/scaffolder/getting-started"},{"title":"How-to Guides","href":"/portal/core-features-and-plugins/scaffolder/how-to-guides"},{"sidebarTitle":"Reference","title":"Scaffolder Reference","href":"/portal/core-features-and-plugins/scaffolder/reference"}]},{"title":"TechDocs","sidebarTitle":"TechDocs","href":"/portal/core-features-and-plugins/techdocs"},{"title":"Soundcheck","sidebarTitle":"Soundcheck","href":"/portal/core-features-and-plugins/soundcheck"},{"group":"Fleetshift","root":{"title":"Fleetshift: Getting Started","sidebarTitle":"Fleetshift","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/getting-started"},"pages":[{"title":"Enable AI Shifts","sidebarTitle":"Enable AI Shifts","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/enable-ai-shifts"},{"title":"Create and Run a Shift","sidebarTitle":"Create and Run","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/create-and-run"},{"title":"Fleetshift Guides","sidebarTitle":"Guides","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/guides"},{"title":"Fleetshift: Writing and Publishing npm Package Shifts","sidebarTitle":"npm Package Shifts","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/npm-package-shifts"},{"title":"Fleetshift: OpenRewrite Shifts","sidebarTitle":"OpenRewrite Shifts","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/openrewrite-shifts"},{"title":"Fleetshift MCP Actions","sidebarTitle":"MCP Actions","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/mcp-actions"},{"title":"Fleetshift Troubleshooting","sidebarTitle":"Troubleshooting","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/troubleshooting"},{"title":"Fleetshift FAQ","sidebarTitle":"FAQ","hidden":false,"href":"/portal/core-features-and-plugins/fleetshift/faq"}]},{"group":"AI Gateway","root":{"title":"AI Gateway","sidebarTitle":"Overview","href":"/portal/core-features-and-plugins/ai-gateway/index"},"pages":[{"group":"Integrations","root":{"title":"Integrations","sidebarTitle":"Overview","href":"/portal/core-features-and-plugins/ai-gateway/integrations/index"},"pages":[{"title":"Anthropic","href":"/portal/core-features-and-plugins/ai-gateway/integrations/anthropic"},{"title":"OpenAI","href":"/portal/core-features-and-plugins/ai-gateway/integrations/openai"},{"title":"Azure OpenAI","href":"/portal/core-features-and-plugins/ai-gateway/integrations/azure"},{"title":"Cohere","href":"/portal/core-features-and-plugins/ai-gateway/integrations/cohere"},{"title":"Google Generative AI","href":"/portal/core-features-and-plugins/ai-gateway/integrations/google"},{"title":"Ollama","href":"/portal/core-features-and-plugins/ai-gateway/integrations/ollama"},{"title":"Amazon Bedrock","href":"/portal/core-features-and-plugins/ai-gateway/integrations/aws-bedrock"}]}]},{"title":"DevEx Metrics","href":"/portal/core-features-and-plugins/devex-metrics"},{"title":"Search","sidebarTitle":"Search","href":"/portal/core-features-and-plugins/search"},{"title":"Home","sidebarTitle":"Home","href":"/portal/core-features-and-plugins/home"},{"title":"Insights","sidebarTitle":"Insights","href":"/portal/core-features-and-plugins/insights"},{"title":"Skill Exchange","href":"/portal/core-features-and-plugins/skillexchange"},{"title":"Role-Based Access Control (RBAC)","sidebarTitle":"RBAC","href":"/portal/core-features-and-plugins/rbac"},{"group":"AiKA","pages":[{"title":"Getting Started with AiKA","sidebarTitle":"Getting Started","href":"/portal/core-features-and-plugins/aika/getting-started"},{"title":"Searching for Information","href":"/portal/core-features-and-plugins/aika/searching-for-information"},{"title":"Semantic Plugin","href":"/portal/core-features-and-plugins/aika/semantic-plugin"},{"title":"Tracing for AiKA","sidebarTitle":"Tracing for AiKA","href":"/portal/core-features-and-plugins/aika/tracing"},{"title":"AiKA Data Flow \u0026 Security","sidebarTitle":"Data Flow \u0026 Security","href":"/portal/core-features-and-plugins/aika/data-flow"},{"title":"Agent Configuration","sidebarTitle":"Agent Configuration","href":"/portal/core-features-and-plugins/aika/agent-configuration"},{"title":"AiKA Side Panel","sidebarTitle":"AiKA Side Panel","href":"/portal/core-features-and-plugins/aika/side-panel"},{"title":"Modes","sidebarTitle":"Modes","href":"/portal/core-features-and-plugins/aika/modes"}]},{"group":"AI Explorer","root":{"title":"AI Explorer","href":"/portal/core-features-and-plugins/ai-explorer/index"},"pages":[{"title":"Configuration","href":"/portal/core-features-and-plugins/ai-explorer/configuration"},{"title":"Local Resource Management From AI Explorer","href":"/portal/core-features-and-plugins/ai-explorer/installation"},{"title":"Rules","href":"/portal/core-features-and-plugins/ai-explorer/rules"},{"title":"Skills","href":"/portal/core-features-and-plugins/ai-explorer/skills"},{"title":"Marketplaces \u0026 Plugins","href":"/portal/core-features-and-plugins/ai-explorer/marketplaces"},{"title":"Ownership","href":"/portal/core-features-and-plugins/ai-explorer/ownership"},{"title":"Soundcheck Integration","href":"/portal/core-features-and-plugins/ai-explorer/soundcheck"}]},{"title":"Confidence Flags","href":"/portal/core-features-and-plugins/confidence-flags"},{"title":"Entity Overlays","sidebarTitle":"Entity Overlays","href":"/portal/core-features-and-plugins/entity-overlays"},{"group":"Data Experience","root":{"title":"Overview","href":"/portal/core-features-and-plugins/data-experience/overview"},"pages":[{"title":"Data Experience Quick Start","sidebarTitle":"Quick Start","href":"/portal/core-features-and-plugins/data-experience/quickstart"},{"title":"Key Concepts","href":"/portal/core-features-and-plugins/data-experience/key-concepts"},{"title":"Configuration","href":"/portal/core-features-and-plugins/data-experience/configuration"},{"title":"TechDocs","href":"/portal/core-features-and-plugins/data-experience/techdocs"},{"title":"Dataset Access Requests","href":"/portal/core-features-and-plugins/data-experience/data-access"},{"title":"Portal database tables","href":"/portal/core-features-and-plugins/data-experience/integration-portal-databases"},{"title":"Integration: Redshift","href":"/portal/core-features-and-plugins/data-experience/integration-redshift"},{"title":"Integration: Snowflake","href":"/portal/core-features-and-plugins/data-experience/integration-snowflake"},{"title":"Integration: BigQuery","href":"/portal/core-features-and-plugins/data-experience/integration-bigquery"},{"title":"Integration: Databricks","href":"/portal/core-features-and-plugins/data-experience/integration-databricks"},{"title":"Integration: dbt","href":"/portal/core-features-and-plugins/data-experience/integration-dbt"},{"title":"Data Lineage","href":"/portal/core-features-and-plugins/data-experience/data-lineage"}]},{"group":"MCP","root":{"title":"MCP in Portal","href":"/portal/core-features-and-plugins/mcp/overview"},"pages":[{"title":"Connecting AI Agents","href":"/portal/core-features-and-plugins/mcp/connecting-agents"},{"title":"Available MCP Tools","sidebarTitle":"Available Tools","href":"/portal/core-features-and-plugins/mcp/available-tools"},{"sidebarTitle":"Registering Tools","title":"Registering MCP Tools","href":"/portal/core-features-and-plugins/mcp/registering-tools"},{"title":"Third-Party MCP Servers","href":"/portal/core-features-and-plugins/mcp/third-party-servers"}]},{"group":"Portal CLI","root":{"title":"Get started with Portal CLI","sidebarTitle":"Get started","href":"/portal/core-features-and-plugins/cli/getting-started"},"pages":[]},{"group":"Audit Logs","root":{"title":"Getting Started","href":"/portal/core-features-and-plugins/audit-logs/getting-started"},"pages":[{"title":"Guides","href":"/portal/core-features-and-plugins/audit-logs/guides"},{"title":"Reference","href":"/portal/core-features-and-plugins/audit-logs/reference"}]},{"group":"Recommended Plugins","pages":[{"title":"PagerDuty","sidebarTitle":"PagerDuty","href":"/portal/core-features-and-plugins/recommended-plugins/pagerduty"},{"title":"Buildkite","sidebarTitle":"Buildkite","href":"/portal/core-features-and-plugins/recommended-plugins/buildkite"},{"title":"GitHub Actions","sidebarTitle":"GitHub Actions","href":"/portal/core-features-and-plugins/recommended-plugins/github-actions"},{"title":"GitHub Deployments","sidebarTitle":"GitHub Deployments","href":"/portal/core-features-and-plugins/recommended-plugins/github-deployments"},{"title":"GitHub Issues","sidebarTitle":"GitHub Issues","href":"/portal/core-features-and-plugins/recommended-plugins/github-issues"},{"title":"GitHub Pull Request Board","sidebarTitle":"GitHub Pull Request Board","href":"/portal/core-features-and-plugins/recommended-plugins/github-pull-request-board"},{"title":"Azure DevOps","sidebarTitle":"Azure DevOps","href":"/portal/core-features-and-plugins/recommended-plugins/azure-devops"},{"title":"New Relic","sidebarTitle":"New Relic","href":"/portal/core-features-and-plugins/recommended-plugins/new-relic"},{"title":"SonarQube","sidebarTitle":"SonarQube","href":"/portal/core-features-and-plugins/recommended-plugins/sonarqube"},{"title":"Jira Dashboard","sidebarTitle":"Jira Dashboard","href":"/portal/core-features-and-plugins/recommended-plugins/jira-dashboard"}]},{"title":"Portal Connect","href":"/portal/core-features-and-plugins/portal-connect"}]},{"group":"Developing Portal plugins","root":{"title":"Developing Portal plugins","sidebarTitle":"Overview","href":"/portal/portal-plugins/index"},"pages":[{"title":"Get started","sidebarTitle":"Get started","href":"/portal/portal-plugins/get-started"},{"title":"Build a plugin","sidebarTitle":"Build a plugin","href":"/portal/portal-plugins/build-plugin"},{"title":"Publish and install custom plugins","sidebarTitle":"Publish custom plugins","href":"/portal/portal-plugins/publishing-custom-plugins"},{"title":"Registry plugin publishing","sidebarTitle":"Registry publishing (previous method)","href":"/portal/portal-plugins/publishing-plugins"},{"title":"Generate package metadata","sidebarTitle":"Generate package metadata","href":"/portal/portal-plugins/generate-metadata"}]},{"group":"Managing Plugins","root":{"title":"Managing Plugins","sidebarTitle":"Overview","href":"/portal/managing-plugins/index"},"pages":[{"title":"Installing a Plugin","href":"/portal/managing-plugins/installing-plugins"},{"title":"Updating a Plugin","href":"/portal/managing-plugins/updating-plugins"},{"title":"Uninstalling a Plugin","href":"/portal/managing-plugins/uninstalling-plugins"},{"title":"Build Progress","href":"/portal/managing-plugins/build-progress"},{"title":"Plugin Versioning","href":"/portal/managing-plugins/plugin-versioning"},{"title":"Switching to pre-built plugins","href":"/portal/managing-plugins/migration"}]},{"group":"Guides","root":{"title":"Guides","href":"/portal/guides/index"},"pages":[{"group":"Authentication","root":{"title":"Authentication","sidebarTitle":"Overview","href":"/portal/guides/auth/index"},"pages":[{"group":"Entra ID","root":{"title":"Entra ID","sidebarTitle":"Overview","href":"/portal/guides/auth/entraId/index"},"pages":[{"title":"Create an Azure App Registration","href":"/portal/guides/auth/entraId/create-azure-app-registration"},{"title":"Ingest users and groups","href":"/portal/guides/auth/entraId/setup-catalog-provider"},{"title":"Setup auth provider","href":"/portal/guides/auth/entraId/setup-auth"},{"title":"Retain admin access","href":"/portal/guides/auth/entraId/retain-admin-access"}]},{"group":"Okta","root":{"title":"Okta","sidebarTitle":"Overview","href":"/portal/guides/auth/okta/index"},"pages":[{"title":"Ingest users and groups","href":"/portal/guides/auth/okta/setup-catalog-provider"},{"title":"Setup auth provider","href":"/portal/guides/auth/okta/setup-auth"}]},{"group":"GitHub","root":{"title":"GitHub","sidebarTitle":"Overview","href":"/portal/guides/auth/github/index"},"pages":[{"title":"GitHub Identity Setup Guide","sidebarTitle":"GitHub Setup Guide","href":"/portal/guides/auth/github/setup-auth"}]},{"group":"GitLab","root":{"title":"GitLab","sidebarTitle":"Overview","href":"/portal/guides/auth/gitlab/index"},"pages":[{"title":"Ingest users and groups","href":"/portal/guides/auth/gitlab/setup-catalog-provider"},{"title":"Setup auth provider","href":"/portal/guides/auth/gitlab/setup-auth"}]}]},{"group":"Integrations","root":{"title":"Integrations","sidebarTitle":"Overview","href":"/portal/guides/integrations/index"},"pages":[{"group":"Azure DevOps","root":{"title":"Azure DevOps","sidebarTitle":"Overview","href":"/portal/guides/integrations/azure-devops/index"},"pages":[{"title":"Setup the Azure integration in App Settings","href":"/portal/guides/integrations/azure-devops/azure-app-settings-integrations"},{"title":"Setup Azure DevOps Discovery","href":"/portal/guides/integrations/azure-devops/azure-devops-discovery"},{"title":"Install the Azure DevOps Annotator Processor","href":"/portal/guides/integrations/azure-devops/azure-devops-annotator-processor"},{"title":"Install the Azure DevOps plugin","href":"/portal/guides/integrations/azure-devops/azure-devops-plugin"},{"title":"Install the Azure DevOps scaffolder actions","href":"/portal/guides/integrations/azure-devops/azure-devops-scaffolder-actions"},{"title":"Install the Azure DevOps Wiki Collator","href":"/portal/guides/integrations/azure-devops/azure-devops-wiki-collator"}]},{"group":"GitLab","root":{"title":"GitLab","sidebarTitle":"Overview","href":"/portal/guides/integrations/gitlab/index"},"pages":[{"title":"Setup the GitLab integration in App Settings","href":"/portal/guides/integrations/gitlab/gitlab-app-settings-integrations"},{"title":"Setup GitLab Discovery","href":"/portal/guides/integrations/gitlab/gitlab-discovery"}]},{"title":"AWS Credentials","href":"/portal/guides/integrations/aws-credentials"},{"title":"Migrating to a GitHub App Integration","sidebarTitle":"Migrating to a GitHub App","href":"/portal/guides/integrations/migrating-to-a-github-app-integration"},{"title":"Ingesting Entities into your Catalog from GitHub","sidebarTitle":"Ingesting Entities into your Catalog from GitHub","href":"/portal/guides/integrations/ingesting-entities-into-your-catalog-from-github"},{"title":"Storing Entity Metadata outside of your SCM System","sidebarTitle":"Storing Entity Metadata outside of your SCM System","href":"/portal/guides/integrations/storing-entity-metadata-outside-of-your-scm-system"}]},{"title":"Enabling recovery mode","sidebarTitle":"Enabling recovery mode","href":"/portal/guides/enable-recovery-mode"},{"group":"Confidence Flags","root":{"title":"Introduction to Flags","sidebarTitle":"Overview","href":"/portal/guides/confidence-flags/index"},"pages":[{"title":"Confidence Flag SDKs","sidebarTitle":"Flag SDKs","href":"/portal/guides/confidence-flags/sdks"},{"title":"Configure a Flag","sidebarTitle":"Quickstart","href":"/portal/guides/confidence-flags/quickstart"},{"title":"Rules","sidebarTitle":"Rules","href":"/portal/guides/confidence-flags/rules"},{"title":"Flags","sidebarTitle":"Reference","href":"/portal/guides/confidence-flags/reference"},{"title":"Resolve Tester","sidebarTitle":"Resolve tester","href":"/portal/guides/confidence-flags/resolve-tester"},{"title":"Audience","href":"/portal/guides/confidence-flags/audience"}]},{"title":"Event-Driven Catalog Component Updates","sidebarTitle":"Event-Driven Catalog Component Updates","href":"/portal/guides/events-based-github"},{"group":"Admin","pages":[{"title":"Getting Started with Admin","sidebarTitle":"Getting Started","href":"/portal/guides/Admin/getting_started"},{"title":null,"href":"/portal/guides/Admin/create-api-key"}]},{"group":"Portal Connect","root":{"title":"Portal Connect","href":"/portal/guides/portal-connect/index"},"pages":[{"title":"Installation and Setup","href":"/portal/guides/portal-connect/installation"},{"title":"Managing Portal Connect","href":"/portal/guides/portal-connect/managing"},{"title":"Security Model","href":"/portal/guides/portal-connect/security"}]}]},{"title":"Portal Security Overview","sidebarTitle":"Security","href":"/portal/security"},{"group":"Troubleshooting","root":{"title":"Troubleshooting","sidebarTitle":"Overview","href":"/portal/troubleshooting/index"},"pages":[{"title":"GitHub Integration Troubleshooting","href":"/portal/troubleshooting/github-integration"},{"title":"Troubleshooting Rate Limiting Issues","sidebarTitle":"Rate Limiting Issues","href":"/portal/troubleshooting/rate-limiting"}]},{"title":"Spotify Portal for Backstage Changelog","sidebarTitle":"Changelog","href":"/portal/changelog"},{"title":"Videos","mode":"wide","href":"/portal/videos"}]},{"tab":"Plugins","pages":[{"title":"Spotify Plugins for Backstage","href":"/plugins"},{"group":"Getting Started","root":{"title":"Getting Started Guide","sidebarTitle":"Getting started with Plugins for Backstage","href":"/plugins/getting-started/index"},"pages":[{"title":"AWS Marketplace","sidebarTitle":"Buy Plugins on AWS Marketplace","href":"/plugins/getting-started/aws-marketplace"}]},{"group":"Soundcheck","root":{"title":"Soundcheck","sidebarTitle":"Overview","href":"/plugins/soundcheck/index"},"pages":[{"title":"Installation \u0026 Setup","href":"/plugins/soundcheck/setup-and-installation"},{"group":"Core Concepts","root":{"title":"Core Concepts","href":"/plugins/soundcheck/core-concepts/index"},"pages":[{"group":"Checks","root":{"title":"Checks","sidebarTitle":"Overview","href":"/plugins/soundcheck/core-concepts/checks/index"},"pages":[{"title":"Manual Checks","href":"/plugins/soundcheck/core-concepts/checks/manual-checks"},{"title":"Multi-Fact Checks","sidebarTitle":"Multi-Fact Checks","href":"/plugins/soundcheck/core-concepts/checks/multi-fact-checks"},{"title":"Check Exemptions","sidebarTitle":"Check Exemptions","href":"/plugins/soundcheck/core-concepts/checks/check-exemptions"}]},{"title":"Tracks","href":"/plugins/soundcheck/core-concepts/tracks"},{"title":"Campaigns","href":"/plugins/soundcheck/core-concepts/campaigns"},{"title":"Filters","href":"/plugins/soundcheck/core-concepts/filters"},{"title":"Check Results","href":"/plugins/soundcheck/core-concepts/checkResults"},{"group":"Fact Collectors","root":{"title":"Fact Collectors","sidebarTitle":"Overview","href":"/plugins/soundcheck/core-concepts/fact-collectors/index"},"pages":[{"group":"Integrations","pages":[{"title":"Azure DevOps","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/azure"},{"title":"BigQuery","sidebarTitle":"BigQuery","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/bigquery"},{"title":"Catalog","sidebarTitle":"Catalog","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/catalog"},{"title":"Datadog","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/datadog"},{"title":"Data Registry","sidebarTitle":"Data Registry (Portal)","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/data-registry"},{"title":"GitHub","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/github"},{"title":"GitLab","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/gitlab"},{"title":"HTTP","sidebarTitle":"HTTP","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/http"},{"title":"Jira","sidebarTitle":"Jira","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/jira"},{"title":"Kubernetes","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/kubernetes"},{"title":"NewRelic","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/newrelic"},{"title":"PagerDuty","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/pagerduty"},{"title":"Source Control Management","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/scm"},{"title":"SonarQube","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/sonarqube"},{"title":"Soundcheck","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/soundcheck"},{"title":"Tech Insights","href":"/plugins/soundcheck/core-concepts/fact-collectors/3p-integrations/techinsights"}]}]},{"title":"Check Insights Page Overview","sidebarTitle":"Check Insights","href":"/plugins/soundcheck/core-concepts/check-insights"},{"title":"Track Insights Page Overview","sidebarTitle":"Track Insights","href":"/plugins/soundcheck/core-concepts/track-insights"},{"title":"Campaign Insights Page Overview","sidebarTitle":"Campaign Insights","href":"/plugins/soundcheck/core-concepts/campaign-insights"},{"title":"Tech Insights","sidebarTitle":"Tech Insights","href":"/plugins/soundcheck/core-concepts/tech-insights"},{"title":"Events","href":"/plugins/soundcheck/core-concepts/events"},{"title":"Notifications","href":"/plugins/soundcheck/core-concepts/notifications"}]},{"group":"Using Soundcheck","pages":[{"title":"Entity Card","href":"/plugins/soundcheck/soundcheck-elements/soundcheck-entity-card"},{"title":"Entity Tab","href":"/plugins/soundcheck/soundcheck-elements/soundcheck-entity-tab"}]},{"group":"Tutorials","pages":[{"title":"Creating a Custom Third-Party Integration","href":"/plugins/soundcheck/tutorials/custom-fact-collector"},{"title":"Creating a Custom No-Code UI for a Third-Party Integration","href":"/plugins/soundcheck/tutorials/custom-fact-collector-ncui"},{"title":"Start Measuring Catalog Maturity in 1 hour with the SCM Compliance Track","href":"/plugins/soundcheck/tutorials/start-measuring-catalog-maturity"},{"title":"Climb the maturity ladder with the Recommended Source Control Track","href":"/plugins/soundcheck/tutorials/climb-the-maturity-ladder-with-the-recommended-source-control-track"},{"title":"Start to enable your experts to manage maturity progress","href":"/plugins/soundcheck/tutorials/start-to-enable-your-experts-to-manage-maturity-progress"}]},{"group":"API Reference","pages":[{"group":"Campaigns","pages":[{"title":"Get campaigns","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /campaigns","href":"/plugins/soundcheck/api-reference/campaigns/get-campaigns"},{"title":"Create campaigns","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /campaigns","href":"/plugins/soundcheck/api-reference/campaigns/create-campaigns"},{"title":"Get campaign entities","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /campaigns/entities","href":"/plugins/soundcheck/api-reference/campaigns/get-campaign-entities"},{"title":"Get a campaign","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /campaigns/{campaignId}","href":"/plugins/soundcheck/api-reference/campaigns/get-a-campaign"},{"title":"Update a campaign","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml put /campaigns/{campaignId}","href":"/plugins/soundcheck/api-reference/campaigns/update-a-campaign"},{"title":"Delete a campaign","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml delete /campaigns/{campaignId}","href":"/plugins/soundcheck/api-reference/campaigns/delete-a-campaign"}]},{"group":"Certification","pages":[{"title":"Get certifications for an entity","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /certifications","href":"/plugins/soundcheck/api-reference/certification/get-certifications-for-an-entity"},{"title":"Certify world","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /certify_world","href":"/plugins/soundcheck/api-reference/certification/certify-world"}]},{"group":"Checks","pages":[{"title":"Get checks","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /checks","href":"/plugins/soundcheck/api-reference/checks/get-checks"},{"title":"Create checks","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /checks","href":"/plugins/soundcheck/api-reference/checks/create-checks"},{"title":"Get check entities","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /checks/entities","href":"/plugins/soundcheck/api-reference/checks/get-check-entities"},{"title":"Execute checks","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /checks/execute","href":"/plugins/soundcheck/api-reference/checks/execute-checks"},{"title":"Get exemptions","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /checks/exemptions","href":"/plugins/soundcheck/api-reference/checks/get-exemptions"},{"title":"Create an exemption","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /checks/exemptions","href":"/plugins/soundcheck/api-reference/checks/create-an-exemption"},{"title":"Revoke an exemption","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /checks/exemptions/revoke","href":"/plugins/soundcheck/api-reference/checks/revoke-an-exemption"},{"title":"Restore a revoked exemption","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /checks/exemptions/restore","href":"/plugins/soundcheck/api-reference/checks/restore-a-revoked-exemption"},{"title":"Get revoked exemptions","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /checks/exemptions/revoked","href":"/plugins/soundcheck/api-reference/checks/get-revoked-exemptions"},{"title":"Get a check","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /checks/{checkId}","href":"/plugins/soundcheck/api-reference/checks/get-a-check"},{"title":"Update a check","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml put /checks/{checkId}","href":"/plugins/soundcheck/api-reference/checks/update-a-check"},{"title":"Delete a check","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml delete /checks/{checkId}","href":"/plugins/soundcheck/api-reference/checks/delete-a-check"},{"title":"Get the aggregate status of a check","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /checks/{checkId}/status","href":"/plugins/soundcheck/api-reference/checks/get-the-aggregate-status-of-a-check"},{"title":"Get the aggregate status of a check","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /checks/{checkId}/status","href":"/plugins/soundcheck/api-reference/checks/get-the-aggregate-status-of-a-check-1"},{"title":"Get the status history of a check","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /checks/{checkId}/status-history","href":"/plugins/soundcheck/api-reference/checks/get-the-status-history-of-a-check"},{"title":"Get the status history of a check","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /checks/{checkId}/status-history","href":"/plugins/soundcheck/api-reference/checks/get-the-status-history-of-a-check-1"}]},{"group":"FactCollectors","pages":[{"title":"List fact collectors","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /fact-collectors","href":"/plugins/soundcheck/api-reference/factcollectors/list-fact-collectors"},{"title":"Create fact collectors","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /fact-collectors","href":"/plugins/soundcheck/api-reference/factcollectors/create-fact-collectors"},{"title":"Get a fact collector","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /fact-collectors/{collectorId}","href":"/plugins/soundcheck/api-reference/factcollectors/get-a-fact-collector"},{"title":"Update a fact collector","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml put /fact-collectors/{collectorId}","href":"/plugins/soundcheck/api-reference/factcollectors/update-a-fact-collector"},{"title":"Delete a fact collector","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml delete /fact-collectors/{collectorId}","href":"/plugins/soundcheck/api-reference/factcollectors/delete-a-fact-collector"}]},{"group":"Facts","pages":[{"title":"Submit facts","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /facts","href":"/plugins/soundcheck/api-reference/facts/submit-facts"},{"title":"Trigger on-demand fact collection","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /facts/collect","href":"/plugins/soundcheck/api-reference/facts/trigger-on-demand-fact-collection"}]},{"group":"CheckResults","pages":[{"title":"Get check results","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /results","href":"/plugins/soundcheck/api-reference/checkresults/get-check-results"},{"title":"Submit check results","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /results","href":"/plugins/soundcheck/api-reference/checkresults/submit-check-results"},{"title":"Delete check results","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml delete /results","href":"/plugins/soundcheck/api-reference/checkresults/delete-check-results"}]},{"group":"Tracks","pages":[{"title":"Get tracks","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /tracks","href":"/plugins/soundcheck/api-reference/tracks/get-tracks"},{"title":"Create tracks","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /tracks","href":"/plugins/soundcheck/api-reference/tracks/create-tracks"},{"title":"Get a track","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /tracks/{trackId}","href":"/plugins/soundcheck/api-reference/tracks/get-a-track"},{"title":"Update a track","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml put /tracks/{trackId}","href":"/plugins/soundcheck/api-reference/tracks/update-a-track"},{"title":"Delete a track","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml delete /tracks/{trackId}","href":"/plugins/soundcheck/api-reference/tracks/delete-a-track"},{"title":"Get entities for a track filtered by certification status","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /tracks/{trackId}/entities","href":"/plugins/soundcheck/api-reference/tracks/get-entities-for-a-track-filtered-by-certification-status"},{"title":"Get entities failing checks in a track","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /tracks/{trackId}/failing-entities","href":"/plugins/soundcheck/api-reference/tracks/get-entities-failing-checks-in-a-track"},{"title":"Get the aggregate certification status for a track","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /tracks/{trackId}/status","href":"/plugins/soundcheck/api-reference/tracks/get-the-aggregate-certification-status-for-a-track"},{"title":"Get the aggregate certification status for a track","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /tracks/{trackId}/status","href":"/plugins/soundcheck/api-reference/tracks/get-the-aggregate-certification-status-for-a-track-1"},{"title":"Get the aggregate certification status history of a track","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml get /tracks/{trackId}/status-history","href":"/plugins/soundcheck/api-reference/tracks/get-the-aggregate-certification-status-history-of-a-track"},{"title":"Get the aggregate certification status history of a track","deprecated":null,"version":null,"openapi":"/plugins/soundcheck/openapi.yaml post /tracks/{trackId}/status-history","href":"/plugins/soundcheck/api-reference/tracks/get-the-aggregate-certification-status-history-of-a-track-1"}]}]},{"title":"API Client","sidebarTitle":"API Client","href":"/plugins/soundcheck/api-client"},{"title":"MCP Actions","href":"/plugins/soundcheck/mcp-actions"},{"title":"Health Page","sidebarTitle":"Health Page","href":"/plugins/soundcheck/health"},{"title":"Soundcheck - Advanced Performance Tuning","sidebarTitle":"Advanced Performance Tuning","href":"/plugins/soundcheck/performance"},{"title":"Internationalization (i18n)","sidebarTitle":"Internationalization","href":"/plugins/soundcheck/internationalization"},{"group":"Troubleshooting","root":{"title":"Troubleshooting","href":"/plugins/soundcheck/troubleshooting/index"},"pages":[{"title":"Job Queue Statistics","href":"/plugins/soundcheck/troubleshooting/job-queue-statistics"}]}]},{"group":"RBAC","root":{"title":"RBAC","sidebarTitle":"Overview","href":"/plugins/rbac/index"},"pages":[{"title":"Installation \u0026 Setup","sidebarTitle":"Setup \u0026 Installation","href":"/plugins/rbac/setup-and-installation"},{"title":"Core Concepts","href":"/plugins/rbac/core-concepts"},{"title":"MCP Actions","href":"/plugins/rbac/mcp-actions"},{"group":"Tutorials","pages":[{"title":"Fine-tune Software Templates Access","href":"/plugins/rbac/tutorials/fine-tune-template-access"},{"title":"Read-Only Catalog Permissions","href":"/plugins/rbac/tutorials/read-only-catalog"},{"title":"Catalog Delete Permissions","href":"/plugins/rbac/tutorials/delete-catalog-for-owners"},{"title":"Establish a foundational permission policy","href":"/plugins/rbac/tutorials/foundational-permission-policy"}]}]},{"group":"Skill Exchange","root":{"title":"Skill Exchange","sidebarTitle":"Overview","href":"/plugins/skill-exchange/index"},"pages":[{"title":"Setup \u0026 Installation","href":"/plugins/skill-exchange/setup-and-installation"},{"title":"Notifications","sidebarTitle":"Notifications","href":"/plugins/skill-exchange/notifications"},{"title":"Skill Exchange Actions","href":"/plugins/skill-exchange/actions"},{"group":"Tutorials","pages":[{"title":"Customizing Skill Exchange","href":"/plugins/skill-exchange/tutorials/customizing-skill-exchange"}]},{"group":"References","pages":[{"title":"EmbedsMessageBuilder","href":"/plugins/skill-exchange/references/EmbedsMessageBuilder"},{"title":"MentorsMessageBuilder","href":"/plugins/skill-exchange/references/MentorsMessageBuilder"},{"title":"HacksMessageBuilder","href":"/plugins/skill-exchange/references/HacksMessageBuilder"}]}]},{"group":"Insights","root":{"sidebarTitle":"Insights","title":"Overview","href":"/plugins/insights/index"},"pages":[{"title":"Setup \u0026 Installation","sidebarTitle":"Setup \u0026 Installation","href":"/plugins/insights/setup-and-installation"},{"group":"Core Concepts","pages":[{"title":"Usage Data","href":"/plugins/insights/core-concepts/usage-data"},{"title":"Feedback","href":"/plugins/insights/core-concepts/feedback"}]},{"title":"Migration \u0026 Installation","sidebarTitle":"Migrating to Insights with Feedback","href":"/plugins/insights/migrating-to-insights-with-feedback"},{"title":"MCP Actions","href":"/plugins/insights/mcp-actions"},{"group":"Tutorials","pages":[{"title":"Optimizing your Insights configuration","href":"/plugins/insights/tutorials/Optimizing-Insights-set-up"},{"title":"Tips for running your first Feedback Survey","href":"/plugins/insights/tutorials/feedback-survey"}]}]}]},{"tab":"Xirp","pages":[{"title":"Xirp","sidebarTitle":"Overview","href":"/xirp"},{"group":"Xirp","root":{"title":"Get started with Xirp","sidebarTitle":"Getting started","href":"/xirp/getting-started"},"pages":[{"title":"Projects","sidebarTitle":"Projects","href":"/xirp/projects"},{"title":"Sessions","sidebarTitle":"Sessions","href":"/xirp/sessions"},{"title":"Settings","sidebarTitle":"Settings","href":"/xirp/settings"}]},{"group":"Xirp and Portal","root":{"title":"Xirp and Portal","sidebarTitle":"Overview","href":"/xirp/xirp-and-portal"},"pages":[{"title":"Connect Xirp to Portal","sidebarTitle":"Connect to Portal","href":"/xirp/connecting-to-portal"},{"title":"Connect GitHub and populate the catalog","sidebarTitle":"GitHub onboarding","href":"/xirp/github-onboarding"},{"group":"Workspaces","root":{"title":"Workspaces","sidebarTitle":"Overview","href":"/xirp/workspaces/index"},"pages":[{"title":"Add Workspace resources","sidebarTitle":"Add resources","href":"/xirp/workspaces/adding-resources"},{"title":"Workspace wiki pages","sidebarTitle":"Wiki pages","href":"/xirp/workspaces/wiki-pages"},{"title":"Launch and share Xirp sessions","sidebarTitle":"Launch sessions","href":"/xirp/workspaces/launching-sessions"}]}]},{"title":"FAQ","sidebarTitle":"FAQ","href":"/xirp/faq"},{"title":"Xirp changelog","sidebarTitle":"Changelog","href":"/xirp/changelog"}]}]},"basePath":"","title":"Data Experience - Spotify for Backstage","buildId":"dpl_eBQnj73Q1gDRVNqNsS3Yt9yPkTEW","deploymentId":"dpl_eBQnj73Q1gDRVNqNsS3Yt9yPkTEW","dynamics":[],"chunks":[]}