Merge two duplicate people
Authentication
User bearer token: Supabase or Clerk session JWT, Clerk OAuth access token, or Clerk personal API key
Admin API key for system-to-system write operations
Query parameters
Provider name for provider-native IDs or slugs.
Provider-native source ID.
Provider-native source slug.
Actor type; inferred as agent when agentChassis and agentModel are supplied, or as employee from an authenticated user JWT session.
Agent chassis token for agent-authored writes.
Agent model id for agent-authored writes.
Request
How to remove the loser after foreign keys are repointed. Defaults to hard delete; merge specifically intends to eliminate the loser record.
Person whose foreign keys move to [survivorId] and which is then deleted.
Optional partial survivor write applied after foreign keys are repointed. Sent fields overwrite the survivor’s current values; omit a field to leave it unchanged. Explicit null is NOT honored here (use PATCH /v1/people/detail for null-clearing). Use to copy a chosen field from the loser onto the survivor before the loser disappears.
Response
How to remove the loser after foreign keys are repointed. Defaults to hard delete; merge specifically intends to eliminate the loser record.
Person whose foreign keys move to [survivorId] and which is then deleted.
Number of foreign-key rows repointed across all child tables (server stamped).
Public URL of the loser before deletion (server stamped).
Redirect row id created during merge, when [createSlugRedirect] is true.
Optional partial survivor write applied after foreign keys are repointed. Sent fields overwrite the survivor’s current values; omit a field to leave it unchanged. Explicit null is NOT honored here (use PATCH /v1/people/detail for null-clearing). Use to copy a chosen field from the loser onto the survivor before the loser disappears.
Public URL of the survivor (server stamped).