lose — messages, deals, tickets and the rest — moves to keep, and lose is deleted. It can’t be undone.
Where only lose has a value — a name, a field — keep takes it. Where both have one, keep’s stays unless choices picks lose’s. Tags and identifiers from both are kept, and the number not chosen stays on the contact as an older number. Where both said something about the same channel and purpose, a stop wins. The merge sends the contacts.merged webhook event.
Needs the
cdp.contacts:write scope.Body
Send an
Idempotency-Key header to merge once however often the request is retried.
Request
Response
200 OK — the contact kept, and moved: how many of each kind of record moved to it.
Errors
Every refusal is{"error": {"code", "message", "field"}}; field is there when one input is at fault.
Any request can also be refused for its key, its account or its rate (
key_required, invalid_key, account_suspended, plan_excludes_api, address_not_allowed, rate_limited); see the overview.