---
title: "Update campaign status"
method: PATCH
path: "/v1/campaigns/updateStatus"
tags: ["campaigns"]
---

# Update campaign status

`PATCH /v1/campaigns/updateStatus`

## Request

- Base URL: `https://api.zevari.ai`
- URL: `https://api.zevari.ai/v1/campaigns/updateStatus`
- Auth: HTTP bearer

Transport: call this endpoint with HTTP PATCH and a JSON request body. Update campaign status. Activating a campaign requires an approved campaign_activate confirmation_id. Draft and paused campaigns may activate after validation and approval. Active campaigns may pause or enter supported terminal states. Completed, failed, canceled/cancelled, rejected, and processing campaigns cannot be activated and return CAMPAIGN_INVALID_STATUS_TRANSITION. For API automation, stage that confirmation with confirmations.requestAction. If Autopilot approves it, activate immediately with the returned confirmation_id; otherwise wait for browser approval.

## Request body

- object
  - `campaign_id` string, required: Campaign ID
  - `status` 'active' | 'paused' | 'completed' | 'failed', required: New status
  - `fail_reason` string: Reason for failure (when status=failed)
  - `confirmation_id` string: Required when status='active'. First call confirmations.requestAction with action_type='campaign_activate' and payload={campaign_id}. If the response includes data.autopilot.approved=true, retry campaigns.updateStatus immediately with this confirmation_id. Otherwise use data.approval_url for browser approval, then retry with the same confirmation_id.

## Response `200`

Successful Zevari API response.

- ZevariResponseEnvelope
  - `ok` boolean, required: False when the underlying tool reports an error or a partial failure.
  - `method` string, required: Public API method name.
  - `data` unknown, required
  - `request_id` string, required: Request correlation ID. Also returned in X-Zevari-Request-Id.

## Other responses

- `400`: CAMPAIGN_INVALID_STATUS_TRANSITION is returned for unsupported lifecycle changes, including terminal or processing campaign activation.
- `401`: Missing, invalid, expired, revoked, or unauthorized API key.
- `404`: Unknown or non-public Zevari API method.
- `429`: API key rate limit exceeded.
- `500`: Unhandled server error.

---

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