---
title: "Stop a widget draft request the user no longer wants"
method: POST
path: "/overview/widget-drafts/{requestId}/cancel"
---

# Stop a widget draft request the user no longer wants

`POST /overview/widget-drafts/{requestId}/cancel`

Records that the user stopped the draft request whose requestId the frontend sent. Aborting the fetch is not enough: Cloud Run does not pass an HTTP/1.1 client disconnect on to the container, so the draft would finish and be charged. A stopped draft is not returned and not charged (its token usage is recorded as failed / CLIENT_CANCELED). Safe to send more than once, and before or after the draft finishes; a Stop that arrives while the draft's charge is being written may be too late. Requires org.edit_dashboard.

## Path parameters

- `requestId` string, required

## Response `204`

The Stop is recorded

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `503` — Widget drafting is not configured

## Changes

- **2026-10-01** `b4751fd15397` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/greentally/apis/esgai-api/changes/overview/widget-drafts/:requestId/cancel/post.md)

---

[API](https://skmtc.dev/greentally/apis/esgai-api.md) · [All operations](https://skmtc.dev/greentally/apis/esgai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/greentally/apis/esgai-api/revisions/b4751fd15397?raw)
