Home › Product › API
Product

EDIS as a service in your own systems

Institutions that already run a planning portal, a data warehouse or a results dashboard can call EDIS directly. API access is added to an existing licence and inherits every permission that licence carries.

Endpoint areas

Six families of endpoints

Availability is set per key. An organisation can expose indicators to a public dashboard while keeping scenario execution restricted to named internal services.

GET

Indicators

Published and licensed indicators by country, region, district and year, with the source dataset and reference period attached to every series.

GET

Model results

Results from completed runs, addressed by run ID, returning the same values the interface shows together with the full provenance record.

POST / GET

Scenario runs

Submit a scenario, receive a run ID, poll or subscribe for state changes, then retrieve results when the run completes. Subject to the run allowance.

GET

GIS

Layers, catchments, travel-time surfaces and scenario overlays, returned as GeoJSON or as tiles, within the licensed country set.

GET

Forecasts

Baseline and scenario projection paths by indicator and horizon, with the model version and calibration vintage that produced them.

POST / GET

Reports

Request generation of a report format against a completed run, and retrieve the document when it is ready.

Controls

What an administrator manages

  • Keys — issued, rotated and revoked per service, never per person
  • Quotas — requests, model runs and storage, set against the licence
  • Endpoint permissions — which families a key may call
  • Country scope — which countries a key may address
  • Rate limiting — per key and per organisation
  • Request logs — complete, retained and exportable
  • Usage dashboard — consumption against quota, in the admin portal

Request shape

POST /v1/scenarios/run
Authorization: Bearer <api-key>
Content-Type: application/json

{
  "country": "UT",
  "question_id": "Q-HLT-007",
  "scenario": {
    "name": "HLT-BUDGET-20",
    "shocks": [
      { "type": "expenditure",
        "vote": "health",
        "change_pct": 20 }
    ],
    "baseline_year": 2024,
    "horizon": 2030
  }
}

202 Accepted
{ "run_id": "EDIS-RUN-2026-1184",
  "state": "queued" }

Illustrative. The published specification is issued with the key and versioned alongside the platform.

Rules

The API cannot exceed the licence

Same permissions

A key can never reach data, a model or a country the organisation is not licensed for. Permission is checked at the service, not in the client.

Same provenance

Every response carries the model version, data source, scenario and run ID. There is no bare-number endpoint.

Same failure behaviour

A non-converged or failed run returns that state. The API does not substitute an estimate.

Same audit trail

API calls are logged exactly as interface actions are, and appear in the organisation’s audit record.

Request API access See access levels