> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify-han-update-changelogs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Global Settings

> Customize your documentation using the mint.json file

Every Mintlify site needs a `mint.json` file with the core configuration
settings. Learn more about the [properties](#properties) or from an
[example](#example-mint-json)

## Properties

### Styling

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

<ResponseField name="logo" type="string or Logo">
  Path to logo image or object with path to "light" and "dark" mode logo images,
  and where the logo links to. SVG format is recommended. It does not pixelate
  and the file size is generally smaller.

  <Expandable title="Logo">
    <ResponseField name="light" type="string">
      Path to the logo in light mode. For example: `/path/to/logo.svg`
    </ResponseField>

    <ResponseField name="dark" type="string">
      Path to the logo in dark mode. For example: `/path/to/logo.svg`
    </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. For example: `/path/to/favicon.svg`
</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="theme" type={'"venus" | "quill" | "prism"'}>
  A preset theme configuration that changes the look and feel of the project. A
  theme is a set of default styling configurations. Examples:
  [Venus](https://starter-venus.mintlify.app),
  [Quill](https://starter-quill.mintlify.app),
  [Prism](https://starter-prism.mintlify.app)
</ResponseField>

<ResponseField name="layout" type={'"topnav" | "sidenav" | "solidSidenav"'} default="topnav">
  The global layout style of the documentation.
</ResponseField>

<ResponseField name="background" type="Background">
  Set a decorative background.

  <Expandable title="Background">
    <ResponseField name="style" type={'"gradient" | "grid" | "windows"'}>
      The style of the decorative background.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="backgroundImage" type="string">
  Set a custom background image to be displayed behind every page.
</ResponseField>

<ResponseField
  name="font"
  type={
 "FontDetailsType | { headings?: FontDetailsType, body?: FontDetailsType }"
}
>
  Custom fonts. Apply globally or set different fonts for headings and the body
  text.

  Example:

  ```json
  "font": {
    "headings": {
      "family": "Roboto"
    },
    "body": {
      "family": "Oswald"
    }
  }
  ```

  <Expandable title="FontDetailsType">
    <ResponseField name="family" type="string" required>
      The font family name. Custom fonts and all [Google
      Fonts](https://fonts.google.com/) are supported. e.g. "Open Sans",
      "Playfair Display"
    </ResponseField>

    <ResponseField name="weight" type="number">
      The font weight. Precise values such as `560` are also supported for
      variable fonts. Check under the Styles section for your Google Font for
      the available weights.
    </ResponseField>

    <ResponseField name="url" type="string">
      The URL to the font file. Can be used to specify a font that is not from
      Google Fonts.
    </ResponseField>

    <ResponseField name="format" type="'woff' | 'woff2'">
      The font format. Required if using a custom font source (`url`).
    </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="sidebar" type="Sidebar">
  Customize the styling of components within the sidebar.

  <Expandable title="Sidebar">
    <ResponseField name="items" type={'"container" | "card" | "border" | "undecorated"'} default="container">
      The styling of the navigation item.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="topbar" type="Topbar">
  Styling configurations for the topbar.

  <Expandable title="Topbar">
    <ResponseField name="style" type={'"default" | "gradient"'} default="default">
      The styling of the navigation item.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="search" type={'"side" | "top"'}>
  The location of the search bar entry.
</ResponseField>

<ResponseField name="rounded" type={'"default" | "sharp"'}>
  The style of the rounded edges.
</ResponseField>

<ResponseField name="codeBlock" type="CodeBlock">
  The style of the code block.

  <Expandable title="CodeBlock">
    <ResponseField name="mode" type={'"dark" | "auto"'} default="dark">
      `auto` will automatically switch between light and dark mode based on the
      user's system preferences.
    </ResponseField>
  </Expandable>
</ResponseField>

### Structure

<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.
    </ResponseField>

    <ResponseField name="pages" type="string[]">
      The relative paths to the markdown files that will serve as pages. Note: groups are recursive, so to add a sub-folder add another group object in the page array.
    </ResponseField>

    <ResponseField name="icon" type="string">
      The [Fontawesome](https://fontawesome.com/icons) icon for the group. Note: this only applies to sub-folders.
    </ResponseField>

    <ResponseField name="iconType" type="string">
      The type of [Fontawesome](https://fontawesome.com/icons) icon. Must be one of: brands, duotone, light, sharp-solid, solid, thin
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="topbarLinks" type="TopbarLink[]">
  Array of names and urls of links you want to include in the topbar

  <Expandable title="TopbarLink">
    <ResponseField name="name" type="string">
      The name of the button.
    </ResponseField>

    <ResponseField name="url" type="string">
      The url once you click on the button. Example: `https://mintlify.com/contact`
    </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 type is a link: What the button links to. If type is a 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>

    <ResponseField name="style" type={'"pill" | "roundedRectangle"'}>
      The style of the button.
    </ResponseField>

    <ResponseField name="arrow" type="boolean">
      Whether to display the arrow
    </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.

  <img className="block h-32 dark:hidden" src="https://mintlify-assets.b-cdn.net/anchors-light.png" />

  <img className="hidden h-32 dark:block" src="https://mintlify-assets.b-cdn.net/anchors-dark.png" />

  <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="Anchor">
  Override the default configurations for the top-most anchor. Note: if you have
  tabs configured, this does not apply.

  <Expandable title="Anchor">
    <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.

  Example:

  ```json
  "tabs": [
    {
      "name": "Writing Content",
      "url": "content"
    },
    {
      "name": "API References",
      "url": "api-playground"
    }
  ]
  ```

  <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>

    <ResponseField name="isDefaultHidden" type="boolean" default={false}>
      Pass `true` if you want to hide the tab until you directly link someone to docs inside it.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="footer" type="{ socials?: FooterSocials, links?: FooterLinksColumn[] }">
  An object to configure the footer with socials and links.
  Example:

  ```json
  "footer": {
    "socials": { "x": "https://x.com/mintlify", "website": "https://mintlify.com" },
    "links": [
      {
        "title": "Column 1",
        "links": [
          { "label": "Column 1 Link 1", "url": "https://mintlify.com" }, 
          { "label": "Column 1 Link 2", "url": "https://mintlify.com" }
        ]
      }, 
      {
        "title": "Column 2",
        "links": [
          { "label": "Column 2 Link 1", "url": "https://mintlify.com" },
          { "label": "Column 2 Link 2", "url": "https://mintlify.com" }
        ]
      }
    ]
  }
  ```

  <Expandable title="FooterSocials">
    <ResponseField name="[key]" type="string">
      One of the following values `website`, `facebook`, `x`, `youtube`, `discord`, `slack`, `github`, `linkedin`, `instagram`, `hacker-news`, `medium`, `telegram`, `twitter`

      Example: `x`
    </ResponseField>

    <ResponseField name="value" type="string">
      The URL to the social platform.

      Example: `https://x.com/mintlify`
    </ResponseField>
  </Expandable>

  <Expandable title="FooterLinksColumn">
    <ResponseField name="title" type="string">
      Title of the column
    </ResponseField>

    <ResponseField name="links" type="{ label: string, url: string }[]">
      The link items in the column. External urls that starts with `https://` or `http://` will be opened in new tab.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="feedback" type="Feedback">
  Configurations to enable feedback buttons

  <Expandable title="Feedback">
    <ResponseField name="thumbsRating" type="boolean" default={false}>
      Enables a rating system for users to indicate whether the page has been helpful
    </ResponseField>

    <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="search" type="Search">
  Configurations to change the search prompt

  <Expandable title="Search">
    <ResponseField name="prompt" type="string" default="undefined">
      Set the prompt for the search bar. Default is `Search...`
    </ResponseField>
  </Expandable>
</ResponseField>

### API Configurations

<ResponseField name="api" type="API">
  Configuration for API settings. Learn more about API pages at [API Components](/api-playground).

  <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="&#x22;bearer&#x22; | &#x22;basic&#x22; | &#x22;key&#x22;">
          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="&#x22;show&#x22; | &#x22;simple&#x22; | &#x22;hide&#x22;">
          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)
        </ResponseField>

        <ResponseField name="disableProxy" type="boolean" default={false}>
          By default, API playground requests are proxied by Mintlify. This setting can be used to disable this behavior.

          Required for select request types, such as file uploads.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="request" type="object">
      Configurations for API requests

      <Expandable title="Request">
        <ResponseField name="example" type="object">
          Configurations for the auto-generated API request examples

          <Expandable>
            <ResponseField name="languages" type="string[]">
              An array of strings that determine the order of the languages of the auto-generated request examples. You can either define custom languages utilizing [x-codeSamples](/api-playground/openapi/advanced-features#x-codesamples) or use our default languages which include `bash`, `python`, `javascript`, `php`, `go`, `java`
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="paramFields" type="ApiParamFields">
      Configurations for the param fields in the API Playground

      <Expandable title="ApiParamFields">
        <ResponseField name="expanded" default="none" type="&#x22;all&#x22; | &#x22;topLevel&#x22; | &#x22;topLevelOneOfs&#x22; | &#x22;none&#x22;">
          The default expanded state of expandable options in the API playground.

          `"all"` - every expandable component is expanded

          `"topLevel"` - every top-level expandable component is expanded

          `"topLevelOneOfs"` - every top-level `oneOf` type is expanded

          `"none"` - every expandable component is closed (default behavior)
        </ResponseField>
      </Expandable>
    </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>

### Integrations

<ResponseField name="integrations" type="Integrations">
  Configurations to add third-party integrations (excluding analytics integrations)

  <Expandable title="Integrations">
    <ResponseField name="intercom" type="string">
      Enables Intercom widget on docs site. The value should be your Intercom App ID.
    </ResponseField>

    <ResponseField name="frontchat" type="string">
      Enables Frontchat widget on docs site. The value should be your Frontchat App ID.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="analytics" type="Analytics">
  Configurations to add third-party analytics integrations. See full list of
  supported analytics [here](/integrations/analytics/overview).
</ResponseField>

### Redirects

<ResponseField name="redirects" type="Redirect[]">
  An array of paths you want to configure to permanently redirect to another path

  Example:

  ```json
  "redirects": [
    {
      "source": "/source/path",
      "destination": "/destination/path"
    }
  ]
  ```

  <Expandable title="Redirect">
    <ResponseField name="source" type="string">
      The path that you want to redirect from.

      Example: `/source`
    </ResponseField>

    <ResponseField name="destination" type="string">
      The path that you want to redirect to.

      Example: `/destination`
    </ResponseField>
  </Expandable>
</ResponseField>

### Search Engine Optimization

<ResponseField name="seo" type="SEO">
  Settings for Search Engine Optimization.

  Example:

  ```json
  "seo": {
    "indexHiddenPages": true
  }
  ```

  <Expandable title="Redirect">
    <ResponseField name="indexHiddenPages" type="boolean" default="false">
      Enables indexing pages not included in `navigation`.
    </ResponseField>
  </Expandable>
</ResponseField>

## Example `mint.json`

Click on the following dropdown to view a sample configuration file

<Accordion title="View Example Configuration">
  ```json
  {
    "name": "Mintlify",
    "logo": {
      "light": "/logo/light.svg",
      "dark": "/logo/dark.svg"
    },
    "favicon": "/favicon.svg",
    "colors": {
      "primary": "#16A34A",
      "light": "#4ADE80",
      "dark": "#166534"
    },
    "topbarLinks": [
      {
        "name": "Contact Us",
        "url": "mailto:support@mintlify.com"
      }
    ],
    "topbarCtaButton": {
      "name": "Get Started",
      "url": "https://1tc7vihvbit.typeform.com/to/pZJ31XZB"
    },
    "anchors": [
      {
        "name": "API Components",
        "icon": "rectangle-terminal",
        "color": "#f59f0b",
        "url": "api-components"
      },
      {
        "name": "Community",
        "icon": "comments",
        "color": "#2564eb",
        "url": "https://discord.gg/MPNgtSZkgK"
      }
    ],
    "navigation": [
      {
        "group": "Getting Started",
        "pages": ["introduction", "quickstart"]
      },
      {
        "group": "API Components",
        "pages": ["api-playground/overview", "api-playground/configuration"]
      },
      {
        "group": "Settings",
        "pages": ["settings/global", "settings/page"]
      },
      {
        "group": "Analytics",
        "pages": ["analytics/posthog"]
      }
    ],
    "footerSocials": {
      "github": "https://github.com/mintlify",
      "slack": "https://mintlify.com/community",
      "x": "https://x.com/mintlify"
    },
    "integrations": {
      "intercom": "APP_ID",
      "frontchat": "CHAT_ID"
    }
  }
  ```
</Accordion>

## More Customization

Learn more about how to further customize your docs with custom CSS and JS in
[Custom Scripts](https://mintlify.com/docs/advanced/custom/).
