{
 "name": "Agentic AI drafts API",
 "description": "Machine-readable view of ietf.jaime.win/agentic-ai-drafts (curated landscape) and /agentic-ai-new (drafts detected by a four-times-daily datatracker scan and classified by typesafe/jev). Read-only, no auth, CORS open. Classifier output is a hint from the abstract, not a review.",
 "docs": "https://ietf.jaime.win/agentic-ai-new",
 "start_here": "https://ietf.jaime.win/api/agentic/digest?since=7d&format=md",
 "fields": {
  "relevance": "0..1 probability the draft belongs in an agentic-AI standards landscape (jev noul).",
  "section": "identity | authz | discovery | protocols | netmgmt | attestation | iot | other, with section_confidence 0..1.",
  "centrality": "0 passing mention, 1 significant use case, 2 primary subject (jev score).",
  "style": "Is it AI? verdict when the draft has been scored: {signal: clear|review|flagged, ai_pct, agreement}. null = not scored, absent = not joined.",
  "found": "when the scan first saw this draft as a candidate; revised = datatracker revision time."
 },
 "endpoints": [
  {
   "method": "GET",
   "path": "/api/agentic/digest",
   "params": {
    "since": "7d (default) | 36h | 2w | ISO date",
    "min": "relevance threshold 0..1 or percent, default 0.7",
    "format": "json (default) | md",
    "limit": "max candidates, default 25, max 40"
   },
   "description": "One call for 'anything new lately': candidates first seen or revised in the window with style verdicts joined, plus curated drafts that got a new revision, expired, were replaced or published, plus last scan info.",
   "example": "https://ietf.jaime.win/api/agentic/digest?since=7d&format=md"
  },
  {
   "method": "GET",
   "path": "/api/agentic/candidates",
   "params": {
    "since": "window",
    "min": "relevance",
    "section": "section key",
    "centrality": "0|1|2 minimum",
    "submitter": "draft name token, e.g. das",
    "q": "substring over name/title/abstract",
    "sort": "time (default) | relevance | found",
    "limit": "default 200",
    "style": "1 to join Is it AI? verdicts (first 40)"
   },
   "description": "Filtered candidate list. Without params returns everything the page shows.",
   "example": "https://ietf.jaime.win/api/agentic/candidates?section=identity&min=0.8&style=1"
  },
  {
   "method": "GET",
   "path": "/api/agentic/changes",
   "params": {
    "since": "window, default 30d"
   },
   "description": "Curated drafts whose revision or state changed, newest first.",
   "example": "https://ietf.jaime.win/api/agentic/changes?since=14d"
  },
  {
   "method": "GET",
   "path": "/api/agentic/state",
   "description": "Live datatracker state of every curated draft: rev, expires, status, replaced_by."
  },
  {
   "method": "GET",
   "path": "/api/agentic/status",
   "description": "Summary of the last scan run."
  },
  {
   "method": "GET",
   "path": "/api/agentic/feed.xml",
   "description": "Atom feed of candidates, newest first."
  },
  {
   "method": "GET",
   "path": "/api/result/{draft}",
   "description": "Full Is it AI? analysis for one draft (404 if never scored). POST /is-it-ai/api/analyze to score one."
  }
 ]
}