> ## 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: GDPR भूल जाने का अधिकार

> Didit से KYC या KYB सत्र और उसका सारा डेटा हटाएं। डिफ़ॉल्ट रूप से फ़ेस एम्बेडिंग भी हटती है; opt-in एप्लिकेशन बिना इमेज का बायोमेट्रिक टेम्पलेट रख सकते हैं।



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



      
      

\<pre>

\`Delete a single Didit verification session and all of its data, and control what happens to the face biometric data.

Endpoint:
DELETE https://verification.didit.me/v3/session/{session_id}/delete/

Authentication:
Use the x-api-key header with your Didit API key. Privilege: delete:sessions.

Path parameter:
\- session_id (UUID) — works for both User Verification (KYC) and Business Verification (KYB) sessions. Didit resolves the id against both session types.

Optional JSON body (send Content-Type: application/json; omit the body entirely for the default behavior):
\- retain_face_embeddings (boolean | null) — override the application's face_retention_policy for this deletion. true keeps an image-free biometric template anchored to the session's User; false deletes the face embedding with the session; omit or null to follow the application policy.
\- face_retention_days (integer 1-3650) — finite retention duration for the template. Required when retaining unless the application already sets face_retention_days.
\- face_retention_deadline (ISO 8601 datetime, future) — optional hard expiry. The template expires at the earliest of face_retention_days, the application's data-retention window, and this deadline.
\- deletion_instruction ("operational_session_delete" default | "privacy_erasure") — privacy_erasure purges every retained biometric template for the session's User and never retains a new one, regardless of the application policy. Combining privacy_erasure with retain_face_embeddings: true is rejected with 400.
\- instruction_id (string, max 255) — your own durable reference for this deletion instruction (for example your erasure-ticket id). Stored on the audit trail and on any retained template.

curl examples:
Default (follow the application policy; delete_with_session unless you opted in):
curl -X DELETE https://verification.didit.me/v3/session/<SESSION_ID>/delete/ \
-H "x-api-key: <API_KEY>"

Delete the session but keep an image-free biometric template for 365 days:
curl -X DELETE https://verification.didit.me/v3/session/<SESSION_ID>/delete/ \
-H "x-api-key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"retain_face_embeddings": true, "face_retention_days": 365}'

Right-to-erasure request (delete the session AND purge every retained template for that person):
curl -X DELETE https://verification.didit.me/v3/session/<SESSION_ID>/delete/ \
-H "x-api-key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"deletion_instruction": "privacy_erasure", "instruction_id": "dsar-2026-0142"}'

Response: 200 OK with a JSON body once the deletion has completed (this endpoint no longer returns 204):
\{
"session_id": "<uuid>",
"session_number": 1024,
"face_retention_outcome": "deleted" | "retained_with_user" | "none" | "ineligible_no_vendor_user",
"biometric_template_uuid": "<uuid>" | null,
"biometric_template_expires_at": "<ISO 8601 datetime>" | null,
"deleted_child_verifications": 0
}
\- deleted: the session and its face embedding are deleted (default behavior).
\- retained_with_user: the session is deleted; an image-free biometric template with the returned biometric_template_uuid stays anchored to the User until biometric_template_expires_at, User deletion, privacy erasure, or explicit purge. Manage it with GET/DELETE /v3/biometric-templates/{uuid}/.
\- none: the session had no face embedding (for example a KYB session or a document-only KYC session).
\- ineligible_no_vendor_user: retention was requested but the session has no linked User (no vendor_data), so nothing can anchor the template. The session and its embedding are deleted.
\- biometric_template_expires_at: when the retained template is deleted; null when no template is retained.
\- deleted_child_verifications: for a KYB session, how many verifications it created (its key people's KYC sessions and its corporate owners' KYB sessions, recursively) were deleted with it. Always 0 for a KYC session.

Behavior:
\- The session and every verification attempt it holds are deleted, including results a resubmission replaced: the decision, the extracted data, the associated feature records (ID verification, registry checks, documents, AML, IP, etc.), its reviews and activity log, and all stored files (document images, videos, portraits, selfies, POA documents, extra uploads, and E-signature documents, signed PDFs, evidence PDFs and signature images).
\- A KYB session is deleted together with the verifications it created for its key people and corporate owners. A verification it only links to (for example a reused, already approved KYC) is not deleted.
\- The session disappears immediately from /v3/sessions/ and /v3/session/{id}/decision/, and media URLs issued before the call stop resolving.
\- Webhook deliveries still queued for the session, and their retries, are dropped. Webhooks already delivered are not affected.
\- Ongoing AML monitoring and KYB registry monitoring started by the deleted verifications stop.
\- A retained biometric template never contains the face image, liveness video, document data, extracted identity fields, the decision, or the deleted session's id. It is biometric data, tenant-scoped, used only for your duplicate-face, multi-account, biometric-authentication, and list matching, and it is never used for model training or cross-customer fraud processing.
\- Share tokens issued for the session are NOT revoked, but there is nothing left for them to import: an import with one returns 400 {"share_token": ["Original session does not exist."]}.
\- Blocklist entries created from the session are NOT removed; manage those with the Lists endpoints.
\- Credits already consumed by the verification are NOT refunded.
\- The parent User or Business entity is NOT deleted; use POST /v3/users/delete/ or POST /v3/businesses/delete/ for those. Deleting the User also purges its retained biometric templates. If the User's profile portrait came from this session, the portrait is removed.
\- No webhook fires for the deletion itself.

Idempotency:
Idempotent in effect: the second call to the same session returns 404 because the session no longer exists. Deletion is permanent and cannot be undone.

Failure modes:
\- 400: {"retain_face_embeddings": ["Privacy erasure cannot retain biometric templates."]} or {"detail": "A finite biometric-template retention duration is required."} (retention requested without face_retention_days on the request or the application). Nothing is deleted.
\- 403: {"detail": "You do not have permission to perform this action."} when the key lacks delete:sessions.
\- 404: {"detail": "Not found."} when the session does not exist (or was already deleted).
\- 409: {"detail": "...", "code": "in_filed_report", "reports": [{"uuid": "...", "report_number": "SAR-0001", "report_type": "SAR", "case_uuid": "..."}]} when the session is part of a finalized regulatory report. Nothing is deleted. Delete the reports, then repeat the request.
\- 503: {"detail": "The session could not be deleted because a storage service or a monitoring provider is unavailable. The session is still in place; repeat the request to finish deleting it."} or {"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."} The session is still in place; repeat the same request until it returns 200. Some of its stored files or its face embedding may already be deleted. Retries converge on a single template.

Bulk delete:
For many KYC sessions at once, use POST /v3/sessions/delete/ with body {"session_numbers": ["1001", "1002"]} or {"delete_all": true}; it accepts the same retention and instruction fields. Up to 20 matching sessions return 200 with a per-session outcome; more return 202 with a job to poll at GET /v3/sessions/delete/{job_id}/.

Migration note:
Until this release the endpoint returned 204 No Content. It now returns 200 OK with the JSON body above. Update clients that assert on 204. The default deletion behavior is unchanged: existing applications stay on delete_with_session until you explicitly change the policy.

When to call:
\- Customer requests data erasure (GDPR Article 17): use deletion_instruction: "privacy_erasure".
\- Operational clean-up after approval while keeping duplicate detection: retain_face_embeddings: true with a finite face_retention_days.
\- Cleaning up test sessions from a staging application.
\- After exporting a decision PDF for long-term archival outside Didit.

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

\</pre>



      
      

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

## KYC और KYB सहायतायह **उपयोगकर्ता सत्यापन (KYC)** और **व्यवसाय सत्यापन (KYB)** दोनों तरह के सत्रों के लिए काम करता है। `session_id` को दोनों सत्र प्रकारों में खोजा जाता है, और हटाने का व्यवहार दोनों पर एक जैसा लागू होता है। बायोमेट्रिक टेम्पलेट को रखने का नियम केवल KYC सत्रों पर लागू होता है, क्योंकि केवल KYC सत्रों में फ़ेस एम्बेडिंग होती है।## व्यवहार- सत्र को उसके सभी सत्यापन प्रयासों के साथ हटाया जाता है, जिनमें वे परिणाम भी शामिल हैं जिन्हें पुनः सबमिशन ने बदल दिया था। इसमें उसका निर्णय, निकाला गया डेटा, संबंधित सुविधा रिकॉर्ड (पहचान सत्यापन, रजिस्ट्री जाँच, दस्तावेज़, AML, IP विश्लेषण, और इसी तरह के अन्य), उसकी समीक्षाएँ और गतिविधि लॉग, तथा उसकी सभी संग्रहीत फ़ाइलें शामिल हैं।
- **व्यवसाय सत्यापन (KYB)** सत्र को हटाने पर वे सत्यापन भी हट जाते हैं जो उसने अपने प्रमुख व्यक्तियों (KYC) और कॉर्पोरेट स्वामियों (KYB) के लिए बनाए थे, और यह प्रक्रिया पुनरावर्ती रूप से चलती है। रिस्पॉन्स में `deleted_child_verifications` में बताया जाता है कि कितने सत्यापन हटाए गए। जिस सत्यापन से वह केवल लिंक करता है, जैसे कोई मौजूदा स्वीकृत KYC जिसे उसने दोबारा उपयोग किया, वह नहीं हटता।
- ई-हस्ताक्षर का डेटा भी इसके साथ हट जाता है: हस्ताक्षर के लिए भेजे गए दस्तावेज़ और उनकी मूल Word फ़ाइलें, हस्ताक्षरित PDF, साक्ष्य PDF, हस्ताक्षर छवियाँ और हर फ़ील्ड का मान। उनके डाउनलोड पाथ `404` लौटाते हैं।
- सत्र सूची और निर्णय रिस्पॉन्स से तुरंत गायब हो जाता है, और कॉल से पहले जारी किए गए मीडिया URL काम करना बंद कर देते हैं।
- सत्र के लिए कतार में लगी webhook डिलीवरी और उनके पुनः प्रयास हटा दिए जाते हैं।
- हटाए गए सत्यापनों द्वारा शुरू की गई सतत AML निगरानी और KYB रजिस्ट्री निगरानी रुक जाती है।
- हटाना स्थायी और अपरिवर्तनीय है। कोई पुनर्स्थापना endpoint नहीं है, इसलिए इस कॉल से पहले आपको जो भी चाहिए, जैसे निर्णय PDF, उसे एक्सपोर्ट कर लें।
- रिस्पॉन्स `200 OK` होता है, जो हटाने की प्रक्रिया पूरी होने के बाद भेजा जाता है। इसके JSON बॉडी में बताया जाता है कि सत्र के चेहरे के बायोमेट्रिक डेटा के साथ क्या हुआ। यदि आपका क्लाइंट अब भी `204` की अपेक्षा करता है, तो [Migration](#204-प्रतिक्रियाओं-से-माइग्रेशन) देखें।## अंतिम रूप दी गई नियामक रिपोर्ट में डेटायदि सत्र ऐसे केस का हिस्सा है जिसकी नियामक रिपोर्ट को अंतिम रूप दिया जा चुका है, तो अनुरोध `409` लौटाता है और कुछ भी नहीं हटता। रिस्पॉन्स में `code: in_filed_report` होता है और उसमें हर रिपोर्ट का नाम होता है:```json theme={null}
{
  "detail": "This session is part of a finalized regulatory report, so it cannot be deleted.",
  "code": "in_filed_report",
  "reports": [
    {
      "uuid": "5ec00000-0000-4000-8000-000000000007",
      "report_number": "SAR-0001",
      "report_type": "SAR",
      "case_uuid": "c1a5e000-0000-4000-8000-000000000001"
    }
  ]
}
```हर रिपोर्ट को [रिपोर्ट हटाएँ](https://docs.didit.me/hi/management-api/regulatory-reports/delete.md) के जरिए हटाएँ, फिर हटाने का अनुरोध दोहराएँ। रिपोर्ट हटाने से सत्र नहीं हटता; इस endpoint को दोबारा कॉल करने तक सत्र बना रहता है।## फ़ेस बायोमेट्रिक डेटा: हटाना या रखनाहर KYC सत्र में, जिसमें लाइवनेस सेल्फ़ी हो, एक फ़ेस एम्बेडिंग होती है जो [चेहरा खोज 1:N](https://docs.didit.me/hi/core-technology/face-search/overview.md) और डुप्लिकेट पहचान को सक्षम करती है। डिफ़ॉल्ट रूप से यह एम्बेडिंग सत्र के साथ ही हटा दी जाती है (`face_retention_policy: delete_with_session`), ताकि जिस व्यक्ति का सत्र आपने हटाया है, वह फिर से सत्यापन कर सके और डुप्लिकेट के रूप में चिह्नित न हो।जिन एप्लिकेशन को सत्र हटाए जाने के बाद भी डुप्लिकेट पहचान जारी रखनी है, वे **बायोमेट्रिक टेम्पलेट रखने** का विकल्प चुन सकते हैं। तब Didit सामान्य रूप से सत्र और उसका सारा डेटा हटा देता है, लेकिन सत्र के [उपयोगकर्ता](https://docs.didit.me/hi/entities/users/overview.md) से जुड़ा एक अलग से प्रबंधित, इमेज-रहित फ़ेस बायोमेट्रिक टेम्पलेट रख लेता है।> [!WARNING]
>
> रखा गया बायोमेट्रिक टेम्पलेट बायोमेट्रिक डेटा है। वह अनाम नहीं है, अस्थायी नहीं है, और सत्र के साथ हटाया नहीं जाता। वह अपनी निर्धारित समाप्ति, लागू कानून की किसी पहले की समय-सीमा, उपयोगकर्ता हटाए जाने, गोपनीयता-मिटाने के अनुरोध, या स्पष्ट रूप से पूरी तरह हटाने पर ही हटता है। इसे केवल तभी सक्षम करें जब आपके नियंत्रक के निर्देश और गोपनीयता सूचना में यह शामिल हो।रखा गया टेम्पलेट क्या रखता है और क्या कभी नहीं रखता:| रखा जाता है | कभी नहीं रखा जाता |
| - | - |
| मिलान के लिए इस्तेमाल होने वाला संख्यात्मक फ़ेस टेम्पलेट | चेहरे की इमेज, लाइवनेस वीडियो, दस्तावेज़ की इमेज, पोर्ट्रेट क्रॉप, और कोई अन्य मीडिया |
| एक नई यादृच्छिक टेम्पलेट id और एक अपारदर्शी `provenance_reference` | हटाए गए सत्र की ID, संख्या, निर्णय, निकाले गए पहचान फ़ील्ड, या फ़ीचर payload |
| स्वामी उपयोगकर्ता (`vendor_user_uuid`, मौजूदा `vendor_data`) | ब्लॉकलिस्ट स्थिति, पिछले मिलान, धोखाधड़ी लेबल, या संगठनों के पार पहचान के दावे |
| रखने का मेटाडेटा: `retained_at`, `expires_at`, नीति, ओवरराइड, निर्देश वर्ग, `instruction_id`, और कार्रवाई करने वाले प्रिंसिपल की आईडी | कार्रवाई करने वाले का ईमेल पता |रखने की सेटिंग तीन जगह होती है, सबसे व्यापक से सबसे विशिष्ट तक:1) **एप्लिकेशन नीति** के तहत **Business Console → App Settings → Data retention** में, या `PATCH /v3/webhook/` के ज़रिए (`face_retention_days`, `face_retention_policy`)। देखें [डेटा प्रतिधारण](https://docs.didit.me/hi/console/data-retention.md#बायोमेट्रिक-टेम्पलेट-प्रतिधारण)।
2) **प्रति-कॉल ओवरराइड** `retain_face_embeddings` के ज़रिए, इस endpoint पर और [Batch Delete Sessions](https://docs.didit.me/hi/management-api/sessions/batch-delete.md) पर।
3) **निर्देश वर्ग** `deletion_instruction` के ज़रिए। `privacy_erasure` निर्देश हमेशा सबसे ऊपर रहता है: वह उस उपयोगकर्ता के हर रखे गए टेम्पलेट को पूरी तरह हटा देता है और कोई नया टेम्पलेट नहीं रखता।### अनुरोध बॉडीसभी फ़ील्ड वैकल्पिक हैं। बॉडी छोड़ने पर एप्लिकेशन नीति का पालन होता है।| फ़ील्ड | प्रकार | विवरण |
| - | - | - |
| `retain_face_embeddings` | boolean या null | इस हटाने के लिए एप्लिकेशन नीति को ओवरराइड करें। `true` एक टेम्पलेट रखता है, `false` सत्र के साथ एम्बेडिंग हटा देता है, `null` या छोड़ने पर नीति का पालन होता है। |
| `face_retention_days` | integer (1-3650) | टेम्पलेट के लिए सीमित अवधि। जब टेम्पलेट रखा जाए तो यह आवश्यक है, जब तक एप्लिकेशन पहले से `face_retention_days` सेट न करता हो। |
| `face_retention_deadline` | datetime (ISO 8601) | वैकल्पिक कठोर समाप्ति। भविष्य में होनी चाहिए। |
| `deletion_instruction` | `operational_session_delete` (डिफ़ॉल्ट) या `privacy_erasure` | आप जो निर्देश दे रहे हैं उसका वर्ग। `privacy_erasure` सत्र के उपयोगकर्ता के लिए सत्र हटाने से पहले हर रखा गया टेम्पलेट पूरी तरह हटा देता है, और इसे `retain_face_embeddings: true` के साथ नहीं जोड़ा जा सकता। |
| `instruction_id` | string (अधिकतम 255) | इस निर्देश के लिए आपका स्थायी संदर्भ, जैसे आपकी मिटाने की टिकट id। इसे ऑडिट ट्रेल और किसी भी रखे गए टेम्पलेट पर दर्ज किया जाता है। छोड़ने पर Didit एक बनाता है, जिसे टेम्पलेट विवरण में देखा जा सकता है। |### रिस्पॉन्स```json theme={null}
{
  "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
  "session_number": 1024,
  "face_retention_outcome": "retained_with_user",
  "biometric_template_uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
  "biometric_template_expires_at": "2027-10-09T10:15:00Z",
  "deleted_child_verifications": 0
}
```| फ़ील्ड | विवरण |
| - | - |
| `session_id` | हटाया गया सत्र। |
| `session_number` | हटाए गए सत्र का नंबर। |
| `face_retention_outcome` | सत्र के फ़ेस बायोमेट्रिक डेटा के साथ क्या हुआ। नीचे की तालिका देखें। |
| `biometric_template_uuid` | रखे गए बायोमेट्रिक टेम्पलेट की id जब `face_retention_outcome` `retained_with_user` हो; अन्यथा `null`। |
| `biometric_template_expires_at` | जब रखा गया बायोमेट्रिक टेम्पलेट हटेगा; कोई टेम्पलेट न रखा गया हो तो `null`। |
| `deleted_child_verifications` | KYB सत्र के लिए, कितने सत्यापन उसने बनाए थे (उसके प्रमुख व्यक्तियों के KYC सत्र और उसके कॉर्पोरेट स्वामियों के KYB सत्र, पुनरावर्ती रूप से) उसके साथ हटाए गए। KYC सत्र के लिए हमेशा `0`। || `face_retention_outcome` | अर्थ |
| - | - |
| `deleted` | सत्र और उसकी फ़ेस एम्बेडिंग हटाई गई। डिफ़ॉल्ट व्यवहार। |
| `retained_with_user` | सत्र हटाया गया। एक इमेज-रहित बायोमेट्रिक टेम्पलेट उपयोगकर्ता से जुड़ा रहता है; उसकी id `biometric_template_uuid` है। इसे [Biometric Templates API](https://docs.didit.me/hi/management-api/biometric-templates/overview.md) से प्रबंधित करें। |
| `none` | सत्र में हटाने या रखने के लिए कोई फ़ेस एम्बेडिंग नहीं थी (उदाहरण के लिए KYB सत्र, या लाइवनेस सेल्फ़ी के बिना KYC सत्र)। |
| `ineligible_no_vendor_user` | रखने का अनुरोध किया गया था, पर सत्र किसी उपयोगकर्ता से जुड़ा नहीं है (वह `vendor_data` के बिना बनाया गया था), इसलिए टेम्पलेट को कहीं एंकर नहीं किया जा सकता। सत्र और उसकी एम्बेडिंग हटा दी गईं। यह अपात्र परिणाम ऑडिट ट्रेल पर दर्ज होता है। |प्रतिक्रिया पुष्टि करती है कि Didit ने आपका हटाने का निर्देश स्वीकार करके लागू कर दिया है। यह मिटाने का प्रमाणपत्र नहीं है: `instruction_id` को अपने मिटाने के लॉग में रखें, ताकि बाद में ऑडिट ट्रेल से मिलान कर सकें।### रखने की अवधि और समाप्तिहर रखे गए टेम्पलेट की एक सीमित `expires_at` होती है। Didit इसे इनमें से सबसे पहले वाले पर सेट करता है:1) अनुरोध से `face_retention_days`, या जब अनुरोध इसे छोड़े तो एप्लिकेशन का `face_retention_days`;
2) एप्लिकेशन की सामान्य डेटा-प्रतिधारण अवधि, जब वह कॉन्फ़िगर हो;
3) अनुरोध से `face_retention_deadline`, जब वह दिया गया हो।जो अनुरोध बिना किसी सीमित अवधि के टेम्पलेट रखेगा, वह `400` के साथ अस्वीकार होता है और कुछ भी नहीं हटाया जाता। रखे गए टेम्पलेट उस सबसे पहले लागू ग्राहक निर्देश, उद्देश्य की समाप्ति, कॉन्फ़िगर की गई समाप्ति, डेटा-विषय के मिटाने के निर्देश, या वैधानिक बायोमेट्रिक समय-सीमा से ज़्यादा जीवित नहीं रह सकते। आपके उपयोगकर्ताओं पर लागू कानूनों के अनुरूप अवधि चुनना आपकी ज़िम्मेदारी है; जब भी कोई लागू नियम ऐसा माँगे, छोटी अवधि चुनें।### गोपनीयता मिटाना`deletion_instruction: "privacy_erasure"` भेजें जब आप डेटा विषय के अनुरोध पर कार्य कर रहे हों। Didit सत्र के उपयोगकर्ता से जुड़े हर प्रतिधारित बायोमेट्रिक टेम्पलेट को हटाता है, फिर सत्र और उसकी एम्बेडिंग हटाता है। एप्लिकेशन की प्रतिधारण नीति प्राइवेसी इरेज़र निर्देश को ओवरराइड नहीं कर सकती, और `retain_face_embeddings: true` को `400` के साथ अस्वीकार किया जाता है।[Batch Delete Users](https://docs.didit.me/hi/management-api/users/delete.md) से उपयोगकर्ता हटाने पर उसके प्रतिधारित टेम्पलेट भी हटा दिए जाते हैं।## किन चीज़ों पर असर नहीं पड़तासत्र हटाने से ये अपने-आप साफ़ नहीं होते। अगर आप मिटाने के अधिकार का अनुरोध संभाल रहे हैं, तो इन्हें अलग से ध्यान में रखें।- **ब्लॉकलिस्ट प्रविष्टियाँ** जो सत्र से बनी थीं (चेहरा या दस्तावेज़), जस की तस रहती हैं। उन्हें [ब्लॉकलिस्ट](https://docs.didit.me/hi/entities/users/blocklist.md) से हटाएँ। चेहरे की ब्लॉकलिस्ट प्रविष्टि की अपनी बायोमेट्रिक प्रविष्टि होती है, जो किसी भी प्रतिधारित टेम्पलेट से स्वतंत्र है।
- सत्र के लिए पहले से जारी **शेयर token** रद्द नहीं होते, लेकिन उनके आयात के लिए कुछ बचा नहीं है: इनमें से किसी एक के साथ [आयात](https://docs.didit.me/hi/sessions-api/share-session/import.md) करने पर `400` के साथ `{"share_token": ["Original session does not exist."]}` मिलता है।
- सत्र के लिए **पहले से डिलीवर किए गए webhooks** पर असर नहीं पड़ता। जो डिलीवरी अभी कतार में हैं और उनके पुनः प्रयास, हटा दिए जाते हैं। हटाने के लिए खुद कोई webhook जारी नहीं होता।
- सत्यापन द्वारा पहले से उपभोग किए गए **क्रेडिट** वापस नहीं किए जाते।
- ई-हस्ताक्षर चरण द्वारा हस्ताक्षरकर्ता को पहले से ईमेल की गई **हस्ताक्षरित प्रतियाँ** हस्ताक्षरकर्ता के मेलबॉक्स में रहती हैं और उन पर असर नहीं पड़ता।
- मूल **उपयोगकर्ता** या **व्यवसाय** इकाई नहीं हटाई जाती। उनके लिए [उपयोगकर्ता हटाएँ](https://docs.didit.me/hi/management-api/users/delete.md) या [व्यवसाय हटाएँ](https://docs.didit.me/hi/management-api/businesses/delete.md) का उपयोग करें। अगर उपयोगकर्ता का प्रोफ़ाइल चित्र हटाए गए सत्र से आया था, तो वह चित्र हटा दिया जाता है।
- **प्रतिधारित बायोमेट्रिक टेम्पलेट** (केवल तब जब आपने इसे चालू किया हो) तब तक बना रहता है जब तक उसकी समय-सीमा समाप्त न हो या आप उसे हटा न दें। इसे [Biometric Templates API](https://docs.didit.me/hi/management-api/biometric-templates/purge.md) से हटाएँ, उपयोगकर्ता को हटाकर, या उसी उपयोगकर्ता के किसी दूसरे सत्र को `deletion_instruction: "privacy_erasure"` के साथ दोबारा हटाकर।## उदाहरण> [tab] डिफ़ॉल्ट (एप्लिकेशन नीति)
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY"
> ```
>
> उस एप्लिकेशन पर रिस्पॉन्स जिसने इसे चालू नहीं किया है:
>
> ```json theme={null}
> {
>   "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
>   "session_number": 1024,
>   "face_retention_outcome": "deleted",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 0
> }
> ```> [tab] बायोमेट्रिक टेम्पलेट प्रतिधारित करें
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{"retain_face_embeddings": true, "face_retention_days": 365, "instruction_id": "cleanup-2026-08-0142"}'
> ```
>
> ```json theme={null}
> {
>   "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
>   "session_number": 1024,
>   "face_retention_outcome": "retained_with_user",
>   "biometric_template_uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
>   "biometric_template_expires_at": "2027-10-09T10:15:00Z",
>   "deleted_child_verifications": 0
> }
> ```> [tab] चालू किए गए एप्लिकेशन पर ज़बरदस्ती हटाना
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{"retain_face_embeddings": false}'
> ```
>
> ```json theme={null}
> {
>   "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
>   "session_number": 1024,
>   "face_retention_outcome": "deleted",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 0
> }
> ```> [tab] प्राइवेसी इरेज़र
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{"deletion_instruction": "privacy_erasure", "instruction_id": "dsar-2026-0142"}'
> ```
>
> सत्र के उपयोगकर्ता के हर प्रतिधारित टेम्पलेट को पहले हटाया जाता है, फिर सत्र हटाया जाता है:
>
> ```json theme={null}
> {
>   "session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
>   "session_number": 1024,
>   "face_retention_outcome": "deleted",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 0
> }
> ```> [tab] उपयोगकर्ता के बिना सत्र
>
> `vendor_data` के बिना बनाए गए सत्र में ऐसा कोई उपयोगकर्ता नहीं होता जिससे टेम्पलेट जोड़ा जा सके:
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/7a1e9c2d-.../delete/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{"retain_face_embeddings": true, "face_retention_days": 365}'
> ```
>
> ```json theme={null}
> {
>   "session_id": "7a1e9c2d-5f4b-4c3a-8e2d-1b0a9f8e7d6c",
>   "session_number": 1031,
>   "face_retention_outcome": "ineligible_no_vendor_user",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 0
> }
> ```> [tab] व्यवसाय सत्यापन (KYB) सत्र
>
> ```bash theme={null}
> curl -X DELETE https://verification.didit.me/v3/session/bs-01HJX1.../delete/ \
>   -H "x-api-key: YOUR_API_KEY"
> ```
>
> व्यवसाय सत्यापन उन तीन सत्यापनों के साथ हटाया जाता है जो उसने अपने प्रमुख व्यक्तियों के लिए बनाए थे:
>
> ```json theme={null}
> {
>   "session_id": "0f3c9b7e-2d1a-4e5f-8c6b-7a9d8e1f2c3b",
>   "session_number": 88,
>   "face_retention_outcome": "none",
>   "biometric_template_uuid": null,
>   "biometric_template_expires_at": null,
>   "deleted_child_verifications": 3
> }
> ```## त्रुटियाँ| स्थिति | कब | बॉडी |
| - | - | - |
| `400` | `privacy_erasure` को `retain_face_embeddings: true` के साथ जोड़ा गया है | `{"retain_face_embeddings": ["Privacy erasure cannot retain biometric templates."]}` |
| `400` | अनुरोध या एप्लिकेशन पर बिना सीमित अवधि के प्रतिधारण माँगा गया है | `{"detail": "A finite biometric-template retention duration is required."}` |
| `403` | क्रेडेंशियल में `delete:sessions` नहीं है, या वह सत्र का स्वामी नहीं है | `{"detail": "You do not have permission to perform this action."}` |
| `404` | अज्ञात या पहले से हटाया गया सत्र | `{"detail": "Not found."}` |
| `503` | सत्र हटाते समय कोई स्टोरेज सेवा या मॉनिटरिंग प्रदाता उपलब्ध नहीं था। | `{"detail": "The session could not be deleted because a storage service or a monitoring provider is unavailable. The session is still in place; repeat the request to finish deleting it."}` |
| `503` | टेम्पलेट प्रतिधारित करते या हटाते समय कोई बायोमेट्रिक स्टोर उपलब्ध नहीं था। पुनः प्रयास एक ही टेम्पलेट पर अभिसरित होते हैं। | `{"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."}` |`400` पर कुछ भी नहीं हटाया जाता। `503` पर सत्र अब भी मौजूद रहता है: वही अनुरोध तब तक दोहराएँ जब तक वह `200` न लौटाए। उसकी कुछ संग्रहीत फ़ाइलें या उसकी फ़ेस एम्बेडिंग पहले ही हट चुकी हो सकती है, इसलिए `503` के बाद उन पर भरोसा न करें।## अनुमतिइसके लिए `delete:sessions` आवश्यक है। यही अनुमति उपयोगकर्ता सत्यापन (KYC) और व्यवसाय सत्यापन (KYB) दोनों सत्रों पर लागू होती है, और प्रतिधारण ओवरराइड पर भी।## बैच में हटानाKYC सत्रों पर बल्क ऑपरेशन के लिए `POST /v3/sessions/delete/` का उपयोग करें। यह वही प्रतिधारण और निर्देश फ़ील्ड स्वीकार करता है। अनुरोध में मेल खाने वाले अधिकतम 20 सत्र हटाए जाते हैं, और हर सत्र का अलग परिणाम मिलता है; 20 से अधिक सत्र [डिलीशन जॉब](https://docs.didit.me/hi/management-api/sessions/get-deletion-job.md) के रूप में चलाए जाते हैं। देखें [सत्र बैच में हटाएँ](https://docs.didit.me/hi/management-api/sessions/batch-delete.md)।## 204 प्रतिक्रियाओं से माइग्रेशनइस रिलीज़ तक एंडपॉइंट `204 No Content` लौटाता था। अब यह ऊपर दर्ज JSON बॉडी के साथ `200 OK` लौटाता है, ताकि हर हटाने में उसका `face_retention_outcome` रिपोर्ट हो। जो क्लाइंट `204` की जाँच करते हैं, उन्हें अपडेट करें।डिफ़ॉल्ट व्यवहार वही है: मौजूदा एप्लिकेशन `delete_with_session` पर बने रहते हैं, और कोई माइग्रेशन आपकी ओर से प्रतिधारण चालू नहीं करता। इसे कंसोल में या `PATCH /v3/webhook/` के ज़रिए स्पष्ट रूप से चालू करें।## संबंधित- [बायोमेट्रिक टेम्पलेट](https://docs.didit.me/hi/management-api/biometric-templates/overview.md)
- [डेटा प्रतिधारण](https://docs.didit.me/hi/console/data-retention.md)
- [सत्र का अवलोकन](https://docs.didit.me/hi/sessions-api/overview.md)


## OpenAPI

````yaml hi/openapi-25.json DELETE /v3/session/{sessionId}/delete/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: पहचान सत्यापन API। x-api-key हेडर के साथ प्रमाणीकृत करें।
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/session/{sessionId}/delete/:
    delete:
      tags:
        - Sessions
      summary: सत्यापन सत्र (KYC या KYB) हटाएं
      description: >-
        किसी एकल सत्यापन सत्र, उपयोगकर्ता सत्यापन (KYC) या व्यवसाय सत्यापन (KYB)
        को उसके `session_id` द्वारा डिलीट करें। ID को पहले KYC सत्रों के विरुद्ध
        रिज़ॉल्व किया जाता है, फिर KYB सत्रों के विरुद्ध, इसलिए दोनों प्रकार इस
        एक URL के माध्यम से डिलीट किए जाते हैं।


        **क्या डिलीट होता है:**

        - सत्र और इसमें शामिल प्रत्येक सत्यापन प्रयास, जिसमें वे परिणाम भी शामिल
        हैं जिन्हें पुनः सबमिशन द्वारा बदल दिया गया था: निर्णय, निकाला गया डेटा,
        सभी संबंधित सुविधा रिकॉर्ड (पहचान सत्यापन, चेहरा, लाइवनेस, चेहरा मिलान,
        AML, रजिस्ट्री जाँच, IP विश्लेषण, इत्यादि), इसकी समीक्षाएं और इसका
        गतिविधि लॉग।

        - सत्र के स्वामित्व वाली सभी संग्रहीत फ़ाइलें: दस्तावेज़ के आगे/पीछे के
        फ़ोटो (पूर्ण, क्रॉप किए गए, और प्राइवेसी-ब्लर किए गए वेरिएंट),
        दस्तावेज़-कैप्चर वीडियो, पोर्ट्रेट क्रॉप, NFC चिप पोर्ट्रेट और हस्ताक्षर
        छवियां, चेहरा संदर्भ छवियां, लाइवनेस वीडियो, चेहरा मिलान स्रोत/लक्ष्य
        छवियां, पते का प्रमाण दस्तावेज़, और कोई भी अतिरिक्त अपलोड की गई फ़ाइलें
        (KYC); अपलोड किए गए कंपनी दस्तावेज़ और अतिरिक्त फ़ाइलें (KYB)।
        ई-हस्ताक्षर दस्तावेज़, हस्ताक्षरित PDF, साक्ष्य PDF और हस्ताक्षर छवियां
        (KYC और KYB): उनके डाउनलोड पाथ काम करना बंद कर देते हैं। पहले जारी किए
        गए मीडिया URL (`https://<media-host>/...`) रिज़ॉल्व होना बंद हो जाते
        हैं।

        - सत्र का चेहरा डेटा। इसकी फ़ेस एम्बेडिंग भी डिलीट हो जाती है, जब तक कि
        आप एक छवि-मुक्त टेम्पलेट रखने का विकल्प नहीं चुनते (देखें **चेहरा
        बायोमेट्रिक डेटा**)।

        - सत्र के लिए कतार में मौजूद webhook डिलीवरी और उनके पुनः प्रयास। पहले
        से डिलीवर किए गए webhook प्रभावित नहीं होते हैं।

        - व्यवसाय सत्यापन (KYB) सत्र के लिए: इसके प्रमुख व्यक्तियों (KYC) और
        इसके कॉर्पोरेट स्वामियों (KYB) के लिए बनाए गए सत्यापन, पुनरावर्ती रूप
        से, जिन्हें `deleted_child_verifications` के रूप में रिपोर्ट किया जाता
        है। कोई सत्यापन जिससे यह केवल लिंक करता है, जैसे कि मौजूदा स्वीकृत KYC
        जिसका इसने पुनः उपयोग किया है, डिलीट नहीं होता है।


        सत्र तुरंत प्रत्येक रीड endpoint से गायब हो जाता है: `GET
        /v3/session/{sessionId}/decision/` `404` लौटाता है और `GET
        /v3/sessions/` इसे सूचीबद्ध करना बंद कर देता है। डिलीट किए गए सत्यापनों
        द्वारा शुरू की गई सतत AML निगरानी और KYB रजिस्ट्री निगरानी बंद हो जाती
        है।


        **क्या प्रभावित नहीं होता है:** इस सत्र से बनाई गई ब्लॉकलिस्ट
        प्रविष्टियां (चेहरा या दस्तावेज़) **नहीं** हटाई जाती हैं; उन्हें
        ब्लॉकलिस्ट endpoints के साथ प्रबंधित करें। सत्र के लिए जारी किए गए शेयर
        token निरस्त नहीं किए जाते हैं, लेकिन उनके इंपोर्ट करने के लिए कुछ भी
        शेष नहीं रहता है: किसी शेयर token के साथ इंपोर्ट करने पर
        `{"share_token": ["Original session does not exist."]}` के साथ `400`
        मिलता है। पहले से उपयोग किए गए क्रेडिट की धनवापसी **नहीं** की जाती है।
        पैरेंट उपयोगकर्ता या व्यवसाय निकाय डिलीट **नहीं** होता है; उनके लिए
        `POST /v3/users/delete/` या `POST /v3/businesses/delete/` का उपयोग करें।
        यदि उपयोगकर्ता का प्रोफ़ाइल पोर्ट्रेट इस सत्र से आया था, तो पोर्ट्रेट को
        इसके साथ हटा दिया जाता है।


        **चेहरा बायोमेट्रिक डेटा:** डिफ़ॉल्ट रूप से सत्र की फ़ेस एम्बेडिंग सत्र
        के साथ डिलीट कर दी जाती है (`face_retention_outcome: deleted`)। एक
        एप्लिकेशन जिसने बायोमेट्रिक टेम्पलेट प्रतिधारण (`PATCH /v3/webhook/` पर
        `face_retention_policy: retain_until_user_deleted`) का विकल्प चुना है,
        या `retain_face_embeddings: true` वाला अनुरोध, सत्र के उपयोगकर्ता से
        जुड़े (`retained_with_user`) एक अलग से प्रबंधित, छवि-मुक्त चेहरा
        बायोमेट्रिक टेम्पलेट को रखता है ताकि डुप्लिकेट पहचान, चेहरा खोज और
        बायोमेट्रिक प्रमाणीकरण काम करते रहें। टेम्पलेट में कभी भी चेहरे की छवि,
        मीडिया, पहचान फ़ील्ड, निर्णय या डिलीट किए गए सत्र की id शामिल नहीं होती
        है; यह बायोमेट्रिक डेटा `biometric_template_expires_at` पर, या
        उपयोगकर्ता को डिलीट करने, प्राइवेसी मिटाने, या
        `/v3/biometric-templates/` के माध्यम से स्पष्ट पर्ज पर पहले डिलीट कर
        दिया जाता है। बिना लिंक किए गए उपयोगकर्ता वाला सत्र टेम्पलेट को बनाए
        नहीं रख सकता (`ineligible_no_vendor_user`)। डेटा-सब्जेक्ट अनुरोधों के
        लिए `deletion_instruction: privacy_erasure` भेजें: यह उस उपयोगकर्ता के
        लिए प्रत्येक बनाए रखे गए टेम्पलेट को पर्ज कर देता है और कभी भी नया
        टेम्पलेट नहीं रखता है।


        **अपरिवर्तनीय:** डिलीट करना स्थायी है और कोई रीस्टोर endpoint नहीं है।
        इसे कॉल करने से पहले अपनी ज़रूरत की कोई भी चीज़ एक्सपोर्ट कर लें (उदाहरण
        के लिए एक निर्णय PDF)।


        **साइड इफ़ेक्ट्स:** डिलीट करने पर कोई webhook उत्सर्जित नहीं किया जाता
        है।


        **रिस्पॉन्स:** डिलीट पूरा होने पर `200 OK`, एक JSON बॉडी के साथ जो
        `face_retention_outcome`, बनाए रखे गए टेम्पलेट की समाप्ति और KYB सत्र के
        लिए `deleted_child_verifications` की रिपोर्ट करती है। इस endpoint के
        पुराने संस्करणों ने `204 No Content` लौटाया था; उन क्लाइंट्स को अपडेट
        करें जो `204` की पुष्टि करते हैं। अपने इरेज़र लॉग में अपना
        `instruction_id` रखें।


        **आइडेम्पोटेंसी:** HTTP स्तर पर आइडेम्पोटेंट नहीं है: पहली कॉल `200`
        लौटाती है; इसे दोहराने पर `404` मिलता है क्योंकि सत्र अब रिज़ॉल्व नहीं
        होता है। `503` के बाद सत्र अभी भी बना रहता है; इसे डिलीट करना पूरा करने
        के लिए वही अनुरोध पुनः दोहराएं।


        **प्रमाणीकरण:** `x-api-key` हेडर में अपने एप्लिकेशन की API कुंजी भेजें;
        सत्र उसी एप्लिकेशन का होना चाहिए। कंसोल उपयोगकर्ता एक्सेस टोकन
        (`Authorization: Bearer ...`) भी इस endpoint को कॉल कर सकते हैं जब उनके
        पास `delete:sessions` अनुमति हो। प्रमाणीकरण और अनुमति दोनों की विफलताएं
        `403` लौटाती हैं; यह API कभी भी `401` नहीं लौटाती है।


        **रेट लिमिट:** सभी POST/PATCH/DELETE endpoints पर प्रति API कुंजी 300
        अनुरोध/मिनट का साझा राइट बजट; इससे अधिक होने पर `429` मिलता है।


        संख्यात्मक `session_number` के आधार पर KYC सत्रों को बल्क-डिलीट करने के
        लिए, इसके बजाय `POST /v3/sessions/delete/` का उपयोग करें।


        **दायर की गई नियामक रिपोर्टें:** यदि चयनित डेटा अंतिम रूप दी गई नियामक
        रिपोर्ट में है, तो पूरा अनुरोध `409` के साथ अस्वीकार कर दिया जाता है और
        कुछ भी डिलीट नहीं किया जाता है। बॉडी `code: in_filed_report` का उपयोग
        करती है और प्रत्येक रिपोर्ट को `uuid`, `report_number`, `report_type` और
        `case_uuid` के साथ नामित करती है। रिपोर्टों को डिलीट करें, फिर अनुरोध को
        दोहराएं।
      operationId: delete_v3_session_by_id
      parameters:
        - in: path
          name: sessionId
          required: true
          description: >-
            हटाए जाने वाले उपयोगकर्ता सत्यापन (KYC) या व्यवसाय सत्यापन (KYB)
            सत्र का UUID (`session_id`), जैसा कि सत्र बनने पर लौटाया गया था। यह
            कैनोनिकल हाइफ़न वाला UUID होना चाहिए — गैर-UUID मान रूट से मेल नहीं
            खाता है और `404` लौटाता है।
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
      requestBody:
        required: false
        description: >-
          वैकल्पिक। ऑपरेशनल विलोपन के साथ एप्लिकेशन की डेटा प्रतिधारण नीति का
          पालन करने के लिए बॉडी को पूरी तरह छोड़ दें।
        content:
          application/json:
            schema:
              type: object
              properties:
                retain_face_embeddings:
                  type: boolean
                  nullable: true
                  description: >-
                    इस विलोपन के लिए एप्लिकेशन की `face_retention_policy` को
                    ओवरराइड करें। `true` सत्र हटाए जाने के बाद सत्र के
                    उपयोगकर्ता से जुड़े एक छवि-मुक्त चेहरे के बायोमेट्रिक
                    टेम्पलेट को रखता है; `false` सत्र के साथ फ़ेस एम्बेडिंग को
                    हटा देता है; एप्लिकेशन नीति का पालन करने के लिए छोड़ दें या
                    `null` रखें। KYB सत्रों के लिए और बिना फ़ेस एम्बेडिंग वाले
                    सत्रों के लिए अनदेखा किया जाता है।
                  example: true
                face_retention_days:
                  type: integer
                  minimum: 1
                  maximum: 3650
                  description: >-
                    किसी बनाए रखे गए टेम्पलेट के लिए सीमित प्रतिधारण अवधि, दिनों
                    में। जब कोई टेम्पलेट बनाए रखा जाता है तो यह आवश्यक होता है,
                    जब तक कि एप्लिकेशन पहले से ही `face_retention_days` सेट न कर
                    दे। टेम्पलेट की `expires_at` इस अवधि, एप्लिकेशन की सामान्य
                    डेटा प्रतिधारण विंडो और `face_retention_deadline` में से जो
                    सबसे पहले हो, वह होती है।
                  example: 365
                face_retention_deadline:
                  type: string
                  format: date-time
                  description: >-
                    प्रतिधारित टेम्पलेट के लिए वैकल्पिक हार्ड समाप्ति। भविष्य की
                    होनी चाहिए।
                  example: '2027-08-28T00:00:00Z'
                deletion_instruction:
                  type: string
                  enum:
                    - operational_session_delete
                    - privacy_erasure
                  default: operational_session_delete
                  description: >-
                    आपके द्वारा दिए जा रहे निर्देश का वर्ग।
                    `operational_session_delete` सत्र को हटा देता है और केवल तभी
                    टेम्पलेट को बनाए रखता है जब नीति या `retain_face_embeddings`
                    ऐसा कहे। `privacy_erasure` सत्र को हटाने से पहले सत्र के
                    उपयोगकर्ता से जुड़े प्रत्येक बनाए रखे गए बायोमेट्रिक
                    टेम्पलेट को मिटा देता है, इसे एप्लिकेशन नीति द्वारा ओवरराइड
                    नहीं किया जा सकता है, और इसे `retain_face_embeddings: true`
                    (`400`) के साथ जोड़ा नहीं जा सकता है।
                  example: operational_session_delete
                instruction_id:
                  type: string
                  maxLength: 255
                  description: >-
                    इस विलोपन निर्देश के लिए आपका स्थायी संदर्भ (उदाहरण के लिए
                    एक इरेज़र-टिकट id)। ऑडिट ट्रेल पर और किसी भी बनाए रखे गए
                    टेम्पलेट पर रिकॉर्ड किया जाता है। छोड़ दिए जाने पर Didit
                    द्वारा जनरेट किया जाता है।
                  example: dsar-2026-0142
            examples:
              Retain a biometric template:
                summary: सत्र हटाएं, 365 दिनों के लिए एक छवि-मुक्त टेम्पलेट रखें
                value:
                  retain_face_embeddings: true
                  face_retention_days: 365
                  instruction_id: post-approval-cleanup-2026-08
              Force deletion on an opted-in application:
                summary: एप्लिकेशन नीति की परवाह किए बिना फ़ेस एम्बेडिंग हटाएं
                value:
                  retain_face_embeddings: false
              Privacy erasure:
                summary: >-
                  डेटा-सब्जेक्ट अनुरोध: सत्र को हटाएं और उस व्यक्ति के लिए
                  प्रत्येक प्रतिधारित टेम्पलेट को मिटा दें
                value:
                  deletion_instruction: privacy_erasure
                  instruction_id: dsar-2026-0142
      responses:
        '200':
          description: >-
            सत्र हटाया गया। बॉडी यह रिपोर्ट करती है कि सत्र के चेहरे के
            बायोमेट्रिक डेटा का क्या हुआ और, KYB सत्र के लिए, इसके द्वारा बनाए
            गए कितने सत्यापन इसके साथ हटाए गए थे।
          content:
            application/json:
              schema:
                type: object
                properties:
                  session_id:
                    type: string
                    format: uuid
                    description: हटाया गया सत्र।
                  session_number:
                    type: integer
                    nullable: true
                    description: हटाए गए सत्र की संख्या।
                  face_retention_outcome:
                    type: string
                    enum:
                      - retained_with_user
                      - deleted
                      - none
                      - ineligible_no_vendor_user
                    description: >-
                      सत्र के फ़ेस बायोमेट्रिक डेटा के साथ क्या हुआ। `deleted`:
                      सत्र के साथ फ़ेस एम्बेडिंग हटा दी गई थी (डिफ़ॉल्ट)।
                      `retained_with_user`: सत्र हटा दिया गया है और एक छवि-मुक्त
                      बायोमेट्रिक टेम्पलेट उपयोगकर्ता से जुड़ा रहता है;
                      `biometric_template_uuid` देखें। `none`: सत्र में कोई फ़ेस
                      एम्बेडिंग नहीं थी (उदाहरण के लिए एक KYB सत्र, या लाइवनेस
                      सेल्फ़ी के बिना एक KYC सत्र)। `ineligible_no_vendor_user`:
                      प्रतिधारण का अनुरोध किया गया था लेकिन सत्र में कोई लिंक
                      किया गया उपयोगकर्ता नहीं है, इसलिए एम्बेडिंग सत्र के साथ
                      हटा दी गई थी। इस endpoint पर इस फ़ील्ड के माध्यम से
                      बायोमेट्रिक-स्टोर विफलता की रिपोर्ट कभी नहीं दी जाती है:
                      यह `503` लौटाता है और सत्र हटाया नहीं जाता है।
                  biometric_template_uuid:
                    type: string
                    format: uuid
                    nullable: true
                    description: >-
                      जब `face_retention_outcome`, `retained_with_user` हो, तब
                      प्रतिधारित बायोमेट्रिक टेम्पलेट का Id; अन्यथा `null`। इसे
                      `/v3/biometric-templates/{template_uuid}/` के माध्यम से
                      प्रबंधित करें।
                  biometric_template_expires_at:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      प्रतिधारित बायोमेट्रिक टेम्पलेट कब हटाया जाता है, जब
                      `face_retention_outcome`, `retained_with_user` हो; कोई
                      टेम्पलेट प्रतिधारित न होने पर `null`।
                  deleted_child_verifications:
                    type: integer
                    description: >-
                      व्यवसाय सत्यापन (KYB) सत्र के लिए: इसके द्वारा बनाए गए
                      कितने सत्यापन (इसके प्रमुख व्यक्तियों के KYC सत्र और इसके
                      कॉर्पोरेट स्वामियों के KYB सत्र, पुनरावर्ती रूप से) इसके
                      साथ हटा दिए गए थे। KYC सत्र के लिए हमेशा `0`।
              examples:
                Deleted (default):
                  value:
                    session_id: 4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02
                    session_number: 1024
                    face_retention_outcome: deleted
                    biometric_template_uuid: null
                    biometric_template_expires_at: null
                    deleted_child_verifications: 0
                Retained with User:
                  value:
                    session_id: 4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02
                    session_number: 1024
                    face_retention_outcome: retained_with_user
                    biometric_template_uuid: 9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b
                    biometric_template_expires_at: '2027-10-09T10:15:00Z'
                    deleted_child_verifications: 0
                'Ineligible: no User':
                  summary: >-
                    vendor_data के बिना बनाए गए सत्र पर प्रतिधारण का अनुरोध किया
                    गया
                  value:
                    session_id: 7a1e9c2d-5f4b-4c3a-8e2d-1b0a9f8e7d6c
                    session_number: 1031
                    face_retention_outcome: ineligible_no_vendor_user
                    biometric_template_uuid: null
                    biometric_template_expires_at: null
                    deleted_child_verifications: 0
                KYB session:
                  value:
                    session_id: 0f3c9b7e-2d1a-4e5f-8c6b-7a9d8e1f2c3b
                    session_number: 88
                    face_retention_outcome: none
                    biometric_template_uuid: null
                    biometric_template_expires_at: null
                    deleted_child_verifications: 3
                  summary: >-
                    एक व्यवसाय सत्यापन जिसे उसके प्रमुख व्यक्तियों के लिए बनाए
                    गए तीन सत्यापनों के साथ हटा दिया गया
        '400':
          description: सत्यापन त्रुटि — कुछ भी हटाया नहीं गया है।
          content:
            application/json:
              examples:
                Privacy erasure cannot retain:
                  value:
                    retain_face_embeddings:
                      - Privacy erasure cannot retain biometric templates.
                No finite retention duration:
                  summary: >-
                    अनुरोध या एप्लिकेशन पर face_retention_days के बिना प्रतिधारण
                    का अनुरोध किया गया
                  value:
                    detail: >-
                      A finite biometric-template retention duration is
                      required.
        '403':
          description: >-
            प्रमाणीकरण या अनुमति विफलता। अनुपस्थित कुंजी भी `403` लौटाती है;
            गलत, निरस्त या समय-सीमा समाप्त कुंजी `401` लौटाती है। अपवाद: जब
            `sessionId` किसी लाइव सत्र से मेल नहीं खाता है, तो अनुपस्थित या
            अमान्य क्रेडेंशियल्स होने पर भी प्री-ऑथ ओनर लुकअप पहले `404` लौटाता
            है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Missing or invalid API key:
                  summary: कोई x-api-key हेडर नहीं है, या कुंजी अमान्य है
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
                Insufficient permission:
                  summary: >-
                    delete:sessions के बिना उपयोगकर्ता token, या ऐसे एप्लिकेशन
                    के क्रेडेंशियल जो सत्र का स्वामी नहीं है
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            इस `session_id` वाला कोई लाइव KYC या KYB सत्र मौजूद नहीं है — id
            अज्ञात है या सत्र पहले ही हटा दिया गया था (सफल विलोपन को दोहराने पर
            यह परिणाम मिलता है)।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Not Found:
                  summary: अज्ञात या पहले से हटाया गया सत्र
                  value:
                    detail: Not found.
        '409':
          description: सत्र एक अंतिम नियामक रिपोर्ट का हिस्सा है। कुछ भी हटाया नहीं गया है।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InFiledReportError'
        '429':
          description: >-
            साझा राइट रेट लिमिट पार हो गई (प्रति API कुंजी प्रति मिनट 300
            POST/PATCH/DELETE अनुरोध)। पुनः प्रयास करने से पहले `Retry-After` और
            `X-RateLimit-*` रिस्पॉन्स हेडर का निरीक्षण करें।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Rate limited:
                  summary: लेखन बजट समाप्त हो गया
                  value:
                    detail: >-
                      Write request rate limit exceeded. You can make up to 300
                      requests per minute.
        '503':
          description: >-
            हटाने की प्रक्रिया पूरी नहीं हो सकी क्योंकि स्टोरेज सेवा,
            बायोमेट्रिक स्टोर, या निगरानी प्रदाता अनुपलब्ध था। सत्र अभी भी मौजूद
            है; वही अनुरोध तब तक दोहराएं जब तक कि यह `200` न लौटा दे। इसकी कुछ
            संग्रहीत फ़ाइलें पहले ही हटाई जा चुकी हो सकती हैं या इसका फ़ेस
            एम्बेडिंग पहले ही हटाया जा चुका हो सकता है, इसलिए `503` के बाद उन पर
            निर्भर न रहें। पुनः प्रयास एक ही टेम्पलेट पर कन्वर्ज होते हैं।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Session deletion unavailable:
                  summary: एक स्टोरेज सेवा या निगरानी प्रदाता अनुपलब्ध था
                  value:
                    detail: >-
                      The session could not be deleted because a storage service
                      or a monitoring provider is unavailable. The session is
                      still in place; repeat the request to finish deleting it.
                Biometric store unavailable:
                  summary: >-
                    बायोमेट्रिक टेम्पलेट को बनाए रखने या हटाने के दौरान एक
                    बायोमेट्रिक स्टोर अनुपलब्ध था
                  value:
                    detail: >-
                      The biometric-template operation could not finish because
                      an external store is unavailable. The operation is
                      retryable.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl (default policy)
          source: |-
            curl -X DELETE \
              https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: curl
          label: curl (retain template)
          source: |-
            curl -X DELETE \
              https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"retain_face_embeddings": true, "face_retention_days": 365}'
        - lang: curl
          label: curl (privacy erasure)
          source: |-
            curl -X DELETE \
              https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"deletion_instruction": "privacy_erasure", "instruction_id": "dsar-2026-0142"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.delete(
                "11111111-2222-3333-4444-555555555555",
                retain_face_embeddings=True,
                face_retention_days=365,
                instruction_id="post-approval-cleanup-2026-08",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY.

            const didit = new Didit();


            const result = await
            didit.sessions.delete("11111111-2222-3333-4444-555555555555", {
              retain_face_embeddings: true,
              face_retention_days: 365,
              instruction_id: "post-approval-cleanup-2026-08",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.Delete(ctx, \"11111111-2222-3333-4444-555555555555\", didit.SessionsDeleteParams{\n\tRetainFaceEmbeddings: didit.Bool(true),\n\tFaceRetentionDays:    didit.Int(365),\n\tInstructionID:        didit.String(\"post-approval-cleanup-2026-08\"),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.SessionsDeleteParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().delete("11111111-2222-3333-4444-555555555555",
            SessionsDeleteParams.builder()
                    .retainFaceEmbeddings(true)
                    .faceRetentionDays(365L)
                    .instructionId("post-approval-cleanup-2026-08")
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            $result =
            $didit->sessions->delete('11111111-2222-3333-4444-555555555555', [
                'retain_face_embeddings' => true,
                'face_retention_days' => 365,
                'instruction_id' => 'post-approval-cleanup-2026-08',
            ]);

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.sessions.delete(
              "11111111-2222-3333-4444-555555555555",
              retain_face_embeddings: true,
              face_retention_days: 365,
              instruction_id: "post-approval-cleanup-2026-08"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await
            client.Sessions.DeleteAsync("11111111-2222-3333-4444-555555555555",
            new SessionsDeleteParams

            {
                RetainFaceEmbeddings = true,
                FaceRetentionDays = 365,
                InstructionId = "post-approval-cleanup-2026-08",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    InFiledReportError:
      type: object
      description: >-
        हटाने से इनकार कर दिया गया है क्योंकि चयनित डेटा एक अंतिम विनियामक
        रिपोर्ट में है। कुछ भी हटाया नहीं गया है। रिपोर्ट हटाएं, फिर अनुरोध
        दोहराएं।
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - in_filed_report
          description: >-
            अंतिम रूप दी गई नियामक रिपोर्ट द्वारा अवरुद्ध विलोपन के लिए स्थिर
            त्रुटि कोड।
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: >-
            ऐसी रिपोर्ट जो किसी व्यक्ति, कंपनी, केस या सत्र के विलोपन को ब्लॉक
            करती हैं।
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/FiledReportTransaction'
          description: >-
            लेन-देन जो किसी लेन-देन विलोपन को ब्लॉक करते हैं, प्रत्येक उन
            रिपोर्टों के साथ जो इसे सूचीबद्ध करती हैं।
    FiledRegulatoryReport:
      type: object
      description: एक फ़ाइनलाइज़ की गई नियामक रिपोर्ट जो अनुरोधित विलोपन को रोकती है।
      required:
        - uuid
        - report_number
        - report_type
        - case_uuid
      properties:
        uuid:
          type: string
          format: uuid
          description: रिपोर्ट UUID।
        report_number:
          type: string
          description: कंसोल में दिखाई गई रिपोर्ट संख्या (उदाहरण के लिए, SAR-0001)।
        report_type:
          type: string
          enum:
            - SAR
            - STR
            - CTR
            - TTR
            - UTR
            - IFT
            - CBR
            - TFR
          description: नियामक रिपोर्ट प्रकार।
        case_uuid:
          type: string
          format: uuid
          description: वह केस जिससे यह रिपोर्ट संबंधित है।
    FiledReportTransaction:
      type: object
      description: >-
        एक लेन-देन जिसे हटाया नहीं जा सकता क्योंकि एक अंतिम रूप दी गई नियामक
        रिपोर्ट में इसे सूचीबद्ध किया गया है।
      required:
        - uuid
        - transaction_id
        - reports
      properties:
        uuid:
          type: string
          format: uuid
          description: Didit लेन-देन UUID।
        transaction_id:
          type: string
          description: लेन-देन बनाते समय प्रदान किया गया लेन-देन पहचानकर्ता।
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: अंतिम रूप दी गई रिपोर्टें जो इस लेन-देन को सूचीबद्ध करती हैं।
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys
        से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप
        किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या
        स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक
        सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी
        समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी,
        कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP
        सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी
        के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को
        छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write
        के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं।
        देखें https://docs.didit.me/console/api-keys।

````

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