---
title: "PATCH /simulate/prompt-templates/{prompt_template_id}/simulations/{run_test_id}/"
method: PATCH
path: "/simulate/prompt-templates/{prompt_template_id}/simulations/{run_test_id}/"
tags: ["simulate"]
---

# PATCH /simulate/prompt-templates/{prompt_template_id}/simulations/{run_test_id}/

`PATCH /simulate/prompt-templates/{prompt_template_id}/simulations/{run_test_id}/`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/simulate/prompt-templates/{prompt_template_id}/simulations/{run_test_id}/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

Update a prompt simulation run (version, scenarios, etc.).

## Request body

- PromptSimulationUpdateRequest
  - `prompt_version_id` string
  - `scenario_ids` string[]
  - `name` string
  - `description` string
  - `enable_tool_evaluation` boolean

## Response `200`

OK

- PromptSimulationRunResponse
  - `status` boolean
  - `result` RunTestResponse, required
    - `id` string, uuid
    - `name` string: Name of the test run
    - `description` string, nullable
    - `agent_definition` string, uuid, nullable: Agent definition for this test run
    - `agent_version` object, nullable
    - `agent_definition_detail` object, nullable
    - `source_type` 'agent_definition' | 'prompt': Source type for the test run: agent_definition or prompt
    - `source_type_display` string, nullable
    - `prompt_template` string, uuid, nullable: Prompt template for this test run (only for prompt source type)
    - `prompt_template_detail` object, nullable
    - `prompt_version` string, uuid, nullable: Prompt version for this test run (only for prompt source type)
    - `prompt_version_detail` object, nullable
    - `scenarios` string[]: Scenarios to run in this test
    - `scenarios_detail` object[]
    - `dataset_row_ids` string[]: IDs of dataset rows to run evaluations on
    - `simulator_agent` string, uuid, nullable: Simulator agent for this test run (derived from scenarios)
    - `simulator_agent_detail` object, nullable
    - `simulate_eval_configs` string[]
    - `simulate_eval_configs_detail` SimulateEvalConfigResponse[]
      - `id` string, uuid
      - `name` string, nullable
      - `config` object, nullable
      - `mapping` object, nullable
      - `filters` object[]
        - `column_id` string, required: Column or attribute id to filter on.
        - `property_id` string: Optional stable namespaced Property Registry identity.
        - `display_name` string: Optional UI label for chips and saved views.
        - `source` string: Optional source surface for mixed-source filters, for example traces, datasets, or simulation.
        - `output_type` string: Optional metric output type metadata used by eval and annotation filters.
        - `filter_config` object, required
          - `filter_type` string, required: Canonical field type, for example text, number, boolean, datetime, categorical, thumbs, annotator, array, or map. Legacy json is value-sensitive for SPAN_ATTRIBUTE filters: list values become array and object values become map.
          - `filter_op` string, required: Canonical operator from api_contracts/filter_contract.json, for example equals, not_equals, in, not_in, between, not_between, is_null, or is_not_null.
          - `filter_value` unknown
          - `col_type` string: Column family such as SYSTEM_METRIC, SPAN_ATTRIBUTE, EVAL_METRIC, ANNOTATION, or NORMAL.
          - `attribute_value_types` string[]: Optional storage-family provenance aligned one-for-one with filter_value for mixed SPAN_ATTRIBUTE in/not_in filters. Null entries retain filter_type semantics for manually entered values.
      - `error_localizer` boolean
      - `model` string, nullable
      - `status` string, nullable
      - `eval_group` string, nullable
      - `template_id` string, uuid, nullable
      - `eval_type` string
      - `regradable` boolean
      - `editable` boolean
    - `evals_detail` SimulateEvalConfigResponse[]
      - `id` string, uuid
      - `name` string, nullable
      - `config` object, nullable
      - `mapping` object, nullable
      - `filters` object[]
        - `column_id` string, required: Column or attribute id to filter on.
        - `property_id` string: Optional stable namespaced Property Registry identity.
        - `display_name` string: Optional UI label for chips and saved views.
        - `source` string: Optional source surface for mixed-source filters, for example traces, datasets, or simulation.
        - `output_type` string: Optional metric output type metadata used by eval and annotation filters.
        - `filter_config` object, required
          - `filter_type` string, required: Canonical field type, for example text, number, boolean, datetime, categorical, thumbs, annotator, array, or map. Legacy json is value-sensitive for SPAN_ATTRIBUTE filters: list values become array and object values become map.
          - `filter_op` string, required: Canonical operator from api_contracts/filter_contract.json, for example equals, not_equals, in, not_in, between, not_between, is_null, or is_not_null.
          - `filter_value` unknown
          - `col_type` string: Column family such as SYSTEM_METRIC, SPAN_ATTRIBUTE, EVAL_METRIC, ANNOTATION, or NORMAL.
          - `attribute_value_types` string[]: Optional storage-family provenance aligned one-for-one with filter_value for mixed SPAN_ATTRIBUTE in/not_in filters. Null entries retain filter_type semantics for manually entered values.
      - `error_localizer` boolean
      - `model` string, nullable
      - `status` string, nullable
      - `eval_group` string, nullable
      - `template_id` string, uuid, nullable
      - `eval_type` string
      - `regradable` boolean
      - `editable` boolean
    - `organization` string, uuid: Organization this test run belongs to
    - `enable_tool_evaluation` boolean: Enable automatic tool evaluation for this test run
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `last_run_at` string, date-time, nullable
    - `deleted` boolean
    - `deleted_at` string, date-time, nullable

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `500`: Internal Server Error
- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
