# Leads across every campaign

> One flat, paged view of every lead in the project's campaigns, rather than one campaign at a time. Project-scoped (X-Project-Id).

Source: https://warmerly.com/docs/campaigns/leads-across-every-campaign

```text
GET /campaigns/leads
```

One flat, paged view of every lead in the project's campaigns, rather than one campaign at a time. Project-scoped (`X-Project-Id`).

| Query param | Type | Description |
| --- | --- | --- |
| `campaignId` | string (UUID) | Restrict to one campaign. |
| `status` | lead status | Filter by lead status. An unknown value is ignored. |
| `q` | string | Search name, email or company. |
| `limit` | integer | Page size, 1 to 200, default 50. |
| `offset` | integer | Rows to skip, default 0. |

```json
{
  "leads": [{ "id": "…", "email": "lead@example.com", "firstName": null, "lastName": null, "companyName": null, "linkedinName": null, "linkedinHeadline": null, "status": "queued", "createdAt": "2026-06-15T12:00:00.000Z", "campaignId": "…", "campaignName": "Q4 outbound" }],
  "total": 412,
  "byStatus": { "queued": 380, "replied": 17 },
  "campaigns": [{ "id": "…", "name": "Q4 outbound" }]
}
```

`total` and `byStatus` count every lead in the project's campaigns, not only the rows matching `campaignId`, `status` or `q`. `campaigns` is the project's own campaigns, so a UI can render the filter without a second call. A project with no campaigns returns `{ "leads": [], "total": 0, "campaigns": [] }`, not an error.

## More from Campaigns

- [Readiness check](https://warmerly.com/docs/campaigns/readiness-check): Everything that would stop this campaign sending, as a list of checks, the same set the dashboard shows…
- [Preview a rendered message](https://warmerly.com/docs/campaigns/preview-a-rendered-message): Renders one step exactly as it would send, merge fields resolved against a real lead, AI opener included,…
- [Per-lead enrichment and history](https://warmerly.com/docs/campaigns/per-lead-enrichment-and-history): emails returns { "emails": [...] }: every message scheduled for that lead in this campaign, ordered by…
