{
  "slug": "c1-api-access",
  "name": "API Access Agreement",
  "category": "commerce",
  "description": "Pay-per-call or subscription API access contract between an agent (buyer) and API provider (seller). Covers rate limits, SLA uptime, x402 payment terms, and data handling.",
  "price_cents": 300,
  "parameter_schema": {
    "type": "object",
    "required": [
      "buyer_name",
      "buyer_agent_id",
      "seller_name",
      "api_endpoint",
      "pricing_model",
      "price_per_call",
      "currency",
      "sla_uptime_percent",
      "governing_law"
    ],
    "properties": {
      "buyer_name": {
        "type": "string",
        "description": "Legal name of the API consumer / principal"
      },
      "buyer_agent_id": {
        "type": "string",
        "description": "Wallet address of the agent consuming the API"
      },
      "seller_name": {
        "type": "string",
        "description": "Legal name of the API provider"
      },
      "seller_agent_id": {
        "type": "string",
        "description": "Wallet address of the provider agent (if agent-to-agent)"
      },
      "api_endpoint": {
        "type": "string",
        "description": "Base URL or service identifier"
      },
      "pricing_model": {
        "type": "string",
        "enum": ["per-call", "monthly-subscription", "tiered", "credits"],
        "description": "How usage is billed"
      },
      "price_per_call": {
        "type": "number",
        "description": "Cost per API call in specified currency (for per-call model)"
      },
      "monthly_cap_usd": {
        "type": "number",
        "description": "Maximum monthly spend"
      },
      "currency": {
        "type": "string",
        "default": "USDC",
        "description": "Payment currency (USDC, USD, EUR)"
      },
      "rate_limit_rpm": {
        "type": "integer",
        "description": "Maximum requests per minute"
      },
      "sla_uptime_percent": {
        "type": "number",
        "default": 99.9,
        "description": "Guaranteed uptime percentage"
      },
      "sla_response_ms": {
        "type": "integer",
        "description": "Maximum p95 response time in milliseconds"
      },
      "data_retention_days": {
        "type": "integer",
        "default": 30,
        "description": "How long request/response data is retained"
      },
      "data_processing_location": {
        "type": "string",
        "description": "Geographic restriction on data processing (e.g. EU, US)"
      },
      "governing_law": {
        "type": "string",
        "default": "Singapore"
      },
      "x402_enabled": {
        "type": "boolean",
        "default": true,
        "description": "Whether x402 HTTP payment protocol is used"
      }
    }
  }
}
