---
title: "Start Run Pair"
method: POST
path: "/api/v1/runs/{id}/pair"
tags: ["Human-in-the-Loop"]
---

# Start Run Pair

`POST /api/v1/runs/{id}/pair`

Starts pairing with exactly one selected active API-mode agent target.

## Path parameters

- `id` string, required

## Request body

- PairStartRequest
  - `stage_id` string, required

## Response `200`

Pair mode installed for the selected target

- PairRecord
  - `pair_id` string, required — Durable run pair identifier.
  - `run_id` string, required
  - `status` 'active' | 'ended' | 'failed', required
  - `started_at` string, date-time, required
  - `ended_at` string, date-time, nullable
  - `failure_reason` string, nullable
  - `target` PairTarget, required
    - `stage_id` string, required
    - `node_label` string, required

## Other responses

- `400` — Invalid request body
- `404` — Run not found
- `409` — Run is not pairable, already paired, or selected target is not active/pairable
- `503` — Worker control channel unavailable

---

[API](https://skmtc.net/fabro-sh/apis/fabro-run-api.md) · [All operations](https://skmtc.net/fabro-sh/apis/fabro-run-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fabro-sh/fabro-run-api/versions/bee030053823/schema)
