> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. # Generate WebSocket Reference > Use Fern Docs to generate WebSocket Reference documentation from an AsyncAPI spec. Fern generates WebSocket Reference documentation from an [AsyncAPI specification](/learn/api-definitions/asyncapi/overview). ![WebSocket API Reference Example](/learn/_fern-img/cbf139902e8f0409a80fdef4b4da17073b1f691a59767f11f743052f4d01019a.webp) You can also generate typed [WebSocket client libraries in your SDKs](/learn/sdks/deep-dives/websocket-clients). ## Configuration #### Set up your project structure Add your specification file to your `/fern` directory and create a `generators.yml` that references it: **`generators.yml`** ```yaml generators.yml api: path: asyncapi.yml origin: https://github.com/your-org/your-repo/blob/main/asyncapi.yml # optional ``` #### Add the WebSocket Reference to your navigation Add `- api: API Reference` to your navigation in `docs.yml`: **`docs.yml`** ```yml docs.yml navigation: - api: API Reference ``` #### Customize the layout For a full list of configuration options and layout customizations, see [Customize API Reference layout](/learn/docs/api-references/customize-api-reference-layout). ### Include more than one WebSocket Reference To include multiple WebSocket definitions in your documentation, use the `api-name` property. The `api-name` corresponds to the folder name containing your WebSocket definition. **`docs.yml`** ```yaml title="docs.yml" navigation: - api: Streaming API api-name: streaming-api - api: Realtime API api-name: realtime-api ``` > Use Fern Docs to generate WebSocket Reference documentation from an AsyncAPI spec.