AxonariBuild · Automate
Reference · updated 2026-09-16

What is an ARD catalog (ard.json)?

An ARD catalog is a JSON document at /.well-known/ard.json that enumerates every machine-readable resource a site publishes: content files, APIs, skills, and interfaces. Agentic Resource Discovery exists so an agent can find your capabilities in one fetch instead of crawling for them, and each entry carries a trust manifest saying who published it and under what terms.

The identifier format, which is where sites fail

Entries are identified by domain-anchored URNs in the urn:air namespace, for example urn:air:example.com:content:llms. This is the single most common failure, and it fails silently.

Ours used urn:ai rather than urn:air. Every entry failed validation, three separate checks went from passing to failing, and nothing in the file looked wrong to a human reading it. If you publish a catalog, validate it rather than eyeballing it.

The trust manifest

Each entry should carry a trustManifest naming the publisher, a contact, a licence, the canonical URL and a last-updated date. It is the difference between a list of links and a list of links an agent has reason to rely on.

A catalog without trust manifests parses fine and scores poorly, which is a reasonable judgement: an unattributed resource list is not much of a claim.

Paths and predecessors

The canonical path is /.well-known/ard.json. An earlier path, /.well-known/ai-catalog.json, is kept by the spec as an equivalent source, so serving the identical document at both is safe and slightly more discoverable.

Generate both from one module. Two hand-maintained copies of the same catalog will disagree within a month, and a disagreeing catalog is worse than one path.

One entry, correctly identified and attributed
{
  "specVersion": "0.91",
  "host": { "displayName": "Acme Ltd", "identifier": "acme.example" },
  "entries": [
    {
      "identifier": "urn:air:acme.example:content:llms",
      "displayName": "Acme, LLM summary",
      "type": "text/markdown",
      "url": "https://acme.example/llms.txt",
      "description": "What Acme does, canonical pages, and when to reach for us.",
      "trustManifest": {
        "publisher": "Acme Ltd",
        "contact": "mailto:hello@acme.example",
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "canonical": "https://acme.example/llms.txt",
        "lastUpdated": "2026-09-16"
      }
    }
  ]
}

Does your site have this?

The free checker scores your site against ARD catalog and everything else on this list, out of 100, in about ten seconds. It names what is missing rather than handing you a number.

Run the free check

Common questions

What is the correct URN format for ARD entries?
Domain-anchored urn:air identifiers, in the shape urn:air:{your-domain}:{kind}:{name}. Using urn:ai instead is a silent validation failure that costs several checks at once.
Where does the ARD catalog go?
/.well-known/ard.json is the v0.91 canonical path. /.well-known/ai-catalog.json is kept as an equivalent predecessor path, and serving the same document at both is fine.