Skip to main content
POST /api/v2/buyer/advertisers/{advertiserId}/audiences/sync Syncs first-party CRM audiences for an advertiser by adding, removing, or deleting members. Processing is asynchronous — the call returns 202 with a taskId you poll for completion.

Request

curl

Parameters

hashedEmail is the SHA-256 hash of a lowercased, trimmed email (64-char hex). hashedPhone is the SHA-256 hash of an E.164 phone number. Send hashed identifiers, never raw PII.
TikTok Customer File audiences require at least 1,000 valid members when the audience is first created. TikTok processing is asynchronous and can take up to 24–48 hours. TikTok additions and removals must include a SHA-256 email, phone, or MAID; externalId alone cannot identify a TikTok member. Retry with the same audience ID and idempotency key if a create, update, or delete response is interrupted. Interchange reuses the provider audience and checks TikTok’s current state instead of creating a duplicate. An accepted upload does not mean matching is finished: wait while the audience is processing and poll its status until TikTok reports a final result. If a failed create cannot be cleaned up immediately, the response tells you to retry the delete; Interchange does not report success until TikTok confirms the audience is gone.

Response

Returns 202 Accepted. taskId (identical to operationId) tracks async processing — poll GET /api/v2/buyer/tasks/{taskId} until status is completed or failed. See Async tasks. The synced audiences then appear via List audiences.

Errors

  • 400 VALIDATION_ERROR — empty audiences, malformed hashedEmail/hashedPhone, or a batch exceeding 100000 members.
  • 404 NOT_FOUNDadvertiserId does not exist or is not visible to the authenticated account.
See Errors for the full error contract.

Advertiser tasks

All advertiser operations

Async tasks

Poll a taskId to completion

List audiences

Check match status after sync

Advertiser overview

Fields, lifecycle, and concepts