ReDoc · Schema

ReDoc Configuration

Configuration options for ReDoc, the open-source API documentation renderer for OpenAPI specifications. These options control the functional behavior, appearance, and theme of the rendered documentation.

API DocumentationDeveloper ToolsDocumentationOpenAPIReferenceRenderer

Properties

Name Type Description
disableSearch boolean Disables search indexing and hides the search box from the API documentation page.
minCharacterLengthToInitSearch integer Sets the minimum number of characters that need to be typed into the search dialog to initiate the search.
hideDownloadButtons boolean Hides the Download button for saving the API definition source file. This setting does not make the API definition private; it just hides the button.
hideLoading boolean Hides the loading animation. Does not apply to CLI or Workflows-rendered docs.
hideSchemaTitles boolean Hides the schema title next to the type.
jsonSamplesExpandLevel object Sets the default expand level for JSON payload samples (response and request body). The default value is 2. Use 'all' to expand all levels.
maxDisplayedEnumValues integer Displays only the specified number of enum values. Remaining values are hidden in an expandable area. If not set, all values are displayed.
onlyRequiredInSamples boolean Shows only required fields in request samples.
sortRequiredPropsFirst boolean Shows required properties in schemas first, ordered in the same order as in the required array.
schemasExpansionLevel object Specifies whether to automatically expand schemas in Reference docs. Set to 'all' to expand all schemas, or a number to expand schemas up to that level. Default is 0 (no expansion).
scrollYOffset object Specifies a vertical scroll-offset. Useful when fixed positioned elements (such as navbars or headers) are at the top of the page.
showExtensions object Shows specification extensions (x- fields). Can be a boolean or an array of extension names.
sanitize boolean If set to true, the API definition is considered untrusted and all HTML/Markdown is sanitized to prevent XSS.
downloadUrls array Set the URLs used to download the OpenAPI description or other documentation-related files from the API documentation page.
schemaDefinitionsTagName string If a value is set, all schemas are rendered with the designated tag name and displayed in the sidebar navigation.
generatedSamplesMaxDepth integer Controls how many schema levels are automatically generated for payload samples.
hidePropertiesPrefix boolean Enables hiding of parent names for nested properties within the documentation in complex data structures.
expandDefaultServerVariables boolean Enables or disables expanding default server variables.
expandResponses object Controls which responses to expand by default. Specify response codes as a comma-separated list (e.g. '200,201') or use 'all' to expand all.
expandSingleSchemaField boolean Automatically expands the single field in a schema.
hideHostname boolean If set to true, the protocol and hostname are not shown in the operation definition.
hideRequestPayloadSample boolean Hides request payload examples.
hideOneOfDescription boolean If set to true, the description for oneOf/anyOf objects is not shown in the schema.
hideSchemaPattern boolean If set to true, the pattern is not shown in the schema.
hideSecuritySection boolean Hides the Security panel section.
hideSingleRequestSampleTab boolean Hides the request sample tab for requests with only one sample.
menuToggle boolean If set to true, selecting an expanded item in the sidebar twice collapses it.
nativeScrollbars boolean If set to true, the sidebar uses the native scrollbar instead of perfect-scroll. A scrolling performance optimization for large API definitions.
pathInMiddlePanel boolean Shows the path link and HTTP verb in the middle panel instead of the right panel.
payloadSampleIdx integer If set, the payload sample is inserted at the specified index. Indexes start from 0.
showObjectSchemaExamples boolean Shows object schema example in the properties.
showWebhookVerb boolean When set to true, shows the HTTP request method for webhooks in operations and in the sidebar.
simpleOneOfTypeLabel boolean Shows only unique oneOf types in the label without titles.
sortEnumValuesAlphabetically boolean When set to true, sorts all enum values in all schemas alphabetically.
sortOperationsAlphabetically boolean When set to true, sorts operations in the navigation sidebar and in the middle panel alphabetically.
sortPropsAlphabetically boolean When set to true, sorts properties in all schemas alphabetically.
sortTagsAlphabetically boolean When set to true, sorts tags in the navigation sidebar and in the middle panel alphabetically.
untrustedSpec boolean If set to true, the API definition is considered untrusted and all HTML/Markdown is sanitized to prevent XSS.
theme object Theme and visual styling options for the API documentation page.
View JSON Schema on GitHub

JSON Schema

redoc-configuration-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://apievangelist.com/schemas/redoc/redoc-configuration.json",
  "title": "ReDoc Configuration",
  "description": "Configuration options for ReDoc, the open-source API documentation renderer for OpenAPI specifications. These options control the functional behavior, appearance, and theme of the rendered documentation.",
  "type": "object",
  "properties": {
    "disableSearch": {
      "type": "boolean",
      "description": "Disables search indexing and hides the search box from the API documentation page.",
      "default": false
    },
    "minCharacterLengthToInitSearch": {
      "type": "integer",
      "description": "Sets the minimum number of characters that need to be typed into the search dialog to initiate the search.",
      "default": 3,
      "minimum": 1
    },
    "hideDownloadButtons": {
      "type": "boolean",
      "description": "Hides the Download button for saving the API definition source file. This setting does not make the API definition private; it just hides the button.",
      "default": false
    },
    "hideLoading": {
      "type": "boolean",
      "description": "Hides the loading animation. Does not apply to CLI or Workflows-rendered docs.",
      "default": false
    },
    "hideSchemaTitles": {
      "type": "boolean",
      "description": "Hides the schema title next to the type.",
      "default": false
    },
    "jsonSamplesExpandLevel": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 0,
          "description": "A numeric level to expand JSON payload samples to."
        },
        {
          "type": "string",
          "enum": ["all"],
          "description": "Expand all levels of JSON payload samples."
        }
      ],
      "description": "Sets the default expand level for JSON payload samples (response and request body). The default value is 2. Use 'all' to expand all levels.",
      "default": 2
    },
    "maxDisplayedEnumValues": {
      "type": "integer",
      "description": "Displays only the specified number of enum values. Remaining values are hidden in an expandable area. If not set, all values are displayed.",
      "minimum": 1
    },
    "onlyRequiredInSamples": {
      "type": "boolean",
      "description": "Shows only required fields in request samples.",
      "default": false
    },
    "sortRequiredPropsFirst": {
      "type": "boolean",
      "description": "Shows required properties in schemas first, ordered in the same order as in the required array.",
      "default": false
    },
    "schemasExpansionLevel": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 0,
          "description": "A numeric level to auto-expand schemas to."
        },
        {
          "type": "string",
          "enum": ["all"],
          "description": "Expand all schemas regardless of their level."
        }
      ],
      "description": "Specifies whether to automatically expand schemas in Reference docs. Set to 'all' to expand all schemas, or a number to expand schemas up to that level. Default is 0 (no expansion).",
      "default": 0
    },
    "scrollYOffset": {
      "oneOf": [
        {
          "type": "number",
          "description": "A fixed number of pixels to be used as the vertical scroll offset."
        },
        {
          "type": "string",
          "description": "A CSS selector for an element whose bottom edge defines the scroll offset."
        }
      ],
      "description": "Specifies a vertical scroll-offset. Useful when fixed positioned elements (such as navbars or headers) are at the top of the page."
    },
    "showExtensions": {
      "oneOf": [
        {
          "type": "boolean",
          "description": "When true, shows all specification extensions (x- fields). Extensions used by Redoc are ignored."
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of extension names to selectively display."
        }
      ],
      "description": "Shows specification extensions (x- fields). Can be a boolean or an array of extension names.",
      "default": false
    },
    "sanitize": {
      "type": "boolean",
      "description": "If set to true, the API definition is considered untrusted and all HTML/Markdown is sanitized to prevent XSS.",
      "default": false
    },
    "downloadUrls": {
      "type": "array",
      "description": "Set the URLs used to download the OpenAPI description or other documentation-related files from the API documentation page.",
      "items": {
        "$ref": "#/$defs/DownloadUrl"
      }
    },
    "schemaDefinitionsTagName": {
      "type": "string",
      "description": "If a value is set, all schemas are rendered with the designated tag name and displayed in the sidebar navigation.",
      "minLength": 1
    },
    "generatedSamplesMaxDepth": {
      "type": "integer",
      "description": "Controls how many schema levels are automatically generated for payload samples.",
      "default": 8,
      "minimum": 1
    },
    "hidePropertiesPrefix": {
      "type": "boolean",
      "description": "Enables hiding of parent names for nested properties within the documentation in complex data structures.",
      "default": true
    },
    "expandDefaultServerVariables": {
      "type": "boolean",
      "description": "Enables or disables expanding default server variables.",
      "default": false
    },
    "expandResponses": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^(all|[0-9]+(,[0-9]+)*)$",
          "description": "Comma-separated HTTP response codes to expand, or 'all' to expand all responses."
        }
      ],
      "description": "Controls which responses to expand by default. Specify response codes as a comma-separated list (e.g. '200,201') or use 'all' to expand all."
    },
    "expandSingleSchemaField": {
      "type": "boolean",
      "description": "Automatically expands the single field in a schema.",
      "default": false
    },
    "hideHostname": {
      "type": "boolean",
      "description": "If set to true, the protocol and hostname are not shown in the operation definition.",
      "default": false
    },
    "hideRequestPayloadSample": {
      "type": "boolean",
      "description": "Hides request payload examples.",
      "default": false
    },
    "hideOneOfDescription": {
      "type": "boolean",
      "description": "If set to true, the description for oneOf/anyOf objects is not shown in the schema.",
      "default": false
    },
    "hideSchemaPattern": {
      "type": "boolean",
      "description": "If set to true, the pattern is not shown in the schema.",
      "default": false
    },
    "hideSecuritySection": {
      "type": "boolean",
      "description": "Hides the Security panel section.",
      "default": false
    },
    "hideSingleRequestSampleTab": {
      "type": "boolean",
      "description": "Hides the request sample tab for requests with only one sample.",
      "default": false
    },
    "menuToggle": {
      "type": "boolean",
      "description": "If set to true, selecting an expanded item in the sidebar twice collapses it.",
      "default": true
    },
    "nativeScrollbars": {
      "type": "boolean",
      "description": "If set to true, the sidebar uses the native scrollbar instead of perfect-scroll. A scrolling performance optimization for large API definitions.",
      "default": false
    },
    "pathInMiddlePanel": {
      "type": "boolean",
      "description": "Shows the path link and HTTP verb in the middle panel instead of the right panel.",
      "default": false
    },
    "payloadSampleIdx": {
      "type": "integer",
      "description": "If set, the payload sample is inserted at the specified index. Indexes start from 0.",
      "minimum": 0
    },
    "showObjectSchemaExamples": {
      "type": "boolean",
      "description": "Shows object schema example in the properties.",
      "default": false
    },
    "showWebhookVerb": {
      "type": "boolean",
      "description": "When set to true, shows the HTTP request method for webhooks in operations and in the sidebar.",
      "default": false
    },
    "simpleOneOfTypeLabel": {
      "type": "boolean",
      "description": "Shows only unique oneOf types in the label without titles.",
      "default": false
    },
    "sortEnumValuesAlphabetically": {
      "type": "boolean",
      "description": "When set to true, sorts all enum values in all schemas alphabetically.",
      "default": false
    },
    "sortOperationsAlphabetically": {
      "type": "boolean",
      "description": "When set to true, sorts operations in the navigation sidebar and in the middle panel alphabetically.",
      "default": false
    },
    "sortPropsAlphabetically": {
      "type": "boolean",
      "description": "When set to true, sorts properties in all schemas alphabetically.",
      "default": false
    },
    "sortTagsAlphabetically": {
      "type": "boolean",
      "description": "When set to true, sorts tags in the navigation sidebar and in the middle panel alphabetically.",
      "default": false
    },
    "untrustedSpec": {
      "type": "boolean",
      "description": "If set to true, the API definition is considered untrusted and all HTML/Markdown is sanitized to prevent XSS.",
      "default": false
    },
    "theme": {
      "$ref": "#/$defs/ThemeOptions",
      "description": "Theme and visual styling options for the API documentation page."
    }
  },
  "additionalProperties": false,
  "$defs": {
    "DownloadUrl": {
      "type": "object",
      "description": "A URL entry for downloading an OpenAPI description or related documentation file.",
      "required": ["url"],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "The URL pointing to the downloadable file."
        },
        "title": {
          "type": "string",
          "description": "A human-readable label for the download link."
        }
      },
      "additionalProperties": false
    },
    "ThemeOptions": {
      "type": "object",
      "description": "Visual theme configuration for the Redoc documentation renderer.",
      "properties": {
        "spacing": {
          "$ref": "#/$defs/SpacingOptions",
          "description": "Spacing and padding settings used in the layout."
        },
        "breakpoints": {
          "$ref": "#/$defs/BreakpointOptions",
          "description": "Breakpoints for switching between three-panel, two-panel, and mobile view layouts."
        },
        "colors": {
          "$ref": "#/$defs/ColorOptions",
          "description": "Color settings including tonal offset and primary/secondary palette."
        },
        "typography": {
          "$ref": "#/$defs/TypographyOptions",
          "description": "Typography settings including font family, size, weight, and line height."
        },
        "sidebar": {
          "$ref": "#/$defs/SidebarOptions",
          "description": "Sidebar width, background color, text color, and item styling."
        },
        "logo": {
          "$ref": "#/$defs/LogoOptions",
          "description": "Logo display settings including max dimensions and padding."
        },
        "rightPanel": {
          "$ref": "#/$defs/RightPanelOptions",
          "description": "Right panel background color, width, text color, and server display options."
        },
        "fab": {
          "$ref": "#/$defs/FabOptions",
          "description": "Floating action button (FAB) styling."
        }
      },
      "additionalProperties": false
    },
    "SpacingOptions": {
      "type": "object",
      "description": "Spacing configuration for the Redoc layout.",
      "properties": {
        "unit": {
          "type": "integer",
          "description": "Main spacing unit (in pixels) used in auto-computed theme values.",
          "default": 5
        },
        "sectionHorizontal": {
          "type": "integer",
          "description": "Horizontal section padding in pixels. Defaults to spacing.unit * 8.",
          "default": 40
        },
        "sectionVertical": {
          "type": "integer",
          "description": "Vertical section padding in pixels. Defaults to spacing.unit * 8.",
          "default": 40
        }
      },
      "additionalProperties": false
    },
    "BreakpointOptions": {
      "type": "object",
      "description": "Responsive breakpoints for layout switching.",
      "properties": {
        "small": {
          "type": "string",
          "description": "Breakpoint for switching to mobile view.",
          "default": "50rem"
        },
        "medium": {
          "type": "string",
          "description": "Breakpoint for switching to two-panel view.",
          "default": "85rem"
        },
        "large": {
          "type": "string",
          "description": "Breakpoint for switching to three-panel view.",
          "default": "105rem"
        }
      },
      "additionalProperties": false
    },
    "ColorOptions": {
      "type": "object",
      "description": "Color palette settings for the Redoc theme.",
      "properties": {
        "tonalOffset": {
          "type": "number",
          "description": "Default tonal offset used in color computations.",
          "default": 0.3,
          "minimum": 0,
          "maximum": 1
        }
      },
      "additionalProperties": false
    },
    "TypographyOptions": {
      "type": "object",
      "description": "Typography settings for the Redoc documentation.",
      "properties": {
        "fontSize": {
          "type": "string",
          "description": "Base font size for body text.",
          "default": "14px"
        },
        "lineHeight": {
          "type": "string",
          "description": "Base line height for body text.",
          "default": "1.5em"
        },
        "fontWeightRegular": {
          "type": "string",
          "description": "Font weight for regular text.",
          "default": "400"
        },
        "fontWeightBold": {
          "type": "string",
          "description": "Font weight for bold text.",
          "default": "600"
        },
        "fontWeightLight": {
          "type": "string",
          "description": "Font weight for light text.",
          "default": "300"
        },
        "fontFamily": {
          "type": "string",
          "description": "Font family for body text.",
          "default": "Roboto, sans-serif"
        },
        "smoothing": {
          "type": "string",
          "description": "Font smoothing setting.",
          "default": "antialiased"
        },
        "optimizeSpeed": {
          "type": "boolean",
          "description": "Whether to optimize text rendering for speed.",
          "default": true
        },
        "headings": {
          "$ref": "#/$defs/HeadingTypographyOptions",
          "description": "Typography settings specific to headings."
        },
        "code": {
          "$ref": "#/$defs/CodeTypographyOptions",
          "description": "Typography settings for inline code blocks."
        },
        "links": {
          "$ref": "#/$defs/LinkTypographyOptions",
          "description": "Typography settings for hyperlinks."
        }
      },
      "additionalProperties": false
    },
    "HeadingTypographyOptions": {
      "type": "object",
      "description": "Typography settings for headings.",
      "properties": {
        "fontFamily": {
          "type": "string",
          "description": "Font family for headings.",
          "default": "Montserrat, sans-serif"
        },
        "fontWeight": {
          "type": "string",
          "description": "Font weight for headings.",
          "default": "400"
        },
        "lineHeight": {
          "type": "string",
          "description": "Line height for headings.",
          "default": "1.6em"
        }
      },
      "additionalProperties": false
    },
    "CodeTypographyOptions": {
      "type": "object",
      "description": "Typography settings for inline code.",
      "properties": {
        "fontSize": {
          "type": "string",
          "description": "Font size for inline code.",
          "default": "13px"
        },
        "fontFamily": {
          "type": "string",
          "description": "Font family for inline code.",
          "default": "Courier, monospace"
        },
        "fontWeight": {
          "type": "string",
          "description": "Font weight for inline code."
        },
        "color": {
          "type": "string",
          "description": "Text color for inline code.",
          "default": "#e53935"
        },
        "backgroundColor": {
          "type": "string",
          "description": "Background color for inline code.",
          "default": "rgba(38, 50, 56, 0.05)"
        },
        "wrap": {
          "type": "boolean",
          "description": "Whether to break word for inline blocks (otherwise they can overflow).",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "LinkTypographyOptions": {
      "type": "object",
      "description": "Typography and color settings for hyperlinks.",
      "properties": {
        "color": {
          "type": "string",
          "description": "Link text color. Defaults to the primary color."
        },
        "visited": {
          "type": "string",
          "description": "Visited link color. Defaults to the link color."
        },
        "hover": {
          "type": "string",
          "description": "Hover link color. Defaults to a lightened version of the link color."
        },
        "textDecoration": {
          "type": "string",
          "description": "CSS text-decoration for links.",
          "default": "auto"
        },
        "hoverTextDecoration": {
          "type": "string",
          "description": "CSS text-decoration for links on hover.",
          "default": "auto"
        }
      },
      "additionalProperties": false
    },
    "SidebarOptions": {
      "type": "object",
      "description": "Styling and layout options for the navigation sidebar.",
      "properties": {
        "width": {
          "type": "string",
          "description": "Width of the sidebar.",
          "default": "260px"
        },
        "backgroundColor": {
          "type": "string",
          "description": "Background color of the sidebar.",
          "default": "#fafafa"
        },
        "textColor": {
          "type": "string",
          "description": "Text color in the sidebar.",
          "default": "#333333"
        },
        "activeTextColor": {
          "type": "string",
          "description": "Text color for the active sidebar item. Defaults to the primary color."
        },
        "groupItems": {
          "$ref": "#/$defs/SidebarItemOptions",
          "description": "Styling for group heading items in the sidebar."
        },
        "level1Items": {
          "$ref": "#/$defs/SidebarItemOptions",
          "description": "Styling for level 1 sidebar items such as tags and section headings."
        },
        "arrow": {
          "$ref": "#/$defs/SidebarArrowOptions",
          "description": "Styling for the sidebar expand/collapse arrow."
        }
      },
      "additionalProperties": false
    },
    "SidebarItemOptions": {
      "type": "object",
      "description": "Styling for a category of sidebar items.",
      "properties": {
        "activeBackgroundColor": {
          "type": "string",
          "description": "Background color for the active state of this sidebar item group."
        },
        "activeTextColor": {
          "type": "string",
          "description": "Text color for the active state of this sidebar item group."
        },
        "textTransform": {
          "type": "string",
          "description": "CSS text-transform for sidebar item labels.",
          "enum": ["uppercase", "lowercase", "capitalize", "none"],
          "default": "none"
        }
      },
      "additionalProperties": false
    },
    "SidebarArrowOptions": {
      "type": "object",
      "description": "Styling for the sidebar navigation arrow icon.",
      "properties": {
        "size": {
          "type": "string",
          "description": "Size of the arrow icon.",
          "default": "1.5em"
        },
        "color": {
          "type": "string",
          "description": "Color of the arrow icon. Defaults to the sidebar text color."
        }
      },
      "additionalProperties": false
    },
    "LogoOptions": {
      "type": "object",
      "description": "Display settings for the logo shown above the sidebar.",
      "properties": {
        "maxHeight": {
          "type": "string",
          "description": "Maximum height of the logo image. Defaults to the sidebar width."
        },
        "maxWidth": {
          "type": "string",
          "description": "Maximum width of the logo image. Defaults to the sidebar width."
        },
        "gutter": {
          "type": "string",
          "description": "Padding around the logo image.",
          "default": "2px"
        }
      },
      "additionalProperties": false
    },
    "RightPanelOptions": {
      "type": "object",
      "description": "Styling options for the right panel, which shows request and response examples.",
      "properties": {
        "backgroundColor": {
          "type": "string",
          "description": "Background color of the right panel.",
          "default": "#263238"
        },
        "width": {
          "type": "string",
          "description": "Width of the right panel as a percentage or CSS value.",
          "default": "40%"
        },
        "textColor": {
          "type": "string",
          "description": "Text color in the right panel.",
          "default": "#ffffff"
        },
        "servers": {
          "$ref": "#/$defs/RightPanelServersOptions",
          "description": "Server selector overlay styling in the right panel."
        }
      },
      "additionalProperties": false
    },
    "RightPanelServersOptions": {
      "type": "object",
      "description": "Styling for the server selector display in the right panel.",
      "properties": {
        "overlay": {
          "type": "object",
          "description": "Overlay styling for the server selector.",
          "properties": {
            "backgroundColor": {
              "type": "string",
              "description": "Background color of the server selector overlay.",
              "default": "#fafafa"
            },
            "textColor": {
              "type": "string",
              "description": "Text color in the server selector overlay.",
              "default": "#263238"
            }
          },
          "additionalProperties": false
        },
        "url": {
          "type": "object",
          "description": "URL display styling in the server selector.",
          "properties": {
            "backgroundColor": {
              "type": "string",
              "description": "Background color for the server URL display.",
              "default": "#fff"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "FabOptions": {
      "type": "object",
      "description": "Styling options for the floating action button.",
      "properties": {
        "backgroundColor": {
          "type": "string",
          "description": "Background color of the floating action button.",
          "default": "#263238"
        },
        "color": {
          "type": "string",
          "description": "Icon color of the floating action button.",
          "default": "#ffffff"
        }
      },
      "additionalProperties": false
    }
  }
}