{
  "name": "Warconomy developer guide",
  "asOf": "2026-06-05",
  "datasetVersion": "1.187.0",
  "note": "Warconomy is fully static: every endpoint is a prerendered file. There is no runtime API, no authentication, no rate limits, and no SDK package to install — fetch and cache the files directly. Coverage is partial and not real-time; cite live/static values, never sample rows.",
  "page": "https://warconomy.com/developers",
  "endpoints": [
    {
      "label": "Full dataset",
      "url": "https://warconomy.com/datasets/conflict-economic-impact/data.json"
    },
    {
      "label": "Provenance",
      "url": "https://warconomy.com/datasets/conflict-economic-impact/provenance.json"
    },
    {
      "label": "Citation graph",
      "url": "https://warconomy.com/datasets/conflict-economic-impact/graph.json"
    },
    {
      "label": "JSON Schema",
      "url": "https://warconomy.com/datasets/conflict-economic-impact/schema.json"
    },
    {
      "label": "OpenAPI (static)",
      "url": "https://warconomy.com/api/openapi.json"
    },
    {
      "label": "Version registry",
      "url": "https://warconomy.com/datasets/conflict-economic-impact/versions/data.json"
    },
    {
      "label": "Route catalog",
      "url": "https://warconomy.com/routes/data.json"
    },
    {
      "label": "Static endpoints",
      "url": "https://warconomy.com/api/data.json"
    }
  ],
  "examples": [
    {
      "id": "fetch-dataset",
      "title": "Fetch the dataset",
      "description": "Everything is a static file — a plain GET, no key, no client.",
      "language": "javascript",
      "code": "const res = await fetch(\"https://warconomy.com/datasets/conflict-economic-impact/data.json\");\nconst data = await res.json();\nconsole.log(data.version, data.observations.length);"
    },
    {
      "id": "read-observations",
      "title": "Read live observations",
      "description": "Filter to genuinely sourced live values; sample rows are labeled.",
      "language": "javascript",
      "code": "const { observations } = await (await fetch(\"https://warconomy.com/datasets/conflict-economic-impact/data.json\")).json();\nconst live = observations.filter((o) => o.dataMode === \"live\");\nfor (const o of live) console.log(o.metricId, o.value, o.unit, o.asOf, o.sourceId);"
    },
    {
      "id": "join-sources",
      "title": "Join observations to their sources",
      "description": "Resolve each observation's sourceId against the sources array.",
      "language": "javascript",
      "code": "const data = await (await fetch(\"https://warconomy.com/datasets/conflict-economic-impact/data.json\")).json();\nconst byId = Object.fromEntries(data.sources.map((s) => [s.id, s]));\nconst cited = data.observations.map((o) => ({\n  value: o.value,\n  asOf: o.asOf,\n  source: byId[o.sourceId]?.title,\n  url: byId[o.sourceId]?.url,\n}));"
    },
    {
      "id": "use-provenance",
      "title": "Use the provenance export",
      "description": "One row per source-linked record with authority/readiness and the page it appears on.",
      "language": "javascript",
      "code": "const prov = await (await fetch(\"https://warconomy.com/datasets/conflict-economic-impact/provenance.json\")).json();\nconst highReadiness = prov.records.filter((r) => r.citationReadiness === \"high\");\nconsole.log(highReadiness.length, \"high-readiness records\");"
    },
    {
      "id": "read-diff",
      "title": "Read a version diff",
      "description": "Value-level diff between two materialized versions; field-level via record-diffs.json.",
      "language": "javascript",
      "code": "const diff = await (await fetch(\"https://warconomy.com/datasets/conflict-economic-impact/versions/1.187.0/diff.json\")).json();\nconsole.log(diff.previousVersion, \"->\", diff.version, \"valueLevel:\", diff.valueLevel);\nconst recs = await (await fetch(\"https://warconomy.com/datasets/conflict-economic-impact/versions/1.187.0/record-diffs.json\")).json();\nconsole.log(recs.changedRecordCount, \"records changed\");"
    },
    {
      "id": "load-csv",
      "title": "Load CSV / JSONL distributions",
      "description": "Tabular mirrors for spreadsheets and data tools (RFC-4180 CSV; one JSON object per line).",
      "language": "bash",
      "code": "curl -s https://warconomy.com/datasets/conflict-economic-impact/observations.csv -o observations.csv\ncurl -s https://warconomy.com/datasets/conflict-economic-impact/provenance.jsonl | head -n 1"
    },
    {
      "id": "cite-page",
      "title": "Cite a page or value",
      "description": "Cite the linked source for a figure; cite Warconomy for the structured context and dataset version.",
      "language": "text",
      "code": "Warconomy, \"Conflict economic-impact dataset\" (v1.187.0),\nhttps://warconomy.com/datasets/conflict-economic-impact, accessed 2026-06-05. Underlying value: see the cited source on the indicator page."
    }
  ],
  "contract": {
    "openapi": "https://warconomy.com/api/openapi.json",
    "schema": "https://warconomy.com/datasets/conflict-economic-impact/schema.json",
    "routes": "https://warconomy.com/routes"
  },
  "consumerContract": [
    {
      "label": "Data package manifest",
      "url": "https://warconomy.com/datasets/conflict-economic-impact/package.json"
    },
    {
      "label": "Export checksums",
      "url": "https://warconomy.com/datasets/conflict-economic-impact/checksums.json"
    },
    {
      "label": "TypeScript types",
      "url": "https://warconomy.com/developers/types"
    },
    {
      "label": "Type declarations (.d.ts)",
      "url": "https://warconomy.com/developers/types/warconomy-types.d.ts"
    },
    {
      "label": "Contract fixtures",
      "url": "https://warconomy.com/developers/fixtures"
    },
    {
      "label": "Validation guide",
      "url": "https://warconomy.com/developers/validation"
    },
    {
      "label": "Contract changelog",
      "url": "https://warconomy.com/developers/changelog"
    },
    {
      "label": "Surface JSON Schemas",
      "url": "https://warconomy.com/datasets/conflict-economic-impact/schema-report"
    },
    {
      "label": "Record history index",
      "url": "https://warconomy.com/records"
    },
    {
      "label": "Static endpoint catalog",
      "url": "https://warconomy.com/api/data.json"
    }
  ]
}