---
title: "List the contacts behind a campaign's engagement"
method: GET
path: "/campaigns/{id}/engagement"
tags: ["Campaigns"]
---

# List the contacts behind a campaign's engagement

`GET /campaigns/{id}/engagement`

Returns the contacts in one of a sent campaign's engagement groups. non_openers covers contacts the campaign actually sent to who did not open it — queued and cancelled deliverables are excluded, since they never had the chance.

## Query parameters

- `type` 'openers' | 'clickers' | 'non_openers' | 'bounced' | 'unsubscribed', required
- `per_page` integer

## Response `200`

Successful response

- object
  - `data` object[]
    - `id` integer
    - `contact_id` integer
    - `email` string
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `sent_at` string, date-time, nullable
    - `opened_at` string, date-time, nullable
    - `clicked_at` string, date-time, nullable
    - `bounced_at` string, date-time, nullable
    - `unsubscribed_at` string, date-time, nullable
  - `current_page` integer
  - `total` integer
  - `per_page` integer

## Other responses

- `403` — Forbidden. Most often an ownership/authorization failure (Laravel's default `{"message": "..."}` shape). If the account is restricted by SendFox, the response instead carries the structured `account_restricted` body with a link to the account status page.
- `404` — Campaign not found

---

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