# GET /email-campaigns/:id/recipients

**Resource:** [Email Campaigns](./email-campaigns.md)  
**Scopes:** `email-campaigns:read`  
**Write operation:** no

List per-recipient delivery records for a campaign. Filter by status or search by email. Statuses: queued, sent, delivered, opened, clicked, bounced, failed.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `id` | path | uuid | yes | Campaign UUID |
| `status` | query | string | no | Filter by recipient status |
| `search` | query | string | no | Search by email address |
| `limit` | query | number | no | Max results (1-100) |
| `after` | query | string | no | Cursor for pagination |

## Response example

```json
{
  "data": [
    {
      "id": "recipient-uuid",
      "email": "jane@example.com",
      "first_name": "Jane",
      "last_name": "Smith",
      "status": "opened",
      "opened_at": "2026-04-01T11:32:00Z",
      "clicked_at": null,
      "bounced_at": null,
      "created_at": "2026-04-01T09:00:00Z"
    }
  ],
  "pagination": { "limit": 25, "has_more": false, "next_cursor": null }
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`