> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. # Download AsyncAPI spec > Fern serves your AsyncAPI 2.6.0 spec from your docs site so AI tools and LLMs can discover and interact with your WebSocket API programmatically. Fern docs sites automatically serve your raw AsyncAPI 2.6.0 specification for WebSocket channels, so anyone — or any tool — can download it for client generation, contract testing, or importing into tools that support AsyncAPI. The spec is also linked from your site's [`llms.txt`](/learn/docs/ai-features/llms-txt), so AI coding assistants like Cursor, Copilot, and Claude can discover and use it to generate accurate WebSocket integrations. ## Available endpoints Every Fern docs site with WebSocket channels exposes the AsyncAPI specification at these paths: | Endpoint | Format | Content-Type | | ---------------- | ------ | -------------------- | | `/asyncapi.json` | JSON | `application/json` | | `/asyncapi.yaml` | YAML | `application/x-yaml` | | `/asyncapi.yml` | YAML | `application/x-yaml` | The spec includes all WebSocket channels with publish/subscribe messages, path parameters, query parameters, headers as WebSocket bindings, authentication schemes, type definitions as component schemas, and server URLs from your environment configuration. It's generated from the same API definition that powers your docs, so it's always up to date. ## Usage Append the endpoint to your docs URL to download the spec: ```bash # Download as JSON curl https://your-docs-site.com/asyncapi.json # Download as YAML curl https://your-docs-site.com/asyncapi.yaml ``` If your docs site includes multiple API definitions with WebSocket channels, the endpoint returns a listing of available APIs. Use the `api` query parameter to select a specific one: ```bash # Get a specific API's spec curl https://your-docs-site.com/asyncapi.json?api=my-api-id ``` > Fern serves your AsyncAPI 2.6.0 spec from your docs site so AI tools and LLMs can discover and interact with your WebSocket API programmatically.