VI | EN
Message us on Messenger
Developer resources

Set or update the Brand Safety Hub settings of an ad account — TikTok Business API

Set or update the Brand Safety Hub settings of an ad account · call it through Quantri360 with one API key for your own accounts / assets that you connected and authorized — 360 handles request signing and refreshing the authorization you granted.

Set or update the Brand Safety Hub settings of an ad account

POST/tiktok_inventory_filters/update/Via 360: POST https://partner.quantri360.com/v1/tiktok_business/tiktok_inventory_filters/update/
Write endpoint — changes data on TikTok Business. The key must be created with "Allow write API calls" ticked, otherwise you get 403 write_not_allowed. Every call is logged.
Description

Use this endpoint to set or update the Brand Safety Hub settings of an ad account.

Brand Safety Hub allows you to define the default ad account-level first-party brand safety settings, including TikTok Inventory Filter and Suitability Controls such as Category Exclusion and Vertical Sensitivity.

> Note

>Currently, the settings configured through this endpoint will automatically apply to your future Smart+ Campaigns but will not apply to future regular campaigns created using /campaign/create/.

Request

Endpoint

POST https://partner.quantri360.com/v1/tiktok_business/tiktok_inventory_filters/update/

Authentication & shop

NameInTypeSampleDescription
AuthorizationheaderheaderBearer q360_live_ab12cd34_…Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand.
platform_shop_idquerystring7000000000000000001Tài sản TikTok Business đã kết nối — "Mã tài sản" ở trang Nền tảng hoặc GET /v1/platforms (tài khoản quảng cáo cho Marketing API, tài khoản TikTok cho Organic / Messaging). Có thể bỏ khi chỉ kết nối một tài sản.

Request parameters

NameInTypeRequiredSampleDescription
cover_all_ad_objectivesbodybooleanYesWhether to apply the brand safety settings (brand_safety_type, category_exclusion_ids, and vertical_sensitivity_id) to all advertising objectives. Supported values: - true: To apply the brand safety settings to all objectives, including Reach, Video views, Community Interaction, Traffic, App Promotion, Lead Generation, Website Conversions, and Product Sales. - false: To apply the brand safety settings only to Reach, Video Views, and Community Interaction objectives. Note: Once set to true, this setting cannot be updated back to false.
brand_safety_typebodystringNoInventory filter tier. The tier you select will apply to placements in the For You, Following, and Profile Page feeds, as well as Search feed, where ads appear next to search results being viewed. Enum values: - EXPANDED_INVENTORY: Expanded inventory. Your ads will not appear next to explicitly inappropriate content, but they may appear next to content that features mature themes. - STANDARD_INVENTORY: Standard inventory. Your ads will appear next to content that is appropriate for most brands. - LIMITED_INVENTORY: Limited inventory. Your ads will not appear next to content that contains mature themes. Note: If you want to update the brand safety settings, you need to specify brand_safety_type, category_exclusion_ids, and vertical_sensitivity_id simultaneously.
category_exclusion_idsbodystring[]NoValid only when brand_safety_type is STANDARD_INVENTORY or LIMITED_INVENTORY. The ID list of content categories that you want to avoid showing your ads next to. To obtain a list of content exclusion category IDs, use /tool/content_exclusion/get/ and check the returned excluded_category_list. Note: Currently, category exclusion is not available for the Product Sales objective.
vertical_sensitivity_idbodystringNoValid only when brand_safety_type is STANDARD_INVENTORY or LIMITED_INVENTORY. The ID of the vertical category to exclude sensitive vertical-related content that you want to avoid showing your ads next to. To obtain a list of vertical sensitivity categories, use /tool/content_exclusion/get/ and check the returned vertical_sensitivity_list. Note: Currently, vertical sensitivity controls are not available for the following objectives: Traffic, App Promotion, Lead Generation, Website Conversions, and Product Sales.

Request examples

curl -s -X POST "https://partner.quantri360.com/v1/tiktok_business/tiktok_inventory_filters/update/" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"cover_all_ad_objectives":false}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/tiktok_business/tiktok_inventory_filters/update/",
    params={},
    json={
        "cover_all_ad_objectives": False
    },
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=60,
)
print(r.status_code)
print(r.json())
Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/tiktok_business/tiktok_inventory_filters/update/');
for (const [k, v] of Object.entries({})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'POST',
  headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"cover_all_ad_objectives":false}),
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/tiktok_business/tiktok_inventory_filters/update/' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key, 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"cover_all_ad_objectives":false}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Response fields (as returned by TikTok Business)

NameTypeSampleDescription
codenumberResponse code. For the complete list of response codes and descriptions, see Appendix-Return Code.
messagestringResponse message. For details, see Appendix - Return Codes.
request_idstringThe log ID of a request, which uniquely identifies the request.
dataobjectReturned data.
cover_all_ad_objectivesbooleanWhether to apply the brand safety settings (`brand_safety_type`, `category_exclusion_ids`, and `vertical_sensitivity_id`) to all advertising objectives. Supported values: - `true`: To apply the brand safety settings to all objectives, including Reach, Video views, Community Interaction, Traffic, App Promotion, Lead Generation, Website Conversions, and Product Sales. - `false`: To apply the brand safety settings only to Reach, Video Views, and Community Interaction objectives.
brand_safety_typestringInventory filter tier. The tier you select will apply to placements in the For You, Following, and Profile Page feeds, as well as Search feed, where ads appear next to search results being viewed. Enum values: - `EXPANDED_INVENTORY`: Expanded inventory. Your ads will not appear next to explicitly inappropriate content, but they may appear next to content that features mature themes. - `STANDARD_INVENTORY`: Standard inventory. Your ads will appear next to content that is appropriate for most brands. - `LIMITED_INVENTORY`: Limited inventory. Your ads will not appear next to content that contains mature themes.
category_exclusion_idsstring[]The ID list of content categories that you want to avoid showing your ads next to. To obtain the details of the content categories based on category IDs, use /tool/content_exclusion/info/. Note: Currently, category exclusion is not available for the Product Sales objective.
vertical_sensitivity_idstringThe ID of the vertical category to exclude sensitive vertical-related content that you want to avoid showing your ads next to. To obtain the details of the vertical categories based on category IDs, use /tool/content_exclusion/info/. Note: Currently, vertical sensitivity controls are not available for the following objectives: Traffic, App Promotion, Lead Generation, Website Conversions, and Product Sales.

Response sample

HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "brand_safety_type": "STANDARD_INVENTORY",
        "category_exclusion_ids": [
            "201"
        ],
        "cover_all_ad_objectives": true,
        "vertical_sensitivity_id": "1001"
    }
}

Get started

  1. Sign up for Partner
  2. Enable a data type of the Ads (Marketing API) group on the platform page
  3. Create an API key (tick the TikTok Business channel)
  4. Call it as in the examples above