> ## 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 Hapus Templat Biometrik

> DELETE /v3/biometric-templates/{template_uuid}/ menghapus satu templat wajah tersimpan di Didit: dikeluarkan dari pencocokan dan dihapus. Idempoten.

Melakukan penghapusan permanen pada satu templat: templat dihapus dari setiap jenis pencocokan dan templat yang tersimpan dihapus. Penghapusan permanen tidak dapat dibatalkan dan dicatat di log audit beserta pihak yang melakukan tindakan.

```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` | Arti |
| - | - |
| `purged` | Templat dihapus secara permanen oleh panggilan ini. |
| `already_purged` | Templat sudah pernah dihapus secara permanen. Mengulangi penghapusan permanen aman dilakukan. |

## Semantik coba lagi

Didit menghapus templat biometrik yang tersimpan terlebih dahulu, lalu menandainya sebagai sudah dihapus secara permanen. Jika penyimpanan biometrik tidak tersedia, panggilan mengembalikan `503`, templat berpindah ke `status: purge_failed`, dan templat sudah dikecualikan dari pencocokan. Ulangi panggilan yang sama untuk menyelesaikan penghapusan permanen.

## Kesalahan

| Status | Kapan | Isi |
| - | - | - |
| `403` | Token pengguna konsol, atau kunci API tidak diizinkan | `{"detail": "You do not have permission to perform this action."}` |
| `404` | Templat tidak ditemukan, atau templat milik aplikasi lain | `{"detail": "Biometric template not found."}` |
| `503` | Penyimpanan biometrik tidak tersedia. Templat berada di `purge_failed` dan dikecualikan dari pencocokan; ulangi panggilan. | `{"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."}` |

## Titik penghapusan permanen lainnya

Templat juga dihapus secara permanen saat Anda menghapus pengguna pemilik templat dengan [Batch Delete Users](https://docs.didit.me/id/management-api/users/delete.md), saat Anda menghapus sesi mana pun milik pengguna tersebut dengan `deletion_instruction: "privacy_erasure"`, dan secara otomatis pada `expires_at`. Lihat [Titik penghapusan permanen](https://docs.didit.me/id/management-api/biometric-templates/overview.md#titik-penghapusan).


## OpenAPI

````yaml id/openapi-25.json DELETE /v3/biometric-templates/{template_uuid}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API Verifikasi Identitas. Lakukan autentikasi dengan header x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/biometric-templates/{template_uuid}/:
    delete:
      tags:
        - Biometric Templates
      summary: Hapus permanen templat biometrik yang disimpan
      description: >-
        Aplikasi yang ikut serta menyimpan satu templat biometrik wajah tanpa
        gambar yang dikelola secara terpisah dan ditautkan ke Pengguna ketika
        sesi dihapus (lihat `DELETE /v3/session/{sessionId}/delete/`). Templat
        adalah data biometrik dengan `expires_at` yang memiliki masa berlaku
        terbatas; templat tidak pernah berisi gambar, data sesi, atau kolom
        identitas, dan akan dihapus permanen saat Pengguna dihapus, penghapusan
        privasi, kedaluwarsa, atau penghapusan permanen eksplisit.
        Endpoint-endpoint ini hanya menerima kunci API aplikasi (`x-api-key`);
        token pengguna Business Console akan ditolak dengan `403`.


        Menghapus permanen satu templat: templat dihapus dari semua jenis
        pencocokan dan templat yang disimpan akan dihapus. Bersifat tidak dapat
        dibatalkan dan dicatat pada log audit bersama pihak yang melakukan
        tindakan.


        **Semantik coba lagi:** Didit menghapus templat yang disimpan terlebih
        dahulu dan baru menandai templat telah dihapus permanen. Jika
        penyimpanan biometrik tidak tersedia, panggilan mengembalikan `503`,
        templat beralih ke `status: purge_failed` dan sudah dikecualikan dari
        pencocokan; ulangi panggilan yang sama untuk menyelesaikan. Mengulangi
        penghapusan permanen pada templat yang sudah dihapus permanen
        mengembalikan `already_purged`.


        Templat juga dihapus permanen oleh `POST /v3/users/delete/` untuk
        Pengguna pemilik, oleh penghapusan apa pun pada sesi Pengguna tersebut
        dengan `deletion_instruction: privacy_erasure`, dan secara otomatis pada
        `expires_at`.
      operationId: purge_biometric_template
      parameters:
        - in: path
          name: template_uuid
          required: true
          description: >-
            ID templat, seperti yang dikembalikan dalam
            `biometric_template_uuid` oleh endpoint penghapusan sesi,
            `biometric_template_id` pada kecocokan Pencarian Wajah, atau
            endpoint daftar.
          schema:
            type: string
            format: uuid
            example: 9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b
      responses:
        '200':
          description: Hasil penghapusan permanen.
          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 pengguna konsol, atau kunci API tidak diizinkan. Endpoint ini
            hanya menerima kunci API aplikasi.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            Templat tidak dikenal, templat dari aplikasi lain, atau (pada `GET`)
            templat yang telah dihapus secara permanen.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: Biometric template not found.
        '503':
          description: >-
            Penyimpanan biometrik tidak tersedia saat mempertahankan atau
            menghapus total templat biometrik. Tidak ada yang dihapus; ulangi
            permintaan yang sama. Coba lagi bersifat idempoten dan mengarah pada
            satu templat tunggal.
          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: >-
        Kunci API aplikasi Anda, dari Developers -> API keys di Business
        Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi
        cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa
        alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan
        pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau
        kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak
        memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang
        dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi
        berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses
        media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa
        izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat
        https://docs.didit.me/console/api-keys.

````

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