---
title: "Make this shop's ad account the store's GMV Max account"
method: POST
path: "/gmv-max/exclusive-authorization"
tags: ["GMV Max"]
---

# Make this shop's ad account the store's GMV Max account

`POST /gmv-max/exclusive-authorization`

## Request

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

TikTok's `gmv_max/exclusive_authorization/create`: only this shop's ad account can then run GMV Max for its store, and any other ad account loses that access. `confirm_store_id` must repeat this shop's store ID (`gmv_max_store`). TikTok needs the Business Center that owns the store. Requires `read_write` scope. Idempotent via `Idempotency-Key`; `X-Dry-Run: true` echoes the TikTok body. Single shop only.

## Headers

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

## Request body

- GmvMaxExclusiveAuthorizationCreateRequest: ``POST /public/v1/gmv-max/exclusive-authorization`` — make this shop's ad account the only one that can run GMV Max for its store.
  - `confirm_store_id` string, required: This shop's TikTok Shop (store) ID, repeated as a confirmation. Any other ad account loses GMV Max access to the store. See `gmv_max_store`.

## Response `200`

Successful Response

- GmvMaxExclusiveAuthorizationWriteResponse: POST /gmv-max/exclusive-authorization.
  - `store_id` string, required
  - `advertiser_id` string, required: The ad account now authorized.
  - `dry_run` boolean, nullable: True when nothing was sent to TikTok.
  - `would` object, nullable: Dry run only: the TikTok request body.

## Other responses

- `400`: Invalid request / shop not connected to GMV Max.
- `403`: API key lacks `read_write` scope (`FORBIDDEN`), or the shop's TikTok authorization lacks this permission (`TIKTOK_PERMISSION_MISSING`).
- `404`: Campaign or session not found in this shop.
- `409`: Idempotency-Key conflict, or a Reacher automation runs the session.
- `422`: TikTok rejected the write; the message says why.
- `429`: Write rate limit exceeded, or TikTok is throttling.
- `502`: TikTok failed transiently; safe to retry.

## Changes

> 76 revisions in range; 1 not diffed.

- **2026-10-18** `17e0890869d5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/gmv-max/exclusive-authorization/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)
