---
title: "Update Promotion Status"
method: PUT
path: "/v3/requests/PROMOTION/{promotionId}/status"
---

# Update Promotion Status

`PUT /v3/requests/PROMOTION/{promotionId}/status`

Updates the status of a loyalty promotion to manage its lifecycle. Supports submitting a promotion for approval, withdrawing it from review, pausing or resuming an active promotion, and stopping a promotion permanently.

## Path parameters

- `promotionId` string, required

## Query parameters

- `existingStatus` 'DRAFT' | 'PENDING_APPROVAL' | 'ACTIVE' | 'PAUSED', required

## Headers

- `Authorization` string, required
- `Content-Type` string, required

## Request body

- object
  - `promotionStatus` 'PENDING_APPROVAL' | 'REVOKE' | 'RESUME' | 'PAUSE' | 'STOP', required — The target status for the promotion. Valid values depend on existingStatus: PENDING_APPROVAL (from DRAFT), REVOKE (from PENDING_APPROVAL), PAUSE (from ACTIVE), STOP (from ACTIVE or PAUSED), RESUME (from PAUSED).

## Response `200`

Promotion status updated successfully.

- object
  - `data` object
  - `errors` object, nullable
  - `warnings` object, nullable

## Other responses

- `400` — Bad request. Returned when promotionStatus is missing or invalid, or existingStatus is not a supported value.
- `401` — Unauthorized. Invalid or missing authentication credentials.

---

[API](https://skmtc.net/capillarytech/apis/sample-api.md) · [All operations](https://skmtc.net/capillarytech/apis/sample-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/capillarytech/sample-api/revisions/de241f2ed9b3/schema)
