{
 "openapi": "3.1.0",
 "info": {
  "title": "DroneLedger API",
  "version": "1",
  "description": "Source-backed drone incident dossiers. Each dossier separates three claims: drone presence, impact and attribution, each with its own evidence state and supporting sources. 'reported' means a source describes the claim without sufficient identification evidence; claims by parties to a conflict are never 'confirmed' on their own. Counts reflect dossiers in this curated archive, not all incidents worldwide."
 },
 "servers": [
  {
   "url": "https://droneincidents.com"
  }
 ],
 "paths": {
  "/api/v1/incidents.json": {
   "get": {
    "summary": "All published dossiers",
    "description": "Each dossier separates three claims: drone presence, impact and attribution, each with its own evidence state and supporting sources. 'reported' means a source describes the claim without sufficient identification evidence; claims by parties to a conflict are never 'confirmed' on their own. Counts reflect dossiers in this curated archive, not all incidents worldwide.",
    "responses": {
     "200": {
      "description": "JSON"
     }
    }
   }
  },
  "/api/v1/incidents/{id}.json": {
   "get": {
    "summary": "One dossier by id",
    "description": "Includes sources, timeline, history and citation.",
    "responses": {
     "200": {
      "description": "JSON"
     }
    }
   }
  },
  "/api/v1/drone-types.json": {
   "get": {
    "summary": "Drone type catalogue",
    "description": "Manufacturer, origin, operators, published unit-cost estimates with sources.",
    "responses": {
     "200": {
      "description": "JSON"
     }
    }
   }
  },
  "/api/v1/trends.json": {
   "get": {
    "summary": "Counts per period",
    "description": "Dossiers by incident date compared with the previous period of the same length.",
    "responses": {
     "200": {
      "description": "JSON"
     }
    }
   }
  },
  "/mcp": {
   "post": {
    "summary": "Model Context Protocol endpoint (Streamable HTTP, JSON-RPC 2.0)",
    "description": "Read-only tools: search_incidents, get_incident, get_trends, list_drone_types, get_drone_type, get_methodology.",
    "responses": {
     "200": {
      "description": "JSON-RPC response"
     }
    }
   }
  }
 }
}
