---
title: "GetSimulationOutcome"
method: GET
path: "/api/forecast/v1/get-simulation-outcome"
tags: ["ForecastService"]
---

# GetSimulationOutcome

`GET /api/forecast/v1/get-simulation-outcome`

## Request

- Base URL: `https://api.worldmonitor.app`
- URL: `https://api.worldmonitor.app/api/forecast/v1/get-simulation-outcome`
- Auth: one of:
  - API key in header `X-WorldMonitor-Key`
  - API key in header `X-Api-Key`

GetSimulationOutcome returns the latest forecast simulation outcome, refreshed about hourly. The response note is set when a supplied runId does not match.

## Query parameters

- `runId` string
- `jmespath` string

## Response `200`

OK

- WorldmonitorForecastV1GetSimulationOutcomeResponse
  - `found` boolean
  - `runId` string
  - `schemaVersion` string
  - `theaterCount` integer
  - `generatedAt` integer: Warning: Values > 2^53 may lose precision in JavaScript
  - `note` string: Set when run_id was supplied but the latest outcome is returned instead; the text says why (run expired or not found, or its by-run record failed).
  - `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<{ theaterId, theaterLabel, stateKind, topPaths: [{label, summary, confidence, keyActors}], dominantReactions, stabilizers, invalidators }>; empty when found=false.
  - `processing` boolean: True when the supplied runId is still queued, as opposed to expired.
  - `eligibleTheaterCount` integer: Number of theaters eligible for simulation in the package used by this outcome.
  - `failedTheaterCount` integer: Number of eligible theaters that failed before producing a Round 2 result.
  - `allTheatersFailed` boolean: True when eligible_theater_count > 0 and no theater produced an outcome.
  - `completionStatus` string: Machine-readable completion status. Current values: "completed", "partial", "no_eligible_theaters", or "all_theaters_failed".

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key.
- `403`: API access requires an active subscription (the API key's subscription is inactive or expired).
- `429`: Rate limit exceeded.
- `503`: Service unavailable. Billing-verification responses include code and X-Billing-Verification; other gateway infrastructure failures use the generic GatewayError shape.
- `default`: Gateway or handler error response.

---

[API](https://skmtc.dev/worldmonitor/apis/worldmonitor-api.md) · [All operations](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/revisions/e3dc8463a5c9?raw)
