---
title: "Is an identity or product already used by Shopping Ads"
method: GET
path: "/gmv-max/asset-occupancy"
tags: ["GMV Max"]
---

# Is an identity or product already used by Shopping Ads

`GET /gmv-max/asset-occupancy`

## Request

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

TikTok's `gmv_max/occupied_custom_shop_ads/list`, read on the request. An identity or product (SPU) that enabled Video, Product or LIVE Shopping Ads already use cannot join a GMV Max campaign; `occupied_by` lists those ads. One asset per call. Single shop only.

## Query parameters

- `asset_type` 'IDENTITY_TT_USER' | 'IDENTITY_BC_AUTH_TT' | 'IDENTITY_TTS_TT' | 'SPU', required: What `asset_id` is: an identity of that type, or a product (`SPU`).
- `asset_id` string, required: The identity ID or SPU ID.

## Response `200`

Successful Response

- GmvMaxAssetOccupancyResponse: GET /gmv-max/asset-occupancy — is an identity or product taken by Shopping Ads.
  - `shop_id` integer, required
  - `advertiser_id` string, required
  - `store_id` string, required: This shop's TikTok Shop (store) ID.
  - `source` 'live': Always `live`: read from TikTok on the request.
  - `fetched_at` string, nullable, required
  - `data` GmvMaxAssetOccupancy, required
    - `asset_type` string, required
    - `asset_id` string, required
    - `occupied` boolean, required: True when enabled Shopping Ads already use this asset.
    - `occupied_by` object[], required: The Shopping Ads using it: advertiser, campaign, ad group, ad, created.

## Other responses

- `400`: Invalid request / shop not connected to GMV Max.
- `403`: The shop's TikTok authorization lacks this permission.
- `422`: TikTok rejected the request.
- `429`: TikTok is throttling, or the live-read cap was reached.
- `502`: TikTok failed transiently; safe to retry.
- `503`: Live reads are briefly unavailable; retry in a minute.

## 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/asset-occupancy/get.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)
