{
  "name": "WL Test",
  "description": "Open, composable infrastructure for agentic advertising — a shelf of metered building blocks you switch on by the call: Proof of delivery (neutral, exactly-once confirmation), Trust (invalid-traffic filtering), an edge Auction, and AdCP Discovery. Non-custodial and transparent — distinct primitives you drop into your own stack, not a walled garden. Speaks AdCP over MCP + A2A; each block also has a typed REST /v1 endpoint and TS/Python SDKs.",
  "version": "0.1",
  "provider": {
    "organization": "WL Test",
    "url": "https://wl-test.agenticonrails.org"
  },
  "url": "https://wl-test.agenticonrails.org/a2a",
  "preferredTransport": "JSONRPC",
  "additionalInterfaces": [
    {
      "transport": "JSONRPC",
      "url": "https://wl-test.agenticonrails.org/a2a"
    },
    {
      "transport": "mcp",
      "url": "https://wl-test.agenticonrails.org/mcp"
    },
    {
      "transport": "mcp",
      "url": "https://wl-test.agenticonrails.org/mcp/buyer"
    },
    {
      "transport": "mcp",
      "url": "https://wl-test.agenticonrails.org/mcp/seller"
    },
    {
      "transport": "mcp",
      "url": "https://wl-test.agenticonrails.org/mcp/curator"
    }
  ],
  "transports": [
    {
      "protocol": "a2a",
      "url": "https://wl-test.agenticonrails.org/a2a"
    },
    {
      "protocol": "mcp",
      "url": "https://wl-test.agenticonrails.org/mcp"
    }
  ],
  "mcpEndpoints": {
    "full": "https://wl-test.agenticonrails.org/mcp",
    "buyer": "https://wl-test.agenticonrails.org/mcp/buyer",
    "seller": "https://wl-test.agenticonrails.org/mcp/seller",
    "curator": "https://wl-test.agenticonrails.org/mcp/curator"
  },
  "capabilities": {
    "streaming": true
  },
  "onboarding": {
    "register": "https://wl-test.agenticonrails.org/connect/register",
    "flow": "https://wl-test.agenticonrails.org/connect",
    "mode": "self-serve; sandbox-first"
  },
  "hello": {
    "self": "https://wl-test.agenticonrails.org/v1/hello",
    "well_known": "https://wl-test.agenticonrails.org/.well-known/hello",
    "signed": true,
    "free": true
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "invocation": {
    "skill_in": [
      "metadata.skill",
      "parts[].data.skill"
    ],
    "input_in": [
      "parts[].data.input",
      "parts[].data (flat)"
    ]
  },
  "skills": [
    {
      "id": "hello",
      "name": "hello",
      "description": "Introduce yourself — free, no auth. GET /v1/hello returns our signed self-introduction; POST /v1/hello exchanges introductions and returns ours signed. The open Hello primitive: say hi before you trade."
    },
    {
      "id": "get_products",
      "name": "get_products",
      "description": "Discover available media products (CTV/video inventory, formats, pricing)."
    },
    {
      "id": "create_media_buy",
      "name": "create_media_buy",
      "description": "Create a media buy against one or more products with a budget."
    },
    {
      "id": "get_media_buy_delivery",
      "name": "get_media_buy_delivery",
      "description": "Retrieve delivery for a media buy (confirmed impressions and spend)."
    }
  ]
}