{
  "id": "acp.discovery.mechanism",
  "protocol": "acp",
  "layer": "discovery",
  "role": "merchant",
  "status": "optional",
  "title": "Publish /.well-known/acp.json (ACP discovery RFC)",
  "description": "An ACP RFC proposes a public discovery document with protocol version, API base URL, transports and capabilities.",
  "goal": "Agents can check ACP support and the API base URL from just your domain, without opening a checkout session.",
  "note": "Resolved: the mechanism is specified in rfc.discovery.md, but its status is Proposal and version unreleased. Treat as optional until it lands in a dated spec.",
  "how_to_implement": {
    "steps": [
      "Serve /.well-known/acp.json at the origin root, publicly, without auth.",
      "Include protocol name and version, api_base_url, transports and capabilities.",
      "Send Cache-Control: public, max-age=3600 (SHOULD)."
    ]
  },
  "resources": [
    {
      "label": "ACP RFC: discovery (/.well-known/acp.json)",
      "url": "https://github.com/agentic-commerce-protocol/agentic-commerce-protocol/blob/main/rfcs/rfc.discovery.md",
      "type": "spec",
      "publisher": "ACP"
    },
    {
      "label": "ACP on GitHub",
      "url": "https://github.com/agentic-commerce-protocol/agentic-commerce-protocol",
      "type": "spec",
      "publisher": "ACP"
    }
  ],
  "audit": {
    "method": "http_get",
    "automatable": true,
    "url_pattern": "/.well-known/acp.json",
    "expect": {
      "status": 200,
      "content_type": "application/json",
      "json_keys": [
        "api_base_url",
        "transports"
      ],
      "headers": {
        "cache-control": "public; max-age>=3600"
      }
    },
    "human": "GET returns 200 JSON with api_base_url and transports; Cache-Control public with max-age >= 3600."
  },
  "how_to_verify": "GET returns 200 JSON with api_base_url and transports; Cache-Control public with max-age >= 3600.",
  "artifacts": [
    "/.well-known/acp.json"
  ],
  "depends_on": [
    "acp.checkout.endpoints"
  ],
  "status_note": "Resolved: the mechanism is specified in rfc.discovery.md, but its status is Proposal and version unreleased. Treat as optional until it lands in a dated spec.",
  "verified": true,
  "slug": "acp-discovery-mechanism",
  "category": "discovery",
  "url": "https://vreeman.ai/commerce/checklist#acp.discovery.mechanism",
  "updated": "2026-10-12",
  "sources": [
    {
      "label": "ACP RFC: discovery (/.well-known/acp.json)",
      "url": "https://github.com/agentic-commerce-protocol/agentic-commerce-protocol/blob/main/rfcs/rfc.discovery.md",
      "type": "spec",
      "publisher": "ACP"
    },
    {
      "label": "ACP on GitHub",
      "url": "https://github.com/agentic-commerce-protocol/agentic-commerce-protocol",
      "type": "spec",
      "publisher": "ACP"
    }
  ],
  "related_slugs": [
    "acp-checkout-endpoints"
  ]
}