Skip to main content
GET
/
api
/
forecast
/
v1
/
get-simulation-outcome
GetSimulationOutcome
curl --request GET \
  --url https://api.example.com/api/forecast/v1/get-simulation-outcome
{
  "found": true,
  "runId": "<string>",
  "outcomeKey": "<string>",
  "schemaVersion": "<string>",
  "theaterCount": 123,
  "generatedAt": 123,
  "note": "<string>",
  "error": "<string>",
  "theaterSummariesJson": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://worldmonitor.app/docs/llms.txt

Use this file to discover all available pages before exploring further.

Query Parameters

runId
string

IMPORTANT: Currently a no-op. Always returns the latest available outcome regardless of runId. Per-run lookup is reserved for Phase 3. Check the response 'note' field when runId is supplied and you need to detect a mismatch between requested and returned run.

Response

Successful response

found
boolean
runId
string
outcomeKey
string
schemaVersion
string
theaterCount
integer<int32>
generatedAt
integer<int64>

Unix timestamp in milliseconds (from Date.now()). Warning: Values > 2^53 may lose precision in JavaScript.. Warning: Values > 2^53 may lose precision in JavaScript

note
string

Populated when req.runId was supplied but does not match the returned outcome's runId. Indicates that per-run filtering is not yet active and the latest outcome was returned instead.

error
string

Populated when the Redis lookup failed. Distinguish from healthy not-found (found=false, error=""). Value: "redis_unavailable" on Redis errors.

theaterSummariesJson
string

JSON-encoded array of theater summaries for the UI (populated when found=true). Shape: Array<{ theaterId, theaterLabel, stateKind, topPaths: [{label, summary, confidence, keyActors}], dominantReactions, stabilizers, invalidators }> Parse with JSON.parse() on the client. Empty string when found=false.