Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions fern/products/api-def/asyncapi-pages/auth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ components:

## OAuth2 security scheme

<Markdown src="/snippets/pro-plan.mdx"/>

OAuth2 authentication is supported for AsyncAPI specifications:

```yml title="asyncapi.yml" {3-11}
Expand Down
2 changes: 2 additions & 0 deletions fern/products/api-def/asyncapi-pages/extensions/audiences.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Use audiences to filter your API
subtitle: Use `x-fern-audiences` to filter to relevant operations, channels and message schemas
---

<Markdown src="/snippets/pro-plan.mdx"/>

Audiences are a useful tool for segmenting your event-driven API for different consumers. Common examples of audiences include `public`
and `beta`.

Expand Down
2 changes: 2 additions & 0 deletions fern/products/api-def/ferndef-pages/audiences.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Audiences in Fern Definition
subtitle: Use audiences in your Fern Definition to segment your API for different groups of consumers.
---

<Markdown src="/snippets/pro-plan.mdx"/>

Audiences are a useful tool for segmenting your API for different consumers. You can configure your Fern Docs to publish documentation specific to an `Audience`. You can use [audiences in your OpenAPI Specification](/learn/api-definitions/openapi/extensions/audiences), too.

Common examples of audiences include:
Expand Down
2 changes: 2 additions & 0 deletions fern/products/api-def/ferndef-pages/auth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,8 @@ client = new Client({

## OAuth client credentials

<Markdown src="/snippets/pro-plan.mdx"/>

If your API uses OAuth, you can specify an oauth scheme in `api.yml` and define a token retrieval endpoint in a separate `auth.yml` file ([example](https://github.com/fern-api/fern/blob/3137938b70e058f3691ddef34d5c1cc29acc4b80/test-definitions/fern/apis/oauth-client-credentials/definition/api.yml)).

```yaml api.yml
Expand Down
5 changes: 2 additions & 3 deletions fern/products/api-def/ferndef-pages/endpoints/sse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ title: Server-Sent Events and Streaming APIs
subtitle: Use the `response-stream` key to model streaming endpoints
---

<Note>
Specifying `response-stream` on an endpoints allows you to represent endpoint responses that are streaming.
</Note>
<Markdown src="/snippets/pro-plan.mdx"/>

Specifying `response-stream` on an endpoints allows you to represent endpoint responses that are streaming.

## JSON streaming

Expand Down
2 changes: 1 addition & 1 deletion fern/products/api-def/ferndef-pages/websockets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Fern renders a unique reference page for WebSockets. The **Handshake** section o
### WebSocket Playground
<Markdown src="/snippets/pro-callout.mdx" />
<Markdown src="/snippets/pro-plan.mdx" />
Users can connect to and use WebSockets from right within the API Reference (check one of Hume's WebSockets [here](https://dev.hume.ai/reference/empathic-voice-interface-evi/chat/chat)).
Expand Down
2 changes: 2 additions & 0 deletions fern/products/api-def/grpc-pages/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: What is gRPC?
description: gRPC is a high-performance RPC framework that uses Protocol Buffers
---

<Markdown src="/snippets/enterprise-plan.mdx"/>

<Note>
Fern only supports gRPC SDK generation for .NET/C#.
</Note>
Expand Down
7 changes: 3 additions & 4 deletions fern/products/api-def/openapi-pages/endpoints/sse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@ title: Server-Sent Events and Streaming APIs
subtitle: Use the `x-fern-streaming` extension to model streaming endpoints
---

<Note>
The `x-fern-streaming` extension allows you to represent endpoints that are streaming.
</Note>

The `x-fern-streaming` extension allows you to represent endpoints that are streaming.

## JSON streaming

Expand Down Expand Up @@ -42,6 +39,8 @@ components:
## Server-sent events
<Markdown src="/snippets/pro-plan.mdx"/>
If your API returns server-sent-events, with the `data` and `event` keys as seen below

```json
Expand Down
2 changes: 2 additions & 0 deletions fern/products/api-def/openapi-pages/extensions/audiences.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Use audiences to filter your API
subtitle: Use `x-fern-audiences` to filter to relevant endpoints, schemas and properties
---

<Markdown src="/snippets/pro-plan.mdx"/>

Audiences are a useful tool for segmenting your API for different consumers. Common examples of audiences include `public`
and `beta`.

Expand Down
2 changes: 2 additions & 0 deletions fern/products/api-def/openrpc-pages/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: What is an OpenRPC Specification?
description: OpenRPC is a standard for documenting JSON-RPC APIs
---

<Markdown src="/snippets/enterprise-plan.mdx"/>

The OpenRPC Specification is a framework used by developers to document JSON-RPC APIs. The specification
is written in JSON or YAML and contains all of your methods, parameters, schemas, and server configurations.
Fern is compatible with OpenRPC specification [v1.3.2](https://spec.open-rpc.org/) and [v1.2.6](https://github.com/open-rpc/spec/releases/tag/1.2.6).
Expand Down
4 changes: 4 additions & 0 deletions fern/products/api-def/pages/project-structure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ groups:
</Accordion>
<Accordion title="Combined SDKs from multiple APIs">

<Warning title="Pro and Enterprise feature">
This feature is available only for the [Pro and Enterprise plans](https://buildwithfern.com/pricing). You can merge up to five APIs into a single SDK on the Pro plan, and unlimited APIs on the Enterprise plan. To get started, reach out to [email protected].
</Warning>

Use this approach to merge multiple APIs into a single set of SDKs.

```bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Introduction'
subtitle: 'Welcome to the Fern API reference.'
---

<Markdown src="/snippets/pro-callout.mdx" />
<Markdown src="/snippets/pro-plan.mdx" />

The Fern AI API allows you to manage your Ask Fern configuration using Fern's public RESTful API. You can use the API to:

Expand Down
2 changes: 1 addition & 1 deletion fern/products/cli-api-reference/pages/api-get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Introduction'
subtitle: 'Welcome to the Fern API reference.'
---

<Markdown src="/snippets/pro-callout.mdx" />
<Markdown src="/snippets/pro-plan.mdx" />

The Fern API allows you to manage SDKs and code snippets using Fern's public RESTful API.

Expand Down
2 changes: 2 additions & 0 deletions fern/products/docs/pages/api-references/audiences.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Audiences
subtitle: Use audiences to filter the endpoints, schemas, and properties that are displayed in your API Reference.
---

<Markdown src="/snippets/pro-plan.mdx"/>

Audiences are a useful tool for segmenting your API for different consumers. Common examples of audiences include `public`
and `beta`. You can configure audiences in both [the OpenAPI Specification](/learn/api-definitions/openapi/extensions/audiences) as well as [the Fern Definition](/learn/api-definition/fern/audiences).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ title: Auto-populate API keys
subtitle: Make integrating with your API frictionless by adding your login flow to the API Explorer.
---

<Tip>
This feature is available on the Pro plan. [Contact us](https://buildwithfern.com/contact) to learn more.
</Tip>
<Markdown src="/snippets/pro-plan.mdx"/>

Fern can integrate with your authentication flow, allowing users to login and have their API key automatically populated with the click of a button.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Generate WebSocket Reference
description: Learn how to generate and customize WebSocket API reference documentation
---

<Markdown src="/snippets/pro-plan.mdx"/>

Fern generates WebSocket API reference documentation from your AsyncAPI specification or Fern Definition. The AsyncAPI specification describes message-driven APIs in a machine-readable format. Fern supports the [v2](https://www.asyncapi.com/docs/reference/specification/v2.x) and [v3](https://www.asyncapi.com/docs/reference/specification/v3.0.0) specifications.

<Frame caption={<a href="https://developers.deepgram.com/reference/text-to-speech-api/speak-streaming">Example of how a WebSocket API Reference renders in Fern</a>}>
Expand Down
4 changes: 3 additions & 1 deletion fern/products/docs/pages/api-references/sdk-snippets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,9 @@ navigation:

## Access via API

If you'd like to bring SDK snippets into your own documentation, you can use the [Snippets API](/learn/api-reference/snippets/get). API access requires a [SDK Business plan](https://buildwithfern.com/pricing) or above.
<Markdown src="/snippets/pro-plan.mdx"/>

If you'd like to bring SDK snippets into your own documentation, you can use the [Snippets API](/learn/api-reference/snippets/get).

Merge.dev is an example of a Fern customer that uses the Snippets API to bring Python code samples [into their API Reference](https://docs.merge.dev/hris/employees/#employees_list).

Expand Down
2 changes: 1 addition & 1 deletion fern/products/docs/pages/authentication/rbac.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ subtitle: Control who can view your documentation
description: Learn how to restrict access to your documentation using role-based access control (RBAC)
---

<Note>RBAC is part of the pro plan.</Note>
<Markdown src="/snippets/pro-plan.mdx"/>

## Introduction

Expand Down
4 changes: 3 additions & 1 deletion fern/products/docs/pages/authentication/sso.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Single Sign-On
subtitle: Enterprise authentication for secure access to your docs
---

<Markdown src="/snippets/enterprise-plan.mdx"/>

Fern’s Single Sign-On (SSO) is an enterprise feature that lets your team securely access your docs through your organization’s identity provider.

<Note>SSO does not support Role-Based Access Control or API Key Injection.</Note>
Expand Down Expand Up @@ -47,5 +49,5 @@ Fern supports SSO integration with any identity provider that implements industr

## Setting up SSO

SSO is available as part of the Enterprise plan. Reach out via Slack or [contact our team](https://buildwithfern.com/contact) to begin the SSO setup process. Fern will work with one of your security administrators to connect to your identity provider.
Reach out via Slack or [contact our team](https://buildwithfern.com/contact) to begin the SSO setup process. Fern will work with one of your security administrators to connect to your identity provider.

Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@ subtitle: Add custom CSS, global JavaScript, and UI components.
description: Add brand-specific styling, user interactions. and components to make your docs your own.
---

<Note>
Custom CSS & JS are available on the Basic plan.
Adding Custom Components is available on the Pro plan.
</Note>

This page covers how to customize your docs with CSS, JavaScript, and custom components. However, you can [customize many things directly in your `docs.yml` file](/docs/configuration/what-is-docs-yml), including colors, typography, navbar links, layout, analytics, and metadata. Try these built-in options first before adding custom code.

## Custom CSS
Expand Down Expand Up @@ -204,6 +199,8 @@ js:

## Custom components

<Markdown src="/snippets/pro-plan.mdx"/>

You can use custom CSS and JS to replace Fern's default UI components with your own. The `header` and `footer`
are the most commonly replaced components. You can replace any component in the docs,
including the sidebar, tabs, search bar, and more.
Expand Down
2 changes: 1 addition & 1 deletion fern/products/docs/pages/enterprise/self-hosted-set-up.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Set up self-hosted documentation
description: Learn how to set up self-hosted documentation on your own infrastructure.
---

<Note>Self-hosted documentation is only available for the enterprise plan.</Note>
<Markdown src="/snippets/enterprise-plan.mdx" />

## Prerequisites

Expand Down
2 changes: 1 addition & 1 deletion fern/products/docs/pages/enterprise/self-hosted.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Self-hosted documentation
description: Fern supports self-hosting so that you can run your docs site on your own infrastructure.
---

<Note>Self-hosted documentation is only available for the enterprise plan.</Note>
<Markdown src="/snippets/enterprise-plan.mdx" />

Fern documentation websites are hosted on Fern's infrastructure by default. Self-hosting allows you to deploy your documentation site on your own infrastructure to meet specific security or compliance requirements.

Expand Down
2 changes: 2 additions & 0 deletions fern/products/docs/pages/integrations/feature-flags.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ subtitle: Control documentation visibility with LaunchDarkly
description: Learn how to use Feature Flags in your Fern documentation
---

<Markdown src="/snippets/pro-plan.mdx"/>

Fern supports conditional rendering of documentation content using feature flags, powered by [LaunchDarkly](https://app.launchdarkly.com/signup) integration. Control visibility of documentation sections based on feature flag states for different release stages or user segments.

## Use Cases
Expand Down
2 changes: 2 additions & 0 deletions fern/products/docs/pages/integrations/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,6 @@ are available during the workflow run.

## Connect other integrations

<Markdown src="/snippets/enterprise-plan.mdx"/>

If you want to integrate with a third-party analytics or support platforms that Fern doesn't directly support, you can do so [using custom JS](/docs/customization/custom-css-js#custom-javascript).
2 changes: 2 additions & 0 deletions fern/products/docs/pages/integrations/postman.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: "Postman Integration"
description: "Generate a postman collection full of example requests and responses"
---

<Markdown src="/snippets/pro-plan.mdx"/>

You can generate a Postman collection full of example requests and responses and
publish your collection to Postman. The configuration for the postman generator
lives in your fern folder, in a file called
Expand Down
2 changes: 2 additions & 0 deletions fern/products/docs/pages/navigation/products.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Product switching
subtitle: Allow users to seamlessly navigate between different products you offer.
---

<Markdown src="/snippets/pro-plan.mdx"/>

<Frame>
<video
style={{ aspectRatio: '16 / 9', width: '100%' }}
Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/guides/configure-auto-pagination.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Configure Auto Pagination
description: Paginate through API responses easily with offset, cursor, and link-based pagination.
---

<Markdown src="/snippets/pro-callout.mdx"/>
<Markdown src="/snippets/pro-plan.mdx"/>

Fern's auto pagination supports offset-based and cursor-based pagination schemes,
providing SDK users with simple iterators to loop through all results instead of
Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/guides/configure-idempotency.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Configure Idempotency Headers
description: SDKs that safely support retrying requests
---

<Markdown src="/snippets/pro-callout.mdx"/>
<Markdown src="/snippets/pro-plan.mdx"/>

For endpoints you've configured as idempotent, Fern's SDKs allow you to
specify idempotency headers. Typically the headers include `Idempotency-Key`,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Filter Your Endpoints (Audiences)
description: Guide to filtering your API endpoints using audiences.
---

<Markdown src="/snippets/pro-callout.mdx"/>
<Markdown src="/snippets/pro-plan.mdx"/>

Use audiences to generate tailored SDKs for different groups of API consumers. Common examples of audiences include:
- Internal consumers (e.g., frontend developers who use the API)
Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/guides/retries-with-backoff.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Retries with Backoff
description: Automatically retry failures with exponential backoff
---

<Markdown src="/snippets/pro-callout.mdx" />
<Markdown src="/snippets/pro-plan.mdx" />

Fern SDKs will automatically retry failed requests with exponential backoff. A request will be retried as
long as the request is deemed retryable and the number of retry attempts has
Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/guides/self-hosted.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Fern supports self-hosting SDK generation so that you can run SDK g
on your own infrastructure.
---

<Note>Self-hosted SDK generation is only available for the enterprise plan.</Note>
<Markdown src="/snippets/enterprise-plan.mdx" />

Fern SDK generation runs on Fern's infrastructure by default. Self-hosting allows you to run SDK generation on your own infrastructure to meet specific security or compliance requirements.

Expand Down
2 changes: 2 additions & 0 deletions fern/products/sdks/overview/java/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ The provided string will be used as the client class name.
<ParamField path="custom-dependencies" type="List<string>" required={false} toc={true}>
<Markdown src="/snippets/pro-plan.mdx"/>
Example:
```yaml
Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/overview/java/custom-code.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ protected void setAdditional(ClientOptions.Builder builder) {

## Adding custom dependencies

<Markdown src="/snippets/pro-callout.mdx"/>
<Markdown src="/snippets/pro-plan.mdx"/>

To add packages that your custom code requires, update your `generators.yml`.

Expand Down
6 changes: 6 additions & 0 deletions fern/products/sdks/overview/python/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ When enabled, excludes type definitions from being exported in the package's `__
</ParamField>

<ParamField path="extra_dependencies" type="object" default="{}" required={false} toc={true}>

<Markdown src="/snippets/pro-plan.mdx"/>

If you want to add custom dependencies to your generated SDK, you can specify them using this configuration. For example, to add a dependency on boto3, your config would look like:
```yaml
config:
Expand All @@ -72,6 +75,9 @@ When enabled, excludes type definitions from being exported in the package's `__
</ParamField>

<ParamField path="extra_dev_dependencies" type="object" default="{}" required={false} toc={true}>

<Markdown src="/snippets/pro-plan.mdx"/>

Specify additional development dependencies to include in the generated SDK's setup configuration. These are dependencies used for development and testing but not required by end users.
</ParamField>

Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/overview/python/custom-code.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ To get started adding custom code:

## Adding custom dependencies

<Markdown src="/snippets/pro-callout.mdx"/>
<Markdown src="/snippets/pro-plan.mdx"/>

To add packages that your custom code requires, update your `generators.yml`.

Expand Down
6 changes: 6 additions & 0 deletions fern/products/sdks/overview/typescript/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@ const bar: MyRootType.Foo.Bar = {};
</ParamField>

<ParamField path="extraDependencies" type="object" default="{}" toc={true}>

<Markdown src="/snippets/pro-plan.mdx"/>

Specify extra dependencies in the generated `package.json`. This is useful
when you utilize [`.fernignore`](https://buildwithfern.com/learn/sdks/capabilities/custom-code) to
supplement the generated client with custom code.
Expand All @@ -102,6 +105,9 @@ config:
</ParamField>

<ParamField path="extraDevDependencies" type="object" default="{}" toc={true}>

<Markdown src="/snippets/pro-plan.mdx"/>

Specify extra dev dependencies in the generated `package.json`.

```yaml
Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/overview/typescript/custom-code.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ To get started adding custom code:

## Custom dependencies

<Markdown src="/snippets/pro-callout.mdx"/>
<Markdown src="/snippets/pro-plan.mdx"/>

To add packages that your custom code requires, update your `generators.yml`.

Expand Down
3 changes: 3 additions & 0 deletions fern/snippets/enterprise-plan.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<Warning title="Enterprise feature">
This feature is available only for the [Enterprise plan](https://buildwithfern.com/pricing). To get started, reach out to [email protected].
</Warning>
Loading