Open beta · schema 2026-07-20

Run the same engine headlessly

POST a public benchmark key or a complete 8,760-hour project to the simulation endpoint. The response returns provenance, a deterministic input fingerprint, technical results, lifecycle economics, and any requested outage or component-disturbance resilience analysis.

Endpoint

POST /api/v1/simulate

JSON in, JSON out. CORS is enabled for public read-and-run integrations.

Default response

Aggregate, not hourly

Technical, economic, and requested resilience results are returned by default. Set includeHourly to true when the complete dispatch trace is required.

Limits

3 MB · 50 years

Custom projects require exactly 8,760 non-negative load values. Payloads are capped at 3 MB and project life at 50 years.

Fastest first call

Run one of the published reference projects without constructing a full project payload.

curl -X POST https://www.microgridmodeler.com/api/v1/simulate \
  -H "Content-Type: application/json" \
  -d '{"benchmarkKey":"clinic-small","includeHourly":false}'

Request contract

Provide exactly one source: benchmarkKey or project.

FieldTypeRequiredMeaning
benchmarkKeystringOne of twoKey from the public benchmark catalog.
projectProject objectOne of twoComplete site, 8,760 load, economics, constraints, and system design payload; optional grid and resilience specs.
includeHourlybooleanNoReturns the complete hourly dispatch series when true. Default false.
Open-beta boundary. The schema is versioned, but authentication, service-level guarantees, bulk optimization, and stored projects are not part of this public endpoint. Archive the schemaVersion, project payload, and returned fingerprint with any automated study.

Published benchmark keys

These keys are stable inputs to the endpoint and link to the same reference suite visible on the site.

KeyNameLoad archetypePeakClimate
arctic-telecomArctic telecom relaytelecom8 kWarctic
desert-telecomDesert telecom relaytelecom12 kWdesert
clinic-smallRemote clinic (small)clinic20 kWtropical
clinic-mediumRemote clinic (medium)clinic60 kWtemperate
island-guesthouseIsland guesthousehospitality80 kWtropical
island-resortIsland resorthospitality300 kWtropical
rural-schoolRural schoolschool40 kWcontinental
boarding-schoolBoarding schoolschool120 kWtemperate
village-tinyVillage microgrid (tiny)village50 kWtropical
village-smallVillage microgrid (small)village150 kWtropical
village-mediumVillage microgrid (medium)village400 kWtropical
mine-camp-smallMine camp (small)mine-camp250 kWdesert
mine-camp-mediumMine camp (medium)mine-camp1000 kWcontinental
cold-storageCold storage agro sitecold-storage150 kWtemperate
water-pumpingWater pumping stationwater-pumping75 kWdesert
fisheries-iceFisheries / ice plantcold-storage200 kWmaritime
municipalityRemote municipalityutility-feeder500 kWtemperate
construction-campConstruction campmine-camp300 kWdesert
military-baseRemote military support basemilitary750 kWdesert
island-feederHigh-fuel-cost island feederutility-feeder2000 kWtropical

Response shape

The exact component and result schemas are published in the OpenAPI document.

{
  "schemaVersion": "2026-07-20",
  "engine": "MicrogridModeler 2.4 chronological techno-economic, resilience, tariff, exceedance-screen, and Pareto-sizing engine",
  "fingerprint": {
    "value": "…",
    "method": "cyrb53 over the serialized project payload",
    "cryptographic": false
  },
  "project": { "id": "clinic-small", "name": "Remote clinic (small)" },
  "provenance": { "solar": { "source": "synthetic", "model": "…" } },
  "resource": { "annualGhiKwhM2": 0, "specificYieldKwhPerKw": 0 },
  "result": {
    "feasible": true,
    "violations": [],
    "technical": { "annualLoadKwh": 0, "fuelLitres": 0 },
    "economics": { "npc": 0, "lcoe": 0 }
  }
}