Skip to content
Closed
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
5 changes: 5 additions & 0 deletions .vale/styles/FernStyles/Headings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,8 @@ exceptions:
- Support
- Markdown
- Docs
- GitHub
- Actions
- CI/CD
- CircleCI
- GitLab
6 changes: 3 additions & 3 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ instances:
repo: docs
branch: main

title: Fern Documentation
title: Fern documentation

metadata:
og:image: https://fern-docs.s3.us-east-2.amazonaws.com/fern-docs-og_image-compressed.png
Expand Down Expand Up @@ -43,14 +43,14 @@ products:
slug: ask-fern
subtitle: Let users find answers in your documentation instantly

- display-name: CLI Reference
- display-name: CLI reference
subtitle: Manage and configure your Fern projects
path: ./products/cli-api-reference/cli-api-reference.yml
icon: fa-regular fa-terminal
image: ./images/product-switcher/product-switcher-cliapi-light.png
slug: cli-api-reference

- display-name: API Definitions
- display-name: API definitions
path: ./products/api-def/api-def.yml
icon: fa-regular fa-book
image: ./images/product-switcher/openapi-definition-light.png
Expand Down
8 changes: 4 additions & 4 deletions fern/products/api-def/api-def.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ navigation:
- page: Multipart form uploads
path: ./openapi-pages/endpoints/multipart.mdx
slug: multipart
- page: Server-sent events
- page: Server-Sent Events
path: ./openapi-pages/endpoints/sse.mdx
slug: sse
- section: Extensions
Expand Down Expand Up @@ -145,7 +145,7 @@ navigation:
- section: Methods
slug: methods
contents:
- page: JSON-RPC methods
- page: Json-rpc methods
path: ./openrpc-pages/methods/rpc-methods.mdx
slug: rpc-methods
- page: Notifications
Expand Down Expand Up @@ -238,7 +238,7 @@ navigation:
- page: Bytes
path: ./ferndef-pages/endpoints/bytes.mdx
slug: bytes
- page: Server-sent events
- page: Server-Sent Events
path: ./ferndef-pages/endpoints/sse.mdx
slug: sse
- section: Advanced
Expand All @@ -259,7 +259,7 @@ navigation:
path: ./ferndef-pages/audiences.mdx
- page: Availability
path: ./ferndef-pages/availability.mdx
- section: api.yml reference
- section: Api.yml reference
slug: api-yml
contents:
- page: Overview
Expand Down
2 changes: 1 addition & 1 deletion fern/products/api-def/asyncapi-def.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
navigation:
- page: AsyncAPI Definition Redirect Page
- page: AsyncAPI definition redirect page
path: ./pages/asyncapi-empty.mdx
slug: empty-page
hidden: true
8 changes: 4 additions & 4 deletions fern/products/api-def/asyncapi-pages/auth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ components:
env: AUTH_TOKEN
```

## API Key security scheme
## API key security scheme

Start by defining an `apiKey` security scheme in your `asyncapi.yml`:

Expand All @@ -81,7 +81,7 @@ const client = new Client({
})
```

### Custom API Key variable name
### Custom API key variable name

If you want to control variable naming and the environment variable to scan,
use the configuration below:
Expand Down Expand Up @@ -120,7 +120,7 @@ const client = new Client({
})
```

### Custom Basic Auth variable names
### Custom basic auth variable names

If you want to control variable naming and the environment variables to scan,
use the configuration below:
Expand All @@ -139,7 +139,7 @@ components:
env: PASSWORD
```

## OAuth2 security scheme
## Oauth2 security scheme

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

Expand Down
4 changes: 2 additions & 2 deletions fern/products/api-def/asyncapi-pages/automation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ api:
version: 0.8.8
```

### From Git repository
### From git repository
```yaml title="generators.yml" {3-7}
api:
specs:
Expand Down Expand Up @@ -200,4 +200,4 @@ api:
version: 0.8.8
```

This ensures that any breaking changes to your AsyncAPI specification are detected and the appropriate team members are notified before the changes are propagated to your SDKs and documentation.
This ensures that any breaking changes to your AsyncAPI specification are detected and the appropriate team members are notified before the changes are propagated to your SDKs and documentation.
2 changes: 1 addition & 1 deletion fern/products/api-def/asyncapi-pages/channels/bindings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ operations:
method: message
```

## MQTT bindings
## Mqtt bindings

Configure MQTT-specific settings for IoT and messaging applications:

Expand Down
2 changes: 1 addition & 1 deletion fern/products/api-def/asyncapi-pages/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ components:
- message
```

## Set up your fern folder
## Set up your Fern folder

<Info>
Considering options to generate an AsyncAPI spec? Get live support [here](https://fern-community.slack.com/join/shared_invite/zt-2dpftfmif-MuAegl8AfP_PK8s2tx350Q%EF%BB%BF#/shared-invite/email)
Expand Down
2 changes: 1 addition & 1 deletion fern/products/api-def/ferndef-def.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
navigation:
- page: Fern Definition Redirect Page
- page: Fern Definition redirect page
path: ./pages/ferndef-empty.mdx
slug: empty-page
hidden: true
2 changes: 1 addition & 1 deletion fern/products/api-def/ferndef-pages/audiences.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ groups:
...
```

## Audiences with docs
## Audiences with docs

If generating Fern Docs, update your `docs.yml` configuration to include your audiences.

Expand Down
4 changes: 2 additions & 2 deletions fern/products/api-def/ferndef-pages/availability.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Availability can be:
- `deprecated` which means it will be removed in the future; will show a `Deprecated` tag
- `generally-available` which means it is stable and available for use; will show a `GA` tag

### Endpoint
### Endpoint

<CodeBlock title="pet.yml">
```yaml {6}
Expand Down Expand Up @@ -71,7 +71,7 @@ In Fern Docs, this will look like:
![Screenshot showing a beta tag next to a type in API Reference docs](https://fern-image-hosting.s3.amazonaws.com/type-beta.png)
</Frame>

### Property
### Property

<CodeBlock title="pet.yml">
```yaml {12}
Expand Down
2 changes: 1 addition & 1 deletion fern/products/api-def/ferndef-pages/endpoints.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ types:
```
</CodeBlock>

### Response status codes
### Response status codes

You can also use the `status-code` field to specify a custom status code
for a success response.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ service:

Within a given multipart request, a string parameter with `format:binary` will represent an arbitrary file.

## List of Files
## List of files

If your endpoint supports a list of files, then your request body must indicate such.

Expand Down
4 changes: 2 additions & 2 deletions fern/products/api-def/ferndef-pages/endpoints/sse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
text: string
```

## Server-sent events
## Server-Sent Events

Check warning on line 37 in fern/products/api-def/ferndef-pages/endpoints/sse.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [FernStyles.Headings] 'Server-Sent Events' should use sentence-style capitalization. Raw Output: {"message": "[FernStyles.Headings] 'Server-Sent Events' should use sentence-style capitalization.", "location": {"path": "fern/products/api-def/ferndef-pages/endpoints/sse.mdx", "range": {"start": {"line": 37, "column": 4}}}, "severity": "INFO"}

If your API returns server-sent-events, with the `data` and `event` keys as seen below

Expand Down Expand Up @@ -63,7 +63,7 @@
text: string
```

## `Stream` parameter
## `stream` parameter

It has become common practice for endpoints to have a `stream` parameter that
controls whether the response is streamed or not. Fern supports this pattern in a first
Expand Down
4 changes: 2 additions & 2 deletions fern/products/api-def/ferndef-pages/types.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ types:
value: '!='
```

### Discriminated Unions
### Discriminated unions

Fern supports tagged unions (a.k.a. discriminated unions). Unions are useful for
polymorphism. This is similar to the `oneOf` concept in OpenAPI.
Expand Down Expand Up @@ -196,7 +196,7 @@ This corresponds to a JSON object like this:
}
```

### Undiscriminated Unions
### Undiscriminated unions

Undiscriminated unions are similar to discriminated unions, however you don't
need to define an explicit discriminant property.
Expand Down
2 changes: 1 addition & 1 deletion fern/products/api-def/ferndef-pages/webhooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
```
</CodeBlock>

## Generate webhook reference
## Generate Webhook reference

Check warning on line 66 in fern/products/api-def/ferndef-pages/webhooks.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [FernStyles.Headings] 'Generate Webhook reference' should use sentence-style capitalization. Raw Output: {"message": "[FernStyles.Headings] 'Generate Webhook reference' should use sentence-style capitalization.", "location": {"path": "fern/products/api-def/ferndef-pages/webhooks.mdx", "range": {"start": {"line": 66, "column": 4}}}, "severity": "INFO"}

Fern Docs can automatically generate your webhook reference documentation from your definition. Set this up in your `docs.yml` file.

Expand Down
8 changes: 4 additions & 4 deletions fern/products/api-def/ferndef-pages/websockets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
- `body`: The schema of the message
- `examples`: Example WebSocket connection _(Optional)_

### WebSocket example
### WebSocket example

Check warning on line 27 in fern/products/api-def/ferndef-pages/websockets.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [FernStyles.Headings] 'WebSocket example' should use sentence-style capitalization. Raw Output: {"message": "[FernStyles.Headings] 'WebSocket example' should use sentence-style capitalization.", "location": {"path": "fern/products/api-def/ferndef-pages/websockets.mdx", "range": {"start": {"line": 27, "column": 5}}}, "severity": "INFO"}

<CodeBlock title='chat.yml'>
```yaml
Expand Down Expand Up @@ -75,17 +75,17 @@
```
</CodeBlock>

## WebSocket API Reference
## WebSocket API reference

Check warning on line 78 in fern/products/api-def/ferndef-pages/websockets.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [FernStyles.Headings] 'WebSocket API reference' should use sentence-style capitalization. Raw Output: {"message": "[FernStyles.Headings] 'WebSocket API reference' should use sentence-style capitalization.", "location": {"path": "fern/products/api-def/ferndef-pages/websockets.mdx", "range": {"start": {"line": 78, "column": 4}}}, "severity": "INFO"}

### WebSocket Reference
### WebSocket reference

Check warning on line 80 in fern/products/api-def/ferndef-pages/websockets.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [FernStyles.Headings] 'WebSocket reference' should use sentence-style capitalization. Raw Output: {"message": "[FernStyles.Headings] 'WebSocket reference' should use sentence-style capitalization.", "location": {"path": "fern/products/api-def/ferndef-pages/websockets.mdx", "range": {"start": {"line": 80, "column": 5}}}, "severity": "INFO"}

Fern renders a unique reference page for WebSockets. The **Handshake** section outlines the protocol for connecting with the server, while the **Send** and **Receive** sections outline the message schemas that can be sent between the client and server.

<Frame caption="Cartesia's WebSocket Reference page">
<img src="./wss-reference.png" alt="The WebSocket Reference" />
</Frame>

### WebSocket Playground
### WebSocket playground

Check warning on line 88 in fern/products/api-def/ferndef-pages/websockets.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [FernStyles.Headings] 'WebSocket playground' should use sentence-style capitalization. Raw Output: {"message": "[FernStyles.Headings] 'WebSocket playground' should use sentence-style capitalization.", "location": {"path": "fern/products/api-def/ferndef-pages/websockets.mdx", "range": {"start": {"line": 88, "column": 5}}}, "severity": "INFO"}

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

Expand Down
2 changes: 1 addition & 1 deletion fern/products/api-def/grpc-def.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
navigation:
- page: gRPC Definition Redirect Page
- page: gRPC definition redirect page
path: ./pages/grpc-empty.mdx
slug: empty-page
hidden: true
14 changes: 7 additions & 7 deletions fern/products/api-def/grpc-pages/auth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ subtitle: Configure authentication for gRPC services including TLS, JWT, and cus

gRPC supports various authentication mechanisms to secure your services. Authentication can be configured at the transport level (TLS) and at the application level (credentials, tokens, etc.).

## Transport Security (TLS)
## Transport security (tls)

gRPC strongly recommends using TLS for production services to ensure encrypted communication:

Expand Down Expand Up @@ -62,7 +62,7 @@ def create_secure_server():
return server
```

## JWT Authentication
## Jwt authentication

Use JWT tokens for stateless authentication:

Expand Down Expand Up @@ -116,7 +116,7 @@ class AuthServiceServicer(auth_service_pb2_grpc.AuthServiceServicer):
)
```

## Interceptors for Authentication
## Interceptors for authentication

Use gRPC interceptors to handle authentication across all methods:

Expand Down Expand Up @@ -173,7 +173,7 @@ class AuthInterceptor(grpc.ServerInterceptor):
return grpc.unary_unary_rpc_method_handler(abort)
```

## API Key Authentication
## API key authentication

Implement API key-based authentication:

Expand Down Expand Up @@ -226,7 +226,7 @@ class ApiKeyAuthInterceptor(grpc.ServerInterceptor):
return continuation(handler_call_details)
```

## OAuth2 Integration
## Oauth2 integration

Integrate with OAuth2 providers:

Expand Down Expand Up @@ -270,7 +270,7 @@ class OAuth2Interceptor(grpc.ServerInterceptor):
return self._invalid_token_response()
```

## Client-side Authentication
## Client-side authentication

Configure authentication on the client side:

Expand Down Expand Up @@ -309,7 +309,7 @@ def create_api_key_channel(server_address, api_key):
return intercepted_channel
```

## Role-Based Access Control
## Role-based access control

Implement RBAC for fine-grained permissions:

Expand Down
4 changes: 2 additions & 2 deletions fern/products/api-def/grpc-pages/automation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
```

## Protocol Buffer validation
## Protocol buffer validation

Add validation steps for your Protocol Buffer files:

Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:

Configure Fern to automatically pull Protocol Buffer files from various sources:

### From Git repository
### From git repository
```yaml title="generators.yml" {3-7}
api:
specs:
Expand Down
2 changes: 1 addition & 1 deletion fern/products/api-def/grpc-pages/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ enum ChatMessageType {
}
```

## Set up your fern folder
## Set up your Fern folder

<Info> Need help getting started with gRPC and Fern? Get live support [here](https://fern-community.slack.com/join/shared_invite/zt-2dpftfmif-MuAegl8AfP_PK8s2tx350Q%EF%BB%BF#/shared-invite/email) </Info>

Expand Down
Loading
Loading