{
  "name": "Ninpo Snacks Merchant Agent",
  "description": "Ninpo merchant agent for authenticated agent-to-agent commerce negotiation using canonical catalog and inventory state.",
  "supportedInterfaces": [
    {
      "url": "https://api.ninposnacks.com/api/v1/a2a",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "Ninpo LLC",
    "url": "https://ninposnacks.com"
  },
  "version": "1.0.0",
  "documentationUrl": "https://ninposnacks.com/merchant-agent.md",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://ninposnacks.com/extensions/commerce-negotiation/v1",
        "description": "Carries a structured cart and requested discount percentage for canonical Ninpo negotiation.",
        "required": false
      },
      {
        "uri": "https://ucp.dev/2026-08-25/specification/reference",
        "description": "Enables UCP 2026-08-25 checkout data types over A2A.",
        "required": false,
        "params": {
          "capabilities": {
            "dev.ucp.shopping.checkout": [
              {
                "version": "2026-08-25"
              }
            ],
            "dev.ucp.shopping.fulfillment": [
              {
                "version": "2026-08-25",
                "extends": "dev.ucp.shopping.checkout"
              }
            ]
          }
        }
      },
      {
        "id": "ap2",
        "name": "ap2",
        "uri": "https://github.com/google-agentic-commerce/ap2/tree/v0.1",
        "description": "Agent Payments Protocol (AP2) support for cryptographically-signed checkout mandates.",
        "required": true,
        "roles": ["merchant"],
        "params": {
          "roles": ["merchant"],
          "role": "merchant"
        }
      },
      {
        "id": "ap2-root",
        "name": "ap2",
        "uri": "https://github.com/google-agentic-commerce/ap2",
        "description": "Agent Payments Protocol (AP2)",
        "required": true,
        "roles": ["merchant"]
      },
      {
        "id": "ap2-legacy-v010",
        "name": "ap2",
        "uri": "https://github.com/google-agentic-commerce/AP2/tree/v0.1.0",
        "description": "Agent Payments Protocol (AP2) support for cryptographically-signed checkout mandates.",
        "required": true,
        "roles": ["merchant"]
      },
      {
        "id": "ap2-protocol",
        "name": "ap2",
        "uri": "https://ap2-protocol.org/",
        "description": "Agent Payments Protocol (AP2)",
        "required": true,
        "roles": ["merchant"],
        "params": {
          "roles": ["merchant"],
          "role": "merchant"
        }
      },
      {
        "id": "a2a-x402",
        "name": "a2a-x402",
        "uri": "https://github.com/google-agentic-commerce/a2a-x402",
        "description": "A2A x402 payment rail extension.",
        "required": false
      }
    ]
  },
  "extensions": [
    {
      "id": "ap2",
      "name": "ap2",
      "uri": "https://github.com/google-agentic-commerce/ap2/tree/v0.1",
      "description": "Agent Payments Protocol (AP2) support for cryptographically-signed checkout mandates.",
      "required": true,
      "roles": ["merchant"],
      "params": {
        "roles": ["merchant"],
        "role": "merchant"
      }
    },
    {
      "id": "ap2-root",
      "name": "ap2",
      "uri": "https://github.com/google-agentic-commerce/ap2",
      "description": "Agent Payments Protocol (AP2)",
      "required": true,
      "roles": ["merchant"]
    },
    {
      "id": "ap2-legacy-v010",
      "name": "ap2",
      "uri": "https://github.com/google-agentic-commerce/AP2/tree/v0.1.0",
      "description": "Agent Payments Protocol (AP2) support for cryptographically-signed checkout mandates.",
      "required": true,
      "roles": ["merchant"]
    },
    {
      "id": "ap2-protocol",
      "name": "ap2",
      "uri": "https://ap2-protocol.org/",
      "description": "Agent Payments Protocol (AP2)",
      "required": true,
      "roles": ["merchant"],
      "params": {
        "roles": ["merchant"],
        "role": "merchant"
      }
    },
    {
      "id": "a2a-x402",
      "name": "a2a-x402",
      "uri": "https://github.com/google-agentic-commerce/a2a-x402",
      "description": "A2A x402 payment rail extension.",
      "required": false
    },
    {
      "uri": "https://ucp.dev/2026-08-25/specification/reference",
      "description": "Enables UCP 2026-08-25 checkout data types over A2A.",
      "required": false,
      "params": {
        "capabilities": {
          "dev.ucp.shopping.checkout": [
            {
              "version": "2026-08-25"
            }
          ],
          "dev.ucp.shopping.fulfillment": [
            {
              "version": "2026-08-25",
              "extends": "dev.ucp.shopping.checkout"
            }
          ]
        }
      }
    },
    {
      "uri": "https://ninposnacks.com/extensions/commerce-negotiation/v1",
      "description": "Carries a structured cart and requested discount percentage for canonical Ninpo negotiation.",
      "required": false
    }
  ],
  "securitySchemes": {
    "bearerAuth": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "bearerFormat": "JWT",
        "description": "Ninpo authenticated user bearer token."
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "bearerAuth": {
          "list": []
        }
      }
    }
  ],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "ucp-checkout",
      "name": "UCP checkout",
      "description": "Manage Ninpo checkout sessions and complete or cancel checkout using UCP 2026-08-25 data types.",
      "tags": [
        "commerce",
        "checkout",
        "ucp"
      ],
      "examples": [
        "Add an item to a UCP checkout.",
        "Complete a UCP checkout with a payment instrument."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "bearerAuth": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "commerce-negotiation",
      "name": "Commerce negotiation",
      "description": "Evaluate a requested discount against canonical Ninpo product, price, cost, and inventory state.",
      "tags": [
        "commerce",
        "pricing",
        "negotiation",
        "inventory"
      ],
      "examples": [
        "Request a discount for a cart using the commerce negotiation extension."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "bearerAuth": {
              "list": []
            }
          }
        }
      ]
    }
  ],
  "signatures": []
}
