{
 "name": "Afrimintel embedding & integration specification",
 "version": "1.0.0",
 "dataset_version": "v2.28.15",
 "summary": "How an external platform embeds Afrimintel decision-grade Africa mining intelligence: discovery, endpoints, schema, refresh, attribution, and entitlement.",
 "audience": "Platform integrators embedding structured Africa mining intelligence (e.g. terminal/analytics platforms).",
 "discovery": {
  "manifest": "/api/v1/manifest.json",
  "describes": "All live endpoints, counts, licence, quality contract, dataset pin.",
  "dataset_pin": "manifest.dataset_version == afm-build-id; pin integrations to it and watch for change."
 },
 "surfaces": [
  {
   "surface": "Assets / deposits",
   "endpoint": "/api/v1/deposits.json + /api/v1/deposits/{id}.json",
   "embed": "Asset index + per-record dossier export (intelligence-grade tier)."
  },
  {
   "surface": "Comparable transactions",
   "endpoint": "/api/v1/transactions.json",
   "embed": "2015-2025 African M&A + intl comparables; each record carries ver (verification status) and notes (attribution)."
  },
  {
   "surface": "Provinces / IC composites",
   "endpoint": "/api/v1/provinces.json + /api/v1/provinces-freshness.json",
   "embed": "13 provinces with IC composites + Fraser citation-freshness overlay."
  },
  {
   "surface": "Country risk",
   "endpoint": "/api/v1/countries.json",
   "embed": "40-country risk composites with per-pillar provenance + stated vintages."
  },
  {
   "surface": "EITI",
   "endpoint": "/api/v1/eiti-detail.json",
   "embed": "EITI implementation status restated from the public register with retrieval dates."
  },
  {
   "surface": "Safeguards (Component E)",
   "endpoint": "/api/v1/safeguards.json",
   "embed": "Per-asset G1-G5 gate states + bases; headline-render rule; 8 assets."
  },
  {
   "surface": "Bankability",
   "endpoint": "/api/v1/bankability.json",
   "embed": "Per-asset DFS NPV/capex/IRR markers (+ scenario ranges for worked DCFs); 8 assets."
  },
  {
   "surface": "Audit log",
   "endpoint": "/api/v1/audit-log.json",
   "embed": "Rolling correction/version history for provenance display."
  },
  {
   "surface": "Methodology",
   "endpoint": "/api/v1/methodology.json",
   "embed": "Methodology metadata + version."
  }
 ],
 "schema_contract": {
  "quality_states": [
   "Sourced",
   "Derived",
   "Absent"
  ],
  "extended_states": [
   "Partial",
   "N/A",
   "Editorial"
  ],
  "rule": "Every numeric or factual value is Sourced (named dated document), Derived (published-methodology calculation on Sourced/Derived inputs), or Absent. No fourth state to the core three. Absent fields are present-and-disclosed, never estimated.",
  "render_guidance": "Integrators should surface the state alongside the value (e.g. a stamp) and must not silently impute Absent fields."
 },
 "refresh": {
  "cadence": "Static versioned JSON regenerated at build; dataset_version pins to afm-build-id.",
  "poll": "Poll manifest.dataset_version; refetch changed endpoints on change.",
  "sla": "Material errors corrected within 7 business days, non-material within 30 (Quality Standard correction SLA)."
 },
 "delivery": {
  "mechanism": "Static versioned JSON over CDN (Netlify); cacheable; CORS-enabled for GET.",
  "auth": "v1: public-read. Key-gating + REST roadmapped, gated on integrator demand (anti-overbuild discipline)."
 },
 "attribution": {
  "required": true,
  "text": "Source: Afrimintel (afrimintel.com)",
  "licence": "https://afrimintel.com/terms/",
  "note": "Frameworks (IFC PS, AfDB ISS 2023, GISTM, IBAT, Fraser) are referenced as public standards, not partners or validators. No commercial relationship is implied with any named operator, owner, or institution."
 },
 "entitlement": {
  "public": "Summary surfaces + structured feed are public-read.",
  "gated": "Full-field dossiers, the full comparable set, and the full 40-country table are depth-paid (Pro). Embedding partners negotiate entitlement separately.",
  "embed_partner_track": "Structured-feed embed (terminal/analytics) is a distinct track from absorption; scope and entitlement are bilateral."
 },
 "coi_note": "DRC, Rwanda, and conflict-mineral (3TG) content appears in the data layer only as public-record fact; it carries no Afrimintel editorial opinion. Integrators embedding those records inherit the data-layer-only treatment."
}