Configuration options for Reference docs

To control the appearance and the functionality of your API reference documentation, specify the configuration options under referenceDocs depending on the selected usage method.

When using a JavaScript library, specify the options in the second argument of the init function. If you're using our Workflows/hosted service or our CLI for on-premise deployments, we recommend specifying the options in a .redocly.yaml configuration file.

Expand the referenceDocs schema below to show all supported configuration options. The premium version of Redocly Reference docs can use all of the listed options. The Redoc Community Edition (free and open source version) can only use the options marked as supported.

All of the listed options are compatible with Reference docs configuration in OpenAPI CLI and in Developer portal.

referenceDocs schema

corsProxyUrl
string

Controls whether the requests sent from the API Console (the Try it functionality) should go through a CORS proxy. To use the Redocly CORS proxy, set 'https://cors.redoc.ly' as the value. Alternatively, set the URL of your own CORS proxy server as the value. The showConsole option must be enabled for this feature to work.

ctrlFHijack
boolean
Default: true

Brings focus to the search bar when Control-F is pressed.

defaultSampleLanguage
string

Specifies the code sample language tab that will be selected by default in all code samples panels. When configured, this selection is sticky, which means it's preserved between page reloads. The language specified here must match one of the values from generateCodeSamples.language.lang (for example, defaultSampleLanguage: 'JavaScript').

disableDeepLinks
boolean
Default: false

When set to true, disables the deep links functionality in Reference docs. Deep links are automatically created direct links to request parameters and request/response properties in all schemas in the middle panel, regardless of their nesting level. This functionality is enabled by default. To access a deep link, hover over a parameter or property in the middle panel and select the link icon to the left of the parameter/property name. Deep links are not supported in models and callbacks.

disableSearch
boolean
Default: false

Disables search indexing and hides the search box from the API documentation page. Supported in Redoc CE.

disableSidebar
boolean
Default: false

If set to true, hides the navigation sidebar (the left panel).

downloadDefinitionUrl
string

If the 'Download' button is visible in the API reference documentation (hideDownloadButton=false), the URL configured here will open when that button is selected. Provide it as an absolute URL with the full URI scheme.

expandDefaultServerVariables
boolean
Default: false

Enables or disables expanding default server variables. Supported in Redoc CE.

expandResponses
string
Default: "200,201"

Controls which responses to expand by default. Specify one or more responses by providing their response codes as a comma-separated list without spaces, e.g. expandResponses='200,201'. Special value 'all' expands all responses by default. Be careful: this option can slow down documentation rendering time. Supported in Redoc CE.

expandSingleSchemaField
boolean
Default: false

Automatically expands the single field in a schema. Supported in Redoc CE.

object

Controls options for generating code samples, including code sample languages.

generatedPayloadSamplesMaxDepth
number
Default: 8

Controls how many schema levels to display in automatically generated payload samples.

hideDownloadButton
boolean
Default: false

Hides the 'Download' button for saving the API definition source file. This does not make the API definition private, it just hides the button. Supported in Redoc CE.

hideHostname
boolean
Default: false

If set to true, the protocol and hostname are not shown in the operation definition. Supported in Redoc CE.

hideInfoSection
boolean
Default: false

Hides the entire info section of the API definition when set to true.

hideLoading
boolean
Default: false

Hides the loading animation. Does not apply to CLI or Workflows-rendered docs. Supported in Redoc CE.

hideLogo
boolean
Default: false

Hides the API logo defined in the x-logo specification extension.

hideRequestPayloadSample
boolean
Default: false

Hides request payload examples. Supported in Redoc CE.

hideSchemaPattern
boolean
Default: false

If set to true, the pattern is not shown in the schema. Supported in Redoc CE.

hideSchemaTitles
boolean
Default: false

Hides the schema title next to to the type. Supported in Redoc CE.

hideSingleRequestSampleTab
boolean
Default: false

Hides the request sample tab for requests with only one sample. Supported in Redoc CE.

htmlTemplate
string

Sets the path to the optional HTML file used to modify the layout of the reference docs page. Supported in Redoc CE.

number or string >= 1
Default: 2

Sets the default expand level for JSON payload samples (response and request body). The default value is 2, and the maximum supported value is '+Infinity'. It can also be configured as a string with the special value all that expands all levels. Supported in Redoc CE.

object

Sets the text for various labels displayed in schemas.

layout
string

Controls the layout of the Reference docs page, affecting how the panels are displayed. Set the value to three-panel to use the default layout with the sidebar, middle panel, and right panel with code samples. Set the value to stacked to move the entire right panel into the middle panel. The stacked layout is identical to the layout activated by selecting the Change View button on the Reference docs page.

Enum: "stacked" "three-panel"
maxDisplayedEnumValues
number
Default: ""

Displays only the specified number of enum values. The remaining values are hidden in an expandable area. Supported in Redoc CE.

menuToggle
boolean
Default: true

If set to true, selecting an expanded item in the sidebar twice will collapse it. Supported in Redoc CE.

nativeScrollbars
boolean
Default: false

If set to true, the sidebar will use the native scrollbar instead of perfect-scroll. This is a scrolling performance optimization for big API definitions. Supported in Redoc CE.

noAutoAuth
boolean
Default: false

Controls whether the Authentication section is inserted into the API documentation automatically. Supported in Redoc CE.

oAuth2RedirectURI
string

Allows specifying the URI of the oAuth2 redirect page. If you're using Reference docs with Workflows, this value is automatically set and there is usually no need to modify it.

onDeepLinkClick
function
Default: ""

Configures custom behavior that will execute when users select a deep link. As a prerequisite, deep links must be enabled in Reference docs (disableDeepLinks must be set to false). Supported only in Reference docs CDN and in the React component.

onlyRequiredInSamples
boolean
Default: false

Shows only required fields in request samples. Supported in Redoc CE.

pagination
string
Default: "none"

Controls how the API documentation should be paginated. Supported values: 'none' (pagination disabled, all content is rendered on a single long page); 'section' (each tag with a set of associated operations is rendered as a separate page); 'item' (each tag and each operation are rendered on separate pages).

The value of 'none' replaces deprecated 'layout.scope=all, routingStrategy=hash'. The value of 'section' replaces deprecated 'layout.scope=section, routingStrategy=browser'. The value of 'item' replaces deprecated 'layout.scope=item, routingStrategy=browser'.

The section option doesn't support operations without tags, so you must use item for pagination to work with such operations.

Enum: "none" "section" "item"
pathInMiddlePanel
boolean
Default: false

Shows the path link and HTTP verb in the middle panel instead of the right panel. Supported in Redoc CE.

payloadSampleIdx
number >= 0
Default: 0

If set, the payload sample will be inserted at the specified index. If there are N payload samples and the value configured here is bigger than N, the payload sample will be inserted last. Indexes start from 0. Supported in Redoc CE.

requestInterceptor
function

Configures the request interceptor for the Try it console. As a prerequisite, the Try it console must be enabled in Reference docs (showConsole must be set to true). When configured, the interceptor can capture the request object and modify it according to specified criteria. Async usage is supported.

requiredPropsFirst
boolean
Default: false

Shows required properties in schemas first, ordered in the same order as in required array. Supported in Redoc CE.

routingBasePath
string
Default: ""

Specifies the base path when reference docs are hosted at something other than the root (/) of their domain.

routingStrategy
string
Deprecated

Deprecated configuration option.

samplesTabsMaxCount
number
Default: 5

Controls how many code sample tabs are displayed in the right panel by default. If your API definition has code samples for more languages than configured here, their tabs are automatically grouped into a 'show more' menu at the end of the tab list.

string or number
Default: 0

Specifies whether to automatically expand schemas in Reference docs. Set it to all to expand all schemas regardless of their level, or set it to a number to expand schemas up to the specified level. For example, schemaExpansionLevel: 3 expands schemas up to three levels deep. The default value is 0, meaning no schemas are expanded automatically. Supported in Redoc CE.

string or number
Default: 0

If set, specifies a vertical scroll-offset. This is often useful when there are fixed positioned elements at the top of the page, such as navbars, headers etc. Supported in Redoc CE. Note that you can specify the 'scrollYOffset' value in any of the following ways:

  • as a number - a fixed number of pixels to be used as the offset.
  • as a CSS selector - the selector of the element to be used for specifying the offset. The distance from the top of the page to the element's bottom will be used as the offset.
  • a function (advanced) - a getter function. Must return a number representing the offset (in pixels).
searchAutoExpand
boolean
Default: true

If set to true, all response schemas are automatically expanded when displaying the results for a search query. Phrases matching the search query are highlighted in expanded schemas.

searchFieldLevelBoost
number <float>
Default: 0.95

Specifies the boost factor for search terms found in fields at a specific level. If this value is lower than 1, search results found on deeper levels will rank lower.

searchMode
string
Default: "default"

Controls the search indexing mode. Supported values: 'default'; 'path-only' (will index and search only the operation paths).

Enum: "default" "path-only"
searchOperationTitleBoost
number
Default: 4

Specifies the boost factor for search terms found in operation titles. The bigger the value, the higher searches will rank.

searchTagTitleBoost
number
Default: 8

Specifies the boost factor for search terms found in tag titles.

showChangeLayoutButton
boolean
Default: true

When set to true, displays the Change Layout button in the upper right corner of the Reference docs page. Selecting this button moves the middle panel to the center of the page, and places the contents of the right panel (code samples and the API console) into the middle panel.

showConsole
boolean
Default: true

Enables or disables the API Console (the Try it functionality) in the right panel.

boolean or string
Default: false

Shows specification extensions ('x-' fields). Extensions used by Redoc are ignored. The value can be boolean or an array of strings with names of extensions to display. When used as boolean and set to true, all specification extensions are shown. Supported in Redoc CE.

showNextButton
boolean
Default: true

Controls whether to show the 'Next to ...' button at the end of each section when pagination is enabled.

showRightPanelToggle
boolean
Default: true

When set to true, displays the Hide Samples button in the upper right corner of the Reference docs page. Selecting this button hides the entire right panel with code samples and the API console. When the Change View button is enabled and selected, the Hide Samples button is not visible on the page.

object

Configures custom links that will be added to the navigation sidebar. You can link to any internal or external resource. For each link in the object, you must define the placement, label, link contents, and target.

sideNavStyle
string
Default: "summary-only"

Defines the style of navigation sidebar items (in the left panel). The default style is 'summary-only'. The 'path-first' style shows the path first with the summary underneath.

Enum: "summary-only" "path-first"
simpleOneOfTypeLabel
boolean
Default: false

Shows only unique oneOf types in the label without titles. Supported in Redoc CE.

boolean or string

When set to true, sorts all enum values in all schemas alphabetically. Supported in Redoc CE.

boolean or string

When set to true, sorts operations in the navigation sidebar and in the middle panel alphabetically.˙

sortPropsAlphabetically
boolean
Default: false

When set to true, sorts properties in all schemas alphabetically. Supported in Redoc CE.

sortTagsAlphabetically
boolean
Default: false

When set to true, sorts tags in the navigation sidebar and in the middle panel alphabetically. Note that only tags will be sorted alphabetically in the middle panel, not the operations associated with each tag. To sort operations alphabetically as well, you must set sortOperationsAlphabetically to true.

suppressWarnings
boolean
Deprecated

Deprecated configuration option.

theme
object

Theming options that control the style of the generated API documentation. Consult the full list of supported options.

unstable_externalDescription
string
Deprecated

Deprecated configuration option.

unstable_ignoreMimeParameters
boolean
Default: false

Applies a workaround to ignore charset=utf in mime-type.

untrustedDefinition
boolean
Default: false

If set to true, the API definition is considered untrusted and all HTML/Markdown is sanitized to prevent XSS. Supported in Redoc CE.

Example configuration with JavaScript library

RedoclyReferenceDocs.init('<path to api definition>', {
  licenseKey: '<license-key.here>',
  pagination: 'section',
  generateCodeSamples: {
    languages: [
      { lang: 'curl' },
      { lang: 'Node.js' },
      { lang: 'JavaScript', label: 'JS' },
    ],
    skipOptionalParameters: true,
  },
  theme: {
    colors: {
      primary: {
        main: '#6EC5AB',
      }
    },
    typography: {
      fontFamily: `"museo-sans", 'Helvetica Neue', Helvetica, Arial, sans-serif`,
      fontSize: '15px',
      lineHeight: '1.5',
      code: {
        code: '#87E8C7',
        backgroundColor: '#4D4D4E',
      }
    },
    menu: {
      backgroundColor: "#ffffff",
    },
  },
}, document.querySelector('#redoc_container'))

Example .redocly.yaml configuration

The .redocly.yaml configuration is compatible with the CLI and our hosted API registry.

referenceDocs:
  licenseKey: <license-key-here>
  pagination: section
  showConsole: true
  theme:
    menu:
      backgroundColor: '#ffffff'