TikTok Marketing API · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the TikTok Marketing API

5 actions 5 updates update extends openapi/tiktok-ads-marketing-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for TikTok Marketing API's API. It is a proposal applied on top of the contract, not a document TikTok Marketing API publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-sourcex-apievangelist-assemblyx-apievangelist-coverage-noteAccessTokenx-apievangelist-error-modelx-apievangelist-idempotencyx-apievangelist-rate-limitx-apievangelist-path-convention

Targets 4

$.info
$.servers
$.components.securitySchemes
$.paths[*][*]

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the TikTok Marketing API
  version: 1.0.0
extends: openapi/tiktok-ads-marketing-api-openapi.yml
x-generated: '2026-08-13'
x-method: generated
x-source: >-
  Captures the enhancements API Evangelist applied when assembling the merged OpenAPI from the 202
  per-operation fragments TikTok publishes in github.com/tiktok/tiktok-business-api-sdk/yml_files, plus the
  runtime semantics the fragments omit. The harvested document is never mutated in place; this overlay is
  the record of what we added and why.
actions:
  - target: $.info
    description: Record provenance and the rating context on the document itself.
    update:
      x-apievangelist-source: https://github.com/tiktok/tiktok-business-api-sdk/tree/main/yml_files
      x-apievangelist-assembly: mechanical union of 202 per-operation OpenAPI 3.0.1 documents; 0 path collisions, 0 duplicate operationIds
      x-apievangelist-coverage-note: >-
        202 operations of the ~400 TikTok exposes. The MCP tool table names 377 endpoints, of which 191
        resolve to an operation here; the remaining 186 exist only in the HTML API reference.
  - target: $.servers
    description: >-
      The per-operation fragments carry no servers block at all. Added the production and sandbox base URLs
      TikTok documents at portal/docs?id=1738855331457026.
    update:
      - url: https://business-api.tiktok.com/open_api/v1.3
        description: Production
      - url: https://sandbox-ads.tiktok.com/open_api/v1.3
        description: Sandbox
  - target: $.components.securitySchemes
    description: >-
      The fragments declare the credential as a per-operation QUERY parameter named Access-Token. The docs,
      every published curl example, and the live 40104 error body all say it is a HEADER. Added a header
      apiKey scheme as the authoritative declaration.
    update:
      AccessToken:
        type: apiKey
        in: header
        name: Access-Token
  - target: $.info
    description: Runtime semantics an agent needs that the harvested contract does not express.
    update:
      x-apievangelist-error-model:
        rfc9457: false
        http_status_on_error: 200
        success_field: code
        success_values: [0, 20001]
        note: HTTP status is not the error channel; `code` is. All 202 operations declare only a 200 response.
      x-apievangelist-idempotency:
        supported: false
        note: no idempotency key; no write is safe to blind-retry
      x-apievangelist-rate-limit:
        headers: []
        error_code: 40100
        note: no RateLimit-*/Retry-After headers; throttling is visible only in the body
      x-apievangelist-path-convention:
        trailing_slash: required
        note: omitting the trailing slash returns "404 page not found"
      x-apievangelist-id-convention:
        type: string
        note: v1.3 moved ids from number to string; several exceed the JS safe integer range
  - target: $.paths[*][*]
    description: >-
      Flag every operation as belonging to a contract whose only declared response is 200, so tooling does
      not infer that non-2xx cases are impossible.
    update:
      x-apievangelist-responses-declared: ['200']
      x-apievangelist-error-channel: body.code