TikTok Marketing API · AsyncAPI Specification
Tiktok Ads Webhooks
Version
View Spec
View on GitHub
AdvertisingMarketingSocial-MediaAd CampaignsPerformance MarketingConversion TrackingAudience ManagementReportingProduct CatalogAgent ReadyAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: https://business-api.tiktok.com/portal/docs?id=1759977800177665
spec_type: none
asyncapi_published: false
asyncapi_note: >-
TikTok publishes no AsyncAPI document for this event surface. Searched the developer portal doc tree
(1,178 nodes), the tiktok GitHub organisation, and /asyncapi.yaml + /asyncapi.json on
business-api.tiktok.com — all missed. What follows is the webhook catalog as TikTok documents it in
prose; nothing here is fabricated and no AsyncAPI was authored on TikTok's behalf.
transport: https-post-json
docs:
overview: https://business-api.tiktok.com/portal/docs?id=1759977800177665
event_types: https://business-api.tiktok.com/portal/docs?id=1759978319341570
verification: https://business-api.tiktok.com/portal/docs?id=1759978341579777
subscription_use_cases: https://business-api.tiktok.com/portal/docs?id=1810521709205505
subscription:
mechanism: API
callback_registration_endpoint: /business/webhook/update/
callback_docs: https://business-api.tiktok.com/portal/docs?id=1810521279479810
requirements:
- The callback URL must be HTTPS.
- It must return HTTP 200 immediately to acknowledge receipt.
delivery:
guarantee: at-least-once
duplicates: expected — TikTok states endpoints may receive the same event more than once
consumer_requirement: event processing must be made idempotent by the consumer
retry_policy: exponential backoff for up to 72 hours, then the notification is discarded
failure_signal: any response other than HTTP 200
message:
schema_version_header: webhook-schema-version
current_schema_version: '1.0'
headers:
- name: tiktok-signature
purpose: authenticity — verify the event came from TikTok
docs: https://business-api.tiktok.com/portal/docs?id=1759978341579777
- name: webhook-schema-version
purpose: body schema version
- name: x-tt-logid
purpose: unique request identifier for troubleshooting
body_fields:
client_key: application ID provisioned for your app on the developer portal
event: event type name, e.g. post.publish.complete
create_time: UTC epoch seconds when the event occurred
user_openid: app-specific unique ID of the TikTok account
content: serialized JSON string; the only field whose shape varies by event
shape_note: >-
The per-event payload is a SERIALIZED JSON STRING inside `content`, not a nested object. Consumers must
parse twice. This is also why no schema can be inferred per event without the individual event docs.
event_families:
- family: post publishing
docs: https://business-api.tiktok.com/portal/docs?id=1759978319341570
description: >-
Lifecycle of video and photo posts published to a TikTok account through the publishing endpoints.
example_event: post.publish.complete
- family: comment updates
docs: https://business-api.tiktok.com/portal/docs?id=1759978319341570
description: New comments and changes to existing comments on posts on your TikTok account.
- family: mentions
docs: https://business-api.tiktok.com/portal/docs?id=1825113658431489
- family: business messaging
docs: https://business-api.tiktok.com/portal/docs?id=1832190670631937
- family: ad account events
docs: https://business-api.tiktok.com/portal/docs?id=1810521739537409
subscription_api: Subscription API
- family: API service status
event: API_SERVICE_STATUS
docs: https://business-api.tiktok.com/portal/docs?id=1810521739537409
description: >-
Real-time incident notifications for TikTok API for Business services, filterable by API product.
The same signal is available as RSS at
https://business-api.tiktok.com/marketing_api/api/status_page/incident/rss/
streaming:
present: true
note: >-
TikTok also documents a "Streaming API" in the rate-limit table (10,000 QPS at Basic level), which is a
distinct high-volume ingest surface from webhooks. No specification or endpoint reference for it was
found in the public doc tree.
event_ingest_apis:
note: >-
Distinct from webhooks (TikTok -> you), TikTok operates a large inbound event surface (you -> TikTok)
for conversion measurement: Events API 2.0 for Web / App / Offline / CRM (/event/track/), the legacy
Events API 1.0 (/pixel/track/, /app/track/, /offline/track/) and their batch forms. These are ordinary
REST endpoints, not an event stream, and are rate-limited at 1,000 QPS at every level.
docs: https://business-api.tiktok.com/portal/docs?id=1771100779668482