---
title: "Create a run for a simulation"
method: POST
path: "/simulations/{simulation_id}/runs"
tags: ["Simulation runs"]
---

# Create a run for a simulation

`POST /simulations/{simulation_id}/runs`

## Request

- Base URL: `https://sandbox-api.paddle.com`
- URL: `https://sandbox-api.paddle.com/simulations/{simulation_id}/runs`
- Auth: HTTP bearer

Creates a new simulation run for a simulation.

If successful, your response includes a copy of the new simulation run entity.

## Path parameters

- `simulation_id` string, required

## Response `201`

The request has succeeded and a new resource has been created as a result.

- object
  - `data` union, required: Represents a simulation run entity.
    - SimulationRunSingleEventModel: Single event simulations play a single event.
      - `id` string, required: Unique Paddle ID for this simulation run, prefixed with `ntfsimrun_`.
      - `status` 'pending' | 'completed' | 'canceled', required: Status of this simulation run.
      - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
      - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
      - `type` 'address.created' | 'address.imported' | 'address.updated' | 'adjustment.created' | 'adjustment.updated' | 'api_key.created' | 'api_key.expired' | 'api_key.expiring' | 'api_key.revoked' | 'api_key.updated' | 'api_key_exposure.created' | 'business.created' | 'business.imported' | 'business.updated' | 'client_token.created' | 'client_token.revoked' | 'client_token.updated' | 'customer.created' | 'customer.imported' | 'customer.updated' | 'discount.created' | 'discount.imported' | 'discount.updated' | 'discount_group.created' | 'discount_group.updated' | 'payment_method.saved' | 'payment_method.deleted' | 'payout.created' | 'payout.paid' | 'price.created' | 'price.imported' | 'price.updated' | 'product.created' | 'product.imported' | 'product.updated' | 'report.created' | 'report.updated' | 'subscription.activated' | 'subscription.canceled' | 'subscription.created' | 'subscription.imported' | 'subscription.past_due' | 'subscription.paused' | 'subscription.resumed' | 'subscription.trialing' | 'subscription.updated' | 'transaction.billed' | 'transaction.canceled' | 'transaction.completed' | 'transaction.created' | 'transaction.paid' | 'transaction.past_due' | 'transaction.payment_failed' | 'transaction.ready' | 'transaction.revised' | 'transaction.updated', required: Type of event sent by Paddle, in the format `entity.event_type`.
    - SimulationRunScenarioModel: Scenario simulations play all events sent for a subscription lifecycle event.
      - `id` string, required: Unique Paddle ID for this simulation run, prefixed with `ntfsimrun_`.
      - `status` 'pending' | 'completed' | 'canceled', required: Status of this simulation run.
      - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
      - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
      - `type` 'subscription_creation' | 'subscription_renewal' | 'subscription_pause' | 'subscription_resume' | 'subscription_cancellation', required: Scenario for a simulation.
  - `meta` Meta, required: Information about this response.
    - `request_id` string, required: Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-07-09** (v1) `e1ac347eb3c5`: 1 info
  - api tag `Simulations` removed
- **2026-02-02** (v1) `9ba8be0f2006`: 8 breaking, 1 warning, 5 info
  - added the new path request parameter `simulation_id`
  - added `#/components/schemas/SimulationRunSingleEventModel, #/components/schemas/SimulationRunScenarioModel` to the `data` response property `oneOf` list for the response status `201`
  - the `data` response's property type changed from `object` to no type for status `201`
  - the `error` response's property type changed from `object` to no type for status `default`
  - …10 more
- **2025-05-27** (v1) `e57c515077cc`: 5 warning
  - added the new `api_key.created` enum value to the `data/oneOf[subschema #1: Single event run]/type` response property for the response status `201`
  - added the new `api_key.expired` enum value to the `data/oneOf[subschema #1: Single event run]/type` response property for the response status `201`
  - added the new `api_key.expiring` enum value to the `data/oneOf[subschema #1: Single event run]/type` response property for the response status `201`
  - added the new `api_key.revoked` enum value to the `data/oneOf[subschema #1: Single event run]/type` response property for the response status `201`
  - …1 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/paddlehq/apis/paddle-api/changes/simulations/:simulation_id/runs/post.md)

---

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