---
title: "List manual-audience runs"
method: GET
path: "/v1/automations/audience-runs"
tags: ["Automations"]
---

# List manual-audience runs

`GET /v1/automations/audience-runs`

Lists manual-audience automation runs (each "Run" of a manual-audience automation), newest first — status, recipient totals, and the per-node funnel. Pass `?audienceRunId=` to fetch one, or `?automationId=` to filter to a single automation.

## Query parameters

- `audienceRunId` string
- `automationId` string
- `limit` integer

## Response `200`

Audience runs (list mode), or `{ data: [row] }` (detail).

- AudienceRunsListResponse
  - `data` object[], required
    - `audienceRunId` string, required
    - `automationId` string, required
    - `automationName` string
    - `audienceId` string, required
    - `audienceName` string
    - `status` 'queued' | 'scheduled' | 'running' | 'paused' | 'sent' | 'failed' | 'canceled', required
    - `scheduledAt` string
    - `totalRecipients` number
    - `sentCount` number
    - `failedCount` number
    - `skippedCount` number
    - `nodeStats` object[]
      - `nodeId` string, required
      - `nodeType` string, required
      - `status` 'running' | 'completed' | 'failed'
      - `entered` number
      - `sent` number
      - `failed` number
      - `skipped` number
    - `gradualSend` object
      - `startingPercentage` number, required
      - `incrementPercentage` number, required
      - `interval` union, required
        - object
          - `value` integer, required
          - `unit` 'hour', required
        - object
          - `value` integer, required
          - `unit` 'day', required
      - `timeZone` string, required — IANA timezone used to preserve local wall-clock time for day intervals.
      - `rampEndsAt` string, date-time
      - `currentTranche` integer
      - `sentSoFar` integer
      - `pausedAt` string, date-time
      - `pauseReason` 'manual'
      - `resumedAt` string, date-time
    - `error` string
    - `startedAt` string
    - `completedAt` string
    - `createdAt` string, required
    - `updatedAt` string, required

## Other responses

- `401` — The API key was missing, invalid, or revoked.
- `403` — The caller does not have the required `automations` permission.
- `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)
