---
title: "Stop a turn"
method: PATCH
path: "/workspaces/{workspaceSlug}/mentor/turns/{turnId}/status"
tags: ["Mentor"]
---

# Stop a turn

`PATCH /workspaces/{workspaceSlug}/mentor/turns/{turnId}/status`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/workspaces/{workspaceSlug}/mentor/turns/{turnId}/status`
- Auth: HTTP bearer

A queued turn never runs and keeps its question. A running turn keeps what Heph already wrote. Stopping an ended turn changes nothing. A turn asked in Slack can be stopped here.

## Path parameters

- `workspaceSlug` string, required
- `turnId` string, uuid, required

## Request body

- MentorTurnStatusRequest: A status change the developer asks for on a turn
  - `status` 'STOPPED', required: STOPPED stops a queued or running turn. Heph keeps what it already wrote.

## Response `200`

OK

- MentorTurn: One question to Heph and the work to answer it
  - `attempt` integer, required: Attempts started so far; 0 while the turn waits for its first start. A lost lease queues the turn again with the same attempt, and the next start counts up. Thus, with the same attempt, RUNNING comes before QUEUED or an end.
  - `conversationId` string, uuid, required
  - `createdAt` string, date-time, required
  - `error` string: Why the turn failed, worded for the developer; only on a failed turn
  - `finishedAt` string, date-time
  - `id` string, uuid, required
  - `parentEntryId` string, uuid: Set when the turn runs in a thread: the top-level message the thread replies to
  - `partial` MentorTurnPartial: What Heph is doing in a running turn
    - `activity` 'THINKING' | 'WRITING' | 'TOOL', required
    - `stage` string, required: What Heph is doing, in the developer's words, for example "Reading your practice feedback…"
    - `text` string, required: The text Heph has written in this turn so far
    - `tool` string: The tool Heph runs, while the activity is TOOL
  - `requestId` string, required: The submission that asked; the question's entry carries the same value
  - `status` 'QUEUED' | 'RUNNING' | 'DONE' | 'FAILED' | 'STOPPED', required
  - `surface` 'APP' | 'SLACK', required

## Changes

- **2026-10-21** `29ab13db0a39`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hephaestus-build/apis/hephaestus-api/changes/workspaces/:workspaceSlug/mentor/turns/:turnId/status/patch.md)

---

[API](https://skmtc.dev/hephaestus-build/apis/hephaestus-api.md) · [All operations](https://skmtc.dev/hephaestus-build/apis/hephaestus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hephaestus-build/apis/hephaestus-api/revisions/3592ab716973?raw)
