API and agent guide

Foresight Engine publishes every run through a read-only JSON API. There is no sign-up and no API key: send a GET request and you get the same bytes the engine's own kernel returns for that path.

When to use this API

Use it when you need sourced, reviewable numbers about a specific insured loss and the technology that mitigates it, for example:

Do not use it for live market prices, policy quotes or claims data about individual people: it holds none of those.

Quickstart

List the runs, then read one run's catalog and forecast:

curl -s https://foresight-engine.pages.dev/api/runs
curl -s https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe/ventures
curl -s https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe/forecast

Download the archived source behind a figure by its SHA-256 digest, as listed in a run's evidence:

curl -s https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe/evidence
curl -sO https://foresight-engine.pages.dev/api/runs/2026-wildfire-southern-europe/snapshots/<digest>

Endpoints

Endpoint Operation What it returns
GET /api/health getHealth Engine health and version.
GET /api/packs listPacks List industry packs.
GET /api/packs/{pack_id} getPack Get one industry pack.
GET /api/runs listRuns List forecast runs.
GET /api/runs/{run_id} getRun Get one run with its stages and sign-offs.
GET /api/runs/{run_id}/ventures listRunVentures List a run's venture catalog.
GET /api/runs/{run_id}/categories listRunCategories List a run's mitigation categories.
GET /api/runs/{run_id}/forecast getRunForecast Get a run's loss forecast.
GET /api/runs/{run_id}/sensitivity getRunSensitivity Get a run's sensitivity analysis.
GET /api/runs/{run_id}/evidence getRunEvidence Get a run's evidence graph.
GET /api/runs/{run_id}/log getRunLog Get a run's event log.
GET /api/runs/{run_id}/tasks listRunTasks List a run's agent tasks.
GET /api/runs/{run_id}/gates getRunGates Get a run's methodology gate findings.
GET /api/runs/{run_id}/evals/tiering getRunTieringEval Get a run's category tiering check.
GET /api/tasks listTasks List agent tasks across all runs.
GET /api/runs/{run_id}/snapshots/{digest} getRunSnapshot Download an archived source snapshot.
GET /api/runs/{run_id}/logos/{vid} getVentureLogo Download a venture's logo.
GET /api/runs/{run_id}/exports/catalog.xlsx downloadVentureCatalog Download a run's venture catalog workbook.

Errors

Errors are JSON with a detail field that says what went wrong in plain words. An unknown run, pack, venture or snapshot answers 404. A forecast or sensitivity request on a run that has not reached its computed stage answers with the status the kernel gives it. Unknown pages answer a real 404, in Markdown if you asked for it.

Writing

Creating runs, answering agent tasks and signing off stages happen in the web app, where the engine runs inside your browser and commits its changes to shared storage. They are deliberately not part of the public API. Open the app to do them.

Limits

The site runs on Cloudflare's free plan, so every request shares one daily quota. Cache what you read, avoid polling more than once a minute, and prefer /api/runs to discover what changed. Responses may be gzip-compressed; send Accept-Encoding: gzip or let your client decompress.