layout: "modern" | "classic"
The layout to use for the references
spec: SpecConfiguration
The Swagger/OpenAPI spec to render
isEditable: boolean
Whether the spec input should show
showSidebar: boolean
Whether to show the sidebar
hideModels: boolean
Whether to show models in the sidebar, search, and content.
hideDownloadButton: boolean
Whether to show the “Download OpenAPI Document” button
hideTestRequestButton: boolean
Whether to show the “Test Request” button
hideSearch: boolean
Whether to show the sidebar search bar
forceDarkModeState: "dark" | "light"
forceDarkModeState makes it always this state no matter what
hideDarkModeToggle: boolean
Whether to show the dark mode toggle
searchHotKey: "a"
| "b"
| "c"
| "d"
| "e"
| "f"
| "g"
| "h"
| "i"
| "j"
| "k"
| "l"
| "m"
| "n"
| "o"
| "p"
| "q"
| "r"
| "s"
| "t"
| "u"
| "v"
| "w"
| "x"
| "y"
| "z"
Key used with CTRL/CMD to open the search modal (defaults to 'k' e.g. CMD+k)
onSpecUpdate: (spec: string) => void
onSpecUpdate is fired on spec/swagger content change
baseServerURL: string
The baseServerURL is used when the spec servers are relative paths and we are using SSR. On the client we can grab the window.location.origin but on the server we need to use this prop.
withDefaultFonts: boolean
We’re using Inter and JetBrains Mono as the default fonts. If you want to use your own fonts, set this to false.
defaultOpenAllTags: boolean
By default we only open the relevant tag based on the url, however if you want all the tags open by default then set this configuration option :)
_integration: null
| "adonisjs"
| "docusaurus"
| "dotnet"
| "elysiajs"
| "express"
| "fastapi"
| "fastify"
| "go"
| "hono"
| "html"
| "laravel"
| "litestar"
| "nestjs"
| "nextjs"
| "nitro"
| "nuxt"
| "platformatic"
| "react"
| "rust"
| "vue"
Specifies the integration being used. This is primarily for internal purposes and should not be manually set.
It’s used to:
- Display debug information in the console.
- Show a custom logo when importing OpenAPI documents in the Scalar App.
Each supported integration has a unique identifier (e.g., 'express', 'nextjs', 'vue').
To explicitly disable this feature, you can pass null
.
hideClientButton: boolean
Whether to show the client button from the reference sidebar and modal