Add an OpenAPI specification file
To document your endpoints with OpenAPI, you need a valid OpenAPI specification in either JSON or YAML format that follows the OpenAPI specification 3.0+. You can reference multiple OpenAPI specifications to create pages for your API. Either organize sections for each specification in your navigation or reference specific endpoints from different specifications.Mintlify supports
$ref for internal references only within a single OpenAPI document. External references are not supported.Describe your API
We recommend the following resources to learn about and construct your OpenAPI specification.- Swagger’s OpenAPI Guide to learn the OpenAPI syntax.
- The OpenAPI specification Markdown sources to reference details of the latest OpenAPI specification.
- Swagger Editor to edit, validate, and debug your OpenAPI document.
- The Mint CLI to validate your OpenAPI document with the command:
mint openapi-check <openapiFilenameOrUrl>.
Swagger’s OpenAPI Guide is for OpenAPI v3.0, but nearly all of the information is applicable to v3.1. For more information on the differences between v3.0 and v3.1, see Migrating from OpenAPI 3.0 to 3.1.0 in the OpenAPI blog.
Specify the base URL for your API
To enable the API playground, add aservers field to your OpenAPI specification with your API’s base URL.
/users/{id} or simply /. The base URL defines where these paths should be appended. For more information on how to configure the servers field, see API Server and Base Path in the OpenAPI documentation.
The API playground uses these server URLs to determine where to send requests. If you specify multiple servers, a dropdown allows users to toggle between servers. If you do not specify a server, the API playground uses simple mode since it cannot send requests without a base URL.
If your API has endpoints that exist at different URLs, you can override the servers field for a given path or operation.
Specify authentication
To enable authentication in your API documentation and playground, configure thesecuritySchemes and security fields in your OpenAPI specification. The API descriptions and API playground add authentication fields based on the security configurations in your OpenAPI specification.
1
Define your authentication method.
Add a
securitySchemes field to define how users authenticate.This example shows a configuration for bearer authentication.2
Apply authentication to your endpoints.
Add a
security field to require authentication.- API Keys: For header, query, or cookie-based keys.
- Bearer: For JWT or OAuth tokens.
- Basic: For username and password.
security field for a given operation.
For more information on defining and applying authentication, see Authentication in the OpenAPI documentation.
Customize your endpoint pages
Customize your endpoint pages by adding thex-mint extension to your OpenAPI specification. The x-mint extension provides additional control over how your API documentation is generated and displayed.
Metadata
Override the default metadata for generated API pages by addingx-mint: metadata to any operation. You can use any metadata field that would be valid in MDX frontmatter except for openapi.
Content
Add content before the auto-generated API documentation usingx-mint: content. The x-mint: content extension supports all Mintlify MDX components and formatting.
Href
Change the URL of the endpoint page in your docs usingx-mint: href. When x-mint: href is present, the navigation entry links directly to the specified URL instead of generating an API page.
MCP
Selectively expose endpoints as Model Context Protocol (MCP) tools by usingx-mint: mcp. Only enable endpoints that are safe for public access through AI tools.
The MCP configuration for the endpoint.
Auto-populate API pages
Add anopenapi field to any navigation element in your docs.json to automatically generate pages for OpenAPI endpoints. You can control where these pages appear in your navigation structure, as dedicated API sections or with other pages.
The openapi field accepts either a file path in your docs repo or a URL to a hosted OpenAPI document.
Generated endpoint pages have these default metadata values:
title: The operation’ssummaryfield, if present. If there is nosummary, the title is generated from the HTTP method and endpoint.description: The operation’sdescriptionfield, if present.version: Theversionvalue from the parent anchor or tab, if present.deprecated: The operation’sdeprecatedfield. Iftrue, a deprecated label appears next to the endpoint title in the side navigation and on the endpoint page.
- Dedicated API sections: Reference OpenAPI specs in navigation elements for dedicated API sections.
- Selective endpoints: Reference specific endpoints in your navigation alongside other pages.
Dedicated API sections
Generate dedicated API sections by adding anopenapi field to a navigation element and no other pages. All endpoints in the specification are included.
The
directory field is optional and specifies where generated API pages are stored in your docs repo. If not specified, defaults to the api-reference directory of your repo.Selective endpoints
When you want more control over where endpoints appear in your documentation, you can reference specific endpoints in your navigation. This approach allows you to generate pages for API endpoints alongside other content. You can also use this approach to mix endpoints from different OpenAPI specifications.Set a default OpenAPI spec
Configure a default OpenAPI specification for a navigation element. Then reference specific endpoints in thepages field.
METHOD /path generates an API page for that endpoint using the default OpenAPI specification.
OpenAPI spec inheritance
OpenAPI specifications are inherited down the navigation hierarchy. Child navigation elements inherit their parent’s OpenAPI specification unless they define their own.Individual endpoints
Reference specific endpoints without setting a default OpenAPI specification by including the file path. You can reference endpoints from multiple OpenAPI specifications in the same documentation section.Create MDX pages from your OpenAPI specification
For more granular control over individual endpoint pages, create MDX pages from your OpenAPI specification. This lets you customize page metadata, content, and reorder or exclude pages in your navigation while still using the auto-generated parameters and responses. There are two ways to document your OpenAPI specification with individual MDX pages:- Document endpoints with the
openapifield in the frontmatter. - Document data models with the
openapi-schemafield in the frontmatter.
Document endpoints
Create a page for each endpoint and specify which OpenAPI operation to display using theopenapi field in the frontmatter.
docs.json.
Autogenerate endpoint pages
To autogenerate MDX files from your OpenAPI specification, use the Mintlify scraper.Document data models
Create a page for each data structure defined in your OpenAPI specification’scomponents.schemas using the openapi-schema field in the frontmatter.
Webhooks
Webhooks are HTTP callbacks that your API sends to notify external systems when events occur. Webhooks are supported in OpenAPI 3.1+ documents. Add awebhooks field to your OpenAPI document alongside the paths field.
For more information on defining webhooks, see Webhooks in the OpenAPI documentation.
To create an MDX page for a webhook (OpenAPI 3.1+), use webhook instead of an HTTP method:
webhooks field.