Skip to main content
POST
JavaScript

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

A built-in template to run, a simulation to configure and run, or the id of a plan to run.

plan
object
required

The simulation to run: what to call, who calls it, and what to measure.

saveAsPlan
boolean

Keeps this configuration as a run plan, listed by GET /v1/simulation/plan and re-runnable with planId. Requires plan.name, since a plan you meant to keep should not be filed under a generated one.

Omitted or false gives a one-off. The run still needs a plan to execute, so one is created either way, but it is hidden: it carries this run and nothing else.

variables
object

Values for the {{variables}} the run resolves, overriding whatever the plan has pinned.

An object applies them to the whole run:

{ "orderNumber": "12345", "tier": "gold" }

An array applies them per flow, or to just its happy path or one of its edge cases, when a single set will not do. Each entry carries what it applies to:

[ { "flowId": "550e8400-...", "variables": { "orderNumber": "12345" } }, { "flowId": "550e8400-...", "happyPath": true, "variables": { "orderNumber": "55555" } }, { "flowId": "550e8400-...", "edgeCaseId": "7a3d2e1f-...", "variables": { "orderNumber": "67890" } } ]

An entry that narrows to neither covers everything that flow resolves. A flow this plan does not attach, or an edge case that does not belong to the flow, is rejected rather than ignored.

A plan built on scenarios rather than customer flows targets them the same way, with scenarioId in place of flowId. That form is deprecated alongside scenarios themselves, and still accepted so runs against those plans keep working.

Example:

Response

The run that was started

data
object
required

A started simulation run.