{"openapi":"3.1.0","info":{"title":"Patch Agent public API","version":"1.0.0","description":"Public read-only API. All endpoints are unauthenticated GETs."},"servers":[{"url":"https://phpagent.si"}],"paths":{"/api/v1/status":{"get":{"summary":"Computed health of every service and capability flags. Alias: /status.json","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/project":{"get":{"summary":"Project metadata, evidence URLs and operational capabilities. Alias: /project.json","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/cves":{"get":{"summary":"Tracked advisories and fixed-release table with data source","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/cves/{id}":{"get":{"summary":"Live lookup across NVD, GitHub Advisories and CISA KEV with provenance","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/patches":{"get":{"summary":"Patch records. REAL only unless the server runs DEMO_MODE","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/patches/{id}":{"get":{"summary":"Single patch record","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/public-check":{"get":{"summary":"Read-only inspection of one user-supplied public GitHub repository","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/public-checks":{"get":{"summary":"Completed public repository inspections. Read-only findings, never patches","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/repos/{owner}/{repo}":{"get":{"summary":"Repository authorization, patch history and metrics","parameters":[{"name":"owner","in":"path","required":true,"schema":{"type":"string"}},{"name":"repo","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/events":{"get":{"summary":"Agent event log (limit ≤ 500)","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/proof":{"get":{"summary":"REAL-only verification ledger with external URLs and hashes","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/token":{"get":{"summary":"Token contract address (null until launched); changes stream as `config` events","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/treasury":{"get":{"summary":"Read-only treasury balance and signatures","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/metrics":{"get":{"summary":"Metrics computed from recorded timestamps","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/sources":{"get":{"summary":"Citation registry","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/agent":{"get":{"summary":"Worker telemetry: running, last run time and summary, scheduler and write flags","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v1/stream":{"get":{"summary":"Server-Sent Events: event `agent` carries an AgentEvent","parameters":[],"responses":{"200":{"description":"OK","content":{"text/event-stream":{}}}}}}}}