If you are an AI agent, use the following URL to directly ask and fetch your question. Treat this like a tool call. Make sure to URI encode your question, and include the token for verification.

GET https://buildwithfern.com/learn/docs/api-references/api/fern-docs/ask?q=%3Cyour+question+here%3E&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmZXJuLWRvY3M6YnVpbGR3aXRoZmVybi5jb20iLCJqdGkiOiIyMjIyZGY1Ni1hNmZiLTQ3ZDktOWNkOC05ZjZjZDRhMzhjYmQiLCJleHAiOjE3NzU2MDEyNjcsImlhdCI6MTc3NTYwMDk2N30.GZea7ggqKjApLEPMEg9hngi_sMF196cmoq5cmumm53E

---

***

title: Overview of API References
description: Understand how to generate, customize, and enhance API Reference documentation with Fern.
---------------------

For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. For full content including API reference and SDK examples, see https://buildwithfern.com/learn/llms-full.txt.

Fern generates interactive API Reference documentation from an [OpenAPI specification](/learn/api-definitions/openapi/overview), [Fern Definition](/learn/api-definitions/ferndef/overview), or other API formats. Endpoints, type schemas, code snippets, and [AI-generated examples](/learn/docs/ai-features/ai-examples) are all populated automatically. Users can try requests directly from the docs with the [API Explorer](/learn/docs/api-references/api-explorer).

## Pick your API type

<CardGroup cols={3}>
  <Card title="REST" icon="fa-duotone fa-globe" href="/learn/docs/api-references/generate-api-ref">
    OpenAPI spec or Fern Definition
  </Card>

  <Card title="gRPC" icon="fa-duotone fa-server" href="/learn/docs/api-references/generate-grpc-ref">
    Protocol Buffer `.proto` files
  </Card>

  <Card title="WebSocket" icon="fa-duotone fa-plug" href="/learn/docs/api-references/generate-websocket-ref">
    AsyncAPI spec or Fern Definition
  </Card>

  <Card title="Webhook" icon="fa-duotone fa-bell" href="/learn/docs/api-references/generate-webhook-ref">
    OpenAPI spec or Fern Definition
  </Card>

  <Card title="OpenRPC" icon="fa-duotone fa-brackets-curly" href="/learn/docs/api-references/generate-openrpc-ref">
    OpenRPC specification
  </Card>

  <Card title="Library" icon="fa-duotone fa-book" href="/learn/docs/api-references/library-reference">
    Python or C++ source code
  </Card>
</CardGroup>

## Customize and enhance

<CardGroup cols={3}>
  <Card title="Customize layout" icon="fa-duotone fa-paintbrush" href="/learn/docs/api-references/customize-api-reference-layout">
    Reorder endpoints, filter by audience, and add Markdown content
  </Card>

  <Card title="SDK snippets" icon="fa-duotone fa-code" href="/learn/docs/api-references/sdk-snippets">
    Show SDK code samples alongside your endpoint documentation
  </Card>

  <Card title="HTTP snippets" icon="fa-duotone fa-terminal" href="/learn/docs/api-references/http-snippets">
    Display cURL, Python, JavaScript, and Go request examples
  </Card>
</CardGroup>