---
title: "Create a scheduler for a simulation"
method: POST
path: "/simulations/{simulationReference}/schedules"
tags: ["Simulations"]
---

# Create a scheduler for a simulation

`POST /simulations/{simulationReference}/schedules`

Create a scheduler associated with a scenario to run simulations automatically.

## Path parameters

- `simulationReference` string, required

## Query parameters

- `projectId` string, required

## Request body

- object — Note: timezone is server-derived from project settings.
  - `projectReference` string, required — Project reference (required in body)
  - `runConfig` object, required
    - `flowReferenceId` string, required
    - `localeReferenceId` string
    - `entrypoint` string, required
    - `largeLanguageModelReferenceId` string, required
    - `userId` string
    - `finalPing` number
    - `data` object
    - `enableMocking` boolean
  - `enableSchedule` boolean
  - `frequency` 'daily' | 'every three days' | 'weekly' | 'biweekly' | 'monthly', required
  - `time` string, date-time, required
  - `numberOfRuns` integer
  - `nextScheduledRun` string, date-time
  - `emailNotifications` string[]
  - `scenarioName` string
  - `runName` string, required
  - `endDate` string, date-time

## Response `201`

Scheduler created successfully

- object
  - `scheduler` object
    - `id` string
    - `simulationReference` string
    - `projectReference` string
    - `organisationReference` string
    - `runConfig` object
      - `flowReferenceId` string
      - `localeReferenceId` string
      - `entrypoint` string
      - `largeLanguageModelReferenceId` string
      - `userId` string
      - `finalPing` number
      - `data` object
      - `enableMocking` boolean
    - `enableSchedule` boolean
    - `frequency` 'daily' | 'every three days' | 'weekly' | 'biweekly' | 'monthly'
    - `time` string, date-time
    - `numberOfRuns` integer
    - `nextScheduledRun` string, date-time
    - `emailNotifications` string[]
    - `scenarioName` string
    - `runName` string
    - `endDate` string, date-time
    - `createdAt` integer
    - `lastChanged` integer
    - `createdBy` string
    - `lastChangedBy` string
    - `cronScheduler` string
    - `timezone` string — IANA timezone used for scheduler recurrence calculations. Derived by the server from the project timezone settings and persisted on the scheduler. Not set directly in scheduler create/update requests.

## Other responses

- `400` — Bad Request - Invalid input parameters
- `401` — Unauthorized - Invalid or missing authentication
- `403` — Forbidden - Insufficient permissions
- `500` — Internal Server Error - Server error

---

[API](https://skmtc.net/cognigy/apis/simulator-openapi-rest-ful-api-reference.md) · [All operations](https://skmtc.net/cognigy/apis/simulator-openapi-rest-ful-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cognigy/simulator-openapi-rest-ful-api-reference/versions/85b2872bdfb7/schema)
