> ## 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.

# बायोमेट्रिक टेम्पलेट API

> Didit के साथ सत्र हटने के बाद रखे गए छवि-रहित फ़ेस बायोमेट्रिक टेम्पलेट API से सूचीबद्ध करें, गिनें, फ़िल्टर करें, जाँचें और हटाएँ।



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



      
      

\<pre>

\`Manage the biometric templates my Didit application retains after deleting verification sessions.

What a biometric template is:
When an application opts in (face_retention_policy: "retain_until_user_deleted", or retain_face_embeddings: true on a delete call), deleting a KYC session deletes the session and all of its data but keeps ONE image-free face biometric template anchored to the session's User. The template keeps duplicate-face, multi-account, biometric-authentication, and list matching working for that person. It contains the numeric face template plus retention metadata only — never the face image, liveness video, document data, extracted identity fields, the decision, or the deleted session's id. It is biometric data: not anonymous, not transient, and not deleted with the session. It has a finite expires_at.

Endpoints (base https://verification.didit.me, header x-api-key: YOUR_API_KEY; API keys only — Console user tokens get 403):
\- GET  /v3/biometric-templates/            — paginated list (limit/offset). Filters: vendor_data (substring, case-insensitive), vendor_user_uuid, status, source_type, retained_from, retained_to (ISO 8601), ordering (retained_at | -retained_at | expires_at | -expires_at; default -retained_at). Purged templates are not listed.
\- GET  /v3/biometric-templates/count/      — {"count": n} with the same filters.
\- GET  /v3/biometric-templates/{uuid}/     — one template.
\- DELETE /v3/biometric-templates/{uuid}/   — purge one template. 200 {"uuid": "...", "outcome": "purged" | "already_purged"}.
\- POST /v3/biometric-templates/delete/     — bulk purge. Body: {"template_uuids": ["..."]} OR {"delete_all": true} plus optional filters (vendor_data, vendor_user_uuid, status, source_type, retained_from, retained_to) that narrow delete_all. 200 {"results": [{"uuid": "...", "outcome": "purged" | "already_purged"}]}.

Template object:
\{
"uuid": "<template id>",
"vendor_user_uuid": "<User id>",
"vendor_data": "<the User's current vendor_data, resolved live>",
"source_type": "session_delete" | "automatic_retention" | "backfill",
"provenance_reference": "<opaque UUID, not the deleted session id>",
"retention_policy": "delete_with_session" | "retain_until_user_deleted",
"retention_override": true | false | null,
"retained_at": "<ISO 8601>",
"expires_at": "<ISO 8601>",
"retained_by": "<principal id: application UUID for API keys, Console member id, or service:...>",
"retained_by_type": "API_KEY" | "CONSOLE_USER" | "SYSTEM",
"instruction_class": "operational_session_delete" | "privacy_erasure",
"instruction_source": "api" | "console" | "automatic_retention" | "backfill" | "privacy_erasure" | "explicit_template_purge" | "vendor_user_delete" | "expiry" | "reconciliation" | "migration" | "system",
"instruction_id": "<your instruction_id or a Didit-generated one>",
"held_out_of_use": false,
"status": "pending" | "active" | "expired" | "held_out_of_use" | "purge_pending" | "purge_failed" | "purged",
"purged_at": null | "<ISO 8601>"
}
Only status "active" templates that are not held_out_of_use, not past expires_at, and whose User still exists take part in matching.

Purge points (all remove the template from matching and delete the stored template):
\- DELETE /v3/biometric-templates/{uuid}/ or POST /v3/biometric-templates/delete/
\- POST /v3/users/delete/ for the owning User
\- any session deletion for that User sent with deletion_instruction: "privacy_erasure"
\- automatic expiry at expires_at
Switching the application policy back to delete_with_session does NOT purge existing templates — purge them explicitly.

Failure modes:
\- 400 — {"template_uuids": ["This field is required unless delete_all is true."]} on bulk purge without a selector; invalid filter values.
\- 403 — {"detail": "You do not have permission to perform this action."} (Console user token, or key not allowed).
\- 404 — {"detail": "Biometric template not found."} on GET of an unknown or purged template.
\- 503 — {"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."} The template moves to status purge_failed and is already excluded from matching; repeat the purge.

Every retain and purge attempt, including failures, is recorded on Didit's audit trail with the acting principal, instruction class, instruction_source, instruction_id, and outcome.

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

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

डिफ़ॉल्ट रूप से, सत्र हटाने पर उस सत्र का फ़ेस एम्बेडिंग भी हट जाता है, जिसका उपयोग [चेहरा खोज 1:N](https://docs.didit.me/hi/core-technology/face-search/overview.md) और डुप्लिकेट पहचान के लिए होता था। जिन एप्लिकेशन को सत्र हटने के बाद भी डुप्लिकेट पहचान जारी रखनी है, वे **बायोमेट्रिक-टेम्पलेट रिटेंशन** के लिए ऑप्ट इन कर सकते हैं। इसके बाद Didit सत्र और उसका सारा डेटा सामान्य रूप से हटा देता है, और उस सत्र के [उपयोगकर्ता](https://docs.didit.me/hi/entities/users/overview.md) से जुड़ा एक अलग से प्रबंधित, बिना इमेज वाला फ़ेस बायोमेट्रिक टेम्पलेट रखता है।Biometric Templates API आपको यह देखने देता है कि आपके एप्लिकेशन के पास कौन-कौन से टेम्पलेट हैं, वे क्यों और कब तक रखे गए हैं, और आप उन्हें किसी भी समय पर्ज कर सकते हैं। हर टेम्पलेट Business Console में **Lists → Biometric templates** के अंतर्गत और उसके मालिक उपयोगकर्ता की प्रोफ़ाइल पर भी दिखता है।> [!WARNING]
>
> रखा गया बायोमेट्रिक टेम्पलेट बायोमेट्रिक डेटा है। यह अनाम नहीं है, अस्थायी नहीं है, और सत्र के साथ नहीं हटता। यह अपनी निर्धारित समाप्ति, पहले आने वाली लागू कानूनी समय-सीमा, उपयोगकर्ता के हटाए जाने, गोपनीयता के तहत डेटा मिटाने के अनुरोध, या स्पष्ट पर्ज तक बना रहता है। रिटेंशन तभी सक्षम करें जब आपके नियंत्रक निर्देश और गोपनीयता नोटिस उसे कवर करते हों।## टेम्पलेट कैसे बनता है| ट्रिगर | `source_type` | निर्देश कहाँ से आता है |
| - | - | - |
| आप ऑप्ट-इन किए गए एप्लिकेशन पर सत्र हटाते हैं, या [Delete Session](https://docs.didit.me/hi/sessions-api/delete-session.md) या [Batch Delete Sessions](https://docs.didit.me/hi/management-api/sessions/batch-delete.md) पर `retain_face_embeddings: true` भेजते हैं | `session_delete` | `instruction_source: api` या `console` |
| आपके एप्लिकेशन की सामान्य [डेटा प्रतिधारण अवधि](https://docs.didit.me/hi/console/data-retention.md) ऑप्ट-इन किए गए एप्लिकेशन पर किसी सत्र की समय-सीमा समाप्त कर देती है | `automatic_retention` | `instruction_source: automatic_retention` |
| आपके निर्देश पर Didit द्वारा संचालित बैकफ़िल, उन सत्रों के लिए जो आपके ऑप्ट इन करने से पहले हटाए गए थे | `backfill` | `instruction_source: backfill` |रिटेंशन के लिए उपयोगकर्ता का एंकर आवश्यक है। जिस सत्र को बिना `vendor_data` के बनाया गया था, उसका कोई उपयोगकर्ता नहीं होता, इसलिए वह टेम्पलेट नहीं रख सकता; हटाने पर `ineligible_no_vendor_user` रिपोर्ट होता है और फ़ेस एम्बेडिंग सत्र के साथ हट जाता है।## टेम्पलेट में क्या होता है| रखा जाता है | कभी नहीं रखा जाता |
| - | - |
| संख्यात्मक फ़ेस टेम्पलेट जिसका उपयोग मिलान में होता है | फ़ेस इमेज, लाइवनेस वीडियो, दस्तावेज़ की इमेज, पोर्ट्रेट क्रॉप, और कोई अन्य मीडिया |
| एक नया यादृच्छिक टेम्पलेट `uuid` और एक अपारदर्शी `provenance_reference` | हटाए गए सत्र का id, नंबर, निर्णय, निकाले गए पहचान फ़ील्ड, या फ़ीचर पेलोड |
| मालिक उपयोगकर्ता (`vendor_user_uuid`); `vendor_data` टेम्पलेट पढ़ते समय उपयोगकर्ता से हल किया जाता है, कभी कॉपी नहीं किया जाता | ब्लॉकलिस्ट की स्थिति, पिछले मिलान, फ़्रॉड लेबल, या क्रॉस-संगठन पहचान दावे |
| `retained_at`, `expires_at`, `retention_policy`, `retention_override`, `instruction_class`, `instruction_source`, `instruction_id`, `retained_by`, `retained_by_type` | एक्टर के ईमेल पते |टेम्पलेट टेनेंट-स्कोप्ड होते हैं और केवल आपके निर्देश पर, आपके एप्लिकेशन के भीतर इस्तेमाल होते हैं: डुप्लिकेट-फ़ेस और मल्टी-अकाउंट पहचान, [बायोमेट्रिक प्रमाणीकरण](https://docs.didit.me/hi/core-technology/biometric-auth/overview.md), और आपकी अपनी फ़ेस सूचियाँ। इनका उपयोग कभी मॉडल ट्रेनिंग, एनालिटिक्स, क्रॉस-संगठन मिलान, [Networks](https://docs.didit.me/hi/console/networks.md) के साझा संकेतों, या Didit की स्वतंत्र फ़्रॉड प्रोसेसिंग के लिए नहीं होता।## टेम्पलेट ऑब्जेक्ट```json theme={null}
{
  "uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
  "vendor_user_uuid": "2f7c1a9e-8b4d-4c6a-9e1f-3d5b7a9c1e2f",
  "vendor_data": "user-42",
  "source_type": "session_delete",
  "provenance_reference": "6b1e8d2f-4a3c-4f9e-8c7d-1a2b3c4d5e6f",
  "retention_policy": "retain_until_user_deleted",
  "retention_override": null,
  "retained_at": "2026-08-28T10:15:42.318402Z",
  "expires_at": "2027-08-28T10:15:42.318402Z",
  "retained_by": "3c9e2b1f-7d4a-4e8b-9c1d-5f6a7b8c9d0e",
  "retained_by_type": "API_KEY",
  "instruction_class": "operational_session_delete",
  "instruction_source": "api",
  "instruction_id": "post-approval-cleanup-2026-08",
  "held_out_of_use": false,
  "status": "active",
  "purged_at": null
}
```| फ़ील्ड | प्रकार | विवरण |
| - | - | - |
| `uuid` | UUID | टेम्पलेट id। यादृच्छिक रूप से बनाया जाता है; हटाए गए सत्र या उसके चेहरे से व्युत्पन्न नहीं होता। |
| `vendor_user_uuid` | UUID | मालिक उपयोगकर्ता। |
| `vendor_data` | स्ट्रिंग या null | उपयोगकर्ता का वर्तमान `vendor_data`, टेम्पलेट पढ़ते समय हल किया जाता है। |
| `source_type` | enum | `session_delete`, `automatic_retention`, या `backfill`। |
| `provenance_reference` | UUID | अपारदर्शी संदर्भ जो टेम्पलेट को उसके ऑडिट ट्रेल से जोड़ता है। यह हटाए गए सत्र का id नहीं है और API के माध्यम से उस तक हल नहीं किया जा सकता। |
| `retention_policy` | enum | रिटेंशन के समय एप्लिकेशन नीति: `delete_with_session` या `retain_until_user_deleted`। |
| `retention_override` | boolean या null | हटाने के अनुरोध में भेजा गया `retain_face_embeddings` मान, या जब नीति लागू हुई तब `null`। |
| `retained_at` | datetime | टेम्पलेट कब बनाया गया। |
| `expires_at` | datetime | टेम्पलेट कब समाप्त होता है और स्वतः पर्ज होता है। यह हमेशा सेट रहता है। |
| `retained_by` | string | जिस प्रिंसिपल ने निर्देश दिया: API कुंजियों के लिए एप्लिकेशन id, Console क्रियाओं के लिए Console सदस्य id, या स्वचालित रिटेंशन के लिए `service:` पहचानकर्ता। कभी ईमेल पता नहीं। |
| `retained_by_type` | enum | `API_KEY`, `CONSOLE_USER`, या `SYSTEM`। |
| `instruction_class` | enum | `operational_session_delete` या `privacy_erasure`। |
| `instruction_source` | enum | `api`, `console`, `automatic_retention`, `backfill`, `privacy_erasure`, `explicit_template_purge`, `vendor_user_delete`, `expiry`, `reconciliation`, `migration`, या `system`। |
| `instruction_id` | string | हटाने पर आपने जो `instruction_id` भेजा, या उसे छोड़ने पर Didit द्वारा बनाया गया id। |
| `held_out_of_use` | boolean | `true` केवल तब जब कानूनी होल्ड लागू हो। होल्ड वाला टेम्पलेट सभी मिलानों से बाहर रहता है। देखें [कानूनी होल्ड](#कानूनी-रोक)। |
| `status` | enum | जीवनचक्र स्थिति, नीचे देखें। |
| `purged_at` | datetime या null | टेम्पलेट कब पर्ज हुआ। |### स्थिति| `status` | मतलब | मिलान में? |
| - | - | - |
| `pending` | टेम्पलेट बनाया जा रहा है। यदि उसे बनाने वाला हटाने का अनुरोध `503` लौटाता है, तो उसे पूरा करने के लिए हटाने का अनुरोध दोबारा करें। | नहीं |
| `active` | टेम्पलेट `expires_at` तक मिलान में भाग लेता है। | हाँ, जब तक `held_out_of_use` `true` न हो या `expires_at` बीत न गया हो |
| `expired` | `expires_at` बीत चुका है और स्वचालित पर्ज चल रहा है। | नहीं |
| `held_out_of_use` | कानूनी होल्ड लागू है। | नहीं |
| `purge_pending` | पर्ज चल रहा है। | नहीं |
| `purge_failed` | पर्ज पूरा नहीं हो सका क्योंकि एक बायोमेट्रिक स्टोर उपलब्ध नहीं था। पर्ज दोबारा करें; तब तक टेम्पलेट मिलान से बाहर रहता है। | नहीं |
| `purged` | टेम्पलेट हटा दिया गया है। केवल पर्ज रिस्पॉन्स में `already_purged` के रूप में दिखता है; पर्ज किए गए टेम्पलेट सूची में नहीं आते और विवरण अनुरोध पर `404` लौटाते हैं। | नहीं |## मिलान में टेम्पलेट का उपयोगएक `active` टेम्पलेट उसी मिलान में भाग लेता है जिसमें लाइव सत्र का चेहरा भाग लेता है: नए सत्रों के दौरान स्वचालित डुप्लिकेट पहचान, स्टैंडअलोन [चेहरा खोज API](https://docs.didit.me/hi/standalone-apis/face-search.md), [बायोमेट्रिक प्रमाणीकरण](https://docs.didit.me/hi/core-technology/biometric-auth/overview.md), और आपकी चेहरों की सूचियाँ। संरक्षित टेम्पलेट पर मिला हिट `source: "retained_template"`, स्वामी उपयोगकर्ता का `vendor_user_id` और `vendor_data`, तथा `biometric_template_id` के साथ रिपोर्ट होता है। इसमें कभी सत्र id, मिलान छवि, पहचान विवरण या स्थिति नहीं होती, क्योंकि जिस सत्र में यह चेहरा बना था, वह अब मौजूद नहीं है। देखें [चेहरा खोज रिपोर्ट](https://docs.didit.me/hi/core-technology/face-search/report-face-search.md)।संरक्षित टेम्पलेट को कभी ब्लॉकलिस्ट नहीं किया जाता। यदि हटाए गए सत्र का चेहरा चेहरों की किसी ब्लॉकलिस्ट में था, तो उस ब्लॉकलिस्ट प्रविष्टि की अपनी स्वतंत्र बायोमेट्रिक प्रविष्टि और अपना जीवनचक्र होता है: सूची की प्रविष्टि हटाने से ब्लॉकलिस्ट प्रविष्टि हट जाती है, और टेम्पलेट को हटाने से सूची पर कोई असर नहीं पड़ता।## हटाने के बिंदुनिम्नलिखित सभी स्थितियाँ टेम्पलेट को मिलान से हटाती हैं और संग्रहीत टेम्पलेट को मिटा देती हैं:| हटाने का बिंदु | तरीका |
| - | - |
| स्पष्ट हटाना | [`DELETE /v3/biometric-templates/{uuid}/`](https://docs.didit.me/hi/management-api/biometric-templates/purge) या [`POST /v3/biometric-templates/delete/`](https://docs.didit.me/hi/management-api/biometric-templates/batch-purge), या कंसोल में **Lists → Biometric templates** |
| उपयोगकर्ता हटाना | [`POST /v3/users/delete/`](https://docs.didit.me/hi/management-api/users/delete) उपयोगकर्ता के हटने से पहले उससे जुड़े हर टेम्पलेट को हटा देता है |
| गोपनीयता मिटाना | उस उपयोगकर्ता के किसी सत्र को `deletion_instruction: "privacy_erasure"` के साथ हटाने पर, एप्लिकेशन नीति चाहे जो हो, उससे जुड़े हर टेम्पलेट को हटा दिया जाता है |
| समाप्ति | `expires_at` बीतते ही Didit टेम्पलेट को स्वचालित रूप से हटा देता है |एप्लिकेशन नीति को `delete_with_session` पर वापस बदलने से नए टेम्पलेट बनने बंद हो जाते हैं, लेकिन मौजूदा टेम्पलेट **नहीं** हटते। उन्हें स्पष्ट रूप से हटाएँ।हटाने पर पहले संग्रहीत टेम्पलेट मिटाया जाता है और उसके बाद ही टेम्पलेट को हटाया गया चिह्नित किया जाता है। इसलिए `503` लौटाने वाली हटाने की प्रक्रिया टेम्पलेट को `purge_failed` स्थिति में छोड़ती है। वह पहले ही मिलान से बाहर है, और उसे दोबारा हटाना सुरक्षित है। पहले से हटाए गए टेम्पलेट को दोबारा हटाने पर `already_purged` लौटता है।## ऑडिट ट्रेलहर संरक्षण और हटाने का प्रयास, जिसमें विफलताएँ और अयोग्य परिणाम भी शामिल हैं, संबंधित प्रिंसिपल (`retained_by` / हटाने वाला प्रिंसिपल और उसका प्रकार), `instruction_class`, `instruction_source`, `instruction_id`, `provenance_reference` और परिणाम के साथ दर्ज किया जाता है। हटाने के अनुरोधों में अपना `instruction_id` भेजें, ताकि आप Didit के ऑडिट ट्रेल को अपने मिटाने के लॉग से मिला सकें। ऑडिट प्रविष्टियों में कभी छवियाँ, वेक्टर, पहचान फ़ील्ड या ईमेल पते नहीं होते।## कानूनी रोककानूनी रोक एक अपवाद है, कभी संरक्षण का मोड नहीं। Didit अपनी ओर से कोई रोक नहीं लगाता। रोक केवल आपके डेटा प्रोसेसिंग समझौते के तहत दिए गए किसी दस्तावेज़ीकृत निर्देश या किसी सक्षम प्राधिकरण के बाध्यकारी आदेश के बाद लग सकती है। जब तक रोक लागू है, टेम्पलेट को `held_out_of_use` चिह्नित किया जाता है: वह हर प्रकार के मिलान और नियमित पुनर्प्राप्ति से बाहर रहता है, और वह कभी खोजने योग्य नहीं होता। रोक बनाने या हटाने के लिए कोई API नहीं है। यदि आपको ऐसा आदेश मिले जो संरक्षित टेम्पलेट को प्रभावित करता हो, तो अपने Didit प्रतिनिधि से संपर्क करें।## अनुमतियाँ और प्रमाणीकरणबायोमेट्रिक टेम्पलेट endpoints केवल एप्लिकेशन API कुंजियाँ (`x-api-key`) स्वीकार करते हैं। Business Console के उपयोगकर्ता टोकन `403` के साथ अस्वीकार किए जाते हैं। कंसोल उपयोगकर्ता अपनी `lists` अनुमतियों के साथ **Lists → Biometric templates** के माध्यम से टेम्पलेट प्रबंधित करते हैं।## endpoints| endpoint | मेथड | उद्देश्य |
| - | - | - |
| [`/v3/biometric-templates/`](https://docs.didit.me/hi/management-api/biometric-templates/list) | GET | फ़िल्टर के साथ पृष्ठांकित सूची |
| [`/v3/biometric-templates/count/`](https://docs.didit.me/hi/management-api/biometric-templates/count) | GET | उन्हीं फ़िल्टर के साथ गिनती |
| [`/v3/biometric-templates/{template_uuid}/`](https://docs.didit.me/hi/management-api/biometric-templates/get) | GET | एक टेम्पलेट |
| [`/v3/biometric-templates/{template_uuid}/`](https://docs.didit.me/hi/management-api/biometric-templates/purge) | DELETE | एक टेम्पलेट हटाएँ |
| [`/v3/biometric-templates/delete/`](https://docs.didit.me/hi/management-api/biometric-templates/batch-purge) | POST | आईडी सूची या फ़िल्टर द्वारा हटाएँ |## संबंधित- [सत्र हटाएँ](https://docs.didit.me/hi/sessions-api/delete-session.md)
- [कई सत्र एक साथ हटाएँ](https://docs.didit.me/hi/management-api/sessions/batch-delete.md)
- [डेटा प्रतिधारण](https://docs.didit.me/hi/console/data-retention.md#बायोमेट्रिक-टेम्पलेट-प्रतिधारण)
- [चेहरे और बायोमेट्रिक्स](https://docs.didit.me/hi/entities/users/faces-and-biometrics.md)


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