Bulk sync contacts

Upserts up to 250 contacts in one request, matching each one on its email address: an existing contact with that email is updated, otherwise a contact is created. This is the v3 equivalent of looping over POST /api/3/contact/sync, and it is the endpoint to reach for when a v1 integration synced contacts one request at a time.

The work is done in the background. The response is a 202 carrying the id of the process that was created, and the contacts are written after the response is sent, so a contact read back immediately afterwards may not reflect the request yet.

A request holding more than 250 contacts is rejected as a whole and no process is created. Rows are otherwise handled independently: a row that cannot be written (no email, a validation failure, a contact the caller cannot access) is logged and skipped without failing the rest of the batch, and the outcome of an individual row is not reported back anywhere in the API. Use POST /api/3/contact/sync per contact when a request needs to know whether each contact was written.

Requires the pg_subscriber_add permission.

Body Params
contacts
array of objects
required

The contacts to upsert, at most 250 per request.

contacts*
Responses

403

The caller lacks the pg_subscriber_add permission.

422

More than 250 contacts were sent, or the account's contact limit would be exceeded. No process is created and no contact is written.

Language
Credentials
Header
URL
LoadingLoading…
Response
Choose an example:
application/json