Skip to main content
Pro plans include password authentication.Custom plans include all authentication methods.
Authentication requires users to log in before accessing your documentation.

Authentication modes

Choose between full and partial authentication modes based on your access control needs. Full authentication: All pages are protected. Users must log in before accessing any content. Partial authentication: Some pages are publicly viewable while others require authentication. Users can browse public content freely and authenticate only when accessing protected pages. When configuring any handshake method below, you’ll select either Full authentication or Partial authentication in your dashboard settings.

Configure authentication

Select the handshake method that you want to configure.
  • Password
  • Mintlify dashboard
  • OAuth 2.0
  • JWT
Password authentication provides access control only and does not support content personalization.

Prerequisites

  • Your security requirements allow sharing passwords among users.

Implementation

1

Create a password.

  1. In your dashboard, go to Authentication.
  2. Select Full Authentication or Partial Authentication.
  3. Select Password.
  4. Enter a secure password.
  5. Select Save changes.
2

Distribute access.

Securely share the password and documentation URL with authorized users.

Example

Your documentation is hosted at docs.foo.com and you need basic access control without tracking individual users. You want to prevent public access while keeping setup simple.Create a strong password in your dashboard. Share credentials with authorized users. That’s it!

Make pages public

When using partial authentication, all pages are protected by default. You can make specific pages viewable without authentication at the page or group level with the public property.

Individual pages

To make a page public, add public: true to the page’s frontmatter.
Public page example
---
title: "Public page"
public: true
---

Groups of pages

To make all pages in a group public, add "public": true beneath the group’s name in the navigation object of your docs.json.
Public group example
{
  "navigation": {
    "groups": [
      {
        "group": "Public group",
        "public": true,
        "icon": "play",
        "pages": [
          "quickstart",
          "installation",
          "settings"
        ]
      },
      {
        "group": "Private group",
        "icon": "pause",
        "pages": [
          "private-information",
          "secret-settings"
        ]
      }
    ]
  }
}

Control access with groups

When you use OAuth or JWT authentication, you can restrict specific pages to certain user groups. This is useful when you want different users to see different content based on their role or attributes. Groups are managed through user data passed during authentication.
Example user info
{
  "groups": ["admin", "beta-users"],
  "content": {
    "firstName": "Jane",
    "lastName": "Doe"
  }
}
Specify which groups can access specific pages using the groups property in frontmatter.
Example page restricted to the admin group
---
title: "Admin dashboard"
groups: ["admin"]
---
Users must belong to at least one of the listed groups to access the page. If a user tries to access a page without the required group, they’ll receive a 404 error.

Interaction with authentication modes

Groups work differently depending on your authentication mode. Full authentication with groups:
  • All pages require authentication.
  • Pages without a groups property are accessible to all authenticated users.
  • Pages with a groups property are only accessible to authenticated users in those groups.
Partial authentication with groups:
  • Pages require authentication unless you make them public.
  • Pages with public: true and no groups are accessible to everyone.
  • Pages with groups (with or without public: true) are only accessible to authenticated users in those groups.
Anyone can view this page
---
title: "Public guide"
public: true
---
Only authenticated users can view this page
---
title: "API reference"
---

```mdx Only authenticated users in the pro or enterprise groups can view this page
---
title: "Advanced configurations"
groups: ["pro", "enterprise"]
---