Upload User Face
Attach a trusted imported face image to an existing User profile. Use this after creating or retrieving a User by vendor_data and reading its didit_internal_id. The uploaded face is stored on the User profile and indexed for duplicate detection and face search. It is not added to a face blocklist.
Overview
Use this endpoint when you import Users from another provider and already have a trusted face image for each person. The User remains keyed by yourvendor_data, but this profile attachment endpoint uses didit_internal_id so the target User is unambiguous.
Endpoint
POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/
Migration flow
Create or find the User
POST /v3/users/create/ for a new profile, or GET /v3/users/{vendor_data}/ for an existing one.Store didit_internal_id
didit_internal_id. Keep using vendor_data in your database; use didit_internal_id only for profile attachment endpoints.Example
Request body
| Field | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Raw base64-encoded JPG or PNG. Do not include data:image/...;base64,. Max decoded size: 2 MB. |
comment | string | No | Operator-visible note shown on the User profile. |
Response
Validation and limits
- Max 5 manually uploaded faces per User.
- Max decoded image size is 2 MB.
- The image must be valid base64 and decode as an image.
- The image must contain a detectable face. Use a frontal, well-lit face crop when possible.
- The uploaded face is indexed for future duplicate detection and face search.
- The uploaded face is not automatically blocklisted.
List or delete uploaded faces
List profile faces:Permissions
Use an API key for the same application. The key must belong to an app allowed to manage the target User profile.Failure modes
400— invalid base64, invalid image, no detectable face, image over 2 MB, or the User already has 5 uploaded faces.401— missing or invalid credentials.403— API key is valid but not allowed to manage this User profile.404— no User exists for thatdidit_internal_idin the application.429— rate-limited; back off usingRetry-After.
Related
Authorizations
Path Parameters
Organization UUID that owns the application.
Application UUID that owns the User profile.
Didit's internal User UUID, returned as didit_internal_id by GET /v3/users/{vendor_data}/ and POST /v3/users/create/.
Body
Response
Face uploaded and attached to the User profile.
UUID of the uploaded User face record.
Signed URL for the uploaded face image.
Comment supplied when the face was uploaded.
Email or actor identifier of the uploader when available.
Upload timestamp.