Hello,
I’m on Immich 2.1 (Docker Compose) and I’m trying to move a misidentified face from person N to person R. I’m the only admin/user and the API key has full access. The asset is from an unshared external library.
What works
I can fetch the destination person (R):
curl -s "http://SERVER:PORT/api/people/
<R-person-id>"
-H "x-api-key: <API_KEY>"
{"id": "<R-person-id>", "name": "R", ...}
I can list faces on the asset:
curl -s "http://SERVER:PORT/api/faces?id=
<asset-id>"
-H "x-api-key: <API_KEY>"
[
{"id":"da0d22c9-...","person":{"id":"<N-person-id>","name":"N"}},
{"id":"05d25bc2-...","person":{"id":"<N-person-id>","name":"N"}},
{"id":"149c16e6-...","person":{"id":"<U-person-id>","name":"U"}}
]
What I am trying to do:
Move face 05d25bc2-… from N to R.
Call I’m making
curl -L -X PUT "http://SERVER:PORT/api/faces/05d25bc2-...
"
-H "x-api-key: <API_KEY>"
-H "Content-Type: application/json"
-d '{"id":"<R-person-id>"}'
What I expect
The face gets reassigned to person R.
What i get:
Response (HTTP 400):
{"message":"Not found or no person.update access","error":"Bad Request","statusCode":400,"correlationId":"z4lgohai"}
Notes:
- API key is from the admin account, no other accounts exist, nothing is shared
- Face is visible on the asset and currently assigned to N.
- No logs mention anything regarding API calls
- Moving the faces manually on the webui works.
Any ideas on what I’m missing or a different endpoint/payload I should be using? I also saw /people/{id}/reassign but as this call doesnt take the face_id as input (only asset and personID), I can only move both N faces to R and not only a single one. This call works but doesnt help me as i want to move only one face.
Thanks
.