> 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/api/fern-docs/ask?q=%3Cyour+question+here%3E&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmZXJuLWRvY3M6YnVpbGR3aXRoZmVybi5jb20iLCJqdGkiOiI4MWFjODIyZi0yZTU5LTQ0OWMtODk0ZS05MGQwMTIxYjMwMjUiLCJleHAiOjE3Nzc2NTEwNjYsImlhdCI6MTc3NzY1MDc2Nn0.Q9ihSsEV3ytrmlznv6BWmfH4d7yBOgo-HmjoHKkj9v0
>
> 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.

# API catalog discovery

> Fern docs sites expose a standards-based API catalog endpoint so AI agents, MCP clients, and API catalog crawlers can discover your APIs automatically.

Fern Docs sites implement [RFC 9727](https://www.rfc-editor.org/rfc/rfc9727) to let AI agents, MCP clients, and API catalog crawlers discover your APIs without scraping HTML. The catalog is generated from your visible [API Reference](/learn/docs/api-references/overview) navigation and advertised on every page via a [`Link`](https://www.rfc-editor.org/rfc/rfc8288) response header — no configuration required. References hidden via `hidden: true` (or with all endpoints hidden) are excluded.

Your API catalog is available at `your-documentation-site.com/.well-known/api-catalog`. For example, this site's catalog is at [buildwithfern.com/learn/.well-known/api-catalog](https://buildwithfern.com/learn/.well-known/api-catalog):

```bash
curl -s https://buildwithfern.com/learn/.well-known/api-catalog | jq .
```

For sites with a basepath like `/docs`, the catalog lives under that basepath (e.g. `https://example.com/docs/.well-known/api-catalog`).

## Response format

The endpoint returns a [Linkset document](https://www.rfc-editor.org/rfc/rfc9264) listing each visible API. Each entry contains:

* **`anchor`** — the URL of the human-readable API Reference page
* **`service-desc`** — the machine-readable [OpenAPI spec](/learn/docs/developer-tools/openapi-spec)
* **`service-doc`** — the same reference page as the anchor

```json title="Example response"
{
  "linkset": [
    {
      "anchor": "https://example.docs.com/api-reference",
      "service-desc": [
        {
          "href": "https://example.docs.com/openapi.yaml?api=abc123",
          "type": "application/yaml"
        }
      ],
      "service-doc": [
        {
          "href": "https://example.docs.com/api-reference",
          "type": "text/html"
        }
      ]
    }
  ]
}
```