---
title: "Assign phone number to campaign"
method: POST
path: "/v1/10dlc/campaigns/{campaignId}/phone-numbers"
tags: ["10DLC"]
---

# Assign phone number to campaign

`POST /v1/10dlc/campaigns/{campaignId}/phone-numbers`

## Request

- Base URL: `https://api.zavu.dev`
- URL: `https://api.zavu.dev/v1/10dlc/campaigns/{campaignId}/phone-numbers`
- Auth: HTTP bearer

Assign a US phone number to an approved 10DLC campaign. The campaign must be in approved status.

## Path parameters

- `campaignId` string, required

## Request body

- TenDlcPhoneNumberAssignRequest
  - `phoneNumberId` string, required: ID of the phone number to assign.

## Response `201`

Phone number assigned.

- TenDlcAssignmentResponse
  - `assignment` TenDlcPhoneNumberAssignment, required
    - `id` string, required
    - `campaignId` string, required
    - `phoneNumberId` string, required
    - `status` 'pending' | 'active' | 'failed', 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.
    - `failureReason` string, nullable
    - `assignedAt` string, date-time, nullable
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400`: Campaign not approved or invalid request.
- `401`: Unauthorized.
- `404`: Campaign or phone number not found.

## Changes

> 80 revisions in range; 1 not diffed.

- **2026-03-17** `dca8af164271`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/changes/v1/10dlc/campaigns/:campaignId/phone-numbers/post.md)

---

[API](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api.md) - [All operations](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/revisions/75bc777b0ffb?raw)
