February 26, 2026

OpenAPI spec endpoints

Your Fern docs site now serves your raw OpenAPI 3.1 specification at /openapi.json and /openapi.yaml. Download it for SDK generation, contract testing, or importing into tools like Postman. The spec is also linked from your site’s llms.txt, so AI coding assistants can discover and use it automatically.

Learn more about the OpenAPI spec.


February 25, 2026

Edit site logo, favicon, and title from the editor

You can now update your site’s logo, favicon, and title directly from Fern Editor — no need to edit configuration files manually. Navigate to site settings in the editor to make changes visually.

Learn more about the Fern Editor.


February 23, 2026

Link to API endpoints by HTTP method and path using the api: link syntax, instead of hardcoding URL slugs. Fern resolves these links to the correct endpoint URL at build time.

1[Create a payment](api:POST/v2/payments)

This works in Markdown pages, OpenAPI description fields, and Fern Definition docs fields.

Learn more about linking to API endpoints.


Steps TOC depth follows heading level

When using <Steps toc={true}> with markdown heading syntax, step entries now appear in the table of contents at the depth that matches their heading level — ## headings at depth 2, ### headings at depth 3.

Learn more about the Steps component.


POST support for JWT callback

The JWT callback endpoint (/api/fern-docs/auth/jwt/callback) now accepts POST requests with application/x-www-form-urlencoded body in addition to GET requests with query parameters. POST avoids exposing JWT tokens in URLs and server logs.

Learn more about authentication.


API key injection for self-hosted docs

Self-hosted deployments support API key injection via environment variables. Enable FERN_API_KEY_INJECTION_ENABLED to show a Login button in the API Explorer without requiring login for the entire site. Use FERN_AUTH_ALLOWLIST and FERN_AUTH_DENYLIST to control page-level access.

Learn more about self-hosted authentication.

Multiple API keys and per-environment keys

API key injection supports multiple API keys and per-environment credentials. Provide multiple keys as a JSON-encoded array in bearer_token, and use env_state to set different credentials per environment with substring matching.


Customize GraphQL API Reference layout

Control how GraphQL operations appear in the sidebar using the operation keyword in your docs.yml layout. Order operations, set custom titles and slugs, hide operations, and group them into sections.

docs.yml
1navigation:
2 - api: GraphQL API Reference
3 layout:
4 - section: Plants
5 contents:
6 - operation: QUERY getPlant
7 title: Get plant details
8 - operation: MUTATION createPlant

Learn more about customizing GraphQL layouts.


February 9, 2026

GraphQL API Reference

Generate API Reference documentation from a GraphQL schema. Add your .graphql schema file to generators.yml and Fern renders queries, mutations, subscriptions, and types as an interactive reference.

generators.yml
1api:
2 specs:
3 - graphql: schema.graphql

Learn more about generating a GraphQL reference.


February 6, 2026

Deep linking for Ask Fern

Open Ask Fern or the search dialog directly from a URL using query parameters. Append ?searchType=ai&query={prompt} to open Ask AI with a prompt, or ?query={search} for regular search. Parameters are removed from the URL after the search opens.

Learn more about deep linking.

Global folder title source setting

Set a default title-source for all folder navigations using the new folder-title-source option in settings. Individual folders can still override this value with their own title-source.

docs.yml
1settings:
2 folder-title-source: frontmatter
3
4navigation:
5 - folder: ./pages/guides # uses frontmatter (from global setting)
6 - folder: ./pages/reference
7 title-source: filename # overrides global setting

Learn more about folder title source.


February 5, 2026

Replace Fern’s default header or footer with your own React components using the new header and footer properties in docs.yml.

docs.yml
1header: ./components/CustomHeader.tsx
2footer: ./components/CustomFooter.tsx

Components are server-side rendered for better SEO and performance, with no layout shifts during page load.

Learn more about custom header and footer components.