---
title: "TriggerSimulation"
method: POST
path: "/api/forecast/v1/trigger-simulation"
tags: ["ForecastService"]
---

# TriggerSimulation

`POST /api/forecast/v1/trigger-simulation`

## Request

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

TriggerSimulation enqueues a simulation run for the current package outside the hourly cycle. PRO-gated. Poll GetSimulationOutcome with the returned runId. Requires entitlement tier >= 1.

## Headers

- `Idempotency-Key` string

## Request body

- WorldmonitorForecastV1TriggerSimulationRequest: TriggerSimulationRequest enqueues a run for the current simulation package.
  - `clientVersion` string: Optional client version, such as "mcp-client/0.2". Logged, never stored.

## Response `200`

OK

- WorldmonitorForecastV1TriggerSimulationResponse: TriggerSimulationResponse is the HTTP 200 result of an enqueue attempt. Errors return a non-200 status instead.
  - `queued` boolean: True when the task was newly enqueued; false on idempotency hit or no_package.
  - `runId` string: Server-derived runId from SIMULATION_PACKAGE_LATEST_KEY. Empty string when reason='no_package' (no package pointer was available).
  - `pkgFingerprint` string: Opaque fingerprint of the package key; it changes when the key changes. Empty when reason='no_package'.
  - `reason` string: '' when queued, 'no_package' when no package exists, or 'already-handled' when this cycle's run is already queued or done.

## Other responses

- `400`: Validation error, invalid Idempotency-Key header, or malformed JSON request body
- `401`: Missing or invalid API key.
- `403`: PRO entitlement access denied.
- `409`: A request with this Idempotency-Key is still being processed
- `422`: The Idempotency-Key was already used with a different request body
- `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)
