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
You may send raw
email and phone values or their pre-hashed equivalents.
Interchange immediately trims and lowercases raw email, canonicalizes an
international phone number to E.164, and SHA-256 hashes it before task
creation, audit capture, persistence, or forwarding. Raw phone values must
include a leading + country code; Interchange never guesses a region.hashedEmail and hashedPhone must be 64-character SHA-256 hex values and
are canonicalized to lowercase. If you send both a raw value and its hash,
they must match after normalization. Use externalId only for an opaque,
audience-scoped member ID, and use uids[] only for universal identifiers
such as UID2, RampID, or MAID. Do not place email addresses or phone numbers
in externalId or uids[]; those values are treated as opaque identifiers
and are not normalized or hashed for you.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
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— emptyaudiences, malformed email/phone identifiers, raw/hash mismatches, or a batch exceeding 100000 members.404 NOT_FOUND—advertiserIddoes not exist or is not visible to the authenticated account.
Related
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