ClarifyAPI
Campaigns

List campaign recipients

Returns the people enrolled in a campaign as an offset-paginated JSON:API collection, each with their per-recipient engagement — whether they opened, clicked, replied, or unsubscribed, and when each last happened. Filter by engagement with filter[event] (for example filter[event]=clicked to build a retargeting audience), by delivery state with filter[status], or by name/email with filter[q]. Recipients are collapsed to one row per person, preferring their active run.

GET
/workspaces/{workspace}/campaigns/{campaignId}/recipients
Authorization<token>

API key authentication. Send your key in the Authorization header as: api-key <your-api-key>.

In: header

Path Parameters

workspace*string

The workspace slug — the {slug} segment of your Clarify workspace URL.

campaignId*string

The unique ID of the campaign.

Query Parameters

page?

Offset pagination, e.g. page[offset]=0&page[limit]=100.

Default

{  "offset": 0,  "limit": 500}
sortOrder?

Sort order, e.g. sortOrder[column]=_created_at&sortOrder[dir]=DESC.

filter?

Nested filter object, e.g. filter[event]=clicked&filter[status]=completed.

Header Parameters

clarify-version?string

The API version for this request. Send 2026-10 to get the behavior documented here. Omit it to use your API key's version, which this header can raise but not lower.

Response Body

application/json

curl -X GET "https://example.com/workspaces/string/campaigns/string/recipients" \  -H "clarify-version: 2026-10"
{  "links": {    "next": null,    "prev": null  },  "meta": {    "total_records": 1,    "total_pages": 1,    "total_unfiltered": 12,    "campaign_enabled": true,    "list_evaluation_status": "idle",    "list_member_count": 12,    "list_recipient_count": 1  },  "data": [    {      "type": "campaign_recipient",      "id": "b41d8f62-0e35-4a7c-9d18-6f2a3c5e8b74",      "attributes": {        "workflow_run_id": "b41d8f62-0e35-4a7c-9d18-6f2a3c5e8b74",        "person": {          "_id": "5f8b7d2e-9c4a-4e1b-8f3d-2a6c9e0b4d71",          "name": {            "first_name": "Jane",            "last_name": "Doe",            "full_name": "Jane Doe"          },          "email_addresses": {            "items": [              "jane@acme.com"            ]          },          "avatar_url": null,          "job_title": "VP of Marketing",          "company_id": "c0a80121-7ac0-4b1c-8b6d-3e5f9a2d4c88",          "linkedin": "janedoe"        },        "status": "success",        "resume_at": null,        "current_block_id": null,        "linkedin_wait": null,        "held_by_daily_limit": false,        "started_at": "2026-01-15T09:30:00.000Z",        "ended_at": "2026-02-01T17:45:00.000Z",        "exit_reason": null,        "exit_block_id": null,        "is_bespoke": false,        "has_opened": true,        "has_clicked": true,        "has_replied": false,        "has_unsubscribed": false,        "has_accepted": false,        "last_opened_at": "2026-01-16T11:02:41.000Z",        "last_clicked_at": "2026-01-16T11:03:12.000Z",        "last_replied_at": null,        "last_accepted_at": null,        "_created_at": "2026-01-15T09:30:00.000Z",        "_updated_at": "2026-02-01T17:45:00.000Z"      }    }  ]}