---
title: "Complete Campaign"
method: POST
path: "/campaigns/{campaign_id}/complete"
tags: ["campaigns"]
---

# Complete Campaign

`POST /campaigns/{campaign_id}/complete`

Manually mark an active or paused campaign as completed.

## Path parameters

- `campaign_id` string, uuid, required

## Response `200`

Successful Response

- StopCampaignResponse
  - `campaign_id` string, required
  - `status` string, required

## Other responses

- `404` — Not found
- `422` — Validation Error

## Changes

- **2026-09-02** `d96feef8e2ef` — 1 breaking
  - removed the required property `batches_stopped` from the response with the `200` status

[Change history](https://skmtc.dev/noso/apis/crucible-backend-api/changes/campaigns/:campaign_id/complete/post.md)

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/noso/apis/crucible-backend-api/revisions/6242f8ed3b67?raw)
