Back to Opencode

Global Settings

packages/docs/essentials/settings.mdx

1.14.3910.9 KB
Original Source

Every Mintlify site needs a docs.json file with the core configuration settings. Learn more about the properties below.

Properties

<ResponseField name="name" type="string" required> Name of your project. Used for the global title.

Example: mintlify

</ResponseField> <ResponseField name="navigation" type="Navigation[]" required> An array of groups with all the pages within that group <Expandable title="Navigation"> <ResponseField name="group" type="string"> The name of the group.
Example: `Settings`

</ResponseField>
<ResponseField name="pages" type="string[]">
The relative paths to the markdown files that will serve as pages.

Example: `["customization", "page"]`

</ResponseField>
</Expandable> </ResponseField> <ResponseField name="logo" type="string or object"> Path to logo image or object with path to "light" and "dark" mode logo images <Expandable title="Logo"> <ResponseField name="light" type="string"> Path to the logo in light mode </ResponseField> <ResponseField name="dark" type="string"> Path to the logo in dark mode </ResponseField> <ResponseField name="href" type="string" default="/"> Where clicking on the logo links you to </ResponseField> </Expandable> </ResponseField> <ResponseField name="favicon" type="string"> Path to the favicon image </ResponseField> <ResponseField name="colors" type="Colors"> Hex color codes for your global theme <Expandable title="Colors"> <ResponseField name="primary" type="string" required> The primary color. Used most often for highlighted content, section headers, accents, in light mode </ResponseField> <ResponseField name="light" type="string"> The primary color for dark mode. Used most often for highlighted content, section headers, accents, in dark mode </ResponseField> <ResponseField name="dark" type="string"> The primary color for important buttons </ResponseField> <ResponseField name="background" type="object"> The color of the background in both light and dark mode <Expandable title="Object"> <ResponseField name="light" type="string" required> The hex color code of the background in light mode </ResponseField> <ResponseField name="dark" type="string" required> The hex color code of the background in dark mode </ResponseField> </Expandable> </ResponseField> </Expandable> </ResponseField> <ResponseField name="topbarLinks" type="TopbarLink[]"> Array of `name`s and `url`s of links you want to include in the topbar <Expandable title="TopbarLink"> <ResponseField name="name" type="string"> The name of the button.
Example: `Contact us`
</ResponseField>
<ResponseField name="url" type="string">
The url once you click on the button. Example: `https://mintlify.com/docs`
</ResponseField>
</Expandable> </ResponseField> <ResponseField name="topbarCtaButton" type="Call to Action"> <Expandable title="Topbar Call to Action"> <ResponseField name="type" type={'"link" or "github"'} default="link"> Link shows a button. GitHub shows the repo information at the url provided including the number of GitHub stars. </ResponseField> <ResponseField name="url" type="string"> If `link`: What the button links to.
If `github`: Link to the repository to load GitHub information from.
</ResponseField>
<ResponseField name="name" type="string">
Text inside the button. Only required if `type` is a `link`.
</ResponseField>
</Expandable> </ResponseField> <ResponseField name="versions" type="string[]"> Array of version names. Only use this if you want to show different versions of docs with a dropdown in the navigation bar. </ResponseField> <ResponseField name="anchors" type="Anchor[]"> An array of the anchors, includes the `icon`, `color`, and `url`. <Expandable title="Anchor"> <ResponseField name="icon" type="string"> The [Font Awesome](https://fontawesome.com/search?q=heart) icon used to feature the anchor.
Example: `comments`
</ResponseField>
<ResponseField name="name" type="string">
The name of the anchor label.

Example: `Community`
</ResponseField>
<ResponseField name="url" type="string">
  The start of the URL that marks what pages go in the anchor. Generally, this is the name of the folder you put your pages in.
</ResponseField>
<ResponseField name="color" type="string">
  The hex color of the anchor icon background. Can also be a gradient if you pass an object with the properties `from` and `to` that are each a hex color.
</ResponseField>
<ResponseField name="version" type="string">
  Used if you want to hide an anchor until the correct docs version is selected.
</ResponseField>
<ResponseField name="isDefaultHidden" type="boolean" default="false">
  Pass `true` if you want to hide the anchor until you directly link someone to docs inside it.
</ResponseField>
<ResponseField name="iconType" default="duotone" type="string">
  One of: "brands", "duotone", "light", "sharp-solid", "solid", or "thin"
</ResponseField>
</Expandable> </ResponseField> <ResponseField name="topAnchor" type="Object"> Override the default configurations for the top-most anchor. <Expandable title="Object"> <ResponseField name="name" default="Documentation" type="string"> The name of the top-most anchor </ResponseField> <ResponseField name="icon" default="book-open" type="string"> Font Awesome icon. </ResponseField> <ResponseField name="iconType" default="duotone" type="string"> One of: "brands", "duotone", "light", "sharp-solid", "solid", or "thin" </ResponseField> </Expandable> </ResponseField> <ResponseField name="tabs" type="Tabs[]"> An array of navigational tabs. <Expandable title="Tabs"> <ResponseField name="name" type="string"> The name of the tab label. </ResponseField> <ResponseField name="url" type="string"> The start of the URL that marks what pages go in the tab. Generally, this is the name of the folder you put your pages in. </ResponseField> </Expandable> </ResponseField> <ResponseField name="api" type="API"> Configuration for API settings. Learn more about API pages at [API Components](/api-playground/demo). <Expandable title="API"> <ResponseField name="baseUrl" type="string"> The base url for all API endpoints. If `baseUrl` is an array, it will enable for multiple base url options that the user can toggle. </ResponseField>
<ResponseField name="auth" type="Auth">
  <Expandable title="Auth">
    <ResponseField name="method" type='"bearer" | "basic" | "key"'>
      The authentication strategy used for all API endpoints.
    </ResponseField>
    <ResponseField name="name" type="string">
    The name of the authentication parameter used in the API playground.

    If method is `basic`, the format should be `[usernameName]:[passwordName]`
    </ResponseField>
    <ResponseField name="inputPrefix" type="string">
    The default value that's designed to be a prefix for the authentication input field.

    E.g. If an `inputPrefix` of `AuthKey` would inherit the default input result of the authentication field as `AuthKey`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="playground" type="Playground">
  Configurations for the API playground

  <Expandable title="Playground">
    <ResponseField name="mode" default="show" type='"show" | "simple" | "hide"'>
      Whether the playground is showing, hidden, or only displaying the endpoint with no added user interactivity `simple`

      Learn more at the [playground guides](/api-playground/demo)
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="maintainOrder" type="boolean">
  Enabling this flag ensures that key ordering in OpenAPI pages matches the key ordering defined in the OpenAPI file.

  <Warning>This behavior will soon be enabled by default, at which point this field will be deprecated.</Warning>
</ResponseField>
</Expandable> </ResponseField> <ResponseField name="openapi" type="string | string[]"> A string or an array of strings of URL(s) or relative path(s) pointing to your OpenAPI file.

Examples: <CodeGroup> json Absolute "openapi": "https://example.com/openapi.json" json Relative "openapi": "/openapi.json" json Multiple "openapi": ["https://example.com/openapi1.json", "/openapi2.json", "/openapi3.json"] </CodeGroup>

</ResponseField> <ResponseField name="footerSocials" type="FooterSocials"> An object of social media accounts where the key:property pair represents the social media platform and the account url.

Example:

json
{
  "x": "https://x.com/mintlify",
  "website": "https://mintlify.com"
}
<Expandable title="FooterSocials"> <ResponseField name="[key]" type="string"> One of the following values `website`, `facebook`, `x`, `discord`, `slack`, `github`, `linkedin`, `instagram`, `hacker-news`
Example: `x`
</ResponseField>
<ResponseField name="property" type="string">
The URL to the social platform.

Example: `https://x.com/mintlify`
</ResponseField>
</Expandable> </ResponseField> <ResponseField name="feedback" type="Feedback"> Configurations to enable feedback buttons <Expandable title="Feedback"> <ResponseField name="suggestEdit" type="boolean" default="false"> Enables a button to allow users to suggest edits via pull requests </ResponseField> <ResponseField name="raiseIssue" type="boolean" default="false"> Enables a button to allow users to raise an issue about the documentation </ResponseField> </Expandable> </ResponseField> <ResponseField name="modeToggle" type="ModeToggle"> Customize the dark mode toggle. <Expandable title="ModeToggle"> <ResponseField name="default" type={'"light" or "dark"'}> Set if you always want to show light or dark mode for new users. When not set, we default to the same mode as the user's operating system. </ResponseField> <ResponseField name="isHidden" type="boolean" default="false"> Set to true to hide the dark/light mode toggle. You can combine `isHidden` with `default` to force your docs to only use light or dark mode. For example:
  <CodeGroup>
  ```json Only Dark Mode
  "modeToggle": {
    "default": "dark",
    "isHidden": true
  }
  ```

  ```json Only Light Mode
  "modeToggle": {
    "default": "light",
    "isHidden": true
  }
  ```
  </CodeGroup>

</ResponseField>
</Expandable> </ResponseField> <ResponseField name="backgroundImage" type="string"> A background image to be displayed behind every page. See example with [Infisical](https://infisical.com/docs) and [FRPC](https://frpc.io). </ResponseField>