---
title: "Add videos back to a GMV Max campaign"
method: POST
path: "/gmv-max/campaign-exclusions/add-back"
tags: ["GMV Max"]
---

# Add videos back to a GMV Max campaign

`POST /gmv-max/campaign-exclusions/add-back`

## Request

- Base URL: `https://api.reacherapp.com/public/v1`
- URL: `https://api.reacherapp.com/public/v1/gmv-max/campaign-exclusions/add-back`
- Auth: API key in header `x-api-key` and API key in header `x-shop-id`

Put the given videos back on ONE campaign after an earlier exclusion. A video still excluded shop-wide, or whose creator is banned, is refused per video (it would be removed again on the next reconcile) and returned in `blocked` with a reason. Ids that are not a numeric TikTok video id come back in `invalid`. Requires `read_write` scope and an `Idempotency-Key`. Single shop only.

## Headers

- `Idempotency-Key` string, nullable

## Request body

- GmvMaxCampaignAddBackRequest: POST /gmv-max/campaign-exclusions/add-back request body — put videos back on ONE campaign. A video still excluded shop-wide, or whose creator is banned, is refused per video (it would be removed again on the next reconcile).
  - `campaign_id` string, required: The TikTok campaign id to add the videos back to.
  - `video_ids` string[], required: TikTok video ids to add back to the campaign (max 500 per call). Ids that are not a numeric TikTok video id are returned in `invalid`.

## Response `200`

Successful Response

- GmvMaxCampaignAddBackResponse: POST /gmv-max/campaign-exclusions/add-back.
  - `data` GmvMaxCampaignAddBackResult, required
    - `queued` integer, required: (campaign, video) placements newly queued for add-back.
    - `in_progress` integer: Placements whose previous TikTok call is still running; not changed this time.
    - `blocked` GmvMaxCampaignAddBackBlocked[], required: Videos that could not be added back, each with a reason.
      - `video_id` string, required: The TikTok video id that could not be added back.
      - `reason` string, required: Why it was refused: `excluded_shop_wide` (still excluded across the whole shop), `creator_banned` (its creator is excluded), `creator_unknown` (its creator can't be resolved while a ban is active), or `not_in_campaign` (not a placement in this campaign).
    - `invalid` string[], required: Inputs that are not a numeric TikTok video id.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `409`: Conflict
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

> 76 revisions in range; 1 not diffed.

- **2026-10-14** `2a7ed9f8c407`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/gmv-max/campaign-exclusions/add-back/post.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.dev/reacherapp/apis/reacher-data-api/revisions/63ce74b30b5a?raw)
