---
title: "List campaign contacts"
method: GET
path: "/v1/campaigns/{campaign_id}/contacts"
tags: ["Campaigns", "Campaigns"]
---

# List campaign contacts

`GET /v1/campaigns/{campaign_id}/contacts`

## Request

- Base URL: `https://api.call2me.app`
- URL: `https://api.call2me.app/v1/campaigns/{campaign_id}/contacts`
- Auth: HTTP bearer

List all contacts in a campaign. Each contact has a `status` (pending/calling/completed/failed/skipped) and, once dialed, a `call_id` you can use with `GET /v1/calls/{id}` to fetch the transcript. Filter by `status` to focus on failed contacts for follow-up or completed ones for reporting.

## Path parameters

- `campaign_id` string, required

## Query parameters

- `status` string, nullable: pending | calling | completed | failed | skipped
- `limit` integer
- `offset` integer

## Response `200`

Paginated contacts with their per-contact dialer status and call results.

- unknown

## Other responses

- `404`: Campaign not found.
- `422`: Validation Error

---

[API](https://skmtc.dev/call2me/apis/call2me-api.md) · [All operations](https://skmtc.dev/call2me/apis/call2me-api/llms.txt) · [OpenAPI document](https://skmtc.dev/call2me/apis/call2me-api/revisions/3951f9b7e47d?raw)
