---
title: "List addresses a quality pause flagged"
description: "After an automatic quality pause: the recipients whose message hard-bounced (hard_bounce) or drew a spam complaint (complaint). `GET /api/v1/email/campaigns/{id}/quality/affected`"
url: https://www.unitpost.com/docs/email/get-email-campaigns-id-quality-affected
section: "Email API reference"
updated: 2026-10-13
---
# List addresses a quality pause flagged

`GET /api/v1/email/campaigns/{id}/quality/affected`

After an automatic quality pause: the recipients whose message hard-bounced (`hard_bounce`) or drew a spam complaint (`complaint`). They're already suppressed; this is for cleaning the source list. By address, `limit` per page (default and most 10,000); when `has_more`, pass the last row's `email` as `after` for the rest. Take them out of the campaign's segment with [Remove flagged addresses](https://www.unitpost.com/docs/email/post-email-campaigns-id-quality-remove-affected). Requires the `campaigns:read` capability.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | yes | — |
| `limit` | query | integer | no | Addresses per page, 1–10,000 (default 10,000). |
| `after` | query | string | no | The last row's `email` from the previous page. |

## Response fields (200)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | — |
| `email` | string | yes | — |
| `contact_id` | string \| null | yes | — |
| `reason` | enum | yes | The address doesn't exist (`hard_bounce`), or the person marked it as spam. One of: `hard_bounce`, `complaint`. |

## Responses

| Status | Description |
| --- | --- |
| 200 | The flagged recipients. |
| 401 | Missing or invalid API key. |
| 403 | Insufficient scope. |
| 404 | Campaign not found. |
| 422 | A bad `limit` or `after`, or an unknown query key. |
| 503 | `operation_timed_out`: the read took too long; retry after `Retry-After`. |

## Example request

```bash
curl -X GET 'https://www.unitpost.com/api/v1/email/campaigns/cmp_123/quality/affected' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0'
```

## Example response (200)

```json
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "campaign_affected_recipient",
      "email": "customer@example.com",
      "contact_id": "contact_123",
      "reason": "hard_bounce"
    }
  ]
}
```

## Links

- HTML reference (with Node.js, Python, Ruby, PHP, Laravel, Go, Java, Rust, .NET and CLI examples): https://www.unitpost.com/docs/email/get-email-campaigns-id-quality-affected
- OpenAPI 3.1 (full schemas): https://www.unitpost.com/api/v1/openapi.json
