---
title: "Start Run"
method: POST
path: "/v1/self-improve/runs"
tags: ["Self-Improve"]
---

# Start Run

`POST /v1/self-improve/runs`

Start a self-improve run. Confirm-gated: call once to preview, then again with confirmed=true.

## Headers

- `X-API-Key` string, required

## Request body

- StartSelfImproveRequest
  - `agent_id` integer, required — VAPI agent to self-improve in place (prompt iterated; one new 'latest' version written at the end).
  - `simulation_id` integer, required — Simulation (digital humans + metrics) to run each round against the agent.
  - `target_pass_rate` number
  - `max_iterations` integer
  - `min_improvement` number — Minimum pass-rate gain to keep an iteration; non-negative so worse prompts are never kept.
  - `metric_count` integer
  - `success_metric_ids` string[], nullable — Reuse these metrics instead of generating new ones.
  - `confirmed` boolean

## Response `200`

Successful Response

- unknown

## 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/4ef94eeb836d/schema)
