---
title: "Update Simulation"
method: PUT
path: "/v1/simulation/{simulation_id}"
tags: ["Simulations"]
---

# Update Simulation

`PUT /v1/simulation/{simulation_id}`

update a specific simulation by id.

## Path parameters

- `simulation_id` integer, required

## Headers

- `X-API-Key` string, required

## Request body

- SrcApiSimulationsUpdateSimulationRequest — request body for updating a simulation. all fields are optional; only provided fields will be updated.
  - `bluejay_as_code_id` string, uuid, nullable — Stable code-addressable identifier
  - `name` string, nullable — updated simulation name
  - `description` string, nullable — human‑readable description of the simulation
  - `prompt_id` string, uuid, nullable — optional default prompt UUID for this simulation
  - `knowledge_base_id` string, uuid, nullable — optional default knowledge base UUID for this simulation
  - `max_concurrent` integer, nullable — maximum number of concurrent runs (max 500)
  - `hangup_on_transfer` boolean, nullable — whether to hang up the call on transfer
  - `max_call_duration` integer, nullable — maximum duration of each call. units specified by max_call_duration_units
  - `max_call_duration_units` 'minutes' | 'seconds', nullable — units for max_call_duration: 'minutes' or 'seconds'
  - `max_turns` integer, nullable — maximum number of turns per simulation run
  - `ringing_timeout` integer, nullable — ringing timeout in seconds before abandoning
  - `digital_humans_settings` object, nullable — settings for digital humans in the simulation
  - `selected_custom_metrics` string[], nullable — array of custom metric IDs to be saved in settings
  - `custom_metrics_failing_threshold` integer, nullable — score threshold below which a custom metric is considered failing (0-100)
  - `custom_metrics_passing_threshold` integer, nullable — score threshold at or above which a custom metric is considered passing (0-100)
  - `outcome_failing_threshold` integer, nullable — outcome score threshold below which the simulation is considered failing (0-99)
  - `outcome_passing_threshold` integer, nullable — outcome score threshold at or above which the simulation is considered passing (1-100)
  - `runs_per_digital_human` integer, nullable — number of simulation runs to execute per digital human
  - `delay_between_tests_seconds` number, nullable — seconds to wait after a test completes before the next launches (0 = off)
  - `inactivity_timeout_seconds` integer, nullable — seconds to wait for an agent reply before ending a text conversation (300-1800 = 5-30 min); defaults to 300 when unset
  - `tags` string[], nullable — array of tags for the simulation
  - `pinned` boolean, nullable — whether the simulation is pinned
  - `custom_error_enabled` boolean, nullable — enable custom-error detection for this simulation
  - `custom_error_prompt` string, nullable — custom-error definition prompt; overrides the org default when set
  - `enable_rerun_failed_test_results` boolean, nullable — per-sim override of the org rerun-on-failure flag
  - `enable_rerun_on_custom_error` boolean, nullable — per-sim override of the org rerun-on-custom-error flag
  - `rerun_max_retries` integer, nullable — max same-run reruns of a failed result (1-5)

## Response `200`

Successful Response

- SimulationPydantic
  - `id` integer, nullable
  - `bluejay_as_code_id` string, uuid, nullable
  - `agent_id` integer, required
  - `name` string, required
  - `created_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable
  - `updated_by` string, uuid, nullable
  - `created_by` string, uuid, nullable
  - `settings` object, nullable
  - `type` 'max_concurrent' | 'parallel', required
  - `max_concurrent` integer, nullable
  - `max_turns` integer, nullable
  - `ringing_timeout` integer, nullable
  - `inactivity_timeout_seconds` integer, nullable
  - `tags` string[], nullable
  - `description` string, nullable
  - `pinned` boolean, nullable
  - `always_on` boolean, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/getbluejay/apis/bluejay-api.md) · [All operations](https://skmtc.net/getbluejay/apis/bluejay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbluejay/bluejay-api/revisions/f48cef80963f/schema)
