Global settings
Configure your Mintlify documentation site with docs.json, the required configuration file that controls navigation, appearance, integrations, and more.
The docs.json file is the central configuration file for your Mintlify documentation site. It controls your site's global settings, including visual branding, navigation structure, integrations, API settings, and more. Think of it as the blueprint for your site.
File location
Section titled “File location”Store your docs.json file at the root of your documentation repository. If you have a monorepo, store your docs.json at the root of your documentation directory.
Required fields
Section titled “Required fields”You must define four fields to build a working site.
| Field | Description |
|---|---|
name |
Your project or organization name |
theme |
The layout theme for your site |
colors.primary |
Primary brand color as a hex code |
navigation |
Your content structure |
All other fields are optional. Add them as you customize and refine your site.
Minimal configuration
Section titled “Minimal configuration”For the best editing experience, include the $schema reference at the top of your docs.json. This enables autocomplete, validation, and inline documentation in most editors.
{
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "Your project name",
"colors": {
"primary": "#ff0000"
},
"navigation": {
"groups": [
{
"group": "Home",
"pages": ["index"]
}
]
}
}Settings
Section titled “Settings”Appearance and branding
Customize the visual appearance of your site including theme, colors, logo, favicon, fonts, and background.
Site structure
Design the information architecture and user experience (UX) of your site, including the navbar, footer, banner, navigation, and redirects.
API settings
Control the display and behavior of API documentation including OpenAPI and AsyncAPI specs, API playground, and code examples.
Integrations
Connect your site to third-party services for analytics, chat, and more.
SEO & search
Control how search engines index your site including meta tags, search, and page timestamps.
Schema reference
Complete reference for all docs.json properties.
Split configuration with $ref
Section titled “Split configuration with $ref”As your configuration grows, you can break docs.json into smaller files using $ref references. Each reference points to a separate JSON file that gets resolved at build time.
Add a $ref property with a relative file path anywhere in your docs.json. Mintlify replaces the $ref object with the contents of the referenced file.
{
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "Acme Docs",
"colors": {
"primary": "#1a73e8"
},
"navigation": {
"$ref": "./config/navigation.json"
}
}{
"groups": [
{
"group": "Get started",
"pages": ["index", "quickstart"]
},
{
"group": "Guides",
"pages": ["guides/first-steps", "guides/advanced"]
}
]
}- Referenced files can contain their own
$refreferences. Nested paths resolve relative to the file that contains them, not relative todocs.json. - References must point to valid JSON files.
- Paths must be relative and stay within the project root. Path traversal (for example,
../../outside) is not allowed. - Circular references cause a build error.
Merge sibling keys
Section titled “Merge sibling keys”When a $ref resolves to an object, Mintlify merges sibling keys from the same block on top of the referenced content. These keys take precedence over matching keys in the reference. When a $ref resolves to a non-object value such as an array, Mintlify ignores any sibling keys.
{
"appearance": {
"$ref": "./config/appearance.json",
"strict": true
}
}Upgrade from mint.json
Section titled “Upgrade from mint.json”If your project uses the deprecated mint.json file, use the CLI to upgrade to docs.json.
Install or update the CLI
If you haven't installed the CLI, install it now:
npm npm i -g mintyarn yarn global add mintpnpm pnpm add -g mintIf you already have the CLI installed, make sure it is up to date:
Bash mint updateCreate your docs.json file
In your docs repository, run:
Bash mint devThis command creates a
docs.jsonfile from your existingmint.json. Review the generated file to ensure all settings are correct.Delete your mint.json file
After verifying your
docs.jsonis configured correctly, you can safely delete your oldmint.jsonfile.