feat: people merge improvements (#31456)

This commit is contained in:
Daniel Dietzler
2026-09-14 19:10:25 +02:00
committed by GitHub
parent a84de0188e
commit 7b51c50a96
7 changed files with 180 additions and 80 deletions
+69 -3
View File
@@ -9984,6 +9984,65 @@
"x-immich-state": "Stable"
}
},
"/people/merge": {
"post": {
"description": "Merge an ordered list of people together into a single person. The final name and birth date are always the first defined value, following the order. Also automatically merges people for other users in the cluster group, skipping people that would result in overriding a previously set name or birth date.",
"operationId": "mergePeople",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MergePersonDto"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/BulkIdResponseDto"
},
"type": "array"
}
}
},
"description": ""
}
},
"security": [
{
"bearer": []
},
{
"cookie": []
},
{
"api_key": []
}
],
"summary": "Merge people",
"tags": [
"People"
],
"x-immich-history": [
{
"version": "v3.2.1",
"state": "Added"
},
{
"version": "v3.2.1",
"state": "Stable"
}
],
"x-immich-permission": "person.merge",
"x-immich-state": "Stable"
}
},
"/people/{id}": {
"delete": {
"description": "Delete an individual person.",
@@ -10175,8 +10234,9 @@
},
"/people/{id}/merge": {
"post": {
"deprecated": true,
"description": "Merge a list of people into the person specified in the path parameter.",
"operationId": "mergePerson",
"operationId": "mergePersonLegacy",
"parameters": [
{
"name": "id",
@@ -10227,7 +10287,8 @@
],
"summary": "Merge people",
"tags": [
"People"
"People",
"Deprecated"
],
"x-immich-history": [
{
@@ -10241,10 +10302,15 @@
{
"version": "v2",
"state": "Stable"
},
{
"version": "v3.2.1",
"state": "Deprecated",
"replacementId": "mergePeople"
}
],
"x-immich-permission": "person.merge",
"x-immich-state": "Stable"
"x-immich-state": "Deprecated"
}
},
"/people/{id}/reassign": {