> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# उपयोगकर्ता बायोमेट्रिक्स: चेहरा खोज और ब्लॉकलिस्ट

> Didit वेंडर User entities से चेहरा बायोमेट्रिक्स कैसे जोड़ता है: 1:N खोज, डुप्लिकेट पहचान, फ़ेस ब्लॉकलिस्ट और मैन्युअल अपलोड।



चेहरा बायोमेट्रिक्स प्रॉम्प्ट
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\````# Goal — search, blocklist, and act on User face biometrics

Faces are captured automatically during liveness inside a verification session, and can also be uploaded to an existing User profile when you are migrating users from another provider. You interact with biometrics through three action surfaces: **profile face upload** (attach an imported face to a User), **face search** (find a user by face), and the **Lists API** (blocklist a face so future sessions are auto-declined).

\## 1) Upload a face to an imported User profile

Use this when you already created or imported a User with `vendor_data` and have a trusted face image from your previous provider.

\```bash
\# 1. Get the Didit internal User id from vendor_data
curl https://verification.didit.me/v3/users/user-42/ \
-H "x-api-key: $DIDIT_API_KEY"

\# 2. Upload a base64-encoded face to that profile
curl -X POST https://verification.didit.me/v3/organization/$ORGANIZATION_ID/application/$APPLICATION_ID/vendor-users/by-id/$DIDIT_INTERNAL_ID/faces/upload/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"image": "<base64-encoded-jpg-or-png>", "comment": "Imported from previous KYC provider"}'
\```

Limits: max 5 faces per User, max 2 MB per image, and the image must contain a detectable face. This enrolls the face for profile evidence and future duplicate/face-search matching. It does not blocklist the face.

\## 2) Face search — 1:N

Use to detect duplicate accounts, identify a face from a CCTV frame, or recognise a returning customer before running new KYC.

\```bash
curl -X POST https://verification.didit.me/v3/face-search/ \
-H "x-api-key: $DIDIT_API_KEY" \
-F "user_image=@./selfie.jpg"
\```

Response includes match candidates with similarity scores. Wire your workflow (in the console) to auto-decline / flag / warn on duplicate hits, or call this endpoint directly from your backend before creating a session.

\## 3) Face blocklist — block a user by face

To block a known bad actor going forward, upload their face to a **face-type list** in your application. Any future session whose liveness selfie matches the embedding is auto-declined.

\```bash
\# Upload a face directly to a face-type list (no session needed)
curl -X POST https://verification.didit.me/v3/lists/$LIST_UUID/entries/face-upload/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"image": "<base64-encoded-jpg-or-png>", "reason": "confirmed_fraud"}'
\```

If the face you want to block came from an existing session, use `POST /v3/lists/{list_uuid}/entries/` with `reference_session_id` instead — the backend extracts the biometric and links the entry back to the session.

Remove a face from the list with the Delete entry endpoint:

\```bash
curl -X DELETE https://verification.didit.me/v3/lists/$LIST_UUID/entries/$ENTRY_UUID/ \
-H "x-api-key: $DIDIT_API_KEY"
\```

The Lists API supports face, document, email, phone, and IBAN list types. See /management-api/lists/overview for the full catalog.

\## 4) Blocklisting after a decline

Declining a session adds the face to no blocklist: the User stays `ACTIVE` and no list entry is written, so a later session with the same face is decided by the workflow's own rules, not by a list match. To block a declined subject, upload the face to a face-type list yourself with the Lists API call above — a decline never does it for you.

\## 5) Where the face lives on the User

\- `portrait_image` on the User entity is a signed URL to the latest approved selfie.
\- Manually uploaded profile faces are listed under the User profile face collection and returned by the profile face list endpoint.
\- `approved_duplicate_status` on each face is one of `NOT_DUPLICATED` / `DUPLICATED`.
\- Embeddings (numeric vectors) are stored separately from the image. Deleting a session deletes the image and, by default, the embedding. An application that opted in to biometric-template retention keeps one image-free template anchored to the User after the session is deleted; it has a finite expiry and is purged on User deletion, a privacy-erasure deletion (deletion_instruction: "privacy_erasure"), or an explicit purge via /v3/biometric-templates/ (see /management-api/biometric-templates/overview).

\## Failure modes

\- `400` from face-search / upload-face — image has no detectable face, multiple faces, or is too low-quality. Re-capture and retry.
\- `404` on Lists API — wrong `list_id` or list deleted.
\- `403` — your role lacks permission on the `lists` resource.
\- `429` — rate-limited.

\## Response shape

See /standalone-apis/face-search and /management-api/lists/upload-face for full schemas. Match objects use `similarity` (0–1) and reference the linked User `vendor_data` when known.

\## Sources of truth

\- /management-api/users/upload-face — attach an imported face to a User profile
\- /standalone-apis/face-search — face search request / response
\- /management-api/lists/upload-face — face blocklist upload
\- /management-api/lists/delete-entry — remove from list
\- /management-api/biometric-templates/overview — templates retained after session deletion
\- /core-technology/face-search/overview — search behaviour
\- /core-technology/liveness/overview — face capture during sessions
\- /integration/integration-prompt — canonical end-to-end prompt````

\</pre>



      
      

यहाँ पेस्ट करें

चेहरा बायोमेट्रिक्स हर उपयोगकर्ता एंटिटी के केंद्र में हैं। Didit [लाइवनेस डिटेक्शन](https://docs.didit.me/hi/core-technology/liveness/overview.md) के दौरान चेहरा कैप्चर करता है, एक वेक्टर एम्बेडिंग बनाता है, और उसे चार बाद की सुविधाओं के लिए संग्रहीत करता है: **1:N चेहरा खोज**, **डुप्लिकेट पहचान**, **ब्लॉकलिस्ट लागू करना**, और **बायोमेट्रिक पुनः-प्रमाणीकरण**।> [!NOTE]
>
> संग्रहीत चेहरे [बायोमेट्रिक प्रमाणीकरण](https://docs.didit.me/hi/core-technology/biometric-auth/overview.md) के लिए संदर्भ का काम भी करते हैं। `vendor_data` के साथ बायोमेट्रिक प्रमाणीकरण सत्र बनाएँ और `portrait_image` छोड़ दें, तो Didit संग्रहीत चेहरे का अपने-आप पुन: उपयोग करता है। क्रम यह है: पहले स्वीकृत लाइवनेस चेहरा, फिर ePassport चिप फ़ोटो, फिर ID दस्तावेज़ का पोर्ट्रेट, और अंत में मैन्युअली पंजीकृत प्रोफ़ाइल चेहरा।## उपयोगकर्ता से चेहरे कैसे जुड़ते हैं**1. लाइवनेस के दौरान कैप्चर**जब कोई User ऐसे सत्र से गुज़रता है जिसमें लाइवनेस सक्षम है, तो Didit एक सेल्फ़ी कैप्चर करता है, पैसिव लाइवनेस डिटेक्शन चलाता है, सबसे बड़ा चेहरा निकालता है, और खोज के लिए एक वेक्टर एम्बेडिंग बनाता है।**2. उपयोगकर्ता प्रोफ़ाइल पर संग्रहीत**चेहरा सत्र और मूल User एंटिटी से जुड़ा होता है। पोर्ट्रेट URL उपयोगकर्ता प्रोफ़ाइल पर `portrait_image` के रूप में दिखता है।**3. खोज के लिए इंडेक्स**एम्बेडिंग खोज इंडेक्स में जोड़ी जाती है। बाद के सत्र इस इंडेक्स पर 1:N खोज चला सकते हैं।## चेहरा खोज (1:N)चेहरा खोज आपको एक इमेज अपलोड करके आपके एप्लिकेशन में पंजीकृत हर चेहरे से मिलान करके किसी उपयोगकर्ता को ढूँढने देती है।उपयोग के मामले:- **ऑनबोर्डिंग के समय डुप्लिकेट पहचान**: एक ही व्यक्ति को दो खाते बनाने से रोकें।
- **रिवर्स लुकअप**: धोखाधड़ी जाँच में किसी CCTV फ़्रेम या इमेज में दिख रहे उपयोगकर्ता की पहचान करें।
- **लौटने वाले ग्राहक की पहचान**: लौटने वाले ग्राहक के लिए KYC छोड़ें।जब आपके वर्कफ़्लो में डुप्लिकेट पहचान सक्षम हो, तो नए सत्रों के दौरान चेहरा खोज अपने-आप चलती है। इसे एक स्वतंत्र API के रूप में भी उपलब्ध कराया गया है:- `POST /v3/face-search/` - [स्वतंत्र चेहरा खोज](https://docs.didit.me/hi/standalone-apis/face-search.md)## डुप्लिकेट पहचानहर नए चेहरे की तुलना मौजूदा पंजीकृत चेहरों से की जा सकती है, ताकि डुप्लिकेट सामने आएँ। Didit हर चेहरे को एक `approved_duplicate_status` देता है:| स्थिति | अर्थ |
| - | - |
| `NOT_DUPLICATED` | समानता थ्रेशोल्ड से ऊपर कोई मिलान नहीं मिला |
| `DUPLICATED` | चेहरा पहले से स्वीकृत सत्र के एक या अधिक चेहरों से मेल खाता है |वर्कफ़्लो को इस तरह कॉन्फ़िगर किया जा सकता है कि:- **अस्वीकार करें**: डुप्लिकेट-फ़्लैग किए गए सत्रों को अपने-आप अस्वीकार करें।
- **समीक्षा के लिए चिह्नित करें**: सत्र को मानव विश्लेषक को भेजें।
- **केवल चेतावनी दें**: अनुमति दें, लेकिन एक जोखिम टैग जोड़ें।इसे कंसोल में *Workflows → \[your workflow] → Face Match / Liveness → Duplicate detection* पर कॉन्फ़िगर करें।## चेहरा ब्लॉकलिस्टसत्र अस्वीकार करने से चेहरा किसी ब्लॉकलिस्ट में नहीं जुड़ता। उसी चेहरे वाले भविष्य के सत्र रोकने के लिए, उसे स्वयं ब्लॉकलिस्ट में डालें: [ब्लॉकलिस्ट पेज](https://docs.didit.me/hi/console/blocklist-users.md) से जोड़ें या [Lists API](https://docs.didit.me/hi/management-api/lists/overview.md) का उपयोग करें। जिस नए सत्र की लाइवनेस सेल्फ़ी उस प्रविष्टि से मेल खाती है, वह अपने-आप अस्वीकार हो जाता है।## आयात किया गया चेहरा User प्रोफ़ाइल पर अपलोड करेंयदि आप किसी दूसरे KYC प्रदाता से माइग्रेट कर रहे हैं, तो पहले User बनाएँ और फिर उस प्रोफ़ाइल से एक भरोसेमंद चेहरा इमेज जोड़ें। User अब भी आपके `vendor_data` से पहचाना जाता है, लेकिन चेहरा अपलोड endpoint लक्ष्य को स्पष्ट रखने के लिए Didit की आंतरिक User ID (`didit_internal_id`) का उपयोग करता है।**1. User बनाएँ या प्राप्त करें**अपने स्थायी `vendor_data` के साथ [`POST /v3/users/create/`](https://docs.didit.me/hi/management-api/users/create) कॉल करें, या यदि User पहले से मौजूद है तो `GET /v3/users/{vendor_data}/` कॉल करें।**2. didit\_internal\_id पढ़ें**User रिस्पॉन्स में `didit_internal_id` शामिल होता है। अपने सिस्टम में `vendor_data` का ही उपयोग जारी रखें; `didit_internal_id` केवल प्रोफ़ाइल से जुड़े endpoint के लिए उपयोग करें।**3. चेहरा अपलोड करें**base64-एन्कोडेड चेहरा इमेज के साथ [`POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/`](https://docs.didit.me/hi/management-api/users/upload-face) कॉल करें।```bash theme={null}
# 1. Create or retrieve the User keyed by your vendor_data
curl -X POST https://verification.didit.me/v3/users/create/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "vendor_data": "user-42",
    "display_name": "Jane Doe",
    "metadata": { "previous_provider": "legacy-kyc-vendor" }
  }'

# Response includes:
# { "didit_internal_id": "11111111-2222-3333-4444-555555555555", ... }

# 2. Upload the imported face to the User profile
curl -X POST https://verification.didit.me/v3/organization/$ORGANIZATION_ID/application/$APPLICATION_ID/vendor-users/by-id/11111111-2222-3333-4444-555555555555/faces/upload/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "<base64-encoded-jpg-or-png>",
    "comment": "Imported from previous KYC provider"
  }'
```आयात किए गए प्रोफ़ाइल चेहरे उसी फ़ेस इंडेक्स में दर्ज होते हैं जिसका उपयोग डुप्लिकेट पहचान और चेहरा खोज करते हैं। वे अपने-आप ब्लॉकलिस्ट नहीं होते। किसी ज्ञात दुर्भावनापूर्ण व्यक्ति को ब्लॉक करने के लिए, चेहरा इसके बजाय फ़ेस-टाइप सूची में अपलोड करें।> [!WARNING]
>
> केवल वे चेहरे अपलोड करें जिन्हें आप अपनी गोपनीयता सूचना और माइग्रेशन समझौते के तहत प्रोसेस करने के लिए अधिकृत हैं। स्रोत-प्रदाता पहचानकर्ता केवल तभी `metadata` या `comment` में रखें जब वे आपके अनुपालन अधिकारियों के सामने उजागर करने के लिए सुरक्षित हों।### ब्लॉकलिस्ट कैसे होती है| ट्रिगर | कार्रवाई |
| - | - |
| सत्र `DECLINED` | किसी ब्लॉकलिस्ट में कुछ नहीं जुड़ता; User `ACTIVE` रहता है |
| विश्लेषक कंसोल से किसी चेहरे को मैन्युअली ब्लॉकलिस्ट करता है | चेहरा जुड़ता है, उपयोगकर्ता की स्थिति नीति के अनुसार अपडेट होती है |
| Lists API से प्रोग्रामेटिक जोड़ | चेहरा इमेज को फ़ेस-टाइप ब्लॉकलिस्ट में अपलोड करें |### ब्लॉकलिस्ट में चेहरा अपलोड करनाचेहरे के आधार पर किसी उपयोगकर्ता को प्रोग्रामेटिक रूप से ब्लॉक करने के लिए, समर्पित [सूची में चेहरा अपलोड करें](https://docs.didit.me/hi/management-api/lists/upload-face.md) endpoint से चेहरा इमेज को फ़ेस-टाइप ब्लॉकलिस्ट में अपलोड करें। Didit बायोमेट्रिक एम्बेडिंग निकालता है और उसे मिलान वाले इंडेक्स में डालता है। भविष्य का कोई भी ऐसा सत्र जिसकी लाइवनेस सेल्फ़ी मेल खाती है, वह अपने-आप अस्वीकार हो जाता है।> [!NOTE]
>
> प्रोफ़ाइल चेहरा अपलोड और चेहरा ब्लॉकलिस्ट अपलोड अलग-अलग कार्य हैं। प्रोफ़ाइल अपलोड का उपयोग किसी भरोसेमंद आयातित चेहरे को साक्ष्य, डुप्लिकेट पहचान और चेहरा खोज के लिए User से जोड़ने में करें। चेहरे को ब्लॉक करने के लिए, ताकि मेल खाने वाले भविष्य के सत्र अस्वीकार हों, [Lists API](https://docs.didit.me/hi/management-api/lists/overview.md) का उपयोग करें।### ब्लॉकलिस्ट से चेहरा हटानाकंसोल में *Blocklist → Faces → row actions → Remove* से प्रविष्टि हटाएँ, या [प्रविष्टि हटाएँ](https://docs.didit.me/hi/management-api/lists/delete-entry.md) endpoint का उपयोग करें।## प्रतिधारित बायोमेट्रिक टेम्पलेट सत्र हटाने के बादसत्र हटाने पर चेहरे की इमेज और, डिफ़ॉल्ट रूप से, फ़ेस एम्बेडिंग भी हट जाती हैं, इसलिए वह व्यक्ति डुप्लिकेट पहचान और चेहरा खोज से बाहर हो जाता है। यदि आप स्वीकृति के तुरंत बाद सत्र हटाते हैं, फिर भी दोहराए गए साइन-अप पकड़ने की ज़रूरत है, तो एप्लिकेशन पर [बायोमेट्रिक टेम्पलेट प्रतिधारण](https://docs.didit.me/hi/console/data-retention.md#बायोमेट्रिक-टेम्पलेट-प्रतिधारण) सक्षम करें, या हटाने के कॉल पर `retain_face_embeddings: true` भेजें।Didit फिर सत्र और उसका सारा डेटा सामान्य रूप से हटा देता है, और उपयोगकर्ता से जुड़ा एक अलग से प्रबंधित, इमेज-रहित फ़ेस बायोमेट्रिक टेम्पलेट रखता है:- इसमें केवल संख्यात्मक चेहरा टेम्पलेट और प्रतिधारण मेटाडेटा होता है। इसमें कभी चेहरे की इमेज, लाइवनेस वीडियो, दस्तावेज़ का डेटा, निकाली गई पहचान की जानकारी, निर्णय, या हटाए गए सत्र का id नहीं होता।
- यह डुप्लिकेट पहचान, चेहरा खोज, बायोमेट्रिक प्रमाणीकरण और आपकी फ़ेस सूचियों में सक्रिय सत्र के चेहरे की तरह ही भाग लेता है। हिट `source: "retained_template"`, उपयोगकर्ता के `vendor_user_id` और `vendor_data`, तथा `biometric_template_id` के साथ रिपोर्ट किए जाते हैं।
- यह बायोमेट्रिक डेटा है, जिसमें सीमित अवधि वाला `expires_at` होता है। यह तब पर्ज होता है जब उपयोगकर्ता हटाया जाता है, जब उस उपयोगकर्ता का कोई भी सत्र `deletion_instruction: "privacy_erasure"` के साथ हटाया जाता है, जब यह समाप्त होता है, या जब आप इसे **Lists → बायोमेट्रिक टेम्पलेट** में या [Biometric Templates API](https://docs.didit.me/hi/management-api/biometric-templates/overview.md) के माध्यम से पर्ज करते हैं।
- `vendor_data` के बिना बनाया गया सत्र किसी उपयोगकर्ता से नहीं जुड़ा होता, इसलिए टेम्पलेट को जोड़ने के लिए कोई उपयोगकर्ता नहीं होता; उसे हटाने पर `ineligible_no_vendor_user` रिपोर्ट होता है और एम्बेडिंग सत्र के साथ ही हट जाती है।
- प्रतिधारित टेम्पलेट कभी ब्लॉकलिस्ट नहीं किए जाते। हटाए गए सत्र से बनाई गई फ़ेस ब्लॉकलिस्ट प्रविष्टि अपनी स्वतंत्र बायोमेट्रिक प्रविष्टि और जीवनचक्र रखती है।उपयोगकर्ता से जुड़े टेम्पलेट उपयोगकर्ता प्रोफ़ाइल पर **बायोमेट्रिक टेम्पलेट** के अंतर्गत दिखते हैं, जिनमें पर्ज करने की कार्रवाई होती है।## चेहरे के जीवनचक्र का सारांश```mermaid theme={null}
stateDiagram-v2
    [*] --> Enrolled: Face captured during liveness
    Enrolled --> Approved: Session approved
    Enrolled --> Declined: Session declined
    Enrolled --> Duplicated: 1:N search finds match
    Duplicated --> Approved: Allowed by workflow
    Duplicated --> Declined: Rejected by workflow
    Enrolled --> Blocklisted: Face uploaded to a face-type list
    Declined --> [*]: Nothing blocklisted
    Blocklisted --> [*]: Manually removed
    Approved --> [*]: Session deleted (default)
    Approved --> RetainedTemplate: Session deleted with retention enabled
    RetainedTemplate --> [*]: Expiry, User deletion, privacy erasure, or purge
```## कंसोल से चेहरा अपलोड करेंअनुपालन ऑपरेटर मैन्युअल रूप से चेहरे अपलोड कर सकते हैं:1) *Users → \[user] → Actions → Upload face* पर जाएँ।
2) कोई इमेज चुनें; Didit सबसे बड़ा चेहरा निकालता है और उपयोगकर्ता से जुड़ा एक नया Face रिकॉर्ड सहेजता है।
3) चेहरा प्रोफ़ाइल साक्ष्य, डुप्लिकेट पहचान और चेहरा खोज के लिए नामांकित होता है। जब लक्ष्य भविष्य के मिलान वाले सत्रों को अस्वीकार करना हो, तब ब्लॉकलिस्ट क्षेत्र का उपयोग करें।यह तब उपयोगी है जब:- आपके पास ऑफ़लाइन चैनल से सत्यापित किसी ग्राहक का ज्ञात पोर्ट्रेट है।
- आप अपने धोखाधड़ी डेटाबेस के ज्ञात धोखेबाज़ों से ब्लॉकलिस्ट पहले से भरना चाहते हैं।## गोपनीयता और प्रतिधारण- फ़ेस एम्बेडिंग संख्यात्मक वेक्टर हैं, इमेज नहीं। इमेज स्वयं एन्क्रिप्टेड ऑब्जेक्ट स्टोरेज में हस्ताक्षरित URL के माध्यम से एक्सेस के साथ रखी जाती हैं। फ़ेस एम्बेडिंग बायोमेट्रिक डेटा है।
- प्रतिधारण आपके एप्लिकेशन की [डेटा प्रतिधारण](https://docs.didit.me/hi/console/data-retention.md) नीति का पालन करता है। प्रतिधारित बायोमेट्रिक टेम्पलेट अधिक सख्त, सीमित [बायोमेट्रिक टेम्पलेट प्रतिधारण](https://docs.didit.me/hi/console/data-retention.md#बायोमेट्रिक-टेम्पलेट-प्रतिधारण) अवधि का पालन करते हैं।
- सत्र हटाने पर इमेज और, डिफ़ॉल्ट रूप से, एम्बेडिंग हट जाती है। यदि आपके एप्लिकेशन ने बायोमेट्रिक टेम्पलेट प्रतिधारण चुना है, तो सत्र हटाने पर एक इमेज-रहित टेम्पलेट तब तक रहता है जब तक वह समाप्त न हो या पर्ज न किया जाए।
- GDPR / CCPA के भूल जाने का अधिकार के अनुरोध के लिए, व्यक्ति के सत्र `deletion_instruction: "privacy_erasure"` के साथ हटाएँ या उपयोगकर्ता को हटाएँ: दोनों ही सभी प्रतिधारित टेम्पलेट भी पर्ज करते हैं। आपके द्वारा प्रबंधित फ़ेस ब्लॉकलिस्ट प्रविष्टियाँ तब तक रहती हैं जब तक आप उन्हें हटा न दें।## अगले चरण> [card] [Face Search](https://docs.didit.me/hi/core-technology/face-search/overview.md)
>
> 1:N चेहरा खोज कैसे काम करती है।> [card] [Liveness](https://docs.didit.me/hi/core-technology/liveness/overview.md)
>
> लाइवनेस डिटेक्शन जो चेहरा कैप्चर करता है।> [card] [Blocklist API](https://docs.didit.me/hi/management-api/lists/upload-face.md)
>
> ब्लॉकलिस्ट में चेहरा अपलोड करें।> [card] [Biometric templates](https://docs.didit.me/hi/management-api/biometric-templates/overview.md)
>
> सत्र हटाने के बाद प्रतिधारित टेम्पलेट।> [card] [User blocklist](https://docs.didit.me/hi/entities/users/blocklist.md)
>
> उपयोगकर्ता को ब्लॉकलिस्ट करना कैसे काम करता है।


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.