---
title: "Cancel an Architect turn"
method: POST
path: "/api/v1/responses/{id}/cancel"
tags: ["Architect"]
---

# Cancel an Architect turn

`POST /api/v1/responses/{id}/cancel`

## Request

- Base URL: `https://editor.pascal.app`
- URL: `https://editor.pascal.app/api/v1/responses/{id}/cancel`
- Auth: HTTP bearer

Stops a turn the way the editor’s Stop does, a turn waiting on its question included. Only the person who started it may; a turn already over answers as it ended.

## Path parameters

- `id` string, required

## Response `200`

Response object

- ArchitectResponse
  - `id` string, required
  - `object` 'response', required
  - `created_at` integer
  - `status` 'queued' | 'in_progress' | 'completed' | 'incomplete' | 'failed' | 'cancelled', required
  - `model` string, required
  - `output` object[], required: `reasoning` items (`summary` of `summary_text` parts: the model’s thinking and one bold line per step) and `message` items (`output_text` with the version’s `url_citation` at the end).
  - `output_text` string
  - `error` object, nullable
    - `code` string
    - `message` string
    - `type` string
    - `param` string, nullable
  - `incomplete_details` object, nullable
    - `reason` 'balance' | 'max_credits' | 'time_limit': `balance`: the credit pool could not fund the next step; `max_credits`: the turn reached `metadata.pascal_max_credits`; `time_limit`: it ran out of time.
  - `metadata` ArchitectPascalMetadata: The turn’s outcome, beside the caller’s own string metadata: `pascal_project_id`; `pascal_version`, `pascal_version_label` and `pascal_version_url` when the turn saved a version; `pascal_waiting: "question"` when the next request answers the Architect’s question.
  - `usage` object, nullable

## Other responses

- `401`: OpenAI-shaped error, with `x-should-retry: false`: no error is retried. 400 invalid request, missing project, a file that can’t be sent, or `unsupported_parameter` (tools, structured output, `n` > 1) with its `param`; 401 invalid key; 403 `upgrade_required`; 404 unknown model, or project not found or not editable with this key; 409 `turn_in_progress` (naming the running `response_id`) or `previous_response_id` not on the project’s active conversation; 503 `executor_unavailable` on a deployment with no executor. The one retryable error is a `background` launch that failed before its turn ran (502, without the header).
- `403`: OpenAI-shaped error, with `x-should-retry: false`: no error is retried. 400 invalid request, missing project, a file that can’t be sent, or `unsupported_parameter` (tools, structured output, `n` > 1) with its `param`; 401 invalid key; 403 `upgrade_required`; 404 unknown model, or project not found or not editable with this key; 409 `turn_in_progress` (naming the running `response_id`) or `previous_response_id` not on the project’s active conversation; 503 `executor_unavailable` on a deployment with no executor. The one retryable error is a `background` launch that failed before its turn ran (502, without the header).
- `404`: OpenAI-shaped error, with `x-should-retry: false`: no error is retried. 400 invalid request, missing project, a file that can’t be sent, or `unsupported_parameter` (tools, structured output, `n` > 1) with its `param`; 401 invalid key; 403 `upgrade_required`; 404 unknown model, or project not found or not editable with this key; 409 `turn_in_progress` (naming the running `response_id`) or `previous_response_id` not on the project’s active conversation; 503 `executor_unavailable` on a deployment with no executor. The one retryable error is a `background` launch that failed before its turn ran (502, without the header).

---

[API](https://skmtc.dev/pascal/apis/pascal-editor-scene-api.md) · [All operations](https://skmtc.dev/pascal/apis/pascal-editor-scene-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pascal/apis/pascal-editor-scene-api/revisions/08f1f3f41067?raw)
