---
title: "POST /v1/workspaces/{workspaceId}/qa/approval-runs/revoke"
method: POST
path: "/v1/workspaces/{workspaceId}/qa/approval-runs/revoke"
---

# POST /v1/workspaces/{workspaceId}/qa/approval-runs/revoke

`POST /v1/workspaces/{workspaceId}/qa/approval-runs/revoke`

## Request

- Base URL: `https://api.bangermail.com`
- URL: `https://api.bangermail.com/v1/workspaces/{workspaceId}/qa/approval-runs/revoke`
- Auth: HTTP bearer

Permanently close the exact QA run's approval scope, including an uncertain first decision. Cleanup is allowed after the work deadline. Reopening or extending a run is unsupported.

## Request body

- QaApprovalRunScope
  - `run_id` string, required
  - `occurrence` string, required: The normal consumed daily-full occurrence in America/Sao_Paulo.
  - `started_at` string, date-time, required
  - `deadline` string, date-time, required: At most 55 minutes after the immutable run start
  - `domain` string, required: Exact server-derived run domain under send.qa.snappile.com.

## Response `200`

Run scope revoked.

## Other responses

- `403`: QA identity or scope mismatch.

---

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