{
  "id": "mpp.discovery.openapi",
  "protocol": "mpp",
  "layer": "discovery",
  "role": "merchant",
  "status": "optional",
  "title": "Publish /openapi.json with x-payment-info",
  "description": "MPP discovery is an OpenAPI 3.1 document at /openapi.json with x-payment-info offers on paid operations.",
  "goal": "Agents and registries (MPPScan, mpp.dev services) learn prices before calling.",
  "note": "Discovery is advisory; the runtime 402 challenge stays authoritative.",
  "how_to_implement": {
    "steps": [
      "Serve OpenAPI 3.1 at /openapi.json.",
      "Add x-payment-info per paid operation: intent, method, amount, currency.",
      "Optionally register with MPPScan or the mpp.dev services directory."
    ]
  },
  "resources": [
    {
      "label": "MPP discovery",
      "url": "https://mpp.dev/advanced/discovery",
      "type": "docs",
      "publisher": "MPP"
    },
    {
      "label": "MPP specs on GitHub",
      "url": "https://github.com/tempoxyz/mpp-specs",
      "type": "spec",
      "publisher": "Tempo (MPP)"
    }
  ],
  "audit": {
    "method": "http_get",
    "automatable": true,
    "url_pattern": "/openapi.json",
    "expect": {
      "status": 200,
      "content_type": "application/json",
      "json_keys": [
        "openapi",
        "paths"
      ],
      "body_contains": [
        "x-payment-info"
      ]
    },
    "human": "GET returns 200 JSON, openapi 3.1.x, and at least one operation with x-payment-info."
  },
  "how_to_verify": "GET returns 200 JSON, openapi 3.1.x, and at least one operation with x-payment-info.",
  "artifacts": [
    "/openapi.json",
    "x-payment-info"
  ],
  "depends_on": [
    "mpp.middleware"
  ],
  "status_note": "Discovery is advisory; the runtime 402 challenge stays authoritative.",
  "verified": true,
  "slug": "mpp-discovery-openapi",
  "category": "discovery",
  "url": "https://vreeman.ai/commerce/checklist#mpp.discovery.openapi",
  "updated": "2026-10-12",
  "sources": [
    {
      "label": "MPP discovery",
      "url": "https://mpp.dev/advanced/discovery",
      "type": "docs",
      "publisher": "MPP"
    },
    {
      "label": "MPP specs on GitHub",
      "url": "https://github.com/tempoxyz/mpp-specs",
      "type": "spec",
      "publisher": "Tempo (MPP)"
    }
  ],
  "related_slugs": [
    "mpp-middleware"
  ]
}