> ## Documentation Index
> Fetch the complete documentation index at: https://docs.60db.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Campaign Recipients

> The recipients of a campaign, with their status, attempts and last outcome

List the recipients of one campaign, in CSV row order. Use it for the recipient table. Each recipient links to its last call through `last_call_id`.

## Request

### Headers

**Authorization** `string` *required*

Bearer token with your API key (scope `agents`)

### Path

**campaignId** `string` *required*

The campaign `id` (UUID)

### Query

**status** `string`

One of `pending`, `calling`, `completed`, `no_answer`, `failed`, `skipped`, `cancelled`

**q** `string`

Part of the phone number. Up to 100 characters

**limit** `integer` (default: 50)

1 to 100. Values outside the range are clamped

**offset** `integer` (default: 0)

Number of recipients to skip

## Response

**200 OK**. `data` is the array. `pagination` holds `total`, `limit` and `offset`.

```json theme={null}
{
  "success": true,
  "data": [
    {
      "id": "7d2a9c10-3e5b-4f8a-9b1c-2d3e4f5a6b7c",
      "row_number": 2,
      "phone": "+919876543210",
      "variables": { "customer_name": "Asha" },
      "status": "pending",
      "skip_reason": null,
      "attempts": 1,
      "next_attempt_at": "2026-11-12T10:30:00.000Z",
      "last_call_id": "6b1f0c52-4d7e-4b8a-9d3e-2a1c8e7f0a11",
      "last_outcome": "no_answer",
      "updated_at": "2026-11-12T10:00:31.000Z"
    }
  ],
  "pagination": { "total": 250, "limit": 50, "offset": 0 }
}
```

| Field | Meaning |
| - | - |
| `row_number` | The line number in the CSV |
| `variables` | The values sent to the agent for this recipient |
| `skip_reason` | Set when `status` is `skipped`: `invalid_number`, `dnc` or `variables_too_large` |
| `attempts` | Calls placed to this recipient so far |
| `next_attempt_at` | When the next attempt is due. Set only while `status` is `pending` |
| `last_outcome` | `answered`, `no_answer`, `failed` or `null` |

## Errors

| Status | Code | Meaning |
| - | - | - |
| 400 | `VALIDATION_ERROR` | `status` is not a known value. `field` is `status` |
| 403 | `POLICY_DENY` | Your role cannot read campaigns, or the API key lacks the `agents` scope |
| 404 | `CAMPAIGN_NOT_FOUND` | No campaign with this ID in your workspace |

## Example

```bash cURL theme={null}
curl "https://api.60db.ai/agents/campaigns/CAMPAIGN_ID/recipients?status=no_answer&limit=100" \
  -H "Authorization: Bearer your-api-key"
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.