TikTok Marketing API Ad API

The Ad API from TikTok Marketing API — 8 operation(s) for ad.

Operations 8

POST /smart_plus/ad/appeal/ Submit ad appeal [Smart Plus Ad Appeal] #
POST /smart_plus/ad/create/ Create a new ad [Smart Plus Ad Create] #
GET /smart_plus/ad/get/ Retrieve ad details [Smart Plus Ad Get] #
POST /smart_plus/ad/material_status/update/ Update ad material status [Smart Plus Ad Material Status Update] #
GET /smart_plus/ad/review_info/ Get ad review info [Smart Plus Ad Review Info] #
POST /smart_plus/ad/status/update/ Update ad status [Smart Plus Ad Status Update] #
POST /smart_plus/ad/update/ Update an ad [Smart Plus Ad Update] #
GET /smart_plus/material/review_info/ Get material review info [Smart Plus Material Review Info] #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tiktok-ads-ad-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tiktok-ads-ad-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TikTok API for Business — Marketing Ad API
  description: TikTok API for Business (Marketing API) v1.3. This document is a mechanical union of the 202 per-operation OpenAPI 3.0.1 documents TikTok publishes in yml_files/ of its own SDK repository (https://github.com/tiktok/tiktok-business-api-sdk), which are the swagger-codegen inputs for TikTok's first-party Java/Python/JavaScript SDKs. Operation content (paths, parameters, responses, tags and the x-open-* extensions) is preserved verbatim; only info, servers and components.securitySchemes were written by API Evangelist, because the per-operation fragments carry placeholder info blocks and no servers block. The servers values are the production and sandbox base URLs TikTok documents at https://business-api.tiktok.com/portal/docs?id=1738855331457026 .
  version: v1.3
  contact:
    name: TikTok API for Business support
    url: https://business-api.tiktok.com/portal/docs?id=1795190020378625
  termsOfService: https://business-api.tiktok.com/portal/docs?id=1737191804348417
  x-source: https://github.com/tiktok/tiktok-business-api-sdk/tree/main/yml_files
  x-harvested-by: API Evangelist enrichment pipeline
  x-harvested: '2026-08-13'
servers:
- url: https://business-api.tiktok.com/open_api/v1.3
  description: Production
- url: https://sandbox-ads.tiktok.com/open_api/v1.3
  description: Sandbox
security:
- AccessToken: []
tags:
- name: Ad
paths:
  /smart_plus/ad/appeal/:
    post:
      operationId: Smart_plus Ad Appeal
      parameters:
      - description: Authorized access token. For details, see [Authentication](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162).
        in: query
        name: Access-Token
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                advertiser_id:
                  description: ''
                  type: string
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-convert:
                  - int64(%s)
                  x-open-field-id: 1
                  x-open-source: $.http.body.advertiser_id
                appeal_reason:
                  description: ''
                  maxLength: 512
                  type: string
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-field-id: 3
                  x-open-source: $.http.body.appeal_reason
                attachment_list:
                  description: ''
                  items:
                    type: string
                    x-open-allow-strlist: false
                    x-open-allow-strnum: false
                  type: array
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-field-id: 4
                  x-open-source: $.http.body.attachment_list
                smart_plus_ad_id:
                  description: ''
                  type: string
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-convert:
                  - int64(%s)
                  x-open-field-id: 2
                  x-open-source: $.http.body.creative_id
              required:
              - advertiser_id
              - smart_plus_ad_id
              type: object
              x-open-allow-strlist: false
              x-open-allow-strnum: false
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  code:
                    description: Response code. For the complete list of response codes and descriptions, see [Appendix - Return Codes](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097). Will be shown only if it is an error request.
                    format: int64
                    type:
                    - integer
                    - 'null'
                    x-open-allow-strlist: false
                    x-open-field-id: 4
                  data:
                    description: Returned data. The response for the SDK can be checked in the document for the API given in the description.
                    properties: {}
                    type:
                    - object
                    - 'null'
                    x-open-allow-strlist: false
                    x-open-field-id: 1
                    x-open-source: $.rpc.output.data
                  message:
                    description: Response message. For details, see [Appendix - Return Codes](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097).
                    type:
                    - string
                    - 'null'
                    x-open-allow-strlist: false
                    x-open-field-id: 3
                  request_id:
                    description: The log ID of a request, which uniquely identifies the request.
                    type:
                    - string
                    - 'null'
                    x-open-allow-strlist: false
                    x-open-field-id: 2
                type: object
                x-open-allow-strlist: false
          description: OK
      summary: Submit ad appeal [Smart Plus Ad Appeal]
      tags:
      - Ad
      x-open-allowlist: {}
      x-open-denylist: {}
      x-open-rules:
        base_rule: null
        extra_rule:
          base_source: []
          http_query_source: []
          http_source:
          - name: advertiser_id
            required: true
            source: $.http.body.advertiser_id
            type: number
          - name: creative_id
            required: true
            source: $.http.body.smart_plus_ad_id
            type: number
          - name: appeal_reason
            required: false
            source: $.http.body.appeal_reason
            type: string
          - children:
            - type: string
            name: attachment_list
            required: false
            source: $.http.body.attachment_list
            sub_type: string
            type: array
        plugins:
          after_response: []
          before_request: []
        request_query_rule: null
        request_rule:
          advertiser_id: $.http.body.advertiser_id
          appeal_reason: $.http.body.appeal_reason
          attachment_list: $.http.body.attachment_list
          creative_id: $.http.body.smart_plus_ad_id
        response_cookie: []
        response_header: []
        response_rule: null
      x-open-scene-labels: []
      x-open-settings:
        pop_resp_nullvalue: false
  /smart_plus/ad/create/:
    post:
      operationId: Smart_plus Ad Create
      parameters:
      - description: Authorized access token. For details, see [Authentication](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162).
        in: query
        name: Access-Token
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                ad_configuration:
                  description: ''
                  properties:
                    auto_disclaimer_types:
                      description: ''
                      items:
                        type: string
                        x-open-allow-strlist: false
                        x-open-allow-strnum: false
                        x-open-enum:
                          enum_package_expired: false
                          enum_package_id: 1827620303506497
                          enum_package_name: AutoDisclaimerType
                          enums:
                          - description: 汽车折扣
                            is_valid: true
                            key: DISCOUNT
                            value: '2'
                          - description: 汽车排放
                            is_valid: true
                            key: EMISSION
                            value: '1'
                          key_format: string
                          strict: true
                          use_part: false
                          validate_only: false
                          value_format: int32
                      type: array
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-field-id: 11
                    call_to_action_id:
                      description: ''
                      type: string
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-convert:
                      - int64(%s)
                      x-open-field-id: 8
                      x-open-source: $.http.body.common_material.call_to_action_id
                    catalog_creative_toggle:
                      description: ''
                      type: boolean
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-field-id: 6
                      x-open-source: $.http.body.common_material.catalog_creative_toggle
                    dark_post_status:
                      default: 'OFF'
                      description: ''
                      type: string
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-enum:
                        enum_package_expired: false
                        enum_package_id: 1843735142813698
                        enum_package_name: DarkPostStatus
                        enums:
                        - description: ''
                          is_valid: true
                          key: 'OFF'
                          value: '2'
                        - description: ''
                          is_valid: true
                          key: 'ON'
                          value: '1'
                        - description: ''
                          is_valid: false
                          key: Partly
                          value: '3'
                        key_format: string
                        strict: true
                        use_part: true
                        validate_only: false
                        value_format: int32
                      x-open-field-id: 15
                    end_card_cta:
                      description: ''
                      type: string
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-enum:
                        enum_package_expired: false
                        enum_package_id: 1824616467253313
                        enum_package_name: EndCardCTA
                        enums:
                        - description: ''
                          is_valid: true
                          key: BOOK_NOW
                          value: book_now
                        - description: ''
                          is_valid: true
                          key: CONTACT_US
                          value: contact_us
                        - description: ''
                          is_valid: true
                          key: LEARN_MORE
                          value: learn_more
                        - description: ''
                          is_valid: true
                          key: ORDER_NOW
                          value: order_now
                        - description: ''
                          is_valid: true
                          key: READ_MORE
                          value: read_more
                        - description: ''
                          is_valid: true
                          key: SEARCH_INVENTORY
                          value: search_inventory
                        - description: ''
                          is_valid: true
                          key: SHOP_NOW
                          value: shop_now
                        - description: ''
                          is_valid: true
                          key: SIGN_UP
                          value: sign_up
                        - description: ''
                          is_valid: true
                          key: VIEW_MORE
                          value: cta_view_more
                        key_format: string
                        strict: true
                        use_part: false
                        validate_only: false
                        value_format: string
                      x-open-field-id: 9
                    fallback_type:
                      description: ''
                      type: string
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-enum:
                        enum_package_expired: false
                        enum_package_id: 1810699520231426
                        enum_package_name: FallbackType
                        enums:
                        - description: ''
                          is_valid: true
                          key: APP_INSTALL
                          value: '1'
                        - description: ''
                          is_valid: true
                          key: UNSET
                          value: '0'
                        - description: ''
                          is_valid: true
                          key: WEBSITE
                          value: '2'
                        key_format: string
                        strict: true
                        use_part: false
                        validate_only: false
                        value_format: int32
                      x-open-field-id: 14
                    identity_id:
                      description: ''
                      type: string
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-field-id: 2
                      x-open-source: $.http.body.common_material.identity_id
                    identity_type:
                      description: ''
                      type: string
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-enum:
                        enum_package_expired: false
                        enum_package_id: 1800331041544193
                        enum_package_name: IdentityType
                        enums:
                        - description: ''
                          is_valid: false
                          key: AUTH_CODE
                          value: '2'
                        - description: ''
                          is_valid: false
                          key: BC_AUTH_TT
                          value: '5'
                        - description: ''
                          is_valid: false
                          key: BC_SELF_TT
                          value: '4'
                        - description: ''
                          is_valid: true
                          key: CUSTOMIZED_USER
                          value: '1'
                        - description: TTS 授权来源TT账号
                          is_valid: false
                          key: TTS_TT
                          value: '8'
                        - description: ''
                          is_valid: false
                          key: TT_USER
                          value: '3'
                        - description: ''
                          is_valid: false
                          key: UNSET
                          value: '0'
                        key_format: string
                        strict: true
                        use_part: true
                        validate_only: false
                        value_format: int32
                      x-open-field-id: 1
                      x-open-source: $.http.body.common_material.identity_type
                    phone_info:
                      description: ''
                      properties:
                        phone_number:
                          description: ''
                          type: string
                          x-open-allow-strlist: false
                          x-open-allow-strnum: false
                          x-open-field-id: 1
                        phone_region_calling_code:
                          description: ''
                          type: string
                          x-open-allow-strlist: false
                          x-open-allow-strnum: false
                          x-open-field-id: 2
                        phone_region_code:
                          description: ''
                          type: string
                          x-open-allow-strlist: false
                          x-open-allow-strnum: false
                          x-open-field-id: 3
                      type: object
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-field-id: 13
                    product_display_field_list:
                      description: ''
                      items:
                        type: string
                        x-open-allow-strlist: false
                        x-open-allow-strnum: false
                        x-open-enum:
                          enum_package_expired: false
                          enum_package_id: 1824616319490050
                          enum_package_name: ProductDisplayField
                          enums:
                          - description: dealer所处的城市
                            is_valid: true
                            key: ADDRESS_CITY
                            value: '10'
                          - description: ''
                            is_valid: false
                            key: AREA_SIZE
                            value: '14'
                          - description: dealer名称
                            is_valid: true
                            key: DEALER_NAME
                            value: '1'
                          - description: ''
                            is_valid: false
                            key: ESTATE_PRICE
                            value: '17'
                          - description: 外表颜色
                            is_valid: true
                            key: EXTERIOR_COLOR
                            value: '8'
                          - description: 品牌
                            is_valid: true
                            key: MAKE
                            value: '2'
                          - description: 已跑公里数
                            is_valid: true
                            key: MILEAGE
                            value: '5'
                          - description: 型号
                            is_valid: true
                            key: MODEL
                            value: '3'
                          - description: ''
                            is_valid: false
                            key: NUM_BED_AND_BATH
                            value: '18'
                          - description: 价格
                            is_valid: true
                            key: PRICE
                            value: '6'
                          - description: ''
                            is_valid: false
                            key: PROPERTY_TYPE
                            value: '15'
                          - description: ''
                            is_valid: false
                            key: REAL_ESTATE_TITLE
                            value: '19'
                          - description: 折扣价格
                            is_valid: true
                            key: SALE_PRICE
                            value: '7'
                          - description: 汽车配置
                            is_valid: true
                            key: TRIM
                            value: '9'
                          - description: 汽车状态
                            is_valid: true
                            key: VEHICLE_STATE
                            value: '11'
                          - description: 上市年份
                            is_valid: true
                            key: YEAR
                            value: '4'
                          - description: ''
                            is_valid: false
                            key: YEAR_BUILT
                            value: '16'
                          key_format: string
                          strict: true
                          use_part: true
                          validate_only: false
                          value_format: int32
                      type: array
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-field-id: 10
                    product_ids:
                      description: ''
                      items:
                        type: string
                        x-open-allow-strlist: false
                        x-open-allow-strnum: false
                        x-open-convert:
                        - int64(%s)
                      type: array
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-field-id: 5
                      x-open-source: $.http.body.common_material.product_ids
                    product_set_id:
                      description: ''
                      type: string
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-convert:
                      - int64(%s)
                      x-open-field-id: 4
                      x-open-source: $.http.body.common_material.product_set_id
                    product_specific_type:
                      description: ''
                      type: string
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-enum:
                        enum_package_expired: false
                        enum_package_id: 1807533365234690
                        enum_package_name: ProductSpecificType
                        enums:
                        - description: ''
                          is_valid: true
                          key: ALL
                          value: '1'
                        - description: ''
                          is_valid: true
                          key: CUSTOMIZED_PRODUCTS
                          value: '3'
                        - description: ''
                          is_valid: true
                          key: PRODUCT_SET
                          value: '2'
                        - description: ''
                          is_valid: false
                          key: UNSET
                          value: '0'
                        key_format: string
                        strict: true
                        use_part: true
                        validate_only: false
                        value_format: int32
                      x-open-field-id: 3
                      x-open-source: $.http.body.common_material.product_specific_type
                    tracking_info:
                      description: ''
                      properties:
                        click_tracking_url:
                          description: ''
                          type: string
                          x-open-allow-strlist: false
                          x-open-allow-strnum: false
                          x-open-field-id: 2
                          x-open-source: $.http.body.common_material.tracking_info.action_track_url
                        impression_tracking_url:
                          description: ''
                          type: string
                          x-open-allow-strlist: false
                          x-open-allow-strnum: false
                          x-open-field-id: 1
                          x-open-source: $.http.body.common_material.tracking_info.track_url
                        tracking_app_id:
                          description: ''
                          type: string
                          x-open-allow-strlist: false
                          x-open-allow-strnum: false
                          x-open-convert:
                          - int64(%s)
                          x-open-field-id: 3
                          x-open-source: $.http.body.common_material.tracking_info.tracking_app_id
                        tracking_message_event_set_id:
                          description: ''
                          type: string
                          x-open-allow-strlist: false
                          x-open-allow-strnum: false
                          x-open-convert:
                          - int64(%s)
                          x-open-field-id: 4
                      type: object
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-field-id: 12
                      x-open-source: $.http.body.common_material.tracking_info
                    utm_params:
                      description: ''
                      items:
                        properties:
                          key:
                            description: ''
                            type: string
                            x-open-allow-strlist: false
                            x-open-allow-strnum: false
                            x-open-field-id: 1
                            x-open-source: $.http.body.common_material.utms[].field
                          value:
                            description: ''
                            type: string
                            x-open-allow-strlist: false
                            x-open-allow-strnum: false
                            x-open-field-id: 2
                            x-open-source: $.http.body.common_material.utms[].value
                        type: object
                        x-open-allow-strlist: false
                        x-open-allow-strnum: false
                      maxItems: 14
                      type: array
                      x-open-allow-strlist: false
                      x-open-allow-strnum: false
                      x-open-field-id: 7
                      x-open-source: $.http.body.common_material.utms
                  type: object
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-field-id: 13
                  x-open-source: $.http.body.common_material
                ad_name:
                  description: ''
                  type: string
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-field-id: 3
                  x-open-source: $.http.body.ad_name
                ad_text_list:
                  description: ''
                  items:
                    properties:
                      ad_text:
                        description: ''
                        type: string
                        x-open-allow-strlist: false
                        x-open-allow-strnum: false
                        x-open-field-id: 1
                        x-open-source: $.http.body.title_list[].title
                    required:
                    - ad_text
                    type: object
                    x-open-allow-strlist: false
                    x-open-allow-strnum: false
                  maxItems: 5
                  type: array
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-field-id: 6
                  x-open-source: $.http.body.title_list
                adgroup_id:
                  description: ''
                  type: string
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-convert:
                  - int64(%s)
                  x-open-field-id: 2
                  x-open-source: $.http.body.adgroup_id
                advertiser_id:
                  description: ''
                  type: string
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-convert:
                  - int64(%s)
                  x-open-field-id: 1
                  x-open-source: $.http.body.advertiser_id
                auto_message_list:
                  description: ''
                  items:
                    properties:
                      auto_message_id:
                        description: ''
                        type: string
                        x-open-allow-strlist: false
                        x-open-allow-strnum: false
                        x-open-convert:
                        - int64(%s)
                        x-open-field-id: 1
                    type: object
                    x-open-allow-strlist: false
                    x-open-allow-strnum: false
                  maxItems: 1
                  type: array
                  x-open-allow-strlist: false
                  x-open-allow-strnum: false
                  x-open-field-id: 12
                call_to_action_list:
                  description: ''
                  items:
                    properties:
                      call_to_action:
                        description: ''
                        type: string
                        x-open-allow-strlist: false
                        x-open-allow-strnum: false
                        x-open-enum:
                          enum_package_expired: false
                          enum_package_id: 1807533165224961
                          enum_package_name: CallToAction
                          enums:
                          - description: ''
                            is_valid: true
                            key: APPLY_NOW
                            value: apply_now
                          - description: ''
                            is_valid: true
                            key: BOOK_NOW
                            value: book_now
                          - description: ''
                            is_valid: true
                            key: CALL_NOW
                            value: call_to_action_call
                          - description: ''
                            is_valid: true
                            key: CHECK_AVAILABILITY
                            value: cta_check_availability
                          - description: ''
                            is_valid: true
                            key: CONTACT_US
                            value: contact_us
                          - description: ''
                            is_valid: true
                            key: DOWNLOAD_NOW
                            value: download_now
                          - description: ''
                            is_valid: true
                            key: EXPERIENCE_NOW
                            value: experience_now
                          - description: ''
                            is_valid: true
                            key: GET_QUOTE
                            value: get_quote
                          - description: ''
                            is_valid: true
                            key: GET_SHOWTIMES
                            value: get_showtimes
                          - description: ''
                            is_valid: true
                            key: GET_TICKETS_NOW
                            value: get_tickets_now
                          - description: ''
                            is_valid: true
                            key: INSTALL_NOW
                            value: install_now
                          - description: ''
                            is_valid: true
                            key: INTERESTED
                            value: interested
                          - description: ''
                            is_valid: true
                            key: JOIN_THIS_HASHTAG
                            value: join_this_hashtag
                          - description: ''
                            is_valid: true
                            key: LEARN_MORE
                            value: learn_more
                          - description: ''
                            is_val

# --- truncated at 32 KB (216 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tiktok-ads/refs/heads/main/openapi/tiktok-ads-ad-api-openapi.yml