Integration

Embedding & Integration Specification

How a platform embeds Afrimintel Africa mining intelligence as structured data — discovery, endpoints, the schema contract, refresh, delivery, attribution, and the embed-partner entitlement track. Machine-readable companion: /api/v1/embed-spec.json.

1 · Discovery

Start at the manifest: /api/v1/manifest.json. It enumerates every live endpoint, the dataset counts, the licence, the quality contract, and the dataset pin. Pin integrations to manifest.dataset_version (equal to the build's afm-build-id) and watch it for change.

2 · Surfaces & endpoints

Nine structured surfaces. All are static versioned JSON, cacheable, CORS-enabled for GET.

SurfaceEndpointWhat embeds
Assets / deposits/api/v1/deposits.json
/api/v1/deposits/{id}.json
Asset index + per-record dossier export (intelligence-grade tier).
Comparable transactions/api/v1/transactions.json2015–2025 African M&A + international comparables. Each record carries ver (verification status) and notes (attribution).
Provinces/api/v1/provinces.json
/api/v1/provinces-freshness.json
13 provinces: name, commodities and sources. No score.
Country indices/api/v1/countries.json40 countries: Fraser IAI, TI CPI, NRGI RGI and EITI as each publisher states them, with vintages. No composite.
EITI/api/v1/eiti-detail.jsonEITI implementation status restated from the public register with retrieval dates.
Safeguards (Component E)/api/v1/safeguards.jsonPer-asset E&S safeguards disclosure screen on the IFC Performance Standards spine; every cell Sourced / Derived / Absent, or N/A where the dimension does not apply. Row count in manifest counts.safeguards_assets.
Bankability/api/v1/bankability.jsonPer-asset DFS NPV / capex / IRR markers (+ scenario ranges for fully-worked DCFs), with npv8_common discount-rate normalisation and a price-deck comparability note. Depth tiers declared per row; totals in manifest counts.bankability_assets_total / bankability_deep.
Audit log/api/v1/audit-log.jsonRolling correction / version history for provenance display.
Methodology/api/v1/methodology.jsonMethodology metadata + version.

3 · Schema contract — the three states

Every numeric or factual value is in one of three states, and an integrator must surface the state alongside the value:

Two non-claim statuses appear alongside the core three, mirroring the manifest quality_contract.non_claim_statuses: Pending (a verification working-tag, not a resting state — it decays to Absent after one 30-day non-material correction-SLA cycle without a logged progress note) and N/A (the dimension does not apply to the asset). Neither asserts a value. Absent cells additionally carry an absence_basis declaring why the figure is absent. There is no fourth state to the core three.

Integration rule. Do not silently impute Absent fields, and do not strip the state from a value when embedding. On safeguards, respect the headline-render rule: a composite renders only when all relevant gates resolve — any Absent relevant gate flags the asset and withholds the headline by design. Carrying the value without its state breaks the quality contract this platform exists to hold.

4 · Refresh & correction SLA

Endpoints are regenerated at build; dataset_version pins to afm-build-id. Poll manifest.dataset_version and refetch changed endpoints when it moves. Under the published Quality Standard, material errors are corrected within 7 business days and non-material within 30; the audit-log endpoint carries the running record.

5 · Delivery

Static versioned JSON over CDN (Netlify). Cacheable; CORS-enabled for GET. v1 is public-read; key-gating and a REST surface are roadmapped and gated on integrator demand (anti-overbuild discipline — capacity is not built ahead of a committed integrator).

6 · Attribution & licence

Attribution is required: Source: Afrimintel (afrimintel.com), under the terms. 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 in the data.

7 · Entitlement & the embed-partner track

Summary surfaces and the structured feed are public-read. Full-field dossiers, the full comparable set, and the full 40-country table are depth-paid (Pro). A structured-feed embed into a terminal or analytics platform is a distinct track from absorption: scope, refresh guarantees, and entitlement are bilateral, negotiated per integrator.

8 · COI & data-layer treatment

DRC, Rwanda, and conflict-mineral (3TG) content appears in the data layer only, as public-record fact carrying no Afrimintel editorial opinion. An integrator embedding those records inherits the data-layer-only treatment — public fact, no editorial overlay.

Afrimintel embedding & integration specification v1.0.0 · machine-readable: /api/v1/embed-spec.json · manifest: /api/v1/manifest.json · Quality Standard: /quality-standard/ · Published by Afrimintel Ltd (Mauritius) · For journalists · Pricing · Editor-in-Chief: Nikesh Patel, geochemist · Built to survive due diligence.