---
title: "Control Agent Run"
method: POST
path: "/v2/investigation/control"
---

# Control Agent Run

`POST /v2/investigation/control`

## Request

- Base URL: `https://api.traversal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.traversal.com/v2/investigation/control`
- Auth: none declared

Steer or stop a live granular investigation turn.

## Request body

- union
  - AgentSteerControlRequest: Steering command for a running granular investigation.
    - `session_id` string, required
    - `system_chat_id` string, required
    - `command_id` string, required
    - `action` 'steer', required
    - `message` string, required
  - AgentStopControlRequest: Stop command for a running granular investigation.
    - `session_id` string, required
    - `system_chat_id` string, required
    - `command_id` string, required
    - `action` 'stop', required

## Response `200`

Successful Response

- AgentControlResponse
  - `command_id` string, required
  - `status` 'accepted' | 'already_stopping' | 'already_finalizing' | 'queue_full', required: Admission result for an agent-loop control command. ACCEPTED means the command was durably admitted to workflow state. For steering, it does not mean the next LLM turn has observed the message yet.

## Other responses

- `422`: Validation Error

## Changes

> 66 revisions in range; 9 not diffed.

- **2026-08-20** `946736f3fe32`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/traversal/apis/traversal-api/changes/v2/investigation/control/post.md)

---

[API](https://skmtc.dev/traversal/apis/traversal-api.md) - [All operations](https://skmtc.dev/traversal/apis/traversal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/traversal/apis/traversal-api/revisions/31e1a8b7cf89?raw)
