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

# Reactivate campaign

> Resume a PAUSED campaign back to ACTIVE

`POST /api/v2/buyer/campaigns/:id/reactivate`

Brings a `PAUSED` campaign back to `ACTIVE`. This is the **only** way to resume a paused campaign. Media buys return to `ACTIVE` (post-flight if their dates allow).

<Note>
  `reactivate` and [execute](/v2/buyer/campaigns/tasks/execute-campaign) are distinct endpoints. `execute` launches a `DRAFT` or `COMPLETED` campaign for the first time (or relaunches it). `reactivate` resumes a `PAUSED` campaign.
</Note>

## Request

```bash theme={null}
curl -X POST https://api.interchange.io/api/v2/buyer/campaigns/cmp_987654321/reactivate \
  -H "Authorization: Bearer $SCOPE3_API_KEY"
```

No request body.

## Parameters

| Field | Type   | Required | Notes                                                     |
| ----- | ------ | -------- | --------------------------------------------------------- |
| `id`  | string | Yes      | Campaign ID (path parameter). Must be in `PAUSED` status. |

## Response

```json theme={null}
{
  "campaignId": "cmp_987654321",
  "campaignName": "Q2 2026 Tech Launch",
  "previousStatus": "PAUSED",
  "newStatus": "ACTIVE",
  "totalMediaBuys": 2,
  "successCount": 2,
  "failureCount": 0,
  "mediaBuyResults": [
    { "mediaBuyId": "mb_abc123", "name": "Q2 2026 Tech Launch - Example Media", "previousStatus": "PAUSED", "success": true },
    { "mediaBuyId": "mb_def456", "name": "Q2 2026 Tech Launch - Display", "previousStatus": "PAUSED", "success": true }
  ]
}
```

* Reactivation brings every media buy back to `ACTIVE` (post-flight if dates allow).
* `previousStatus` / `newStatus` — campaign status before and after the call.
* `successCount` / `failureCount` — how many media buy cascade operations succeeded or failed. Partial failures are possible; the campaign is still marked `ACTIVE` even when `failureCount > 0`.

## Errors

| Code               | When                                                      |
| ------------------ | --------------------------------------------------------- |
| `VALIDATION_ERROR` | Campaign is not in `PAUSED` status.                       |
| `NOT_FOUND`        | Campaign ID does not exist for the authenticated account. |

See [Errors](/v2/reference/errors) for the full error shape and recovery semantics.

## Related

<CardGroup cols={2}>
  <Card title="Pause campaign" href="/v2/buyer/campaigns/tasks/pause-campaign" icon="pause">
    Halt spend across all media buys
  </Card>

  <Card title="Execute campaign" href="/v2/buyer/campaigns/tasks/execute-campaign" icon="rocket">
    Launch a DRAFT or COMPLETED campaign
  </Card>

  <Card title="Media buy status" href="/v2/buyer/campaigns/tasks/get-media-buy-status" icon="signal-stream">
    Poll live ADCP status
  </Card>

  <Card title="Campaign overview" href="/v2/object-guides/campaign" icon="rocket">
    The campaign object and lifecycle
  </Card>
</CardGroup>
