---
title: "List simulations"
method: GET
path: "/simulations"
tags: ["Simulations"]
---

# List simulations

`GET /simulations`

## Request

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

Returns a paginated list of simulations. Use the query parameters to [page through results](https://developer.paddle.com/api-reference/about/pagination).

## Query parameters

- `id` string[]
- `after` string
- `per_page` integer
- `notification_setting_id` string[]
- `order_by` string
- `status` StatusQuery[]

## Headers

- `Skip-Count` string

## Response `200`

The request has succeeded.

- object
  - `data` Simulation[], required
    - union: Represents a simulation entity.
      - SimulationStandardEventsModel: Single event simulations play a single event.
        - `id` string, required: Unique Paddle ID for this simulation, prefixed with `ntfsim_`.
        - `status` 'active' | 'archived', required: Whether this entity can be used in Paddle.
        - `notification_setting_id` string, required: Unique Paddle ID for this notification setting, prefixed with `ntfset_`.
        - `name` string, required: Name of this simulation.
        - `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`.
        - `payload` SimulationPayload, required: Simulation payload. A JSON object that matches the schema for an event type.
        - `config` unknown, required
        - `last_run_at` string, date-time, required: RFC 3339 datetime string.
        - `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.
      - SimulationScenarioEventsModel: Scenario simulations play all events sent for a subscription lifecycle event.
        - `id` string, required: Unique Paddle ID for this simulation, prefixed with `ntfsim_`.
        - `status` 'active' | 'archived', required: Whether this entity can be used in Paddle.
        - `notification_setting_id` string, required: Unique Paddle ID for this notification setting, prefixed with `ntfset_`.
        - `name` string, required: Name of this simulation.
        - `type` 'subscription_creation' | 'subscription_renewal' | 'subscription_pause' | 'subscription_resume' | 'subscription_cancellation', required: Scenario for a simulation.
        - `payload` unknown, required
        - `config` SimulationScenarioConfig, required: Configuration for this scenario simulation. Determines which granular flow is simulated and what entities are used to populate webhook payloads with.
          - `subscription_cancellation` SimulationConfigSubscriptionCancellation, required: Configuration for subscription canceled simulations.
            - `entities` SimulationConfigSubscriptionCancellationEntities, required: Adds details of existing Paddle entities to webhook payloads sent in the simulation.
              - …
            - `options` SimulationConfigSubscriptionCancellationOptions, required: Options that determine which webhooks are sent as part of a simulation.
              - …
          - `subscription_creation` SimulationConfigSubscriptionCreation, required: Configuration for subscription creation simulations.
            - `entities` SimulationConfigEntitiesSubscriptionCreation, required: Configuration resources for subscription creation simulations
              - …
            - `options` SimulationConfigSubscriptionCreationOptions, required: Options to configure subscription creation simulations.
              - …
          - `subscription_pause` SimulationConfigSubscriptionPause, required: Configuration for subscription paused simulations.
            - `entities` SimulationConfigSubscriptionPauseEntities, required: Adds details of existing Paddle entities to webhook payloads sent in the simulation.
              - …
            - `options` SimulationConfigSubscriptionPauseOptions, required: Options that determine which webhooks are sent as part of a simulation.
              - …
          - `subscription_renewal` SimulationConfigSubscriptionRenewal, required: Configuration for subscription renewed simulations.
            - `entities` SimulationConfigSubscriptionRenewalEntities, required: Adds details of existing Paddle entities to webhook payloads sent in the simulation.
              - …
            - `options` SimulationConfigOptionsPayment, required: Options to configure simulations based on the payment outcome.
              - …
          - `subscription_resume` SimulationConfigSubscriptionResume, required: Configuration for subscription resumed simulations.
            - `entities` SimulationConfigSubscriptionResumeEntities, required: Adds details of existing Paddle entities to webhook payloads sent in the simulation.
              - …
            - `options` SimulationConfigOptionsPayment, required: Options to configure simulations based on the payment outcome.
              - …
        - `last_run_at` string, date-time, required: RFC 3339 datetime string.
        - `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.
  - `meta` PaginatedMeta, 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.
    - `pagination` Pagination, required: Keys used for working with paginated results.
      - `per_page` integer, required: Number of entities per page for this response. May differ from the number requested if the requested number is greater than the maximum.
      - `next` string, uri, required: URL containing the query parameters of the original request, along with the `after` parameter that marks the starting point of the next page. Always returned, even if `has_more` is `false`.
      - `has_more` boolean, required: Whether this response has another page.
      - `estimated_total` integer: Estimated number of entities for this response. For datasets with 100,000 or fewer matches, returns the exact count. For datasets with more than 100,000 matches, returns `100001` to indicate that more than 100,000 entities match. Returns `-1` when counting is skipped or couldn't be calculated. Use `has_more` and `next` to page through all results rather than relying on `estimated_total` for an exact count.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-07-09** (v1) `e1ac347eb3c5`: 1 info
  - added the new optional `header` request parameter `Skip-Count`
- **2026-02-02** (v1) `9ba8be0f2006`: 8 breaking, 1 warning, 4 info
  - for the `query` request parameter `status`, default value `active` was added
  - added `#/components/schemas/SimulationStandardEventsModel, #/components/schemas/SimulationScenarioEventsModel` to the `data/items/` response property `oneOf` list for the response status `200`
  - the `data/items/` response's property type changed from `object` to no type for status `200`
  - the `error` response's property type changed from `object` to no type for status `default`
  - …9 more
- **2025-05-27** (v1) `e57c515077cc`: 5 warning, 1 info
  - added the new `api_key.created` enum value to the `data/items/oneOf[subschema #1: Single event]/type` response property for the response status `200`
  - added the new `api_key.expired` enum value to the `data/items/oneOf[subschema #1: Single event]/type` response property for the response status `200`
  - added the new `api_key.expiring` enum value to the `data/items/oneOf[subschema #1: Single event]/type` response property for the response status `200`
  - added the new `api_key.revoked` enum value to the `data/items/oneOf[subschema #1: Single event]/type` response property for the response status `200`
  - …2 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/paddlehq/apis/paddle-api/changes/simulations/get.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)
