# List campaign phone number assignments

> List phone numbers assigned to a 10DLC campaign. A number that was unassigned is no longer listed.

`GET https://api.zavu.dev/v1/10dlc/campaigns/{campaignId}/phone-numbers`

List phone numbers assigned to a 10DLC campaign. A number that was unassigned is no longer listed.

## Parameters

- `campaignId` (path, string, required): 10DLC campaign ID.
- `limit` (query, integer)
- `cursor` (query, string): Opaque cursor from a previous response's `nextCursor`.

## Responses

### 200

List of phone number assignments.

- `items` (object[], required)
  - `id` (string, required)
  - `campaignId` (string, required)
  - `phoneNumberId` (string, required)
  - `status` (string, required): Assignment status. `pending`: sent to the carrier, not confirmed yet. `active`: the number is on the campaign and can send. `failed`: the carrier refused it; see `failureReason`. The number is free to be assigned again. One of: `pending`, `active`, `failed`.
  - `failureReason` (string, nullable)
  - `assignedAt` (string<date-time>, nullable)
  - `createdAt` (string<date-time>, required)
  - `updatedAt` (string<date-time>, required)
- `nextCursor` (string, nullable)

### 401

Unauthorized.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

### 404

Campaign not found.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

## Example

```bash
curl -X GET "https://api.zavu.dev/v1/10dlc/campaigns/campaign_abc123/phone-numbers" \
  -H "Authorization: Bearer $ZAVUDEV_API_KEY"
```

```typescript
import Zavudev from "@zavudev/sdk";

const zavu = new Zavudev({ apiKey: process.env.ZAVUDEV_API_KEY });

const result = await zavu.number10dlc.campaigns.phoneNumbers.list("campaign_abc123");

console.log(result);
```
