---
title: "Cancel a response"
method: POST
path: "/v1/responses/{response_id}/cancel"
tags: ["Responses"]
---

# Cancel a response

`POST /v1/responses/{response_id}/cancel`

Request cancellation of a response. Acts on durable state, so it works for background responses that outlive the client connection as well as durably routed foreground responses. The cancel is asynchronous: a 200 acknowledges the request (status `cancelling`) and the run stops shortly after. Poll the retrieve endpoint for the terminal status. Cancelling a run that is already terminal returns 400. Ownership is enforced server side; an unknown id, or a response belonging to a different account, returns 404.

## Path parameters

- `response_id` string, required

## Response `200`

The cancel request was accepted; the run is being cancelled.

- object
  - `response_id` string, required — The response id (resp_...).
  - `status` 'cancelling', required — Always `cancelling`: the cancel was accepted and the run stops asynchronously. An already terminal run returns 400 instead, so no terminal status appears here.

## Other responses

- `400` — The response is already terminal, or the request is invalid.
- `404` — Unknown id, or the response belongs to a different account.

## Changes

- **2026-07-15** `25e39510ae77` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/perplexityai/apis/perplexity-ai-api/changes/v1/responses/:response_id/cancel/post.md)

---

[API](https://skmtc.dev/perplexityai/apis/perplexity-ai-api.md) · [All operations](https://skmtc.dev/perplexityai/apis/perplexity-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/perplexityai/perplexity-ai-api/revisions/bcca72d3b564/schema)
