Skip to content

Merge Users

POST
/api/superadmin/users/merge
curl --request POST \
--url https://example.com/api/superadmin/users/merge \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "source_user_id": "example", "target_user_id": "example", "profile_overrides": { "additionalProperty": "example" } }'

Merge source user into target user (superadmin only).

All records owned by source_user_id (identities, org/team/deal memberships, invites, audit log entries) are re-associated with target_user_id. Membership conflicts keep the higher-privilege role. The source user is permanently deleted after migration.

Requires that source_user_id is not a superadmin.

Media type application/json
MergeUsersRequest
object
source_user_id
required
Source User Id
string
target_user_id
required
Target User Id
string
profile_overrides
Any of:
object
key
additional properties
string
Example generated
{
"source_user_id": "example",
"target_user_id": "example",
"profile_overrides": {
"additionalProperty": "example"
}
}

Successful Response

Media type application/json
MergeUsersResponse
object
merged
required
Merged
boolean
source_user_id
required
Source User Id
string
target_user_id
required
Target User Id
string
identities_merged
required
Identities Merged
integer
orgs_merged
required
Orgs Merged
integer
teams_merged
required
Teams Merged
integer
deals_merged
required
Deals Merged
integer
Example generated
{
"merged": true,
"source_user_id": "example",
"target_user_id": "example",
"identities_merged": 1,
"orgs_merged": 1,
"teams_merged": 1,
"deals_merged": 1
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}