> ## 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 قالب وجه بيومتري محفوظ عبر DELETE /v3/biometric-templates/{template_uuid}/، فيُزال من المطابقة ويُحذف من التخزين. العملية idempotent.

يُطهّر قالبًا واحدًا: يُزال من جميع أنواع المطابقة، ويُحذف القالب المخزَّن. التطهير غير قابل للتراجع، ويُسجَّل في سجل التدقيق مع الجهة المنفذة.

```bash theme={null}
curl -X DELETE https://verification.didit.me/v3/biometric-templates/9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b/ \
  -H "x-api-key: YOUR_API_KEY"
```

```json theme={null}
{ "uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b", "outcome": "purged" }
```

| `outcome` | المعنى |
| - | - |
| `purged` | تم تطهير القالب بواسطة هذا الاستدعاء. |
| `already_purged` | كان القالب قد طُهّر من قبل. تكرار عملية التطهير آمن. |

## دلالات إعادة المحاولة

يحذف Didit القالب المخزَّن أولاً، ثم يضع علامة على القالب بأنه مُطهَّر. إذا كان المخزن البيومتري غير متاح، يعيد الاستدعاء `503`، وينتقل القالب إلى `status: purge_failed`، ويكون مستبعدًا من المطابقة بالفعل. كرّر الاستدعاء نفسه لإكمال التطهير.

## الأخطاء

| الحالة | متى | المحتوى |
| - | - | - |
| `403` | رمز مستخدم وحدة التحكم، أو مفتاح API غير مسموح به | `{"detail": "You do not have permission to perform this action."}` |
| `404` | قالب غير معروف، أو قالب يتبع تطبيقًا آخر | `{"detail": "Biometric template not found."}` |
| `503` | تعذّر الوصول إلى مخزن بيومتري. القالب في `purge_failed` ومستبعد من المطابقة؛ كرّر الاستدعاء. | `{"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."}` |

## نقاط التطهير الأخرى

تُطهَّر القوالب أيضًا عند حذف المستخدم المالك لها عبر [Batch Delete Users](https://docs.didit.me/ar/management-api/users/delete.md)، وعند حذف أي جلسة لذلك المستخدم باستخدام `deletion_instruction: "privacy_erasure"`، وتلقائيًا عند `expires_at`. راجع [نقاط التطهير](https://docs.didit.me/ar/management-api/biometric-templates/overview.md#نقاط-الحذف-النهائي).


## OpenAPI

````yaml ar/openapi-25.json DELETE /v3/biometric-templates/{template_uuid}/
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/biometric-templates/{template_uuid}/:
    delete:
      tags:
        - Biometric Templates
      summary: تطهير القالب البيومتري المحتفظ به
      description: >-
        يحتفظ التطبيق المشترك بقالب بيومتري واحد للوجه مُدار بشكل منفصل وخالٍ من
        الصور ومرتبط بالمستخدم عند حذف الجلسة (راجع `DELETE
        /v3/session/{sessionId}/delete/`). تُعد القوالب بيانات بيومترية ذات
        `expires_at` محدد؛ ولا تحتوي مطلقاً على صور أو بيانات جلسة أو حقول هوية،
        وتُحذف نهائياً عند حذف المستخدم أو محو البيانات للخصوصية أو انتهاء
        الصلاحية أو الحذف النهائي الصريح. تقبل هذه الـ endpoints مفاتيح API
        للتطبيق (`x-api-key`) فقط؛ ويتم رفض رموز مستخدمي Business Console بالرمز
        `403`.


        يحذف قالباً واحداً نهائياً: تتم إزالته من جميع أنواع المطابقة ويتم حذف
        القالب المخزن. إجراء غير قابل للرجوع ويتم تسجيله في سجل التدقيق مع الجهة
        الفاعلة.


        **دلالات إعادة المحاولة:** تحذف Didit القالب المخزن أولاً وفقط بعد ذلك
        تضع علامة على القالب بأنه تم حذفه نهائياً. إذا كان مخزن البيانات
        البيومترية غير متاح، يُرجع الاستدعاء `503`، وينتقل القالب إلى `status:
        purge_failed` ويكون مستبعداً بالفعل من المطابقة؛ كرر نفس الاستدعاء
        للإنهاء. تؤدي إعادة محاولة حذف نهائي لقالب تم حذفه نهائياً بالفعل إلى
        إرجاع `already_purged`.


        تُحذف القوالب نهائياً أيضاً بواسطة `POST /v3/users/delete/` للمستخدم
        المالك، وعبر أي حذف لجلسات ذلك المستخدم باستخدام `deletion_instruction:
        privacy_erasure`، وتلقائياً عند `expires_at`.
      operationId: purge_biometric_template
      parameters:
        - in: path
          name: template_uuid
          required: true
          description: >-
            معرّف القالب، كما يتم إرجاعه في `biometric_template_uuid` بواسطة
            endpoints حذف الجلسة، أو `biometric_template_id` عند وجود نتيجة
            مطابقة في البحث بالوجه، أو endpoint القائمة.
          schema:
            type: string
            format: uuid
            example: 9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b
      responses:
        '200':
          description: نتيجة التطهير.
          content:
            application/json:
              schema:
                type: object
                properties:
                  uuid:
                    type: string
                    format: uuid
                  outcome:
                    type: string
                    enum:
                      - purged
                      - already_purged
              examples:
                Purged:
                  value:
                    uuid: 9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b
                    outcome: purged
                Already purged:
                  value:
                    uuid: 9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b
                    outcome: already_purged
        '403':
          description: >-
            token مستخدم Console، أو مفتاح API غير مسموح به. تقبل هذه endpoints
            مفاتيح API الخاصة بالتطبيق فقط.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            قالب غير معروف، أو قالب لتطبيق آخر، أو (في طلبات `GET`) قالب تم حذفه
            نهائيًا.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: Biometric template not found.
        '503':
          description: >-
            كان مخزن البيانات البيومترية غير متاح أثناء الاحتفاظ بالقالب
            البيومتري أو مسحه. لم يُحذف أي شيء؛ كرر نفس الطلب. عمليات إعادة
            المحاولة تمتاز بخاصية idempotency وتلتقي عند قالب واحد.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Retryable:
                  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
          source: >-
            curl -X DELETE
            https://verification.didit.me/v3/biometric-templates/9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b/
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.biometric_templates.delete(
                "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
            )
            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.biometricTemplates.delete("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.BiometricTemplates.Delete(ctx, \"9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.biometricTemplates().delete("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");

            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->biometricTemplates->delete('9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b');

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


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result =
            didit.biometric_templates.delete("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b")

            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.BiometricTemplates.DeleteAsync("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console.
        يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا
        شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات
        المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن
        المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم
        إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو
        الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير
        404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة
        بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL
        للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك
        إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع
        https://docs.didit.me/console/api-keys.

````

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