├── .github ├── pull_request_template.md └── workflows │ ├── check-links.yml │ └── index-sitemap.yml ├── .gitignore ├── advanced ├── dashboard │ ├── permissions.mdx │ ├── roles.mdx │ └── sso.mdx └── subpath │ ├── cloudflare.mdx │ ├── route53-cloudfront.mdx │ └── vercel.mdx ├── ai-ingestion.mdx ├── api-playground ├── asyncapi │ ├── playground.mdx │ └── setup.mdx ├── customization │ ├── adding-sdk-examples.mdx │ ├── complex-data-types.mdx │ ├── managing-page-visibility.mdx │ └── multiple-responses.mdx ├── mdx │ ├── authentication.mdx │ └── configuration.mdx ├── openapi-setup.mdx ├── overview.mdx └── troubleshooting.mdx ├── api-reference ├── chat │ ├── create-topic.mdx │ └── generate-message.mdx ├── introduction.mdx └── update │ ├── status.mdx │ └── trigger.mdx ├── asyncapi.yaml ├── authentication-personalization ├── authentication-setup.mdx ├── overview.mdx ├── partial-authentication-setup.mdx ├── personalization-setup.mdx └── sending-data.mdx ├── changelog.mdx ├── code.mdx ├── components ├── accordions.mdx ├── callouts.mdx ├── cards.mdx ├── code-groups.mdx ├── columns.mdx ├── examples.mdx ├── expandables.mdx ├── fields.mdx ├── frames.mdx ├── icons.mdx ├── mermaid-diagrams.mdx ├── panel.mdx ├── responses.mdx ├── steps.mdx ├── tabs.mdx ├── tooltips.mdx └── update.mdx ├── contact-support.mdx ├── discovery-openapi.json ├── docs.json ├── editor.mdx ├── favicon.svg ├── fonts.css ├── guides ├── auth0.mdx ├── cursor.mdx ├── hidden-pages.mdx ├── migration.mdx └── monorepo.mdx ├── image-embeds.mdx ├── images ├── add-custom-domain-dark.png ├── add-custom-domain-light.png ├── anchors-autogeneration-anchors.png ├── autogeneration-with-tabs.png ├── changelog │ ├── advanced-footer.gif │ ├── ai-assistant.jpg │ ├── authentication.png │ ├── changelog.jpg │ ├── custom-fonts.jpeg │ ├── docsjson.png │ ├── landing-page.jpeg │ ├── llms.jpg │ ├── mcpgenerator.png │ ├── performance-improvements.png │ ├── seo-improvements.jpeg │ ├── themes.png │ ├── translations.png │ ├── webeditor.jpg │ └── widget.png ├── checks-passed.png ├── claude-mcp.png ├── clone-repository.png ├── cloudflare │ ├── custom-domain.png │ ├── edit-code.png │ └── worker.png ├── cloudfront │ ├── behavior-1.png │ ├── behavior-2.png │ ├── behaviors.png │ ├── caching-policy.png │ ├── create-distribution.png │ ├── create-record-alias.png │ ├── default-behavior-1.png │ ├── default-behavior-2.png │ ├── default-origin.png │ ├── enable-security-protections.png │ ├── origin-name.png │ ├── origins.png │ ├── preview-distribution.png │ └── route53-create-record.png ├── contextual-menu │ └── contextual-menu.png ├── convert-oas-3.png ├── custom-domain.png ├── dropdowns-dark.png ├── dropdowns-light.png ├── edit-online.png ├── editor-gate.png ├── editor │ ├── component-menu-dark.png │ ├── component-menu-light.png │ ├── editor-dark.png │ ├── editor-light.png │ ├── markdown-mode-dark.png │ ├── markdown-mode-light.png │ ├── mode-toggle-dark.png │ ├── mode-toggle-light.png │ ├── publish-flow-dark.png │ ├── publish-flow-light.png │ ├── pull-request-dark.png │ ├── pull-request-light.png │ ├── visual-mode-dark.png │ └── visual-mode-light.png ├── elevenlabs-mdx-autogeneration-example.png ├── external-api-key.png ├── ga4-web-streams.png ├── generate-discovery-api-key.png ├── github-bot-verification.png ├── github │ └── select-repos.png ├── gitlab │ ├── gitlab-config.png │ ├── gitlab-project-access-token.png │ ├── gitlab-project-id.png │ ├── gitlab-project-webtoken-test.png │ ├── gitlab-project-webtoken.png │ ├── gitlab-show-webtoken.png │ └── gitlab-webhook.png ├── gsuite-add-custom-saml-app.png ├── gsuite-saml-metadata.png ├── gsuite-sp-details.png ├── guides │ └── auth0 │ │ ├── auth0-create-application.png │ │ ├── auth0clientsettings.png │ │ ├── auth0redirecturl.png │ │ ├── mintlifyoauthclientsettings.png │ │ └── mintlifyredirecturl.png ├── hero │ ├── background-dark.png │ ├── background-light.png │ ├── cli-dark.png │ ├── cli.png │ ├── components-dark.png │ ├── components.png │ ├── editor-dark.png │ ├── editor.png │ ├── rocket-dark.png │ └── rocket.png ├── installation │ ├── local-development-dark.png │ └── local-development-light.png ├── manual-update.png ├── mcp-auth-token.png ├── mcp-dash.png ├── mcp-with-claude.png ├── mcp │ ├── mcp-server-page-dark.png │ ├── mcp-server-page-light.png │ ├── mcp-terminal-completed.png │ └── mcp-terminal.png ├── monorepo-dark.png ├── monorepo-light.png ├── monorepo.png ├── navigation │ ├── anchors-dark.png │ ├── anchors-light.png │ ├── dropdowns-dark.png │ ├── dropdowns-light.png │ ├── groups-dark.png │ ├── groups-light.png │ ├── languages-dark.png │ ├── languages-light.png │ ├── languages │ │ ├── ar.png │ │ ├── cn.png │ │ ├── de.png │ │ ├── en.png │ │ ├── es.png │ │ ├── fr.png │ │ ├── id.png │ │ ├── it.png │ │ ├── jp.png │ │ ├── ko.png │ │ ├── pt-br.png │ │ ├── pt.png │ │ ├── ru.png │ │ └── tr.png │ ├── pages-dark.png │ ├── pages-light.png │ ├── tabs-dark.png │ ├── tabs-light.png │ ├── versions-dark.png │ └── versions-light.png ├── page-context-menu.png ├── playground │ ├── API-playground-dark.png │ └── API-playground-light.png ├── quickstart │ ├── custom-domain-dark.png │ ├── custom-domain-light.png │ ├── github-app-installation-dark.png │ ├── github-app-installation-light.png │ ├── mintlify-dev-dark.png │ ├── mintlify-dev-light.png │ ├── mintlify-domain-dark.png │ ├── mintlify-domain-light.png │ ├── web-editor-dark.png │ ├── web-editor-editing-dark.png │ ├── web-editor-editing-light.png │ └── web-editor-light.png ├── repository-url.png ├── speakeasy-1.webp ├── speakeasy-2.webp ├── speakeasy-3.webp ├── stainless-public-OpenAPI-spec.png ├── starter-template.png ├── svg-jsx.png ├── tabs-dark.png ├── tabs-light.png ├── themes │ ├── almond-dark.png │ ├── almond-light.png │ ├── linden-dark.png │ ├── linden-light.png │ ├── maple-dark.png │ ├── maple-light.png │ ├── mint-dark.png │ ├── mint-light.png │ ├── palm-dark.png │ ├── palm-light.png │ ├── willow-dark.png │ └── willow-light.png ├── topbar-cta-get-started.png ├── topbar-cta-github.png ├── topbar-links.png ├── translations │ ├── translations-dashboard-dark.png │ └── translations-dashboard-light.png ├── video.mp4 └── webeditor3.jpeg ├── index.mdx ├── installation.mdx ├── integrations ├── analytics │ ├── amplitude.mdx │ ├── clearbit.mdx │ ├── fathom.mdx │ ├── google-analytics.mdx │ ├── google-tag-manager.mdx │ ├── heap.mdx │ ├── hotjar.mdx │ ├── koala.mdx │ ├── logrocket.mdx │ ├── mixpanel.mdx │ ├── overview.mdx │ ├── pirsch.mdx │ ├── plausible.mdx │ ├── posthog.mdx │ └── segment.mdx ├── privacy │ ├── osano.mdx │ └── overview.mdx ├── sdks │ ├── speakeasy.mdx │ └── stainless.mdx └── support │ ├── front.mdx │ ├── intercom.mdx │ └── overview.mdx ├── list-table.mdx ├── logo ├── dark.svg └── light.svg ├── mcp.mdx ├── navigation.mdx ├── openapi.json ├── pages.mdx ├── quickstart.mdx ├── react-components.mdx ├── reusable-snippets.mdx ├── settings.mdx ├── settings ├── broken-links.mdx ├── ci.mdx ├── custom-domain.mdx ├── custom-scripts.mdx ├── github.mdx ├── gitlab.mdx ├── preview-deployments.mdx └── seo.mdx ├── snippets ├── color-generator.mdx ├── counter.mdx └── custom-subpath-gating.mdx ├── text.mdx ├── themes.mdx └── translations.mdx /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Documentation changes 2 | 3 | Brief description of what's being updated 4 | 5 | Closes 6 | 7 | --- 8 | 9 | ## For Reviewers 10 | 11 | When reviewing documentation PRs, please consider: 12 | 13 | ### ✅ Technical accuracy 14 | - [ ] Code examples work as written 15 | - [ ] Commands and configurations are correct 16 | - [ ] Links resolve to the right destinations 17 | - [ ] Prerequisites and requirements are accurate 18 | 19 | ### ✅ Clarity and completeness 20 | - [ ] Instructions are clear and easy to follow 21 | - [ ] Steps are in logical order 22 | - [ ] Nothing important is missing 23 | - [ ] Examples help illustrate the concepts 24 | 25 | ### ✅ User experience 26 | - [ ] A new user could follow these docs successfully 27 | - [ ] Common gotchas or edge cases are addressed 28 | - [ ] Error messages or troubleshooting guidance is helpful 29 | -------------------------------------------------------------------------------- /.github/workflows/check-links.yml: -------------------------------------------------------------------------------- 1 | name: Check links 2 | 3 | on: pull_request 4 | 5 | jobs: 6 | check-links: 7 | name: Check links 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4 11 | - name: Set up Node 12 | uses: actions/setup-node@v4 13 | with: 14 | node-version: "latest" 15 | - name: Install Mintlify CLI 16 | run: npm i -g mint 17 | - name: Run broken link checker 18 | run: mint broken-links 19 | -------------------------------------------------------------------------------- /.github/workflows/index-sitemap.yml: -------------------------------------------------------------------------------- 1 | name: Index docs 2 | 3 | on: 4 | schedule: 5 | - cron: "0 */3 * * *" 6 | 7 | jobs: 8 | lint: 9 | name: Lint 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v2 13 | 14 | - uses: actions/setup-node@v3 15 | with: 16 | node-version: '18' 17 | 18 | - name: Install CLI 19 | run: npm install -g @team-plain/cli@latest 20 | 21 | - name: Index Docs 22 | run: plain index-sitemap https://mintlify.com/docs/sitemap.xml 23 | env: 24 | PLAIN_API_KEY: ${{ secrets.PLAIN_API_KEY }} 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | package-lock.json 4 | .idea/ 5 | .vscode/ 6 | -------------------------------------------------------------------------------- /advanced/dashboard/permissions.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Editor Permissions' 3 | description: 'Allow more members of your team to update your docs' 4 | --- 5 | 6 | The team member who created your initial docs will have update access to your docs, as long as they push to your documentation repo with the same GitHub account that was used while signing up for Mintlify. 7 | 8 | If another editor attempts to update the docs while on the free plan, you will see a warning in your git commit check. 9 | 10 | 11 | 12 | 13 | 14 | In the details of the git check warning, you'll find the link to upgrade your plan. You can also upgrade your plan on the [dashboard](https://dashboard.mintlify.com) to enable unlimited editors to update your docs. Once you upgrade your plan, trigger a manual update or push another change to deploy your updates. 15 | 16 | Learn more about our pricing [here](https://mintlify.com/pricing). 17 | -------------------------------------------------------------------------------- /advanced/dashboard/roles.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Roles" 3 | description: "Control access to your dashboard with roles." 4 | --- 5 | 6 | Mintlify provides two dashboard access levels: Editor and Admin. 7 | 8 | The following describes actions that are limited to the Admin role: 9 | 10 | | | Editor | Admin | 11 | | ----------------------- | :----: | :---: | 12 | | Update user roles | ❌ | ✅ | 13 | | Delete users | ❌ | ✅ | 14 | | Invite admin users | ❌ | ✅ | 15 | | Manage & update billing | ❌ | ✅ | 16 | | Update custom domain | ❌ | ✅ | 17 | | Update Git source | ❌ | ✅ | 18 | | Delete org | ❌ | ✅ | 19 | 20 | Other actions on the dashboard are available to both roles. 21 | 22 | You can invite as many admins as you want, but we recommend limiting admin 23 | access to users who need it. 24 | -------------------------------------------------------------------------------- /advanced/dashboard/sso.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Single Sign-On (SSO)" 3 | description: "Customize how your team can login to your admin dashboard" 4 | --- 5 | 6 | 7 | SSO functionality is available on our [Enterprise plan](https://mintlify.com/pricing?ref=sso). Please{" "} 8 | contact sales for more information. 9 | 10 | 11 | Use single sign-on to your dashboard via SAML and OIDC. If you use Okta or Google Workspace, we have provider-specific documentation for setting up SSO, but if you use another provider, please contact us! 12 | 13 | ## Okta 14 | 15 | 16 | 17 | 18 | 19 | Under `Applications`, click to create a new app integration using SAML 2.0. 20 | 21 | 22 | Enter the following: 23 | * Single sign-on URL (provided by Mintlify) 24 | * Audience URI (provided by Mintlify) 25 | * Name ID Format: `EmailAddress` 26 | * Attribute Statements: 27 | | Name | Name format | Value 28 | | ---- | ----------- | ----- 29 | | `firstName` | Basic | `user.firstName` | 30 | | `lastName` | Basic | `user.lastName` | 31 | 32 | 33 | Once the application is set up, navigate to the sign-on tab and send us the metadata URL. 34 | We'll enable the connection from our side using this information. 35 | 36 | 37 | 38 | 39 | 40 | 41 | Under `Applications`, click to create a new app integration using OIDC. 42 | You should choose the `Web Application` application type. 43 | 44 | 45 | Select the authorization code grant type and enter the Redirect URI provided by Mintlify. 46 | 47 | 48 | Once the application is set up, navigate to the General tab and locate the client ID & client secret. 49 | Please securely provide us with these, along with your Okta instance URL (e.g. `.okta.com`). You can send these via a service like 1Password or SendSafely. 50 | 51 | 52 | 53 | 54 | 55 | ## Google Workspace 56 | 57 | 58 | 59 | 60 | 61 | Under `Web and mobile apps`, select `Add custom SAML app` from the `Add app` dropdown. 62 | 63 | ![](/images/gsuite-add-custom-saml-app.png) 64 | 65 | 66 | 67 | Copy the provided SSO URL, Entity ID, and x509 certificate and send it to the Mintlify team. 68 | 69 | ![](/images/gsuite-saml-metadata.png) 70 | 71 | 72 | 73 | On the Service provider details page, enter the following: 74 | * ACS URL (provided by Mintlify) 75 | * Entity ID (provided by Mintlify) 76 | * Name ID format: `EMAIL` 77 | * Name ID: `Basic Information > Primary email` 78 | 79 | 80 | ![](/images/gsuite-sp-details.png) 81 | 82 | 83 | On the next page, enter the following attribute statements: 84 | | Google Directory Attribute | App Attribute | 85 | | -------------------------- | ------------- | 86 | | `First name` | `firstName` | 87 | | `Last name` | `lastName` | 88 | 89 | Once this step is complete and users are assigned to the application, let our team know and we'll enable SSO for your account! 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /advanced/subpath/vercel.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Vercel" 3 | description: "Host documentation at a /docs subpath using Vercel" 4 | --- 5 | 6 | ## vercel.json Configuration 7 | 8 | To host your documentation at a custom subpath using Vercel, you need to add the 9 | following configuration to your `vercel.json` file. 10 | 11 | ```json 12 | { 13 | "rewrites": [ 14 | { 15 | "source": "/docs", 16 | "destination": "https://[subdomain].mintlify.dev/docs" 17 | }, 18 | { 19 | "source": "/docs/:match*", 20 | "destination": "https://[subdomain].mintlify.dev/docs/:match*" 21 | } 22 | ] 23 | } 24 | ``` 25 | 26 | 27 | For more information, you can also refer to Vercel's offical guide on 28 | rewrites: [Project Configuration: 29 | Rewrites](https://vercel.com/docs/projects/project-configuration#rewrites) 30 | 31 | -------------------------------------------------------------------------------- /ai-ingestion.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "AI Ingestion" 3 | description: "Prepare your documentation for LLMs and AI tools" 4 | icon: "bot-message-square" 5 | --- 6 | 7 | export const PreviewButton = ({ children, href }) => { 8 | return ( 9 | 10 | {children} 11 | 12 | ) 13 | } 14 | 15 | Mintlify generates optimized formats and provides shortcuts that help users get faster, more accurate responses when using your documentation as context for LLMs and AI tools. 16 | 17 | ## Contextual menu 18 | 19 | Provide quick access to AI-optimized content and direct integrations with popular AI tools from a contextual menu on your pages. 20 | 21 | * **Copy page**: Copies the current page as Markdown for pasting as context into AI tools. 22 | * **View as Markdown**: Opens the current page as Markdown. 23 | * **Open in ChatGPT**: Creates a ChatGPT conversation with the current page as context. 24 | * **Open in Claude**: Creates a Claude conversation with the current page as context. 25 | 26 | 27 | The expanded contextual menu showing the Copy page, View as Markdown, Open in ChatGPT, and Open in Claude menu items. 31 | 32 | 33 | ### Enabling the contextual menu 34 | 35 | Add the `contextual` field to your `docs.json` and specify which options you want to include in your menu. 36 | 37 | ```json 38 | { 39 | "contextual": { 40 | "options": [ 41 | "copy", 42 | "view", 43 | "chatgpt", 44 | "claude" 45 | ] 46 | } 47 | } 48 | ``` 49 | 50 | ## /llms.txt 51 | 52 | The [/llms.txt file](https://llmstxt.org) is an industry standard that helps general-purpose LLMs index more efficiently, similar to how a sitemap helps search engines. 53 | 54 | Every documentation site automatically hosts an `/llms.txt` file at the root that lists all available pages in your documentation. AI tools can use this file to understand your documentation structure and find relevant content to user prompts. 55 | 56 | Open llms.txt for this site 57 | 58 | ## /llms-full.txt 59 | 60 | The `/llms-full.txt` file combines your entire documentation site into a single file as context for AI tools. 61 | 62 | Every documentation site automatically hosts an `/llms-full.txt` file at the root. 63 | 64 | Open llms-full.txt for this site 65 | 66 | ## Generating Markdown versions of pages 67 | 68 | Markdown provides structured text that AI tools can process more efficiently than HTML, which results in better response times and lower token usage. 69 | 70 | ### .md extension 71 | 72 | Add a `.md` to a page's URL to display a Markdown version of that page. 73 | 74 | Open quickstart.md 75 | 76 | ### Command \+ C shortcut 77 | 78 | Select Command \+ C (Ctrl \+ C on Windows) to copy any page as Markdown. 79 | -------------------------------------------------------------------------------- /api-playground/asyncapi/playground.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Playground" 3 | description: "Enable users to interact with your websockets" 4 | asyncapi: "/asyncapi.yaml channelOne" 5 | --- 6 | -------------------------------------------------------------------------------- /api-playground/asyncapi/setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "AsyncAPI Setup" 3 | description: "Create websocket reference pages with AsyncAPI" 4 | --- 5 | 6 | ## Add an AsyncAPI specification file 7 | 8 | To begin to create pages for your websockets, make sure you have a valid AsyncAPI schema document in either JSON or YAML format that follows the [AsyncAPI specification](https://www.asyncapi.com/docs/reference/specification/v3.0.0). Your schema must follow the AsyncAPI specification 3.0+. 9 | 10 | 11 | To make sure your AsyncAPI schema is valid, you can paste it into the 12 | [AsyncAPI Studio](https://studio.asyncapi.com/) 13 | 14 | 15 | ## Auto-populate websockets pages 16 | 17 | You can add an `asyncapi` field to any tab or group in the navigation of your `docs.json`. This field can contain either the path to an AsyncAPI schema document in your docs repo, the URL of a hosted AsyncAPI schema document, or an array of links to AsyncAPI schema documents. Mintlify will automatically generate a page for each AsyncAPI websocket channel. 18 | 19 | **Examples with Tabs:** 20 | 21 | 22 | 23 | ```json Local File {5} 24 | "navigation": { 25 | "tabs": [ 26 | { 27 | "tab": "API Reference", 28 | "asyncapi": "/path/to/asyncapi.json" 29 | } 30 | ] 31 | } 32 | 33 | ``` 34 | 35 | ```json Remote URL {5} 36 | "navigation": { 37 | "tabs": [ 38 | { 39 | "tab": "API Reference", 40 | "asyncapi": "https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml" 41 | } 42 | ] 43 | } 44 | ``` 45 | 46 | 47 | 48 | **Examples with Groups:** 49 | 50 | ```json {8-11} 51 | "navigation": { 52 | "tabs": [ 53 | { 54 | "tab": "AsyncAPI", 55 | "groups": [ 56 | { 57 | "group": "Websockets", 58 | "asyncapi": { 59 | "source": "/path/to/asyncapi.json", 60 | "directory": "api-reference" 61 | } 62 | } 63 | ] 64 | } 65 | ] 66 | } 67 | ``` 68 | 69 | 70 | The directory field is optional. If not specified, the files will be placed in 71 | the **api-reference** folder of the docs repo. 72 | 73 | 74 | ## Channel page 75 | 76 | If you want more control over how you order your channels or if you want to just reference a single channel, you can create an MDX file with the `asyncapi` field in the frontmatter. 77 | 78 | ```mdx 79 | --- 80 | title: "Websocket Channel" 81 | asyncapi: "/path/to/asyncapi.json channelName" 82 | --- 83 | ``` 84 | -------------------------------------------------------------------------------- /api-playground/customization/adding-sdk-examples.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Adding SDK examples" 3 | description: "Display language-specific code samples alongside your API endpoints to show developers how to use your SDKs" 4 | --- 5 | 6 | If your users interact with your API using an SDK rather than directly through a network request, you can use the `x-codeSamples` extension to add code samples to your OpenAPI document and display them in your OpenAPI pages. 7 | 8 | This property can be added to any request method and has the following schema. 9 | 10 | 11 | The language of the code sample. 12 | 13 | 14 | 15 | The label for the sample. This is useful when providing multiple examples for a single endpoint. 16 | 17 | 18 | 19 | The source code of the sample. 20 | 21 | 22 | Here is an example of code samples for a plant tracking app, which has both a Bash CLI tool and a JavaScript SDK. 23 | 24 | ```yaml 25 | paths: 26 | /plants: 27 | get: 28 | ... 29 | x-codeSamples: 30 | - lang: bash 31 | label: List all unwatered plants 32 | source: | 33 | planter list -u 34 | - lang: javascript 35 | label: List all unwatered plants 36 | source: | 37 | const planter = require('planter'); 38 | planter.list({ unwatered: true }); 39 | - lang: bash 40 | label: List all potted plants 41 | source: | 42 | planter list -p 43 | - lang: javascript 44 | label: List all potted plants 45 | source: | 46 | const planter = require('planter'); 47 | planter.list({ potted: true }); 48 | ``` 49 | 50 | -------------------------------------------------------------------------------- /api-playground/customization/complex-data-types.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Complex data types" 3 | description: "Describe APIs with flexible schemas, optional properties, and multiple data formats using `oneOf`, `anyOf`, and `allOf` keywords" 4 | --- 5 | 6 | When your API accepts multiple data formats, has conditional fields, or uses inheritance patterns, OpenAPI's schema composition keywords help you document these flexible structures. Using `oneOf`, `anyOf`, and `allOf`, you can describe APIs that handle different input types or combine multiple schemas into comprehensive data models. 7 | 8 | ## `oneOf`, `anyOf`, `allOf` keywords 9 | 10 | For complex data types, OpenAPI provides keywords for combining schemas: 11 | 12 | - `allOf`: Combines multiple schemas (like merging objects or extending a base schema). Functions like an `and` operator. 13 | - `anyOf`: Accepts data matching any of the provided schemas. Functions like an `or` operator. 14 | - `oneOf`: Accepts data matching exactly one of the provided schemas. Functions like an `exclusive-or` operator. 15 | 16 | Mintlify treats `oneOf` and `anyOf` identically since the practical difference rarely affects using the API. 17 | 18 | For detailed specifications of these keywords see the [OpenAPI documentation](https://swagger.io/docs/specification/data-models/oneof-anyof-allof-not/). 19 | 20 | The `not` keyword is currently unsupported. 21 | 22 | ### Combining schemas with `allOf` 23 | 24 | When you use `allOf`, Mintlify performs some preprocessing on your OpenAPI document to display complex combinations in a readable way. For example, when you combine two object schemas with `allOf`, Mintlify combines the properties of both into a single object. This becomes especially useful when leveraging OpenAPI's reusable [components](https://swagger.io/docs/specification/components/). 25 | 26 | ```yaml 27 | org_with_users: 28 | allOf: 29 | - $ref: '#/components/schemas/Org' 30 | - type: object 31 | properties: 32 | users: 33 | type: array 34 | description: An array containing all users in the organization 35 | ... 36 | components: 37 | schemas: 38 | Org: 39 | type: object 40 | properties: 41 | id: 42 | type: string 43 | description: The ID of the organization 44 | ``` 45 | 46 | 47 | 48 | 49 | The ID of the organization 50 | 51 | 52 | An array containing all users in the organization 53 | 54 | 55 | 56 | 57 | ### Providing options with `oneOf` and `anyOf` 58 | 59 | When you use `oneOf` or `anyOf`, the options are displayed in a tabbed container. Specify a `title` field in each subschema to give your options names. For example, here's how you might display two different types of delivery addresses: 60 | 61 | ```yaml 62 | delivery_address: 63 | oneOf: 64 | - title: StreetAddress 65 | type: object 66 | properties: 67 | address_line_1: 68 | type: string 69 | description: The street address of the recipient 70 | ... 71 | - title: POBox 72 | type: object 73 | properties: 74 | box_number: 75 | type: string 76 | description: The number of the PO Box 77 | ... 78 | ``` 79 | 80 | 81 |
82 | 83 | 84 | 85 | The street address of the residence 86 | 87 | 88 | 89 | 90 | The number of the PO Box 91 | 92 | 93 | 94 |
95 |
96 | -------------------------------------------------------------------------------- /api-playground/customization/managing-page-visibility.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Managing page visibility" 3 | description: "Control which endpoints from your OpenAPI specification appear in your documentation navigation" 4 | --- 5 | 6 | You can control which OpenAPI operations get published as documentation pages and their visibility in navigation. This is useful for internal-only endpoints, deprecated operations, beta features, or endpoints that should be accessible via direct URL but not discoverable through site navigation. 7 | 8 | If your pages are autogenerated from an OpenAPI document, you can manage page visibility with the `x-hidden` and `x-excluded` extensions. 9 | 10 | ## `x-hidden` 11 | 12 | The `x-hidden` extension creates a page for an endpoint, but hides it from navigation. The page is only accessible by navigating directly to its URL. 13 | 14 | Common use cases for `x-hidden` are: 15 | 16 | - Endpoints you want to document, but not promote. 17 | - Pages that you will link to from other content. 18 | - Endpoints for specific users. 19 | 20 | ## `x-excluded` 21 | 22 | 23 | The `x-excluded` extension completely excludes an endpoint from your documentation. 24 | 25 | Common use cases for `x-excluded` are: 26 | 27 | - Internal-only endpoints. 28 | - Deprecated endpoints that you don't want to document. 29 | - Beta features that are not ready for public documentation. 30 | 31 | ## Implementation 32 | 33 | Add the `x-hidden` or `x-excluded` extension under the HTTP method in your OpenAPI specification. 34 | 35 | Here are examples of how to use each property in an OpenAPI schema document for an endpoint and a webhook path. 36 | 37 | ```json {11, 19} 38 | "paths": { 39 | "/plants": { 40 | "get": { 41 | "description": "Returns all plants from the store", 42 | "parameters": { ... }, 43 | "responses": { ... } 44 | } 45 | }, 46 | "/hidden_plants": { 47 | "get": { 48 | "x-hidden": true, 49 | "description": "Returns all somewhat secret plants from the store", 50 | "parameters": { ... }, 51 | "responses": { ... } 52 | } 53 | }, 54 | "/secret_plants": { 55 | "get": { 56 | "x-excluded": true, 57 | "description": "Returns all top secret plants from the store (do not publish this endpoint!)", 58 | "parameters": { ... }, 59 | "responses": { ... } 60 | } 61 | } 62 | }, 63 | ``` 64 | 65 | ```json {9, 15} 66 | "webhooks": { 67 | "/plants_hook": { 68 | "post": { 69 | "description": "Webhook for information about a new plant added to the store", 70 | } 71 | }, 72 | "/hidden_plants_hook": { 73 | "post": { 74 | "x-hidden": true, 75 | "description": "Webhook for somewhat secret information about a new plant added to the store" 76 | } 77 | }, 78 | "/secret_plants_hook": { 79 | "post": { 80 | "x-excluded": true, 81 | "description": "Webhook for top secret information about a new plant added to the store (do not publish this endpoint!)" 82 | } 83 | } 84 | } 85 | ``` 86 | -------------------------------------------------------------------------------- /api-playground/customization/multiple-responses.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Multiple responses" 3 | description: "Show response variations for the same endpoint" 4 | --- 5 | 6 | If your API returns different responses based on input parameters, user context, or other conditions of the request, you can document multiple response examples with the `examples` property. 7 | 8 | This property can be added to any response and has the following schema. 9 | 10 | ```yaml 11 | responses: 12 | "200": 13 | description: Successful response 14 | content: 15 | application/json: 16 | schema: 17 | $ref: "#/components/schemas/YourResponseSchema" 18 | examples: 19 | us: 20 | summary: Response for United States 21 | value: 22 | countryCode: "US" 23 | currencyCode: "USD" 24 | taxRate: 0.0825 25 | gb: 26 | summary: Response for United Kingdom 27 | value: 28 | countryCode: "GB" 29 | currencyCode: "GBP" 30 | taxRate: 0.20 31 | ``` -------------------------------------------------------------------------------- /api-playground/mdx/authentication.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Authentication" 3 | description: "You can set authentication parameters to let users use their real API keys." 4 | --- 5 | 6 | ## Enabling authentication 7 | 8 | You can add an authentication method to your `docs.json` to enable it globally on every page or you can set it on a per-page basis. 9 | 10 | A page's authentication method will override a global method if both are set. 11 | 12 | ### Bearer token 13 | 14 | 15 | 16 | ```json docs.json 17 | "api": { 18 | "mdx": { 19 | "auth": { 20 | "method": "bearer" 21 | } 22 | } 23 | } 24 | ``` 25 | 26 | ```md Page Metadata 27 | --- 28 | title: "Your page title" 29 | authMethod: "bearer" 30 | --- 31 | ``` 32 | 33 | 34 | 35 | ### Basic authentication 36 | 37 | 38 | 39 | ```json docs.json 40 | "api": { 41 | "mdx": { 42 | "auth": { 43 | "method": "basic" 44 | } 45 | } 46 | } 47 | ``` 48 | 49 | ```md Page Metadata 50 | --- 51 | title: "Your page title" 52 | authMethod: "basic" 53 | --- 54 | ``` 55 | 56 | 57 | 58 | ### API key 59 | 60 | 61 | 62 | ```json docs.json 63 | "api": { 64 | "mdx": { 65 | "auth": { 66 | "method": "key", 67 | "name": "x-api-key" 68 | } 69 | } 70 | } 71 | ``` 72 | 73 | ```md Page Metadata 74 | --- 75 | title: "Your page title" 76 | authMethod: "key" 77 | --- 78 | ``` 79 | 80 | 81 | 82 | ### None 83 | 84 | The "none" authentication method is useful to disable authentication on a specific endpoint after setting a default in docs.json. 85 | 86 | 87 | ```md Page Metadata 88 | --- 89 | title: "Your page title" 90 | authMethod: "none" 91 | --- 92 | ``` 93 | 94 | -------------------------------------------------------------------------------- /api-playground/mdx/configuration.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'MDX Setup' 3 | description: 'Generate docs pages for your API endpoints using `MDX`' 4 | --- 5 | 6 | You can manually define API endpoints in individual `MDX` files rather than using an OpenAPI specification. This method provides flexibility for custom content, but we recommend generating API documentation from an OpenAPI specification file for most API documentation projects as it's more maintainable and feature-rich. However, MDX can be useful for documenting small APIs, prototyping, or when you want to feature API endpoints alongside other content. 7 | 8 | To generate pages for API endpoints using `MDX`, configure your API settings in `docs.json`, create individual `MDX` files for each endpoint, and use components like `` to define parameters. From these definitions, Mintlify generates interactive API playgrounds, request examples, and response examples. 9 | 10 | 11 | 12 | In your `docs.json` file, define your base URL and auth method: 13 | 14 | ```json 15 | "api": { 16 | "mdx": { 17 | "server": "https://mintlify.com/api", // string array for multiple base URLs 18 | "auth": { 19 | "method": "key", 20 | "name": "x-api-key" // options: bearer, basic, key. 21 | } 22 | } 23 | } 24 | ``` 25 | 26 | If you want to hide the API playground, use the `display` field. You do not need to include an auth method if you hide the playground. 27 | 28 | ```json 29 | "api": { 30 | "playground": { 31 | "display": "none" 32 | } 33 | } 34 | ``` 35 | 36 | Find a full list of API configurations in [Settings](/settings#api-configurations). 37 | 38 | 39 | 40 | 41 | Each API endpoint page should have a corresponding `MDX` file. At the top of each file, define `title` and `api`: 42 | 43 | ```md 44 | --- 45 | title: 'Create new user' 46 | api: 'POST https://api.mintlify.com/user' 47 | --- 48 | ``` 49 | 50 | You can specify path parameters by adding the parameter name to the path, wrapped with `{}`: 51 | 52 | ```bash 53 | https://api.example.com/v1/endpoint/{userId} 54 | ``` 55 | 56 | 57 | 58 | If you have a `server` field configured in `docs.json`, you can use relative paths like `/v1/endpoint`. 59 | 60 | 61 | 62 | You can override the globally-defined display mode for the API playground per page by adding `playground` at the top of the `MDX` file: 63 | 64 | ```md 65 | --- 66 | title: 'Create new user' 67 | api: 'POST https://api.mintlify.com/user' 68 | playground: 'none' 69 | ``` 70 | 71 | 72 | 73 | 74 | Add your endpoint pages to the sidebar by adding the paths to the `navigation` field in your `docs.json`. Learn more about structuring your docs in [Navigation](/navigation). 75 | 76 | 77 | 78 | ## Enabling authentication 79 | 80 | You can add an authentication method to your `docs.json` to enable it globally on every page or you can set it on a per-page basis. 81 | 82 | A page's authentication method will override a global method if both are set. 83 | 84 | ### Bearer token 85 | 86 | 87 | 88 | ```json docs.json 89 | "api": { 90 | "mdx": { 91 | "auth": { 92 | "method": "bearer" 93 | } 94 | } 95 | } 96 | ``` 97 | 98 | ```md Page Metadata 99 | --- 100 | title: "Your page title" 101 | authMethod: "bearer" 102 | --- 103 | ``` 104 | 105 | 106 | 107 | ### Basic authentication 108 | 109 | 110 | 111 | ```json docs.json 112 | "api": { 113 | "mdx": { 114 | "auth": { 115 | "method": "basic" 116 | } 117 | } 118 | } 119 | ``` 120 | 121 | ```md Page Metadata 122 | --- 123 | title: "Your page title" 124 | authMethod: "basic" 125 | --- 126 | ``` 127 | 128 | 129 | 130 | ### API key 131 | 132 | 133 | 134 | ```json docs.json 135 | "api": { 136 | "mdx": { 137 | "auth": { 138 | "method": "key", 139 | "name": "x-api-key" 140 | } 141 | } 142 | } 143 | ``` 144 | 145 | ```md Page Metadata 146 | --- 147 | title: "Your page title" 148 | authMethod: "key" 149 | --- 150 | ``` 151 | 152 | 153 | 154 | ### None 155 | 156 | The `none` authentication method is useful to disable authentication on a specific endpoint after setting a default in docs.json. 157 | 158 | 159 | ```md Page Metadata 160 | --- 161 | title: "Your page title" 162 | authMethod: "none" 163 | --- 164 | ``` 165 | 166 | -------------------------------------------------------------------------------- /api-playground/troubleshooting.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Troubleshooting" 3 | description: "Common issues with API References" 4 | icon: "message-square-warning" 5 | --- 6 | 7 | If your API pages aren't displaying correctly, check these common configuration issues: 8 | 9 | 10 | 11 | In this scenario, it's likely that either Mintlify cannot find your OpenAPI document, 12 | or your OpenAPI document is invalid. 13 | 14 | Running `mint dev` locally should reveal some of these issues. 15 | 16 | To verify your OpenAPI document will pass validation: 17 | 18 | 1. Visit [this validator](https://editor.swagger.io/) 19 | 2. Switch to the "Validate text" tab 20 | 3. Paste in your OpenAPI document 21 | 4. Click "Validate it\!" 22 | 23 | If the text box that appears below has a green border, your document has passed validation. 24 | This is the exact validation package Mintlify uses to validate OpenAPI documents, so if your document 25 | passes validation here, there's a great chance the problem is elsewhere. 26 | 27 | Additionally, Mintlify does not support OpenAPI 2.0. If your document uses this version of the specification, 28 | you could encounter this issue. You can convert your document at [editor.swagger.io](https://editor.swagger.io/) (under Edit \> Convert to OpenAPI 3): 29 | 30 | 31 | ![](/images/convert-oas-3.png) 32 | 33 | 34 | 35 | This is usually caused by a misspelled `openapi` field in the page metadata. Make sure 36 | the HTTP method and path match the HTTP method and path in the OpenAPI document exactly. 37 | 38 | Here's an example of how things might go wrong: 39 | 40 | ```md get-user.mdx 41 | --- 42 | openapi: "GET /users/{id}/" 43 | --- 44 | ``` 45 | 46 | ```yaml openapi.yaml 47 | paths: 48 | "/users/{id}": 49 | get: ... 50 | ``` 51 | 52 | Notice that the path in the `openapi` field has a trailing slash, whereas the path in the OpenAPI 53 | document does not. 54 | 55 | Another common issue is a misspelled filename. If you are specifying a particular OpenAPI document 56 | in the `openapi` field, ensure the filename is correct. For example, if you have two OpenAPI 57 | documents `openapi/v1.json` and `openapi/v2.json`, your metadata might look like this: 58 | 59 | ```md api-reference/v1/users/get-user.mdx 60 | --- 61 | openapi: "v1 GET /users/{id}" 62 | --- 63 | ``` 64 | 65 | 66 | If you have a custom domain configured, this could be an issue with your reverse proxy. By 67 | default, requests made via the API Playground start with a `POST` request to the 68 | `/api/request` path on the docs site. If your reverse proxy is configured to only allow `GET` 69 | requests, then all of these requests will fail. To fix this, configure your reverse proxy to 70 | allow `POST` requests to the `/api/request` path. 71 | 72 | Alternatively, if your reverse proxy prevents you from accepting `POST` requests, you can configure Mintlify to send requests directly to your backend with the `api.playground.proxy` setting in the `docs.json`, as described [here](settings#api-configurations). This will 73 | likely require you to configure CORS on your server, as these requests will now come directly 74 | from your users' browsers. 75 | 76 | -------------------------------------------------------------------------------- /api-reference/chat/create-topic.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | openapi: POST /chat/topic 3 | --- -------------------------------------------------------------------------------- /api-reference/chat/generate-message.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | openapi: POST /chat/message 3 | --- -------------------------------------------------------------------------------- /api-reference/introduction.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Introduction 3 | icon: "book-open" 4 | --- 5 | 6 | ## Trigger Updates 7 | 8 | You can leverage the REST API to programmatically trigger an update when desired. 9 | 10 | ## Authentication 11 | 12 | You can generate an API key through 13 | [the dashboard](https://dashboard.mintlify.com/settings/organization/api-keys). The API key is 14 | associated with the entire org and can be used across multiple deployments. 15 | 16 | 17 | 18 | 19 | 20 | ## Admin API key 21 | 22 | The Admin API key is used for the majority of the API. It is used to trigger updates via the [Update endpoint](/api-reference/update/trigger). 23 | 24 | ## Assistant API key 25 | 26 | The Assistant API allows you to embed the AI assistant experience grounded in your docs and continually kept up to date into any application of your choosing. 27 | 28 | Responses include citations so you can point your users to the right places they need to get help. 29 | 30 | 31 | The Assistant API token is a public token that can be referenced in your 32 | frontend code whereas the API key is a server-side token that should be kept 33 | secret. 34 | 35 | 36 | Now that you have an API key, check out our [example](https://github.com/mintlify/discovery-api-example) for how to use 37 | the API for AI assistant. You can also see a deployed version of this example at [chat.mintlify.com](https://chat.mintlify.com). 38 | -------------------------------------------------------------------------------- /api-reference/update/status.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | openapi: "GET /project/update-status/{statusId}" 3 | --- 4 | -------------------------------------------------------------------------------- /api-reference/update/trigger.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | openapi: "POST /project/update/{projectId}" 3 | --- 4 | -------------------------------------------------------------------------------- /asyncapi.yaml: -------------------------------------------------------------------------------- 1 | asyncapi: 3.0.0 2 | info: 3 | title: Test websocket schema 4 | version: 1.0.0 5 | description: This is a test websocket API. 6 | channels: 7 | channelOne: 8 | title: Test channel 9 | description: >- 10 | This is a websocket channel. 11 | 12 | It can have _markdown_ in the description. 13 | 14 | * Use the "echo-websocket.hoppscotch.io" server to receive timestamped messages every second. 15 | 16 | * Use the "echo.websocket.org" server to send test messages to the websocket. This server will echo back any messages you send to it. 17 | 18 | address: / 19 | messages: 20 | TestMessage: 21 | $ref: '#/components/messages/TestMessage' 22 | Timestamp: 23 | $ref: '#/components/messages/Timestamp' 24 | servers: 25 | echo-websocket: 26 | host: echo-websocket.hoppscotch.io 27 | protocol: wss 28 | echo: 29 | host: echo.websocket.org 30 | protocol: wss 31 | operations: 32 | sendTestMessage: 33 | action: receive 34 | channel: 35 | $ref: '#/channels/channelOne' 36 | messages: 37 | - $ref: '#/channels/channelOne/messages/TestMessage' 38 | receiveTestMessage: 39 | action: send 40 | channel: 41 | $ref: '#/channels/channelOne' 42 | messages: 43 | - $ref: '#/channels/channelOne/messages/TestMessage' 44 | receiveTimestamp: 45 | action: send 46 | channel: 47 | $ref: '#/channels/channelOne' 48 | messages: 49 | - $ref: '#/channels/channelOne/messages/Timestamp' 50 | components: 51 | messages: 52 | TestMessage: 53 | title: Test message 54 | description: Test message sent to the echo server 55 | payload: 56 | type: object 57 | properties: 58 | text: 59 | type: string 60 | description: The text of your message 61 | subtext: 62 | type: string 63 | description: Optional second message field 64 | from: 65 | type: string 66 | description: The name of the sender 67 | required: 68 | - text 69 | Timestamp: 70 | title: Timestamp 71 | description: Timestamp message sent from echo hoppscotch server 72 | payload: 73 | schema: 74 | $ref: '#/components/schemas/Timestamp' 75 | schemas: 76 | Timestamp: 77 | type: string 78 | description: Timestamp message sent from echo hoppscotch server 79 | examples: 80 | - '22:02:27 GMT+0000 (Coordinated Universal Time)' -------------------------------------------------------------------------------- /authentication-personalization/partial-authentication-setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Partial Authentication Setup" 3 | description: "Control access to specific pages" 4 | icon: "file-lock-2" 5 | --- 6 | 7 | Partial authentication lets you protect private documentation while keeping other pages publicly viewable. Users can browse public content freely and authenticate only when accessing protected pages. 8 | 9 | Partial authentication shares all the same features as authentication, but with the ability to allow unauthenticated users to view certain pages. 10 | 11 | ## Setup 12 | 13 | Follow the [Authentication Setup](/authentication-personalization/authentication-setup) guide and select **Partial Authentication** when configuring your chosen handshake method. 14 | 15 | ## Making pages public 16 | 17 | By default, all pages are protected. Add the `public` property to the page's frontmatter to make it viewable without authentication: 18 | 19 | ```mdx 20 | --- 21 | title: "My Page" 22 | public: true 23 | --- 24 | ``` 25 | -------------------------------------------------------------------------------- /authentication-personalization/sending-data.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Sending Data" 3 | description: "User data format for personalizing your documentation" 4 | icon: "send" 5 | --- 6 | 7 | When implementing authentication or personalization, your system returns user data in a specific format that enables content customization. This data can be sent as either a raw JSON object or within a signed JWT, depending on your handshake method. The shape of the data is the same for both. 8 | 9 | ## User data format 10 | 11 | ```tsx 12 | type User = { 13 | expiresAt?: number; 14 | groups?: string[]; 15 | content?: Record; 16 | apiPlaygroundInputs?: { 17 | header?: Record; 18 | query?: Record; 19 | cookie?: Record; 20 | server?: Record; 21 | }; 22 | }; 23 | ``` 24 | 25 | 29 | Session expiration time in **seconds since epoch**. If the user loads a page after this time, their stored data is automatically deleted and they must reauthenticate. 30 | For JWT handshakes: This differs from the JWT's `exp` claim, which determines when a JWT is considered invalid. Set the JWT `exp` claim to a short duration (10 seconds or less) for security. Use `expiresAt` for the actual session length (hours to weeks). 31 | 32 | 36 | A list of groups that the user belongs to. Pages with a matching `groups` field in their metadata will be visible to this user. 37 | 38 | **Example**: User with `groups: ["admin", "engineering"]` can access pages tagged with either the `admin` or `engineering` groups. 39 | 40 | 44 | Custom data accessible in your `MDX` content via the `user` variable. Use this for dynamic personalization throughout your documentation. 45 | 46 | **Example**: 47 | ```json 48 | { "firstName": "Ronan", "company": "Acme Corp", "plan": "Enterprise" } 49 | ``` 50 | 51 | **Usage in `MDX`**: 52 | ```mdx 53 | Welcome back, {user.firstName}! Your {user.plan} plan includes... 54 | ``` 55 | With the example `user` data, this would render as: Welcome back, Ronan! Your Enterprise plan includes... 56 | 57 | 61 | User-specific values that will be prefilled in the API playground if supplied. Save users time when testing your APIs with their own data. 62 | 63 | **Example**: 64 | ```json 65 | { 66 | "header": { "X-API-Key": "user_api_key_123" }, 67 | "server": { "subdomain": "foo" }, 68 | "query": { "org_id": "12345" } 69 | } 70 | ``` 71 | If a user makes requests at a specific subdomain, you can send `{ server: { subdomain: 'foo' } }` as an `apiPlaygroundInputs` field. This value will be prefilled on any API page with the `subdomain` value. 72 | 73 | The `header`, `query`, and `cookie` fields will only prefill if they are part of your [OpenAPI security scheme](https://swagger.io/docs/specification/authentication/). If a field is in either the `Authorization` or `Server` sections, it will prefill. Creating a standard header parameter named `Authorization` will not enable this feature. 74 | 75 | 76 | ## Example user data 77 | 78 | ```json 79 | { 80 | "expiresAt": 1735689600, 81 | "groups": ["admin", "beta-users"], 82 | "content": { 83 | "firstName": "Jane", 84 | "lastName": "Smith", 85 | "company": "TechCorp", 86 | "plan": "Enterprise", 87 | "region": "us-west" 88 | }, 89 | "apiPlaygroundInputs": { 90 | "header": { 91 | "Authorization": "Bearer abc123", 92 | "X-Org-ID": "techcorp" 93 | }, 94 | "server": { 95 | "environment": "production", 96 | "region": "us-west" 97 | } 98 | } 99 | } 100 | ``` 101 | -------------------------------------------------------------------------------- /components/accordions.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Accordions" 3 | description: "A dropdown component to toggle content visibility" 4 | icon: "chevron-down" 5 | --- 6 | 7 | 8 | You can put any content in here, including other components, like code: 9 | ```java HelloWorld.java 10 | class HelloWorld { 11 | public static void main(String[] args) { 12 | System.out.println("Hello, World!"); 13 | } 14 | } 15 | ``` 16 | 17 | 18 | 19 | 20 | ````jsx Accordion Example 21 | 22 | You can put any content in here, including other components, like code: 23 | 24 | ```java HelloWorld.java 25 | class HelloWorld { 26 | public static void main(String[] args) { 27 | System.out.println("Hello, World!"); 28 | } 29 | } 30 | ``` 31 | 32 | ```` 33 | 34 | ````jsx Accordion Group Example 35 | 36 | 37 | You can put other components inside Accordions. 38 | 39 | ```java HelloWorld.java 40 | class HelloWorld { 41 | public static void main(String[] args) { 42 | System.out.println("Hello, World!"); 43 | } 44 | } 45 | ``` 46 | 47 | Check out the [Accordion](/components/accordions) docs for all the supported props. 48 | 49 | 50 | 51 | Check out the [Accordion](/components/accordions) docs for all the supported props. 52 | 53 | 54 | 55 | Check out the [Accordion](/components/accordions) docs for all the supported props. 56 | 57 | 58 | ```` 59 | 60 | 61 | 62 | ### Props 63 | 64 | 65 | Title in the Accordion preview. 66 | 67 | 68 | 69 | Detail below the title in the Accordion preview. 70 | 71 | 72 | 73 | Whether the Accordion is open by default. 74 | 75 | 76 | 77 | A [Font Awesome icon](https://fontawesome.com/icons), [Lucide 78 | icon](https://lucide.dev/icons), or SVG code 79 | 80 | 81 | 82 | One of "regular", "solid", "light", "thin", "sharp-solid", "duotone", or 83 | "brands" 84 | 85 | 86 | ## Accordion Groups 87 | 88 | You can group multiple accordions into a single display. Simply add `` around your existing `` components. 89 | 90 | 91 | 92 | You can put other components inside Accordions. 93 | 94 | ```java HelloWorld.java 95 | class HelloWorld { 96 | public static void main(String[] args) { 97 | System.out.println("Hello, World!"); 98 | } 99 | } 100 | ``` 101 | 102 | Check out the [Accordion](/components/accordions) docs for all the supported props. 103 | 104 | 105 | 106 | 107 | Check out the [Accordion](/components/accordions) docs for all the supported props. 108 | 109 | 110 | 111 | Check out the [Accordion](/components/accordions) docs for all the supported props. 112 | 113 | 114 | -------------------------------------------------------------------------------- /components/callouts.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Callouts' 3 | description: 'Use callouts to add eye-catching context to your content' 4 | icon: 'info' 5 | --- 6 | 7 | Callouts can be styled as a Note, Warning, Info, Tip, or Check: 8 | 9 | This adds a note in the content 10 | 11 | ```jsx 12 | This adds a note in the content 13 | ``` 14 | 15 | This raises a warning to watch out for 16 | 17 | ```jsx 18 | This raises a warning to watch out for 19 | ``` 20 | 21 | This draws attention to important information 22 | 23 | ```jsx 24 | This draws attention to important information 25 | ``` 26 | 27 | This suggests a helpful tip 28 | 29 | ```jsx 30 | This suggests a helpful tip 31 | ``` 32 | 33 | This brings us a checked status 34 | 35 | ```jsx 36 | This brings us a checked status 37 | ``` 38 | 39 | This is a danger callout 40 | 41 | ```jsx 42 | This is a danger callout 43 | ``` 44 | 45 | 46 | 47 | ```jsx Callout Example 48 | This adds a note in the content 49 | ``` 50 | 51 | -------------------------------------------------------------------------------- /components/cards.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Cards" 3 | description: "Highlight main points or links with customizable icons" 4 | icon: 'square-mouse-pointer' 5 | --- 6 | 7 | 8 | This is how you use a card with an icon and a link. Clicking on this card 9 | brings you to the Columns page. 10 | 11 | 12 | 13 | ```jsx Card Example 14 | 15 | This is how you use a card with an icon and a link. Clicking on this card 16 | brings you to the Columns page. 17 | 18 | ``` 19 | 20 | ```jsx Image Card Example 21 | 22 | Here is an example of a card with an image 23 | 24 | ``` 25 | 26 | 27 | 28 | ## Horizontal card 29 | 30 | Add a `horizontal` property to display cards horizontally. 31 | 32 | 33 | Here is an example of a horizontal card 34 | 35 | 36 | ## Image card 37 | 38 | Add an `img` property to display an image on the top of the card. 39 | 40 | 41 | Here is an example of a card with an image 42 | 43 | 44 | ## Link card 45 | 46 | You can customize the CTA and whether or not to display the arrow on the card. By default, the arrow will only show for external links. 47 | 48 | 55 | This is how you use a card with an icon and a link. Clicking on this card 56 | brings you to the Columns page. 57 | 58 | 59 | 60 | ```jsx Card Example 61 | 68 | This is how you use a card with an icon and a link. Clicking on this card 69 | brings you to the Columns page. 70 | 71 | ``` 72 | 73 | 74 | ## Grouping cards 75 | 76 | You can group cards in [columns](/components/columns). 77 | 78 | 79 | 80 | This is the first card. 81 | 82 | 83 | This is the second card. 84 | 85 | 86 | 87 | ## Props 88 | 89 | 90 | The title of the card 91 | 92 | 93 | 94 | A [Font Awesome icon](https://fontawesome.com/icons), [Lucide 95 | icon](https://lucide.dev/icons), or JSX compatible SVG code in `icon={}`. 96 | 97 | To generate JSX compatible SVG code: 98 | 99 | 1. Use the [SVGR converter](https://react-svgr.com/playground/). 100 | 2. Copy the code inside the `` tag. 101 | 3. Paste the code into your card. Make sure to only copy and paste the code inside the `` tag. 102 | 4. You may need to decrease the height and width to make the image fit. 103 | 104 | 105 | 106 | One of `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands` 107 | 108 | 109 | 110 | The color of the icon as a hex code 111 | 112 | 113 | 114 | The url that clicking on the card would navigate the user to 115 | 116 | 117 | 118 | Makes the card more compact and horizontal 119 | 120 | 121 | 122 | The url or local path to an image to display on the top of the card 123 | 124 | 125 | 126 | Label for the action button 127 | 128 | 129 | 130 | Enable or disable the link arrow icon 131 | 132 | -------------------------------------------------------------------------------- /components/code-groups.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Code Groups" 3 | description: "The CodeGroup component lets you combine code blocks in a display separated by tabs" 4 | icon: 'group' 5 | --- 6 | 7 | You will need to make [Code Blocks](/code) then add the `` component around them. Every Code Block must have a filename because we use the names for the tab buttons. 8 | 9 | See below for an example of the end result. 10 | 11 | 12 | 13 | ```javascript helloWorld.js 14 | console.log("Hello World"); 15 | ``` 16 | 17 | ```python hello_world.py 18 | print('Hello World!') 19 | ``` 20 | 21 | ```java HelloWorld.java 22 | class HelloWorld { 23 | public static void main(String[] args) { 24 | System.out.println("Hello, World!"); 25 | } 26 | } 27 | ``` 28 | 29 | 30 | 31 | 32 | 33 | ````md Code Group Example 34 | 35 | 36 | ```javascript helloWorld.js 37 | console.log("Hello World"); 38 | ``` 39 | 40 | ```python hello_world.py 41 | print('Hello World!') 42 | ``` 43 | 44 | ```java HelloWorld.java 45 | class HelloWorld { 46 | public static void main(String[] args) { 47 | System.out.println("Hello, World!"); 48 | } 49 | } 50 | ``` 51 | 52 | 53 | ```` 54 | 55 | -------------------------------------------------------------------------------- /components/columns.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Columns' 3 | description: 'Show cards side by side in a grid format' 4 | icon: 'columns-2' 5 | keywords: ['card groups'] 6 | --- 7 | 8 | The `Columns` component lets you group multiple `Card` components together. It's most often used to put multiple cards in a grid, by specifying the number of grid columns. 9 | 10 | 11 | 12 | Neque porro quisquam est qui dolorem ipsum quia dolor sit amet 13 | 14 | 15 | Lorem ipsum dolor sit amet, consectetur adipiscing elit 16 | 17 | 18 | 19 | 20 | 21 | ```jsx Card Group Example 22 | 23 | 24 | Neque porro quisquam est qui dolorem ipsum quia dolor sit amet 25 | 26 | 27 | Lorem ipsum dolor sit amet, consectetur adipiscing elit 28 | 29 | 30 | ``` 31 | 32 | 33 | 34 | ### Props 35 | 36 | 37 | The number of columns per row 38 | 39 | -------------------------------------------------------------------------------- /components/examples.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Examples" 3 | description: "Display code blocks at the top-right of the page on desktop devices" 4 | icon: 'between-horizontal-start' 5 | --- 6 | 7 | The `` and `` stick code blocks to the top-right of a page even as you scroll. The components work on all pages even if you don't use an API playground. 8 | 9 | `` and `` show up like regular code blocks on mobile. 10 | 11 | ## Request Example 12 | 13 | The `` component works similar to [CodeGroup](/components/code-groups), but displays the request content on the right sidebar. Thus, you can put multiple code blocks inside ``. 14 | 15 | Please set a name on every code block you put inside RequestExample. 16 | 17 | 18 | ````md RequestExample Example 19 | 20 | 21 | ```bash Request 22 | curl --request POST \ 23 | --url https://dog-api.kinduff.com/api/facts 24 | ``` 25 | 26 | 27 | ```` 28 | 29 | 30 | ## Response Example 31 | 32 | The `` component is the same as `` but will show up underneath it. 33 | 34 | 35 | ````md ResponseExample Example 36 | 37 | 38 | ```json Response 39 | { "status": "success" } 40 | ``` 41 | 42 | 43 | ```` 44 | 45 | -------------------------------------------------------------------------------- /components/expandables.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Expandables" 3 | description: "Toggle to display nested properties." 4 | icon: 'list-tree' 5 | --- 6 | 7 | 8 | 9 | 10 | 11 | The full name of the user 12 | 13 | 14 | 15 | Whether the user is over 21 years old 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | ```jsx Expandable Example 24 | 25 | 26 | 27 | The full name of the user 28 | 29 | 30 | 31 | Whether the user is over 21 years old 32 | 33 | 34 | 35 | ``` 36 | 37 | 38 | 39 | ## Props 40 | 41 | 42 | The name of the object you are showing. Used to generate the "Show NAME" and 43 | "Hide NAME" text. 44 | 45 | 46 | 47 | Set to true to show the component as open when the page loads. 48 | 49 | -------------------------------------------------------------------------------- /components/fields.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Fields" 3 | description: "Set parameters for your API or SDK references" 4 | icon: 'letter-text' 5 | --- 6 | 7 | There are two types of fields: Parameter Fields and Response Fields. 8 | 9 | ## Parameter Field 10 | 11 | A `ParamField` component is used to define the parameters for your APIs or SDKs. Adding a `ParamField` will automatically add an [API Playground](/api-playground/overview). 12 | 13 | 14 | An example of a parameter field 15 | 16 | 17 | 18 | 19 | ```jsx Path Example 20 | 21 | An example of a parameter field 22 | 23 | ``` 24 | 25 | ```jsx Body Example 26 | 27 | The age of the user. Cannot be less than 0 28 | 29 | ``` 30 | 31 | ```jsx Response Example 32 | 33 | A response field example 34 | 35 | ``` 36 | 37 | 38 | 39 | ### Props 40 | 41 | 42 | Whether it is a query, path, body, or header parameter followed by the name 43 | 44 | 45 | 46 | Expected type of the parameter's value 47 | 48 | Supports `number`, `string`, `bool`, `object`. 49 | 50 | Arrays can be defined using the `[]` suffix. For example `string[]`. 51 | 52 | 53 | 54 | Indicate whether the parameter is required 55 | 56 | 57 | 58 | Indicate whether the parameter is deprecated 59 | 60 | 61 | 62 | Default value used by the server if the request does not provide a value 63 | 64 | 65 | 66 | Value that will be used to initialize the playground 67 | 68 | 69 | 70 | Placeholder text for the input in the playground 71 | 72 | 73 | 74 | Description of the parameter (markdown enabled) 75 | 76 | 77 | ## Response Field 78 | 79 | The `` component is designed to define the return values of an API. Many docs also use `` on pages when you need to list the types of something. 80 | 81 | 82 | A response field example 83 | 84 | 85 | ```jsx 86 | 87 | A response field example 88 | 89 | ``` 90 | 91 | ### Props 92 | 93 | 94 | The name of the response value. 95 | 96 | 97 | 98 | Expected type of the response value - this can be any arbitrary string. 99 | 100 | 101 | 102 | The default value. 103 | 104 | 105 | 106 | Show "required" beside the field name. 107 | 108 | 109 | 110 | Whether a field is deprecated or not. 111 | 112 | 113 | 114 | Labels that are shown before the name of the field 115 | 116 | 117 | 118 | Labels that are shown after the name of the field 119 | 120 | -------------------------------------------------------------------------------- /components/frames.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Frames" 3 | description: "Use the Frame component to wrap images or other components in a container." 4 | icon: 'frame' 5 | --- 6 | 7 | Frames are very helpful if you want to center an image. 8 | 9 | 10 | 11 | 12 | 13 | ## Captions 14 | 15 | You can add additional context to an image using the optional `caption` prop. 16 | 17 | 18 | 19 | 20 | 21 | ## Props 22 | 23 | 24 | Optional caption text to show centered under your component. 25 | 26 | 27 | 28 | 29 | ```jsx Frame 30 | 31 | 32 | 33 | ``` 34 | 35 | ```jsx Frame with Captions 36 | 37 | 38 | 39 | ``` 40 | 41 | 42 | -------------------------------------------------------------------------------- /components/icons.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Icons" 3 | description: "Use icons from popular icon libraries" 4 | icon: 'flag' 5 | --- 6 | 7 | 8 | 9 | 10 | 11 | ```jsx Icon Example 12 | 13 | ``` 14 | 15 | 16 | ## Inline Icons 17 | 18 | The icon will be placed inline when used in a paragraph. 19 | 20 | ```markdown Inline Icon Example 21 | The documentation you want, effortlessly 22 | ``` 23 | 24 | The documentation you want, effortlessly 25 | 26 | ### Props 27 | 28 | 29 | A [Font Awesome](https://fontawesome.com/icons) or [Lucide](https://lucide.dev/icons) icon 30 | 31 | 32 | 33 | One of `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands` (only for [Font Awesome](https://fontawesome.com/icons) icons). 34 | 35 | 36 | 37 | The color of the icon as a hex code (e.g., `#FF5733`) 38 | 39 | 40 | 41 | The size of the icon in pixels 42 | 43 | -------------------------------------------------------------------------------- /components/mermaid-diagrams.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Mermaid' 3 | description: 'Display diagrams using Mermaid' 4 | icon: 'waypoints' 5 | --- 6 | 7 | 8 | 9 | ````md Mermaid Flowchart Example 10 | ```mermaid 11 | flowchart LR 12 | subgraph subgraph1 13 | direction TB 14 | top1[top] --> bottom1[bottom] 15 | end 16 | subgraph subgraph2 17 | direction TB 18 | top2[top] --> bottom2[bottom] 19 | end 20 | %% ^ These subgraphs are identical, except for the links to them: 21 | 22 | %% Link *to* subgraph1: subgraph1 direction is maintained 23 | outside --> subgraph1 24 | %% Link *within* subgraph2: 25 | %% subgraph2 inherits the direction of the top-level graph (LR) 26 | outside ---> top2 27 | ``` 28 | ```` 29 | 30 | 31 | 32 | [Mermaid](https://mermaid.js.org/) lets you create visual diagrams using text and code. 33 | 34 | ```mermaid 35 | flowchart LR 36 | subgraph subgraph1 37 | direction TB 38 | top1[top] --> bottom1[bottom] 39 | end 40 | subgraph subgraph2 41 | direction TB 42 | top2[top] --> bottom2[bottom] 43 | end 44 | %% ^ These subgraphs are identical, except for the links to them: 45 | 46 | %% Link *to* subgraph1: subgraph1 direction is maintained 47 | outside --> subgraph1 48 | %% Link *within* subgraph2: 49 | %% subgraph2 inherits the direction of the top-level graph (LR) 50 | outside ---> top2 51 | ``` 52 | 53 | For a complete list of diagrams supported by Mermaid, check out their [website](https://mermaid.js.org/). 54 | 55 | ## Syntax for Mermaid diagrams 56 | 57 | To create a flowchart, you can write the Mermaid flowchart inside a Mermaid code block. 58 | 59 | ````md 60 | ```mermaid 61 | // Your mermaid code block here 62 | ``` 63 | ```` 64 | -------------------------------------------------------------------------------- /components/panel.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Panel' 3 | description: 'Specify the content of the right side panel' 4 | icon: 'panel-right' 5 | --- 6 | 7 | You can use the `` component to customize the right side panel of a page with any components that you want. 8 | 9 | If a page has a `` component, any [RequestExample](/components/examples#request-example) and [ResponseExample](/components/examples#response-example) components must be inside ``. 10 | 11 | The components in a `` will replace a page's table of contents. 12 | 13 | ````md 14 | 15 | Pin info to the side panel. Or add any other component. 16 | 17 | ```` 18 | 19 | 20 | Pin info to the side panel. Or add any other component. 21 | 22 | -------------------------------------------------------------------------------- /components/responses.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Response Fields' 3 | description: 'Display API response values' 4 | --- 5 | 6 | The `` component is designed to define the return values of an API. Many docs also use `` on pages when you need to list the types of something. 7 | 8 | 9 | A response field example 10 | 11 | 12 | ```jsx 13 | 14 | A response field example 15 | 16 | ``` 17 | 18 | ## Props 19 | 20 | 21 | The name of the response value. 22 | 23 | 24 | 25 | Expected type of the response value - this can be any arbitrary string. 26 | 27 | 28 | 29 | The default value. 30 | 31 | 32 | 33 | Show "required" beside the field name. 34 | 35 | 36 | 37 | Whether a field is deprecated or not. 38 | 39 | 40 | 41 | Labels that are shown before the name of the field 42 | 43 | 44 | 45 | Labels that are shown after the name of the field 46 | 47 | 48 | 49 | 50 | ```jsx Response Field Example 51 | 52 | A response field example 53 | 54 | ``` 55 | 56 | -------------------------------------------------------------------------------- /components/steps.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Steps' 3 | description: 'Sequence content using the Steps component' 4 | icon: 'list-todo' 5 | --- 6 | 7 | Steps are the best way to display a series of actions of events to your users. You can add as many steps as desired. 8 | 9 | 10 | 11 | These are instructions or content that only pertain to the first step. 12 | 13 | 14 | These are instructions or content that only pertain to the second step. 15 | 16 | 17 | These are instructions or content that only pertain to the third step. 18 | 19 | 20 | 21 | 22 | 23 | ```jsx Steps Example 24 | 25 | 26 | These are instructions or content that only pertain to the first step. 27 | 28 | 29 | These are instructions or content that only pertain to the second step. 30 | 31 | 32 | These are instructions or content that only pertain to the third step. 33 | 34 | 35 | ``` 36 | 37 | 38 | 39 | ## Steps Props 40 | 41 | 42 | A list of `Step` components. 43 | 44 | 45 | 46 | The size of the step titles. One of `p`, `h2` and `h3`. 47 | 48 | 49 | ## Individual Step Props 50 | 51 | 52 | The content of a step either as plain text, or components. 53 | 54 | 55 | 56 | A [Font Awesome icon](https://fontawesome.com/icons), [Lucide icon](https://lucide.dev/icons), or SVG code in `icon={}` 57 | 58 | 59 | 60 | One of `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands` 61 | 62 | 63 | 64 | The title is the primary text for the step and shows up next to the indicator. 65 | 66 | 67 | 68 | The number of the step. 69 | 70 | 71 | 72 | The size of the step titles. One of `p`, `h2` and `h3`. 73 | 74 | -------------------------------------------------------------------------------- /components/tabs.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Tabs" 3 | description: "Toggle content using the Tabs component" 4 | icon: 'panel-top' 5 | --- 6 | 7 | You can add any number of tabs, and other components inside of tabs. 8 | 9 | 10 | 11 | ☝️ Welcome to the content that you can only see inside the first Tab. 12 | You can add any number of components inside of tabs. 13 | ```java HelloWorld.java 14 | class HelloWorld { 15 | public static void main(String[] args) { 16 | System.out.println("Hello, World!"); 17 | } 18 | } 19 | ``` 20 | 21 | 22 | ✌️ Here's content that's only inside the second Tab. 23 | 24 | 25 | 💪 Here's content that's only inside the third Tab. 26 | 27 | 28 | 29 | 30 | 31 | ````jsx Tabs Example 32 | 33 | 34 | ☝️ Welcome to the content that you can only see inside the first Tab. 35 | ```java HelloWorld.java 36 | class HelloWorld { 37 | public static void main(String[] args) { 38 | System.out.println("Hello, World!"); 39 | } 40 | } 41 | ``` 42 | 43 | 44 | ✌️ Here's content that's only inside the second Tab. 45 | 46 | 47 | 💪 Here's content that's only inside the third Tab. 48 | 49 | 50 | ```` 51 | 52 | 53 | 54 | ## Tab Props 55 | 56 | 57 | The title of the tab. Short titles are easier to navigate. 58 | 59 | -------------------------------------------------------------------------------- /components/tooltips.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Tooltips' 3 | description: 'Show a definition when you hover over text' 4 | icon: 'message-square' 5 | --- 6 | 7 | Tooltips are a way to show a definition when you hover over text. 8 | 9 | Hover over me and see a tooltip in action 10 | 11 | 12 | 13 | ```jsx Tooltip Example 14 | Hover over me 15 | ``` 16 | 17 | 18 | -------------------------------------------------------------------------------- /components/update.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Update" 3 | description: "Keep track of changes and updates" 4 | icon: 'list-collapse' 5 | --- 6 | 7 | The `Update` component is used to keep track of changes and updates. 8 | 9 | 10 | 11 | 15 | 16 | 17 | ## Changelog 18 | 19 | You can add anything here, like a screenshot, a code snippet, or a list of changes. 20 | 21 | #### Features 22 | - Responsive design 23 | - Sticky section for each changelog 24 | 25 | 26 | 27 | ### How to use 28 | ```md 29 | 30 | This is how you use a changelog with a label 31 | and a description. 32 | 33 | 34 | This is how you use a changelog with a label 35 | and a description. 36 | 37 | ``` 38 | 39 | You can use multiple `Update` components to create changelogs. 40 | 41 | 42 | 43 | Each `label` creates an anchor and also shows up on the table of contents on the right. 44 | 45 | 46 | ## Props 47 | 48 | 49 | The label give to the update, appears as sticky text to the left of the changelog. 50 | 51 | 52 | 53 | Tags for the changelog, will be shown as filters in the right side panel. 54 | 55 | 56 | 57 | Description of the update, appears below the label and tag. 58 | 59 | 60 | 61 | 62 | 63 | ```jsx Update Example 64 | 65 | This is how you use a changelog with a label 66 | and a description. 67 | 68 | ``` 69 | 70 | 71 | -------------------------------------------------------------------------------- /contact-support.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Contact Support" 3 | icon: "circle-help" 4 | description: "We're here to help you get the most out of Mintlify" 5 | --- 6 | 7 | ## Ask our docs 8 | 9 | Select Command + I to start a chat with our AI assistant trained on our documentation. 10 | 11 | ## Watch video tutorials 12 | 13 | Visit our [YouTube](https://www.youtube.com/@GetMintlify/videos) channel for tutorials and guides on using Mintlify. 14 | 15 | ## Message support 16 | 17 | Send us a message from your [dashboard](https://dashboard.mintlify.com/) by selecting **Support** in the sidebar. 18 | 19 | 20 | We aim to respond to all requests within 24 hours, but delays may occur during busy times. 21 | 22 | 23 | ## Email support 24 | 25 | If you can't access your dashboard, please email us at support@mintlify.com. 26 | -------------------------------------------------------------------------------- /discovery-openapi.json: -------------------------------------------------------------------------------- 1 | { 2 | "openapi": "3.0.1", 3 | "info": { 4 | "title": "Mintlify Discovery API", 5 | "description": "An API to integrate Mintlify discovery features into your product.", 6 | "version": "1.0.0" 7 | }, 8 | "servers": [ 9 | { 10 | "url": "https://api-dsc.mintlify.com/v1" 11 | } 12 | ], 13 | "security": [ 14 | { 15 | "bearerAuth": [] 16 | } 17 | ], 18 | "paths": { 19 | "/chat/topic": { 20 | "post": { 21 | "x-mcp": { 22 | "enabled": true 23 | }, 24 | "summary": "Create Assistant Chat Topic", 25 | "description": "Creates a topic to manage message history for a given AI assistant conversation", 26 | "responses": { 27 | "200": { 28 | "description": "Topic created successfully", 29 | "content": { 30 | "application/json": { 31 | "schema": { 32 | "type": "object", 33 | "properties": { 34 | "topicId": { 35 | "type": "string", 36 | "description": "The id of the created topic." 37 | } 38 | } 39 | } 40 | } 41 | } 42 | } 43 | } 44 | } 45 | }, 46 | "/chat/message": { 47 | "post": { 48 | "x-mcp": { 49 | "enabled": true 50 | }, 51 | "summary": "Create Assistant Chat Message", 52 | "description": "Generate a completion in response to a user query", 53 | "requestBody": { 54 | "required": true, 55 | "content": { 56 | "application/json": { 57 | "schema": { 58 | "type": "object", 59 | "required": ["topicId", "message"], 60 | "properties": { 61 | "topicId": { 62 | "type": "string", 63 | "description": "The topic ID to associate this message with" 64 | }, 65 | "message": { 66 | "type": "string", 67 | "description": "The user message to generate a completion for" 68 | } 69 | } 70 | } 71 | } 72 | } 73 | }, 74 | "responses": { 75 | "200": { 76 | "description": "Topic created successfully", 77 | "headers": { 78 | "X-Mintlify-Base-Url": { 79 | "schema": { 80 | "type": "string" 81 | }, 82 | "description": "The base URL for the Mintlify documentation" 83 | } 84 | }, 85 | "content": { 86 | "text/plain": { 87 | "schema": { 88 | "type": "string", 89 | "description": "A text stream in the form `||[chunks]`. The chunks are parts of your docs that most closely matched the user query. Each has the following format: \n ```\n { \n \tid: string;\n \tlink: string;\n \tchunk_html: string;\n \tmetadata: {\n \t\ttitle?: string\n \t}\n} \n``` \n The links are relative links with your docs URL intended as the host. To get an absolute link to your docs, you can use the `X-Mintlify-Base-Url` header as the host and construct a fully-qualified URL." 90 | } 91 | } 92 | } 93 | } 94 | } 95 | } 96 | } 97 | }, 98 | "components": { 99 | "securitySchemes": { 100 | "bearerAuth": { 101 | "type": "http", 102 | "scheme": "bearer" 103 | } 104 | } 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /fonts.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Adding Inter Variable from Adobe Fonts 3 | * © 2009-2025 Adobe Systems Incorporated. All Rights Reserved. 4 | */ 5 | 6 | @import url('https://p.typekit.net/p.css?s=1&k=zmy3zmk&ht=tk&f=55314&a=164646275&app=typekit&e=css'); 7 | 8 | @font-face { 9 | font-family: 'inter-variable'; 10 | src: url('https://use.typekit.net/af/250efc/00000000000000007750957d/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3') 11 | format('woff2'), 12 | url('https://use.typekit.net/af/250efc/00000000000000007750957d/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3') 13 | format('woff'), 14 | url('https://use.typekit.net/af/250efc/00000000000000007750957d/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3') 15 | format('opentype'); 16 | font-display: auto; 17 | font-style: normal; 18 | font-weight: 100 900; 19 | font-stretch: normal; 20 | } 21 | 22 | body { 23 | font-family: 'inter-variable', sans-serif; 24 | } -------------------------------------------------------------------------------- /guides/auth0.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Using Auth0 with the OAuth Handshake" 3 | description: "If Auth0 is the source of truth for your user data, you can set up Mintlify as an OAuth client app to authenticate your users." 4 | --- 5 | 6 | 7 | **Security Disclaimer**: While we provide this guide to help you integrate Auth0 with Mintlify, please consult with your security team before implementing any authentication solution. Mintlify is not responsible for any security issues that may arise from your specific implementation. 8 | 9 | 10 | ## Overview 11 | 12 | This guide walks you through setting up Auth0 as an authentication provider for your Mintlify documentation. By the end, your users will be able to log in to your documentation using their Auth0 credentials. 13 | 14 | 15 | 16 | Log in to your Auth0 dashboard and navigate to **Applications** > **Applications**. Click the **Create Application** button, give your application a name (e.g., "Mintlify"), and select **Regular Web Applications** as the application type. Then click **Create**. 17 | 18 | ![Creating a new application in Auth0](/images/guides/auth0/auth0-create-application.png) 19 | 20 | 21 | After creating your application, you'll be taken to the application settings page. Here, you'll find the essential credentials needed for the OAuth integration: 22 | 23 | ![Auth0 client settings page](/images/guides/auth0/auth0clientsettings.png) 24 | 25 | Make note of the following information: 26 | - **Domain**: This is your Auth0 tenant domain (e.g., `your-tenant.auth0.com`) 27 | - **Client ID**: The public identifier for your application 28 | - **Client Secret**: The secret key for your application (keep this secure) 29 | 30 | You'll need these values for configuring Mintlify in the next step. 31 | 32 | 33 | Navigate to your Mintlify Dashboard and go to the **Settings** > **Authentication** section. Select **OAuth** as your authentication method and you'll see the OAuth configuration form: 34 | 35 | ![Mintlify OAuth client settings](/images/guides/auth0/mintlifyoauthclientsettings.png) 36 | 37 | Fill in the form with the following values: 38 | 39 | - **Authorization URL**: `https://YOUR_AUTH0_DOMAIN/authorize` (replace `YOUR_AUTH0_DOMAIN` with your actual Auth0 domain from step 2) 40 | - **Client ID**: Enter the Client ID from your Auth0 application 41 | - **Client Secret**: Enter the Client Secret from your Auth0 application 42 | - **Scopes**: Leave blank unless you have custom scopes set in Auth0 43 | - **Token URL**: `https://YOUR_AUTH0_DOMAIN/oauth/token` (replace `YOUR_AUTH0_DOMAIN` with your actual Auth0 domain) 44 | 45 | After filling in these details, click **Save changes** to store your OAuth configuration. 46 | 47 | 48 | Mintlify will generate a unique Redirect URL that Auth0 needs to recognize for the OAuth flow to work properly. 49 | 50 | Copy the Redirect URL from your Mintlify Dashboard's Authentication settings: 51 | ![Mintlify redirect URL](/images/guides/auth0/mintlifyredirecturl.png) 52 | 53 | Return to your Auth0 application settings page, scroll down to the **Application URIs** section, and paste the Redirect URL into the **Allowed Callback URLs** field: 54 | ![Auth0 redirect URL configuration](/images/guides/auth0/auth0redirecturl.png) 55 | 56 | Click **Save Changes** at the bottom of the Auth0 page to apply this configuration. 57 | 58 | -------------------------------------------------------------------------------- /guides/hidden-pages.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Hidden pages" 3 | description: "Exclude pages from your navigation" 4 | icon: "eye-closed" 5 | --- 6 | 7 | Hidden pages are removed from your site's navigation while remaining publicly accessible to anyone who knows their URL. 8 | 9 | Use hidden pages for content that you want to be accessible on your site, but not discoverable through the navigation. For content requiring strict access control, you must configure [authentication](/authentication-personalization/authentication-setup). 10 | 11 | If you want to hide pages for specific groups of users, use personalization to control [page visibility](/authentication-personalization/overview#page-visibility). 12 | 13 | ## Hiding a page 14 | 15 | A page is hidden if it is not included in your `docs.json` navigation. To hide a page, remove it from your navigation structure. 16 | 17 | 18 | Some navigation elements like sidebars, dropdowns, and tabs may appear empty or shift layout on hidden pages. 19 | 20 | 21 | ## Search and SEO 22 | 23 | By default, hidden pages are excluded from indexing for search engines and internal search within your docs. To include hidden pages in search results, add this setting to your `docs.json`: 24 | 25 | ``` 26 | "seo" { 27 | "indexing": all 28 | } 29 | ``` 30 | 31 | To exclude a specific page from search, add `noindex: true` to its frontmatter. 32 | -------------------------------------------------------------------------------- /guides/monorepo.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Monorepo setup" 3 | description: "Deploy your docs from a repo that contains multiple projects" 4 | icon: "folder-git" 5 | --- 6 | 7 | Configure Mintlify to deploy documentation from a specific directory within a monorepo. This setup allows you to maintain documentation alongside your code in repositories that contain multiple projects or services. 8 | 9 | ## Prerequisites 10 | 11 | * Admin access to your Mintlify project. 12 | * Documentation files organized in a dedicated directory within your monorepo. 13 | * A valid `docs.json` in your documentation directory. 14 | 15 | ## Configure monorepo deployment 16 | 17 | 18 | 19 | Navigate to [Git Settings](https://dashboard.mintlify.com/settings/deployment/git-settings) in your dashboard. 20 | 21 | 22 | The project settings panel in the Git Settings menu. The Set up as monorepo toggle button is enabled and a path to the /docs directory is specified. 27 | The project settings panel in the Git Settings menu. The Set up as monorepo toggle button is enabled and a path to the /docs directory is specified. 32 | 33 | 34 | 35 | 36 | 1. Select the **Set up as monorepo** toggle button. 37 | 2. Enter the relative path to your docs directory. For example, if your docs are in the `docs` directory, enter `/docs`. 38 | 39 | Do not include a trailing slash in the path. 40 | 41 | 3. Select **Save changes**. 42 | 43 | 44 | -------------------------------------------------------------------------------- /image-embeds.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Images and Embeds' 3 | description: 'Add image, video, and other HTML elements' 4 | icon: 'image' 5 | --- 6 | 7 | 11 | 12 | ## Image 13 | 14 | Images are the most common way to add visual content to your documentation. 15 | 16 | ### Basics 17 | 18 | The [markdown syntax](https://www.markdownguide.org/basic-syntax/#images) lets you add images using the following code 19 | 20 | ```md 21 | ![title](/path/image.jpg) 22 | ``` 23 | 24 | To make sure images are displayed correctly in production, add a forward slash to the image path (e.g. `/path/image.jpg`). 25 | 26 | 27 | Note that the image file size must be less than 20MB. Otherwise, we recommend hosting on a CDN provider like [S3](https://aws.amazon.com/s3), [Cloudinary](https://cloudinary.com) or a similar service. 28 | 29 | ### Embeds 30 | 31 | To get more customizability with images, you can also use embeds to add images. 32 | 33 | ```html 34 | 35 | ``` 36 | 37 | ### Disable Image Zoom 38 | 39 | To disable the default zoom on click for images, add the noZoom property to image embeds. 40 | 41 | ```html 42 | 43 | ``` 44 | 45 | ### Linking Images 46 | 47 | To link an image, for example to create a button on your docs, encompass the image in a link with the `noZoom` property. Images in `a` tags will automatically have a pointer cursor. 48 | 49 | ```html 50 | 51 | 52 | 53 | ``` 54 | 55 | ### Dark Mode 56 | 57 | To use separate images for light and dark mode, use Tailwind CSS to hide and show images. 58 | 59 | ```html 60 | 61 | 62 | ``` 63 | 64 | ### Related 65 | 66 | For more information, we recommend the following sections: 67 | 68 | 73 | Read the reference for the Frame component 74 | 75 | 76 | ## Videos 77 | 78 | 86 | 87 |
88 | 89 | 90 | 91 | Mintlify supports [HTML tags in Markdown](https://www.markdownguide.org/basic-syntax/#html). This is helpful if you prefer HTML tags to Markdown syntax, and lets you create documentation with infinite flexibility. 92 | 93 | 94 | 95 | For YouTube videos use: 96 | 97 | ```html 98 | 107 | ``` 108 | 109 | For other videos, use: 110 | 111 | ```html 112 | 117 | ``` 118 | 119 | To autoplay the video, use: 120 | 121 | ```html 122 | 130 | ``` 131 | 132 | 133 | Since Mintlify needs to adhere to the JSX syntax, double word attributes will need to 134 | be written in camelCase: autoPlay, playsInline. 135 | 136 | 137 | ## iFrames 138 | 139 | Loads another HTML page within the document. 140 | 141 | ```html 142 | 143 | ``` 144 | 145 | -------------------------------------------------------------------------------- /images/add-custom-domain-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/add-custom-domain-dark.png -------------------------------------------------------------------------------- /images/add-custom-domain-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/add-custom-domain-light.png -------------------------------------------------------------------------------- /images/anchors-autogeneration-anchors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/anchors-autogeneration-anchors.png -------------------------------------------------------------------------------- /images/autogeneration-with-tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/autogeneration-with-tabs.png -------------------------------------------------------------------------------- /images/changelog/advanced-footer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/advanced-footer.gif -------------------------------------------------------------------------------- /images/changelog/ai-assistant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/ai-assistant.jpg -------------------------------------------------------------------------------- /images/changelog/authentication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/authentication.png -------------------------------------------------------------------------------- /images/changelog/changelog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/changelog.jpg -------------------------------------------------------------------------------- /images/changelog/custom-fonts.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/custom-fonts.jpeg -------------------------------------------------------------------------------- /images/changelog/docsjson.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/docsjson.png -------------------------------------------------------------------------------- /images/changelog/landing-page.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/landing-page.jpeg -------------------------------------------------------------------------------- /images/changelog/llms.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/llms.jpg -------------------------------------------------------------------------------- /images/changelog/mcpgenerator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/mcpgenerator.png -------------------------------------------------------------------------------- /images/changelog/performance-improvements.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/performance-improvements.png -------------------------------------------------------------------------------- /images/changelog/seo-improvements.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/seo-improvements.jpeg -------------------------------------------------------------------------------- /images/changelog/themes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/themes.png -------------------------------------------------------------------------------- /images/changelog/translations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/translations.png -------------------------------------------------------------------------------- /images/changelog/webeditor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/webeditor.jpg -------------------------------------------------------------------------------- /images/changelog/widget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/changelog/widget.png -------------------------------------------------------------------------------- /images/checks-passed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/checks-passed.png -------------------------------------------------------------------------------- /images/claude-mcp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/claude-mcp.png -------------------------------------------------------------------------------- /images/clone-repository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/clone-repository.png -------------------------------------------------------------------------------- /images/cloudflare/custom-domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudflare/custom-domain.png -------------------------------------------------------------------------------- /images/cloudflare/edit-code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudflare/edit-code.png -------------------------------------------------------------------------------- /images/cloudflare/worker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudflare/worker.png -------------------------------------------------------------------------------- /images/cloudfront/behavior-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/behavior-1.png -------------------------------------------------------------------------------- /images/cloudfront/behavior-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/behavior-2.png -------------------------------------------------------------------------------- /images/cloudfront/behaviors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/behaviors.png -------------------------------------------------------------------------------- /images/cloudfront/caching-policy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/caching-policy.png -------------------------------------------------------------------------------- /images/cloudfront/create-distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/create-distribution.png -------------------------------------------------------------------------------- /images/cloudfront/create-record-alias.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/create-record-alias.png -------------------------------------------------------------------------------- /images/cloudfront/default-behavior-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/default-behavior-1.png -------------------------------------------------------------------------------- /images/cloudfront/default-behavior-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/default-behavior-2.png -------------------------------------------------------------------------------- /images/cloudfront/default-origin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/default-origin.png -------------------------------------------------------------------------------- /images/cloudfront/enable-security-protections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/enable-security-protections.png -------------------------------------------------------------------------------- /images/cloudfront/origin-name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/origin-name.png -------------------------------------------------------------------------------- /images/cloudfront/origins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/origins.png -------------------------------------------------------------------------------- /images/cloudfront/preview-distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/preview-distribution.png -------------------------------------------------------------------------------- /images/cloudfront/route53-create-record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/cloudfront/route53-create-record.png -------------------------------------------------------------------------------- /images/contextual-menu/contextual-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/contextual-menu/contextual-menu.png -------------------------------------------------------------------------------- /images/convert-oas-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/convert-oas-3.png -------------------------------------------------------------------------------- /images/custom-domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/custom-domain.png -------------------------------------------------------------------------------- /images/dropdowns-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/dropdowns-dark.png -------------------------------------------------------------------------------- /images/dropdowns-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/dropdowns-light.png -------------------------------------------------------------------------------- /images/edit-online.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/edit-online.png -------------------------------------------------------------------------------- /images/editor-gate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor-gate.png -------------------------------------------------------------------------------- /images/editor/component-menu-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/component-menu-dark.png -------------------------------------------------------------------------------- /images/editor/component-menu-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/component-menu-light.png -------------------------------------------------------------------------------- /images/editor/editor-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/editor-dark.png -------------------------------------------------------------------------------- /images/editor/editor-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/editor-light.png -------------------------------------------------------------------------------- /images/editor/markdown-mode-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/markdown-mode-dark.png -------------------------------------------------------------------------------- /images/editor/markdown-mode-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/markdown-mode-light.png -------------------------------------------------------------------------------- /images/editor/mode-toggle-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/mode-toggle-dark.png -------------------------------------------------------------------------------- /images/editor/mode-toggle-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/mode-toggle-light.png -------------------------------------------------------------------------------- /images/editor/publish-flow-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/publish-flow-dark.png -------------------------------------------------------------------------------- /images/editor/publish-flow-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/publish-flow-light.png -------------------------------------------------------------------------------- /images/editor/pull-request-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/pull-request-dark.png -------------------------------------------------------------------------------- /images/editor/pull-request-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/pull-request-light.png -------------------------------------------------------------------------------- /images/editor/visual-mode-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/visual-mode-dark.png -------------------------------------------------------------------------------- /images/editor/visual-mode-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/editor/visual-mode-light.png -------------------------------------------------------------------------------- /images/elevenlabs-mdx-autogeneration-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/elevenlabs-mdx-autogeneration-example.png -------------------------------------------------------------------------------- /images/external-api-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/external-api-key.png -------------------------------------------------------------------------------- /images/ga4-web-streams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/ga4-web-streams.png -------------------------------------------------------------------------------- /images/generate-discovery-api-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/generate-discovery-api-key.png -------------------------------------------------------------------------------- /images/github-bot-verification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/github-bot-verification.png -------------------------------------------------------------------------------- /images/github/select-repos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/github/select-repos.png -------------------------------------------------------------------------------- /images/gitlab/gitlab-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gitlab/gitlab-config.png -------------------------------------------------------------------------------- /images/gitlab/gitlab-project-access-token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gitlab/gitlab-project-access-token.png -------------------------------------------------------------------------------- /images/gitlab/gitlab-project-id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gitlab/gitlab-project-id.png -------------------------------------------------------------------------------- /images/gitlab/gitlab-project-webtoken-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gitlab/gitlab-project-webtoken-test.png -------------------------------------------------------------------------------- /images/gitlab/gitlab-project-webtoken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gitlab/gitlab-project-webtoken.png -------------------------------------------------------------------------------- /images/gitlab/gitlab-show-webtoken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gitlab/gitlab-show-webtoken.png -------------------------------------------------------------------------------- /images/gitlab/gitlab-webhook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gitlab/gitlab-webhook.png -------------------------------------------------------------------------------- /images/gsuite-add-custom-saml-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gsuite-add-custom-saml-app.png -------------------------------------------------------------------------------- /images/gsuite-saml-metadata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gsuite-saml-metadata.png -------------------------------------------------------------------------------- /images/gsuite-sp-details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/gsuite-sp-details.png -------------------------------------------------------------------------------- /images/guides/auth0/auth0-create-application.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/guides/auth0/auth0-create-application.png -------------------------------------------------------------------------------- /images/guides/auth0/auth0clientsettings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/guides/auth0/auth0clientsettings.png -------------------------------------------------------------------------------- /images/guides/auth0/auth0redirecturl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/guides/auth0/auth0redirecturl.png -------------------------------------------------------------------------------- /images/guides/auth0/mintlifyoauthclientsettings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/guides/auth0/mintlifyoauthclientsettings.png -------------------------------------------------------------------------------- /images/guides/auth0/mintlifyredirecturl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/guides/auth0/mintlifyredirecturl.png -------------------------------------------------------------------------------- /images/hero/background-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/background-dark.png -------------------------------------------------------------------------------- /images/hero/background-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/background-light.png -------------------------------------------------------------------------------- /images/hero/cli-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/cli-dark.png -------------------------------------------------------------------------------- /images/hero/cli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/cli.png -------------------------------------------------------------------------------- /images/hero/components-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/components-dark.png -------------------------------------------------------------------------------- /images/hero/components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/components.png -------------------------------------------------------------------------------- /images/hero/editor-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/editor-dark.png -------------------------------------------------------------------------------- /images/hero/editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/editor.png -------------------------------------------------------------------------------- /images/hero/rocket-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/rocket-dark.png -------------------------------------------------------------------------------- /images/hero/rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/hero/rocket.png -------------------------------------------------------------------------------- /images/installation/local-development-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/installation/local-development-dark.png -------------------------------------------------------------------------------- /images/installation/local-development-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/installation/local-development-light.png -------------------------------------------------------------------------------- /images/manual-update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/manual-update.png -------------------------------------------------------------------------------- /images/mcp-auth-token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/mcp-auth-token.png -------------------------------------------------------------------------------- /images/mcp-dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/mcp-dash.png -------------------------------------------------------------------------------- /images/mcp-with-claude.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/mcp-with-claude.png -------------------------------------------------------------------------------- /images/mcp/mcp-server-page-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/mcp/mcp-server-page-dark.png -------------------------------------------------------------------------------- /images/mcp/mcp-server-page-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/mcp/mcp-server-page-light.png -------------------------------------------------------------------------------- /images/mcp/mcp-terminal-completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/mcp/mcp-terminal-completed.png -------------------------------------------------------------------------------- /images/mcp/mcp-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/mcp/mcp-terminal.png -------------------------------------------------------------------------------- /images/monorepo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/monorepo-dark.png -------------------------------------------------------------------------------- /images/monorepo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/monorepo-light.png -------------------------------------------------------------------------------- /images/monorepo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/monorepo.png -------------------------------------------------------------------------------- /images/navigation/anchors-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/anchors-dark.png -------------------------------------------------------------------------------- /images/navigation/anchors-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/anchors-light.png -------------------------------------------------------------------------------- /images/navigation/dropdowns-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/dropdowns-dark.png -------------------------------------------------------------------------------- /images/navigation/dropdowns-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/dropdowns-light.png -------------------------------------------------------------------------------- /images/navigation/groups-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/groups-dark.png -------------------------------------------------------------------------------- /images/navigation/groups-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/groups-light.png -------------------------------------------------------------------------------- /images/navigation/languages-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages-dark.png -------------------------------------------------------------------------------- /images/navigation/languages-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages-light.png -------------------------------------------------------------------------------- /images/navigation/languages/ar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/ar.png -------------------------------------------------------------------------------- /images/navigation/languages/cn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/cn.png -------------------------------------------------------------------------------- /images/navigation/languages/de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/de.png -------------------------------------------------------------------------------- /images/navigation/languages/en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/en.png -------------------------------------------------------------------------------- /images/navigation/languages/es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/es.png -------------------------------------------------------------------------------- /images/navigation/languages/fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/fr.png -------------------------------------------------------------------------------- /images/navigation/languages/id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/id.png -------------------------------------------------------------------------------- /images/navigation/languages/it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/it.png -------------------------------------------------------------------------------- /images/navigation/languages/jp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/jp.png -------------------------------------------------------------------------------- /images/navigation/languages/ko.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/ko.png -------------------------------------------------------------------------------- /images/navigation/languages/pt-br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/pt-br.png -------------------------------------------------------------------------------- /images/navigation/languages/pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/pt.png -------------------------------------------------------------------------------- /images/navigation/languages/ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/ru.png -------------------------------------------------------------------------------- /images/navigation/languages/tr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/languages/tr.png -------------------------------------------------------------------------------- /images/navigation/pages-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/pages-dark.png -------------------------------------------------------------------------------- /images/navigation/pages-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/pages-light.png -------------------------------------------------------------------------------- /images/navigation/tabs-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/tabs-dark.png -------------------------------------------------------------------------------- /images/navigation/tabs-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/tabs-light.png -------------------------------------------------------------------------------- /images/navigation/versions-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/versions-dark.png -------------------------------------------------------------------------------- /images/navigation/versions-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/navigation/versions-light.png -------------------------------------------------------------------------------- /images/page-context-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/page-context-menu.png -------------------------------------------------------------------------------- /images/playground/API-playground-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/playground/API-playground-dark.png -------------------------------------------------------------------------------- /images/playground/API-playground-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/playground/API-playground-light.png -------------------------------------------------------------------------------- /images/quickstart/custom-domain-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/custom-domain-dark.png -------------------------------------------------------------------------------- /images/quickstart/custom-domain-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/custom-domain-light.png -------------------------------------------------------------------------------- /images/quickstart/github-app-installation-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/github-app-installation-dark.png -------------------------------------------------------------------------------- /images/quickstart/github-app-installation-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/github-app-installation-light.png -------------------------------------------------------------------------------- /images/quickstart/mintlify-dev-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/mintlify-dev-dark.png -------------------------------------------------------------------------------- /images/quickstart/mintlify-dev-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/mintlify-dev-light.png -------------------------------------------------------------------------------- /images/quickstart/mintlify-domain-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/mintlify-domain-dark.png -------------------------------------------------------------------------------- /images/quickstart/mintlify-domain-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/mintlify-domain-light.png -------------------------------------------------------------------------------- /images/quickstart/web-editor-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/web-editor-dark.png -------------------------------------------------------------------------------- /images/quickstart/web-editor-editing-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/web-editor-editing-dark.png -------------------------------------------------------------------------------- /images/quickstart/web-editor-editing-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/web-editor-editing-light.png -------------------------------------------------------------------------------- /images/quickstart/web-editor-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/quickstart/web-editor-light.png -------------------------------------------------------------------------------- /images/repository-url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/repository-url.png -------------------------------------------------------------------------------- /images/speakeasy-1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/speakeasy-1.webp -------------------------------------------------------------------------------- /images/speakeasy-2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/speakeasy-2.webp -------------------------------------------------------------------------------- /images/speakeasy-3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/speakeasy-3.webp -------------------------------------------------------------------------------- /images/stainless-public-OpenAPI-spec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/stainless-public-OpenAPI-spec.png -------------------------------------------------------------------------------- /images/starter-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/starter-template.png -------------------------------------------------------------------------------- /images/svg-jsx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/svg-jsx.png -------------------------------------------------------------------------------- /images/tabs-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/tabs-dark.png -------------------------------------------------------------------------------- /images/tabs-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/tabs-light.png -------------------------------------------------------------------------------- /images/themes/almond-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/almond-dark.png -------------------------------------------------------------------------------- /images/themes/almond-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/almond-light.png -------------------------------------------------------------------------------- /images/themes/linden-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/linden-dark.png -------------------------------------------------------------------------------- /images/themes/linden-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/linden-light.png -------------------------------------------------------------------------------- /images/themes/maple-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/maple-dark.png -------------------------------------------------------------------------------- /images/themes/maple-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/maple-light.png -------------------------------------------------------------------------------- /images/themes/mint-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/mint-dark.png -------------------------------------------------------------------------------- /images/themes/mint-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/mint-light.png -------------------------------------------------------------------------------- /images/themes/palm-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/palm-dark.png -------------------------------------------------------------------------------- /images/themes/palm-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/palm-light.png -------------------------------------------------------------------------------- /images/themes/willow-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/willow-dark.png -------------------------------------------------------------------------------- /images/themes/willow-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/themes/willow-light.png -------------------------------------------------------------------------------- /images/topbar-cta-get-started.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/topbar-cta-get-started.png -------------------------------------------------------------------------------- /images/topbar-cta-github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/topbar-cta-github.png -------------------------------------------------------------------------------- /images/topbar-links.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/topbar-links.png -------------------------------------------------------------------------------- /images/translations/translations-dashboard-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/translations/translations-dashboard-dark.png -------------------------------------------------------------------------------- /images/translations/translations-dashboard-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/translations/translations-dashboard-light.png -------------------------------------------------------------------------------- /images/video.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/video.mp4 -------------------------------------------------------------------------------- /images/webeditor3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mintlify/docs/9aabde0e64f291e88a85b0f5105eafc10edbba16/images/webeditor3.jpeg -------------------------------------------------------------------------------- /index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Introduction" 3 | description: "Meet the next generation of documentation. AI-native, beautiful out-of-the-box, and built for developers." 4 | icon: "book-open" 5 | mode: "custom" 6 | --- 7 | 8 | export const HeroCard = ({ filename, title, description, href }) => { 9 | return ( 10 | 11 | 12 | 13 |

{title}

14 | 15 | {description} 16 | 17 |
18 | ) 19 | } 20 | 21 |
22 |
23 | 27 | 31 | 32 |
33 | 34 |
35 |

36 | Documentation 37 | 38 |

39 | 40 |

41 | Meet the next generation of documentation. AI-native, beautiful out-of-the-box, and built for developers. 42 | 43 |

44 | 45 |
46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 |
55 | 56 |
57 | 58 |
-------------------------------------------------------------------------------- /installation.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Installation" 3 | description: "Install the CLI to preview and develop your docs locally" 4 | icon: "terminal" 5 | --- 6 | 7 | 11 | 15 | 16 | 17 | **Prerequisite**: Please install [Node.js](https://nodejs.org/en) (version 19 or higher) before proceeding. 18 | 19 | 20 | **Step 1**: Install the [CLI](https://www.npmjs.com/package/mint): 21 | 22 | 23 | 24 | ```bash npm 25 | npm i -g mint 26 | ``` 27 | 28 | 29 | ```bash yarn 30 | yarn global add mint 31 | ``` 32 | 33 | 34 | ```bash pnpm 35 | pnpm add -g mint 36 | ``` 37 | 38 | 39 | 40 | **Step 2**: Navigate to the docs directory (where the `docs.json` file is located) and execute the following command: 41 | 42 | ```bash 43 | mint dev 44 | ``` 45 | 46 | Alternatively, if you do not want to install the CLI globally, you can use a run a one-time script: 47 | 48 | 49 | 50 | ```bash npm 51 | npx mint dev 52 | ``` 53 | 54 | 55 | ```bash yarn 56 | yarn dlx mint dev 57 | ``` 58 | 59 | 60 | ```bash pnpm 61 | pnpm dlx mint dev 62 | ``` 63 | 64 | 65 | 66 | A local preview of your documentation will be available at `http://localhost:3000`. 67 | 68 | ## Updates 69 | 70 | Each CLI release is associated with a specific version of the Mintlify platform. If your local preview doesn't align with the production version, please update the CLI: 71 | 72 | 73 | 74 | ```bash npm 75 | npm i -g mint@latest 76 | ``` 77 | 78 | 79 | ```bash yarn 80 | yarn global upgrade mint 81 | ``` 82 | 83 | 84 | ```bash pnpm 85 | pnpm up --global mint 86 | ``` 87 | 88 | 89 | 90 | ## Custom Ports 91 | 92 | By default, the CLI uses port 3000. You can customize the port using the `--port` flag. To run the CLI on port 3333, for instance, use this command: 93 | 94 | ```bash 95 | mint dev --port 3333 96 | ``` 97 | 98 | If you attempt to run on a port that's already in use, it will use the next available port: 99 | 100 | ```md 101 | Port 3000 is already in use. Trying 3001 instead. 102 | ``` 103 | 104 | ## Additional Commands 105 | 106 | While `mint dev` is the most commonly used command, there are other commands you can use to manage your documentation. 107 | 108 | ### Find Broken Links 109 | 110 | The CLI can assist with validating reference links made in your documentation. To identify any broken links, use the following command: 111 | 112 | ```bash 113 | mint broken-links 114 | ``` 115 | 116 | ### Check OpenAPI Spec 117 | 118 | You can use the CLI to check your OpenAPI file for errors using the following command: 119 | 120 | ```bash 121 | mint openapi-check 122 | ``` 123 | 124 | You can pass in a filename (e.g. `./openapi.yaml`) or a URL (e.g. `https://petstore3.swagger.io/api/v3/openapi.json`). 125 | 126 | ### Renaming Files 127 | 128 | You can rename files using the following command: 129 | 130 | ```bash 131 | mint rename 132 | ``` 133 | 134 | This is an improvement over updating the filename normally as it will also update all references to the file, ensuring no broken links. 135 | 136 | ## Formatting 137 | 138 | While developing locally, we recommend using extensions on your IDE to recognize and format MDX. 139 | 140 | If you use Cursor, Windsurf, or VSCode, we recommend the [MDX VSCode extension](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx) for syntax highlighting, and [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) for code formatting. 141 | 142 | If you use JetBrains, we recommend the [MDX IntelliJ IDEA plugin](https://plugins.jetbrains.com/plugin/14944-mdx) for syntax highlighting, and setting up [Prettier](https://prettier.io/docs/webstorm) for code formatting. 143 | 144 | ## Troubleshooting 145 | 146 | 147 | 148 | This may be due to an outdated version of node. Try the following: 149 | 150 | 1. Remove the currently-installed version of the mint CLI: `npm remove -g mint` 151 | 2. Upgrade to Node v19 or higher. 152 | 3. Reinstall the mint CLI: `npm install -g mint` 153 | 154 | 155 | Solution: Go to the root of your device and delete the ~/.mintlify folder. Afterwards, run `mint dev` again. 156 | 157 | -------------------------------------------------------------------------------- /integrations/analytics/amplitude.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Amplitude" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to Amplitude. 6 | 7 | 8 | 9 | ```json Analytics options in docs.json 10 | "integrations": { 11 | "amplitude": { 12 | "apiKey": "required" 13 | } 14 | } 15 | ``` 16 | 17 | ```json Example 18 | "integrations": { 19 | "amplitude": { 20 | "apiKey": "76bb138bf3fbf58186XXX00000" 21 | } 22 | } 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /integrations/analytics/clearbit.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Clearbit" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to Clearbit. 6 | 7 | 8 | 9 | ```json Analytics options in docs.json 10 | "integrations": { 11 | "clearbit": { 12 | "publicApiKey": "required" 13 | } 14 | } 15 | ``` 16 | 17 | ```json Example 18 | "integrations": { 19 | "clearbit": { 20 | "publicApiKey": "pk_1a1882" 21 | } 22 | } 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /integrations/analytics/fathom.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Fathom" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to Fathom. 6 | 7 | You can get the `siteId` from your script settings. 8 | 9 | 10 | 11 | ```json Analytics options in docs.json 12 | "integrations": { 13 | "fathom": { 14 | "siteId": "required" 15 | } 16 | } 17 | ``` 18 | 19 | ```json Example 20 | "integrations": { 21 | "fathom": { 22 | "siteId": "YSVMSDAY" 23 | } 24 | } 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /integrations/analytics/google-analytics.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Google Analytics 4" 3 | --- 4 | 5 | You will need to generate a new GA4 property to use with Mintlify. The data collected will go into the same project as your other Google Analytics data. 6 | 7 | If you are using the old version of Google Analytics, Universal Analytics, you will still be able to generate a GA4 property. GA4 data is slightly different from UA data but still gets collected in the same project. 8 | 9 | ## How to Connect GA4 to Mintlify 10 | 11 | ### Create a Web Stream 12 | 13 | You will need to create a web stream to get the Measurement ID to put into Mintlify. 14 | 15 | Click the cog at the bottom left of the Google Analytics screen. Then click on Data Streams. 16 | 17 | ![](/images/ga4-web-streams.png) 18 | 19 | Create a Web Stream and put the URL of your Mintlify docs site as the stream URL. 20 | 21 | Your Measurement ID looks like `G-XXXXXXX` and will show up under Stream Details immediately after you create the Web Stream. 22 | 23 | ### Put Measurement ID in docs.json 24 | 25 | Add your Measurement ID to your `docs.json` file like so: 26 | 27 | ```json docs.json 28 | "integrations": { 29 | "ga4": { 30 | "measurementId": "G-XXXXXXX" 31 | } 32 | } 33 | ``` 34 | 35 | ### Wait 36 | 37 | Google Analytics takes two to three days to show your data. 38 | 39 | You can use the [Google Analytics Debugger](https://chrome.google.com/webstore/detail/google-analytics-debugger/jnkmfdileelhofjcijamephohjechhna?hl=en) to check analytics are enabled correctly. The extension will log to your browser's console every time GA4 makes a request. 40 | 41 | 42 | 43 | Preview links have analytics turned off. 44 | 45 | 46 | -------------------------------------------------------------------------------- /integrations/analytics/google-tag-manager.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Google Tag Manager" 3 | --- 4 | 5 | Add your tag ID to `docs.json` file and we'll inject the Google Tag Manager script to all your pages. 6 | 7 | You are responsible for setting up cookie consent banners with Google Tag Manager if you need them. 8 | 9 | 10 | 11 | ```json Analytics options in docs.json 12 | "integrations": { 13 | "gtm": { 14 | "tagId": "required" 15 | } 16 | } 17 | ``` 18 | 19 | ```json Example 20 | "integrations": { 21 | "gtm": { 22 | "tagId": "GTM-MGBL4PW" 23 | } 24 | } 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /integrations/analytics/heap.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Heap" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to Heap. 6 | 7 | 8 | 9 | ```json Analytics options in docs.json 10 | "integrations": { 11 | "heap": { 12 | "appId": "required" 13 | } 14 | } 15 | ``` 16 | 17 | ```json Example 18 | "integrations": { 19 | "heap": { 20 | "appId": "1234567890" 21 | } 22 | } 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /integrations/analytics/hotjar.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "HotJar" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to HotJar. 6 | 7 | ```json Analytics options in docs.json 8 | "integrations": { 9 | "hotjar": { 10 | "hjid": "required", 11 | "hjsv": "required" 12 | } 13 | } 14 | ``` 15 | -------------------------------------------------------------------------------- /integrations/analytics/koala.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Koala" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to Koala. 6 | 7 | 8 | 9 | ```json Analytics options in docs.json 10 | "integrations": { 11 | "koala": { 12 | "publicApiKey": "required" 13 | } 14 | } 15 | ``` 16 | 17 | ```json Example 18 | "integrations": { 19 | "koala": { 20 | "publicApiKey": "pk_1a1882" 21 | } 22 | } 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /integrations/analytics/logrocket.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "LogRocket" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to LogRocket. 6 | 7 | ```json Analytics options in docs.json 8 | "integrations": { 9 | "logrocket": { 10 | "apiKey": "required" 11 | } 12 | } 13 | ``` 14 | -------------------------------------------------------------------------------- /integrations/analytics/mixpanel.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Mixpanel" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to Mixpanel. 6 | 7 | ```json Analytics options in docs.json 8 | "integrations": { 9 | "mixpanel": { 10 | "projectToken": "required" 11 | } 12 | } 13 | ``` 14 | -------------------------------------------------------------------------------- /integrations/analytics/pirsch.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Pirsch" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to Pirsch. 6 | 7 | You can get your site ID from Settings \> Developer \> Identification Code. 8 | 9 | 10 | 11 | ```json Analytics options in docs.json 12 | "integrations": { 13 | "pirsch": { 14 | "id": "required" 15 | } 16 | } 17 | ``` 18 | 19 | ```json Example 20 | "integrations": { 21 | "pirsch": { 22 | "id": "8Kw7OKxBfswOjnKGZa7P9Day8JmVYwTp" 23 | } 24 | } 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /integrations/analytics/plausible.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Plausible" 3 | --- 4 | 5 | Add your site's domain to `docs.json` to send analytics to Plausible. 6 | 7 | 8 | 9 | Do not include `https://` for the domain or server. 10 | 11 | 12 | 13 | 14 | 15 | ```json Analytics options in docs.json 16 | "integrations": { 17 | "plausible": { 18 | "domain": "required", 19 | "server": "optional" 20 | } 21 | } 22 | ``` 23 | 24 | ```json Example 25 | "integrations": { 26 | "plausible": { 27 | "domain": "docs.domain.com" 28 | } 29 | } 30 | ``` 31 | 32 | 33 | -------------------------------------------------------------------------------- /integrations/analytics/posthog.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "PostHog" 3 | --- 4 | 5 | Add the following to your `docs.json` file to send analytics to PostHog. 6 | 7 | You only need to include `apiHost` if you are self-hosting PostHog. We send events to `https://app.posthog.com` by default. 8 | 9 | 10 | 11 | ```json Analytics options in docs.json 12 | "integrations": { 13 | "posthog": { 14 | "apiKey": "YOUR_POSTHOG_PROJECT_API_KEY", 15 | "apiHost": "optional" 16 | } 17 | } 18 | ``` 19 | 20 | ```json Example 21 | "integrations": { 22 | "posthog": { 23 | "apiKey": "phc_TXdpocbYTeZVm5VJmMzHTMrCofBQu3e0kN7HGMNGTVW" 24 | } 25 | } 26 | ``` 27 | 28 | 29 | 30 |
31 | 32 | 33 | Enabling PostHog analytics will disable the analytics on the Mintlify dashboard. 34 | 35 | 36 | ## Session Recordings 37 | 38 | You need to add the URL for your docs website to Posthog's "Authorized domains for recordings" before you can receive session recordings. The option to add your URL is in Posthog's project settings. 39 | -------------------------------------------------------------------------------- /integrations/analytics/segment.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Segment" 3 | --- 4 | 5 | Add your Segment write key to your `docs.json` file to send analytics to Segment. 6 | 7 | 8 | 9 | ```json Analytics options in docs.json 10 | "integrations": { 11 | "segment": { 12 | "key": "required", 13 | } 14 | } 15 | ``` 16 | 17 | ```json Example 18 | "integrations": { 19 | "segment": { 20 | "key": "nqJxiRG15Y6M594P8Sb8ESEciU3VC2" 21 | } 22 | } 23 | ``` 24 | 25 | -------------------------------------------------------------------------------- /integrations/privacy/osano.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Osano" 3 | --- 4 | 5 | Add the following to your `docs.json` file to add the [Osano](https://www.osano.com/) cookie consent manager. 6 | 7 | 8 | 9 | ```json Integration options in docs.json 10 | "integrations": { 11 | "osano": "SOURCE" 12 | } 13 | ``` 14 | 15 | ```json Example 16 | "integrations": { 17 | "osano": "https://cmp.osano.com/2sUB2dqwqdkks/8dqwd-dwd86£-4a9b/osano.js" 18 | } 19 | ``` 20 | 21 | 22 | 23 | The `SOURCE` can be found as the `src` value in the code snippet generated by Osano. It always starts with `https://cmp.osano.com/`. 24 | 25 | ```html Code snippet from Osano 26 |