Merchant-0 · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Merchant-0 A2A Protocol Server

101 actions 101 updates servers extends openapi/_original/merchant-0-com-openapi-original.json
Generated by API Evangelist Written by API Evangelist tooling for Merchant-0's API. It is a proposal applied on top of the contract, not a document Merchant-0 publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

tagsx-apievangelistserversx-apievangelist-undeclared-responsesx-apievangelist-idempotentx-apievangelist-notex-apievangelist-dry-run-fieldx-apievangelist-reversibility

Targets 97 · first 16 shown; the file carries all of them

$.info
$
$.paths['/api/ap2/negotiate'].post
$.paths['/api/ap2/sign'].post
$.paths['/api/ap2/execute'].post
$.paths['/'].get
$.paths['/message/send'].post
$.paths['/health'].get
$.paths['/.well-known/ucp-manifest.json'].get
$.paths['/api/ucp/capabilities'].get
$.paths['/api/ucp/identity'].get
$.paths['/api/ucp/catalog/search'].post
$.paths['/api/ucp/catalog/search'].get
$.paths['/api/ucp/catalog/details/{sku}'].get
$.paths['/api/ucp/inventory/check/{sku}'].get
$.paths['/api/ucp/negotiate'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Merchant-0 A2A Protocol Server
  version: 1.0.0
  x-generated: '2026-09-19'
  x-method: generated
extends: openapi/_original/merchant-0-com-openapi-original.json
actions:
- target: $.info
  update:
    x-apievangelist:
      generated: '2026-09-19'
      provenance: Harvested verbatim from https://api.merchant-0.com/openapi.json on 2026-09-19 (openapi/_original/). This overlay records every
        change API Evangelist made in the refined copy; the original is untouched.
      ownership: info.title "Merchant-0 A2A Protocol Server"; served from the host the provider's A2A agent card names as agent_api; GET /api/catalog
        on it returns merchant_did did:web:merchant-0.com.
- target: $
  description: The harvested document declares no servers[]. The host is the one the spec is served from and the agent card names as url/agent_api.
  update:
    servers:
    - url: https://api.merchant-0.com
      description: Production (added by API Evangelist; not in the provider document).
- target: $
  description: The harvested document declares no tags. Group the 95 operations by surface so a reader can separate the buyer-facing commerce
    routes from the operator control plane the provider publishes in the same document.
  update:
    tags:
    - name: A2A
    - name: AP2 Commerce
    - name: UCP
    - name: MCP Manifest
    - name: Catalog and Discovery
    - name: Subscriptions, Trials and Deliverables
    - name: Inbound Webhooks
    - name: Service
    - name: Operator Control Plane
- target: $.paths['/api/ap2/negotiate'].post
  description: Undeclared responses the provider documents in prose (see errors/merchant-0-com-problem-types.yml).
  update:
    x-apievangelist-undeclared-responses:
      '402': Proof-of-work challenge for FLAGGED buyers; retry with X-PoW-Solution header
      '403': sentinel_blocked — semantic firewall matched an injection pattern
      '404': Unknown item_id (SKU)
      '429': Subscription quota exhausted (agent card trust_signals.subscription_enforcement)
- target: $.paths['/api/ap2/sign'].post
  update:
    x-apievangelist-idempotent: true
    x-apievangelist-note: '"already SIGNED, which is idempotent" — the only documented idempotent write in the contract.'
- target: $.paths['/api/ap2/execute'].post
  update:
    x-apievangelist-dry-run-field: dry_run
    x-apievangelist-reversibility: none — no cancel/refund/void operation; dispute via POST /api/ap2/dispute; no window stated
- target: $.paths['/'].get
  update:
    tags:
    - Service
- target: $.paths['/message/send'].post
  update:
    tags:
    - A2A
- target: $.paths['/health'].get
  update:
    tags:
    - Service
- target: $.paths['/.well-known/ucp-manifest.json'].get
  update:
    tags:
    - UCP
- target: $.paths['/api/ucp/capabilities'].get
  update:
    tags:
    - UCP
- target: $.paths['/api/ucp/identity'].get
  update:
    tags:
    - UCP
- target: $.paths['/api/ucp/catalog/search'].post
  update:
    tags:
    - UCP
- target: $.paths['/api/ucp/catalog/search'].get
  update:
    tags:
    - UCP
- target: $.paths['/api/ucp/catalog/details/{sku}'].get
  update:
    tags:
    - UCP
- target: $.paths['/api/ucp/inventory/check/{sku}'].get
  update:
    tags:
    - UCP
- target: $.paths['/api/ucp/negotiate'].post
  update:
    tags:
    - UCP
- target: $.paths['/api/mcp/manifest'].get
  update:
    tags:
    - MCP Manifest
- target: $.paths['/api/mcp/tools'].get
  update:
    tags:
    - MCP Manifest
- target: $.paths['/api/mcp/resources'].get
  update:
    tags:
    - MCP Manifest
- target: $.paths['/api/mcp/inventory/search'].post
  update:
    tags:
    - MCP Manifest
- target: $.paths['/api/mcp/categories'].get
  update:
    tags:
    - MCP Manifest
- target: $.paths['/api/ap2/intent'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/sign/{intent_id}'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/execute/{cart_id}'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/cart/{cart_id}'].get
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/stats'].get
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ucp/checkout'].post
  update:
    tags:
    - UCP
- target: $.paths['/api/dashboard/a2a'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/catalog'].get
  update:
    tags:
    - Catalog and Discovery
- target: $.paths['/api/ap2/executions'].get
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/review/{contract_id}'].get
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/reviews'].get
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/review/{path_id}/approve'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/review/{path_id}/reject'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/invoices'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/subscriptions'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/api/subscriptions/{subscription_id}/usage'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/api/subscriptions/renew'].post
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/api/ucp/manifest'].get
  update:
    tags:
    - UCP
- target: $.paths['/api/ucp/inventory/check'].get
  update:
    tags:
    - UCP
- target: $.paths['/api/mcp/capabilities'].get
  update:
    tags:
    - MCP Manifest
- target: $.paths['/api/ap2/negotiate'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/sign'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/execute'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/intel'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/api/intel/{execution_id}'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/harvest/history'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/bank/usd-balance'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/credit-health'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/sandbox/state'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/config/credit-limit'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/config/harvest-threshold'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/config/harvest-threshold'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/credit/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/webhooks/wise'].post
  update:
    tags:
    - Inbound Webhooks
- target: $.paths['/emergency/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/emergency/kill-switch/arm'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/emergency/kill-switch/activate'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/emergency/evacuate/initiate'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/scout/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/scout/proposals'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/scout/proposals/{proposal_id}/approve'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/scout/proposals/{proposal_id}/reject'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/scout/proposals/{proposal_id}/veto'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/technologist/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/config/price-bands'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/config/price-bands/{sku}'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/treasurer/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/diplomat/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/diplomat/reputation/reset'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/ap2/dispute'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/advocate/disputes'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/advocate/disputes/{dispute_id}/resolve'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/advocate/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/sentinel/whitelist/add'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/sentinel/whitelist/remove'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/sentinel/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/strategist/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/strategist/briefing'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/strategist/briefing/generate'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/publicist/manifest'].get
  update:
    tags:
    - Catalog and Discovery
- target: $.paths['/api/publicist/catalog'].get
  update:
    tags:
    - Catalog and Discovery
- target: $.paths['/api/publicist/status'].get
  update:
    tags:
    - Catalog and Discovery
- target: $.paths['/api/subscriptions/delivery'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/api/subscriptions/delivery/status'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/api/settlement/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/settlement/records'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/settlement/confirm'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/discovery/hit'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/discovery/funnel'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/discovery/registry-package'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/outbound/status'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/outbound/targets'].get
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/outbound/targets'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/outbound/run'].post
  update:
    tags:
    - Operator Control Plane
- target: $.paths['/api/ap2/trial-grant'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/ap2/trial-execute'].post
  update:
    tags:
    - AP2 Commerce
- target: $.paths['/api/trial/status'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/api/subscription/referral-code'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables
- target: $.paths['/api/subscription/growth-stats'].get
  update:
    tags:
    - Subscriptions, Trials and Deliverables