{
 "openapi": "3.1.0",
 "info": {
  "title": "kkj-watch",
  "version": "0.2.0",
  "description": "Two machine-readable change-detection feeds: (1) Japanese public procurement changes (corrections, deadline changes, document replacements) with impact tags and evidence; (2) x402 Bazaar registry changes (price/payTo/schema/listing) with SHA-256 snapshot audit trail. Free feeds + x402-paid evidence endpoints."
 },
 "servers": [
  {
   "url": "https://5.75.142.199.sslip.io"
  }
 ],
 "paths": {
  "/events": {
   "get": {
    "summary": "Japanese procurement change events (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    },
    "parameters": [
     {
      "name": "tag",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  },
  "/cases": {
   "get": {
    "summary": "Search monitored tenders (free). purchasable=1 returns only keys instantly deliverable at /paid/requirements/{key}",
    "responses": {
     "200": {
      "description": "OK"
     }
    },
    "parameters": [
     {
      "name": "query",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "purchasable",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  },
  "/cases/{key}": {
   "get": {
    "summary": "Full evidence for one tender (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/sample-diff": {
   "get": {
    "summary": "Sample procurement change event (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/x402/changes": {
   "get": {
    "summary": "x402 Bazaar registry change events (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    },
    "parameters": [
     {
      "name": "type",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "severity",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  },
  "/x402/resources": {
   "get": {
    "summary": "Search the monitored x402 registry (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  },
  "/x402/best": {
   "get": {
    "summary": "Select the best x402 endpoint for a task/budget (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "category",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "max_price_usd",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "min_trust",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "require_live",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  },
  "/x402/trust/{id}": {
   "get": {
    "summary": "Observed trust score 0-100 + verdicts (free, not a guarantee)",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/x402/leaderboard": {
   "get": {
    "summary": "x402 resources ranked by observed trust score (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  },
  "/x402/sample-change": {
   "get": {
    "summary": "Sample registry change event (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/paid/requirements/{key}": {
   "get": {
    "summary": "Structured bidding requirements, $0.02 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/analyze-now/{key}": {
   "get": {
    "summary": "On-demand LLM extraction, $0.30 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/x402/history/{id}": {
   "get": {
    "summary": "Full snapshot+event history for one x402 resource, $0.01 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/x402/report/{id}": {
   "get": {
    "summary": "Trust dossier: score+evidence+history+probes, $0.02 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/x402/attest/{id}": {
   "get": {
    "summary": "Signed attestation: inclusion proof + daily hash-chain root, $0.02 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/x402/reverify/{id}": {
   "get": {
    "summary": "Operator instant re-verification: immediate probe + score recompute, $0.25 via x402 (score itself cannot be bought)",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/x402/attestations": {
   "get": {
    "summary": "Latest signed daily hash-chain root (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/fuel": {
   "get": {
    "summary": "Agent Fuel catalog: 8 small signed data products (free index)",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/paid/fuel/npm/downloads/{package}": {
   "get": {
    "summary": "npm downloads: week+month totals, 14-day series, momentum, $0.01 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/fuel/github/trending": {
   "get": {
    "summary": "GitHub trending: repos created last 7d ranked by stars, $0.02 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    },
    "parameters": [
     {
      "name": "language",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  },
  "/paid/fuel/hn/frontpage": {
   "get": {
    "summary": "Hacker News front page with attention totals, $0.01 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/fuel/hn/buzz/{keyword}": {
   "get": {
    "summary": "7-day HN attention metrics for a keyword, $0.02 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/fuel/dns/{hostname}": {
   "get": {
    "summary": "DNS A/AAAA/MX/TXT/NS via DoH, normalized, $0.01 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/fuel/rdap/{domain}": {
   "get": {
    "summary": "Domain registration data (RDAP): registrar/created/expiry/status, $0.02 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/paid/fuel/defi/yields": {
   "get": {
    "summary": "DeFi yields from top-500-TVL pools (DefiLlama), $0.02 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    },
    "parameters": [
     {
      "name": "project",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "chain",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "stablecoin",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  },
  "/paid/fuel/crypto/fear-greed": {
   "get": {
    "summary": "Crypto Fear & Greed index + 30d series, $0.01 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    }
   }
  },
  "/x402/vetted-new/sample": {
   "get": {
    "summary": "24h-delayed sample of the vetted new-listings feed (free)",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/paid/x402/vetted-new": {
   "get": {
    "summary": "Vetted new-listings feed: new Bazaar resources since ?since=, live-probed within minutes (alive/402/consistency/x402Version/trust), $0.10 via x402",
    "responses": {
     "200": {
      "description": "OK"
     },
     "402": {
      "description": "x402 Payment Required (USDC on Base)"
     }
    },
    "parameters": [
     {
      "name": "since",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ]
   }
  }
 }
}