---
title: "Pause, resume, or cancel a manual-audience run"
method: POST
path: "/v1/automations/audience-runs/{audienceRunId}/control"
tags: ["Automations"]
---

# Pause, resume, or cancel a manual-audience run

`POST /v1/automations/audience-runs/{audienceRunId}/control`

Controls an in-flight manual-audience run. `pause` holds delivery at the next step boundary (resumable); `resume` continues a paused run; `cancel` stops it for good — emails already sent are NOT recalled and a canceled run can't be resumed. `409` if the run is not in a state that allows the action (e.g. resuming a run that isn't paused); `404` for an unknown `audienceRunId`.

## Path parameters

- `audienceRunId` string, required — The audience run id (from `POST /v1/automations/{automationId}/run` or `GET /v1/automations/audience-runs`).

## Request body

- AudienceRunControlRequest
  - `action` 'pause' | 'resume' | 'cancel', required

## Response `200`

The run's new status after the control action.

- AudienceRunControlResponse
  - `audienceRunId` string, required
  - `status` 'paused' | 'running' | 'canceled', required

## Other responses

- `401` — The API key was missing, invalid, or revoked.
- `403` — The caller does not have the required `automations` permission.
- `404` — Audience run not found in the API-key brand. Cross-brand ids intentionally surface as 404 (never 403) so the API does not leak cross-brand existence.
- `409` — The run is not in a state that allows the action (e.g. pausing a run that already finished, or resuming a run that is not paused).
- `429` — The request hit the rolling rate limit window.
- `500` — Unexpected internal error.

---

[API](https://skmtc.net/brew/apis/brew-public-api-v1.md) · [All operations](https://skmtc.net/brew/apis/brew-public-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/brew/brew-public-api-v1/revisions/db96cfedc6c5/schema)
