| title | docs.json schema reference | |||||||
|---|---|---|---|---|---|---|---|---|
| description | Complete reference for every docs.json configuration property with types, default values, descriptions, and usage examples for your docs site. | |||||||
| keywords |
|
Required fields have a required badge. All other fields are optional.
For context on what each group of settings does, see the topic pages:
| Property | Type | Required | Default |
|---|---|---|---|
$ref |
string (file path) | No | None |
theme |
string | Yes | None |
name |
string | Yes | None |
colors.primary |
string (hex) | Yes | None |
navigation |
object | Yes | None |
description |
string | No | None |
logo |
string or object | No | None |
favicon |
string or object | No | None |
appearance.default |
"system" | "light" | "dark" |
No | "system" |
appearance.strict |
boolean | No | false |
fonts.family |
string | No | Theme default |
icons.library |
"fontawesome" | "lucide" | "tabler" |
No | "fontawesome" |
background.decoration |
"gradient" | "grid" | "windows" |
No | None |
styling.eyebrows |
"section" | "breadcrumbs" |
No | "section" |
styling.latex |
boolean | No | Auto-detected |
styling.codeblocks |
"system" | "dark" | string | object |
No | "system" |
thumbnails.appearance |
"light" | "dark" |
No | Site default |
navbar.links |
array | No | None |
navbar.primary |
object | No | None |
footer.socials |
object | No | None |
footer.links |
array | No | None |
banner.content |
string | No | None |
banner.dismissible |
boolean | No | false |
banner.type |
"info" | "warning" | "critical" |
No | "info" |
banner.color |
object | string | No | None |
interaction.drilldown |
boolean | No | Theme default |
contextual.options |
array | No | None |
contextual.display |
"header" | "toc" |
No | "header" |
redirects |
array | No | None |
variables |
object | No | None |
metadata.timestamp |
boolean | No | false |
errors.404.redirect |
boolean | No | true |
errors.404.title |
string | No | None |
errors.404.description |
string | No | None |
api.openapi |
string or array or object | No | None |
api.asyncapi |
string or array or object | No | None |
api.playground.display |
"interactive" | "simple" | "none" | "auth" |
No | "interactive" |
api.playground.proxy |
boolean | No | true |
api.playground.credentials |
boolean | No | false |
api.params.expanded |
"all" | "closed" |
No | "closed" |
api.params.post |
array of string | No | None |
api.url |
"full" |
No | None |
api.examples.languages |
array of string | No | None |
api.examples.defaults |
"required" | "all" |
No | "all" |
api.examples.prefill |
boolean | No | false |
api.examples.autogenerate |
boolean | No | true |
seo.indexing |
"navigable" | "all" |
No | "navigable" |
seo.metatags |
object | No | None |
search.prompt |
string | No | None |
integrations.* |
object | No | None |
Load configuration from another JSON file. Use $ref at any level of your docs.json to split configuration across multiple files.
Type: string—relative file path to a .json file
- When
$refresolves to an object, Mintlify merges any sibling keys in the same block on top of the referenced content, allowing those keys to take precedence over matching keys in the reference. - When
$refresolves to a non-object value such as an array, Mintlify ignores any sibling keys. - Referenced files can contain their own
$refentries, resolved relative to that file. - Paths must stay within the project root. Circular references cause a build error.
See Split configuration with $ref for examples.
The layout theme for your site.
Type: string
Options: mint, maple, palm, willow, linden, almond, aspen, sequoia, luma
See Themes for previews.
The name of your project, organization, or product.
Type: string
The colors used in your documentation.
Type: object
required
The primary color. Generally used for emphasis in light mode.
Type: string—hex code matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The color used for emphasis in dark mode.
Type: string—hex code matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The color used for buttons and hover states across both modes.
Type: string—hex code matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The navigation structure of your content.
Type: object
See Navigation for complete documentation.
Global navigation elements that appear across all pages and locales.
Type: object
Top-level navigation tabs.
Type: array of object—each with: tab (string, required), icon (string), iconType (string), hidden (boolean), href (string uri, required)
Sidebar anchor links.
Type: array of object—each with: anchor (string, required), icon (string), iconType (string), color.light (string hex), color.dark (string hex), hidden (boolean), href (string uri, required)
Dropdown menus.
Type: array of object—each with: dropdown (string, required), icon (string), iconType (string), hidden (boolean), href (string uri, required)
Language switcher in the global nav.
Type: array of object—each with: language (string, required), default (boolean), hidden (boolean), href (string uri, required)
Supported language codes: ar, ca, cn, cs, da, de, en, es, fr, fr-CA, he, hi, hu, id, it, ja, ja-JP, jp, ko, lv, nl, no, pl, pt, pt-BR, ro, ru, sv, tr, uk, uz, vi, zh, zh-CN, zh-Hans, zh-Hant, zh-TW
Version switcher in the global nav.
Type: array of object—each with: version (string, required, min length 1), default (boolean), hidden (boolean), href (string uri, required)
Product switcher in the global nav.
Type: array of object—each with: product (string, required), description (string), icon (string), iconType (string)
Language switcher for multi-language sites. Each entry can include language-specific banner, footer, and navbar overrides.
Type: array of object—each with: language (string, required), default (boolean), hidden (boolean), banner (object), footer (object), navbar (object)
Supported language codes: ar, ca, cn, cs, da, de, en, es, fr, fr-CA, he, hi, hu, id, it, ja, ja-JP, jp, ko, lv, nl, no, pl, pt, pt-BR, ro, ru, sv, tr, uk, uz, vi, zh, zh-CN, zh-Hans, zh-Hant, zh-TW
Version switcher for multi-version sites.
Type: array of object—each with: default (boolean), tag (string)
Top-level navigation tabs.
Type: array of object—see navigation.global.tabs for shape.
Sidebar anchor links.
Type: array of object—see navigation.global.anchors for shape.
Dropdown menus.
Type: array of object—see navigation.global.dropdowns for shape.
Product switcher.
Type: array of object—see navigation.global.products for shape.
Groups for organizing content into labeled sections.
Type: array of object
Numeric multiplier applied to the in-product search ranking of every page in this group. Pages inherit the boost factor from the nearest ancestor group that sets one. Use values greater than 1 to prioritize, between 0 and 1 to de-prioritize. See Search.
Type: number
Individual pages in your documentation.
Type: array of string or object
Directory layout for root pages in navigation groups. Inherits recursively. Descendants can override. See Directory listings.
Type: "none" | "accordion" | "card"—default "none"
Site description for SEO and AI indexing.
Type: string
Site logo. Provide a path string or separate light and dark objects.
Type: string or object
required (when using object form)
Path to the logo for light mode. Example: /logo/light.svg.
Type: string
required (when using object form)
Path to the logo for dark mode. Example: /logo/dark.svg.
Type: string
URL to redirect to when clicking the logo.
Type: string (uri)
Site favicon. Automatically resized. Provide a path string or separate light and dark objects.
Type: string or object
required (when using object form)
Path to the favicon for light mode. Example: /favicon.png.
Type: string
required (when using object form)
Path to the favicon for dark mode. Example: /favicon-dark.png.
Type: string
Light/dark mode settings.
Type: object
Default color mode.
Type: "system" | "light" | "dark"
Default: "system"
When true, hides the light/dark mode toggle.
Type: boolean
Default: false
Custom fonts. Supports Google Fonts and self-hosted fonts.
Type: object
required (when using fonts)
Font family name. Google Fonts family names load automatically.
Type: string
Font weight. Variable fonts support fractional values such as 550.
Type: number
URL to a hosted font or path to a local font file. Not needed for Google Fonts.
Type: string (uri)
Font file format. Required when using fonts.source.
Type: "woff" | "woff2"
Override font settings for headings. Accepts the same family, weight, source, and format fields.
Type: object
Override font settings for body text. Accepts the same family, weight, source, and format fields.
Type: object
Icon library settings.
Type: object
required
Icon library to use throughout your documentation. All icon names in your docs must come from the selected library.
Type: "fontawesome" | "lucide" | "tabler"
Default: "fontawesome"
Background image, decoration, and color settings.
Type: object
Decorative background pattern.
Type: "gradient" | "grid" | "windows"
Custom background colors.
Type: object
Background color for light mode.
Type: string—hex code matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
Background color for dark mode.
Type: string—hex code matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
Background image. Provide a path string or separate light and dark objects.
Type: string or object
required (when using object form)
Background image path for light mode.
Type: string
required (when using object form)
Background image path for dark mode.
Type: string
Visual styling controls.
Type: object
Page eyebrow style shown at the top of the page.
Type: "section" | "breadcrumbs"
Default: "section"
Whether to load LaTeX stylesheets. By default, Mintlify auto-detects LaTeX usage.
Type: boolean
Code block theme configuration.
Type: "system" | "dark" | string (Shiki theme name) | object
Default: "system"
When an object:
A single Shiki theme name for both modes, or an object with light and dark Shiki theme names.
Type: string or object
Custom language configuration.
Type: object
Paths to JSON files describing custom Shiki languages in TextMate grammar format.
Type: array of string
Social media thumbnail customization.
Type: object
Visual theme for thumbnails.
Type: "light" | "dark"
Default: Site color scheme
Background image for thumbnails. Can be a relative path or absolute URL.
Type: string
Font configuration for thumbnails.
Type: object
required (when using thumbnails.fonts)
Font family name. Supports Google Fonts only.
Type: string
Top navigation bar configuration.
Type: object
Links displayed in the navbar.
Type: array of object—each with:
| Field | Type | Required | Description |
|---|---|---|---|
type |
"github" | "discord" |
No | Link type. Omit for a standard link. |
label |
string | Conditional | Required when type is omitted. |
href |
string (uri) | Yes | Link destination. |
icon |
string | No | Icon name, URL, path, or SVG. |
iconType |
string | No | Font Awesome icon style only. |
Primary call-to-action button in the navbar.
Type: object
| Field | Type | Required | Description |
|---|---|---|---|
type |
"button" | "github" | "discord" |
Yes | Button style. |
label |
string | Conditional | Required when type is "button". |
href |
string (uri) | Yes | Button destination. |
Footer content and social links.
Type: object
Social media profiles. Each key is a platform name, each value is your profile URL.
Type: object
Valid keys: x, website, facebook, youtube, discord, slack, github, linkedin, instagram, hacker-news, medium, telegram, twitter, x-twitter, earth-americas, bluesky, threads, reddit, podcast
Link columns in the footer. Maximum 4 columns.
Type: array of object (max 4)—each with: header (string), items (array of { label: string, href: string }, required)
Site-wide banner displayed at the top of every page.
Type: object
required (when using banner)
Banner text. Supports basic MDX formatting including links, bold, and italic. Custom components are not supported.
Type: string
Whether to show a dismiss button.
Type: boolean
Default: false
Visual style for the banner background. Use info for general announcements, warning for cautionary notices, and critical for urgent issues.
Type: "info" | "warning" | "critical"
Default: "info"
Custom background color override. Takes precedence over type. Banner text is white, so choose a background that remains legible.
Type: object with light (string) and dark (string) hex values, or a single hex string applied to both modes.
Navigation interaction settings.
Type: object
Controls automatic navigation when a user clicks a navigation group. Set to true to navigate to the first page when a user clicks a group, false to only expand/collapse the group without navigating.
Type: boolean Default: Theme default
Contextual menu for page actions and AI tool integrations.
Type: object
required
Actions available in the contextual menu. The first item is the default action.
Type: array of "assistant" | "copy" | "view" | "download-pdf" | "download-spec" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "devin-desktop" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | object
Custom option object fields:
| Field | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Display title. |
description |
string | Yes | Description text. |
icon |
string | No | Icon name, URL, path, or SVG. |
href |
string or object | Yes | Link destination. Supports $page, $path, $mcp placeholders. |
Where to show the contextual menu.
Type: "header" | "toc"
Default: "header"
Redirects for moved, renamed, or deleted pages.
Type: array of object—each with:
| Field | Type | Required | Description |
|---|---|---|---|
source |
string | Yes | Path to redirect from. Example: /old-page |
destination |
string | Yes | Path to redirect to. Example: /new-page |
permanent |
boolean | No | true for 308, false for 307. Default: true. |
Global content variables replaced at build time using {{variableName}} syntax.
Type: object—key-value pairs where keys are variable names (alphanumeric and hyphens only) and values are replacement strings.
Variable substitution applies to MDX pages and snippets only. It does not apply to OpenAPI specification files (`.yaml`, `.yml`, `.json`) or other static assets.Global page metadata settings.
Type: object
Display a last-modified date on all pages. For deployments backed by GitHub or GitLab, the date reflects the last Git commit that touched a page's source file, and falls back to the most recent deployment timestamp if a Git commit date isn't available.
Type: boolean
Default: false
Error page settings.
Type: object
Settings for the 404 "Page not found" error page.
Type: object
Whether to automatically redirect to the home page when a page is not found.
Type: boolean
Default: true
Custom title for the 404 page.
Type: string
Custom description for the 404 page. Supports MDX formatting including links, bold, italic, and custom components.
Type: string
API documentation and playground settings.
Type: object
OpenAPI specification files.
Type: string | array of string | object with source (string) and directory (string)
AsyncAPI specification files.
Type: string | array of string | object with source (string) and directory (string)
Interactive playground settings.
Type: object
Playground display mode.
Type: "interactive" | "simple" | "none" | "auth"
Default: "interactive"
Whether to route API requests through a proxy.
Type: boolean
Default: true
Whether to include cookies and authentication headers for cross-origin requests when proxy is false. Has no effect when proxy is true.
Type: boolean
Default: false
API parameter display settings.
Type: object
Whether to expand all parameters by default.
Type: "all" | "closed"
Default: "closed"
OpenAPI spec field keys to surface as post pills next to every parameter name. For each key, Mintlify reads the value on the schema and renders it as a pill: strings render verbatim, true renders the key name, numbers stringify, and arrays render one pill per element. Mintlify skips false, null, empty strings, and objects.
Type: array of string
Base URL display mode.
Type: "full"
Default: Only shown when multiple base URLs exist.
Code example settings.
Type: object
Languages for autogenerated code snippets. See supported languages.
Type: array of string
Whether to include optional parameters in examples.
Type: "required" | "all"
Default: "all"
Whether to prefill playground fields with spec example values.
Type: boolean
Default: false
Whether to generate code samples from API specifications.
Type: boolean
Default: true
Settings for API pages built from MDX files.
Type: object
Authentication configuration for MDX-based API requests.
Type: object
Authentication method.
Type: "bearer" | "basic" | "key" | "cobo"
Authentication parameter name.
Type: string
Base URL prepended to relative paths in page-level api frontmatter. Not used when frontmatter contains a full URL.
Type: string or array
Search engine optimization settings.
Type: object
Which pages search engines should index.
Type: "navigable" | "all"
Default: "navigable"
Custom meta tags added to every page. Key-value pairs.
Type: object
Search bar settings.
Type: object
Placeholder text in the search bar.
Type: string
Third-party integrations.
Type: object
| Property | Type | Required field | Description |
|---|---|---|---|
integrations.adobe.launchUrl |
string (uri) | Yes | Adobe Analytics launch URL. |
integrations.amplitude.apiKey |
string | Yes | Amplitude API key. |
integrations.clarity.projectId |
string | Yes | Microsoft Clarity project ID. |
integrations.clearbit.publicApiKey |
string | Yes | Clearbit public API key. |
integrations.fathom.siteId |
string | Yes | Fathom site ID. |
integrations.frontchat.snippetId |
string (min 6) | Yes | Front chat snippet ID. |
integrations.ga4.measurementId |
string (must start with G) |
Yes | Google Analytics 4 measurement ID. |
integrations.gtm.tagId |
string (must start with G) |
Yes | Google Tag Manager container ID. |
integrations.heap.appId |
string | Yes | Heap app ID. |
integrations.hightouch.writeKey |
string | Yes | Hightouch write key. |
integrations.hightouch.apiHost |
string | No | Hightouch API host. |
integrations.hotjar.hjid |
string | Yes | Hotjar site ID. |
integrations.hotjar.hjsv |
string | Yes | Hotjar script version. |
integrations.intercom.appId |
string (min 6) | Yes | Intercom app ID. |
integrations.logrocket.appId |
string | Yes | LogRocket app ID. |
integrations.mixpanel.projectToken |
string | Yes | Mixpanel project token. |
integrations.pirsch.id |
string | Yes | Pirsch site ID. |
integrations.plausible.domain |
string | Yes | Plausible domain. |
integrations.plausible.server |
string | No | Plausible server (self-hosted only). |
integrations.posthog.apiKey |
string (must start with phc_) |
Yes | PostHog API key. |
integrations.posthog.apiHost |
string (uri) | No | PostHog API host (self-hosted only). |
integrations.posthog.sessionRecording |
boolean | No | Enable session recording. Default: false. |
integrations.segment.key |
string | Yes | Segment write key. |
integrations.telemetry.enabled |
boolean | No | Enable Mintlify telemetry. When false, feedback features are also disabled. |
integrations.cookies.key |
string | No | Cookie key name. |
integrations.cookies.value |
string | No | Cookie value. |