HTTP API access for AI agents
AI agents can now access authenticated documentation directly via HTTP API. This enables custom integrations and AI tools to retrieve protected content programmatically.
Agents obtain a JWT via the /api/fern-docs/get-jwt endpoint with a Fern API key, then use it to access protected documentation:
Content is served as clean Markdown for token-efficient processing.
Learn more in the MCP server documentation.
Folder-based navigation
Auto-generate navigation from a folder of markdown files using the new folder configuration. Instead of manually listing each page in docs.yml, point to a folder. Fern discovers all .md and .mdx files and adds them to the navigation.
Subfolders become nested sections. Supported options: title, slug, icon, collapsed, hidden, skip-slug, availability.
Tab variants
Create multiple content variations within a single tab using the new variants feature. This allows you to show different perspectives, user types, or implementation approaches for the same topic without creating separate tabs.
You can now define variants for tabs with different layouts, titles, subtitles, and icons. Each variant can have its own navigation structure, and you can explicitly set which variant should be the default.
Learn more about tab variants.
Custom icons across your navigation
You can now use your own image files as icons throughout your docs.yml navigation config, including for navbar link, section, page, and product icons.
Icons now support three formats:
- Font Awesome icons: Use icon names like
fa-solid fa-seedlingorfa-regular fa-leaf. Pro and Brand icons from Font Awesome are supported. - Custom image files: Use relative paths to custom image files (e.g.,
./assets/icons/plant-icon.svg). Paths are relative to thedocs.ymlfile. - Inline SVG: Provide an SVG string wrapped in quotes.
External product links
You can now configure products to link to external URLs (separate applications, third-party documentation, or other external resources) instead of documentation within your site.
External products appear in the product switcher alongside internal products but navigate users to the specified URL when selected. Unlike internal products, external products are defined directly in docs.yml using href—no standalone product .yml file is needed.
To define an external product, add an item to the products list in docs.yml with an href instead of a path:
Visit the product switching documentation to learn more.
Navbar dropdown menus
Group related links in your navbar with new dropdown menus. Organize resources, tools, or external links under a single button to keep your header clean.
Learn more in the navbar links configuration documentation.
API Explorer direct requests
You can now send API Explorer requests directly to your API instead of through Fern’s proxy. This is useful for testing Cross-Origin Resource Sharing (CORS) configuration and debugging authentication flows.
Your API must have CORS enabled to allow requests from the documentation domain.
Learn more in the docs.yml reference documentation.
HTTP Snippets now enabled by default
HTTP snippets are now enabled by default for all documentation sites, making it easier for developers to see cURL, Python, Ruby, and other HTTP client examples directly in your API reference. Previously, this feature required internal configuration to activate.
You can now control HTTP snippets directly in your docs.yml file:
Visit the HTTP snippets documentation to learn more.
Introducing Runnable Endpoint
Test API endpoints directly from your documentation with our new interactive component. Runnable Endpoint allows your users to send real HTTP requests to your API without leaving your docs, making it easier for developers to explore and understand your API.

Embed the component anywhere in your MDX documentation to create an interactive request builder with form inputs for headers, path parameters, query parameters, and request bodies. Users can execute requests and see real-time responses, complete with status codes and syntax highlighting.
Key features include:
- Interactive form builder that automatically generates inputs based on your endpoint definition
- Multiple examples support with a dropdown selector when you have multiple pre-configured scenarios
- Environment selector for testing against production, staging, or development
- Form persistence that saves user input in local storage across sessions
- Direct navigation to the full API reference with an “Open in API reference” button
To learn more about using Runnable Endpoints in your documentation, visit the Runnable Endpoint docs.
Introducing The Product Switcher
Organize your docs by product so developers can find what they need quickly. Perfect for companies with multiple APIs, each with their own references, guides, versions, and changelogs.
Features:
- Optimized for Search with SEO-friendly structure.
- Keyword and AI Search functionality works both within and across products.
- Customizable to your products with versions and unique icons to reflect your brand identity.

To add products to your docs, visit the product switcher docs page to get started.
Table of contents customization
We’ve added a max-toc-depth frontmatter option to control the depth of the table of contents. Use this to limit the heading ranks included in the table of contents.
You can read more about this feature in the frontmatter documentation.
Improvements to 404 Pages
We now have themed 404 pages for your docs, using your theme colors, fonts, and buttons. We also maintain the best-effort navigation state on this page using the 404 page URL, so that users can easily navigate back to your docs.

- feat: improvements to local preview mode, including support for custom javascript and bug fixes for reloading performance issues.
- minor bugfixes and improvements to AI search
- feat: allow response and request in playground to be selectable
- feat(cli): using
fern docs devon the latest CLI will now better reflect the docs in production - feat(search): the search UX now uses infinite scroll and allows for searching based on breadcrumb paths
- fix(ai): small bug fixes to the AI chat experience