---
title: "Update a GMV Max campaign"
method: PATCH
path: "/gmv-max/campaigns/{campaign_id}"
tags: ["GMV Max"]
---

# Update a GMV Max campaign

`PATCH /gmv-max/campaigns/{campaign_id}`

Patch the mutable subset of a GMV Max campaign — daily budget, target ROAS, name, and pause/resume (``operation_status``). Requires ``read_write`` scope. PATCH semantics — fields the caller omits are left unchanged; at least one field must be provided.

The shop must be connected to TikTok Business / GMV Max (400 ``INVALID_REQUEST`` otherwise). Idempotent via the ``Idempotency-Key`` header. ``X-Dry-Run: true`` echoes the mapped TikTok patch without calling TikTok. Single shop only.

## Path parameters

- `campaign_id` string, required

## Headers

- `Idempotency-Key` string, nullable
- `X-Dry-Run` string, nullable
- `X-Created-Via` string, nullable

## Request body

- UpdateGmvMaxCampaignRequest — ``PATCH /public/v1/gmv-max/campaigns/{campaign_id}`` — patch the mutable subset of a GMV Max campaign. All fields optional (PATCH semantics via ``model_dump(exclude_unset=True)`` in the route). At least one field must be provided.
  - `campaign_name` string, nullable
  - `daily_budget` number, nullable — New daily budget. Maps to TikTok `budget`.
  - `target_roas` number, nullable — New target ROAS. Maps to TikTok `roas_bid`.
  - `operation_status` 'ENABLE' | 'DISABLE', nullable — Pause (`DISABLE`) or resume (`ENABLE`) the campaign. Maps to TikTok `operation_status`.
  - `promotion_days` integer, nullable
  - `auto_budget_enabled` boolean, nullable

## Response `200`

Campaign updated (or dry-run echo).

- unknown

## Other responses

- `400` — Invalid request / shop not connected to GMV Max.
- `403` — API key lacks `read_write` scope.
- `409` — Idempotency-Key conflict.
- `422` — Validation Error
- `429` — Write rate limit exceeded.
- `502` — TikTok rejected or failed the update.

## Changes

- **2026-09-02** `d4fe3e380424` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/gmv-max/campaigns/:campaign_id/patch.md)

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) · [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/reacherapp/reacher-data-api/revisions/643422c93bd8/schema)
