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

# Eliminare il modello biometrico: API Purge Didit

> DELETE /v3/biometric-templates/{template_uuid}/ elimina un modello biometrico facciale conservato: rimosso dal confronto e cancellato. Idempotente. Didit.

Elimina un modello: viene rimosso da ogni tipo di confronto e il modello memorizzato viene eliminato. L'eliminazione è irreversibile e viene registrata nel registro di audit insieme al soggetto che ha eseguito l'azione.

```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` | Significato |
| - | - |
| `purged` | Il modello è stato eliminato da questa chiamata. |
| `already_purged` | Il modello era già stato eliminato. Ripetere l'eliminazione è sicuro. |

## Gestione dei nuovi tentativi

Didit elimina prima il modello biometrico memorizzato e solo dopo lo contrassegna come eliminato. Se un archivio biometrico non è disponibile, la chiamata restituisce `503`, il modello passa a `status: purge_failed` ed è già escluso dal confronto. Ripeti la stessa chiamata per completare l'eliminazione.

## Errori

| Stato | Quando | Corpo |
| - | - | - |
| `403` | Token dell'utente della console, oppure la chiave API non è autorizzata | `{"detail": "You do not have permission to perform this action."}` |
| `404` | Modello sconosciuto oppure modello di un'altra applicazione | `{"detail": "Biometric template not found."}` |
| `503` | Un archivio biometrico non era disponibile. Il modello è in `purge_failed` ed è escluso dal confronto; ripeti la chiamata. | `{"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."}` |

## Altri punti di eliminazione

I modelli vengono eliminati anche quando elimini l'utente proprietario con [Batch Delete Users](https://docs.didit.me/it/management-api/users/delete.md), quando elimini una qualsiasi sessione di quell'utente con `deletion_instruction: "privacy_erasure"`, e automaticamente alla scadenza di `expires_at`. Vedi [Punti di eliminazione](https://docs.didit.me/it/management-api/biometric-templates/overview.md#punti-di-eliminazione).


## OpenAPI

````yaml it/openapi-25.json DELETE /v3/biometric-templates/{template_uuid}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API di verifica dell'identità. Autenticati con l'intestazione x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/biometric-templates/{template_uuid}/:
    delete:
      tags:
        - Biometric Templates
      summary: Elimina definitivamente un modello biometrico conservato
      description: >-
        Un'applicazione che ha aderito mantiene un modello biometrico facciale
        gestito separatamente e privo di immagini, ancorato all'utente quando
        una sessione viene eliminata (vedere `DELETE
        /v3/session/{sessionId}/delete/`). I modelli sono dati biometrici con un
        `expires_at` finito; non contengono mai immagini, dati di sessione o
        campi di identità e vengono eliminati definitivamente all'eliminazione
        dell'utente, alla cancellazione per motivi di privacy, alla scadenza o
        tramite un'eliminazione definitiva esplicita. Questi endpoint accettano
        solo chiavi API dell'applicazione (`x-api-key`); i token utente della
        Business Console vengono rifiutati con `403`.


        Elimina definitivamente un modello: viene rimosso da ogni tipo di
        confronto e il modello memorizzato viene cancellato. L'operazione è
        irreversibile e registrata nel registro di audit con il soggetto che
        l'ha eseguita.


        **Semantica dei nuovi tentativi:** Didit cancella prima il modello
        memorizzato e solo dopo lo contrassegna come eliminato definitivamente.
        Se uno store biometrico non è disponibile, la chiamata restituisce
        `503`, il modello passa a `status: purge_failed` ed è già escluso dai
        confronti; ripeti la stessa chiamata per completare. Ripetere
        l'eliminazione definitiva di un modello già eliminato restituisce
        `already_purged`.


        I modelli vengono eliminati definitivamente anche tramite `POST
        /v3/users/delete/` per l'utente proprietario, tramite qualsiasi
        eliminazione delle sessioni di quell'utente con `deletion_instruction:
        privacy_erasure`, e automaticamente a `expires_at`.
      operationId: purge_biometric_template
      parameters:
        - in: path
          name: template_uuid
          required: true
          description: >-
            ID del modello, restituito come `biometric_template_uuid` dagli
            endpoint di eliminazione della sessione, `biometric_template_id` in
            una corrispondenza di Ricerca facciale o dall'endpoint di elenco.
          schema:
            type: string
            format: uuid
            example: 9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b
      responses:
        '200':
          description: Esito dell'eliminazione definitiva.
          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 utente della Console, oppure la chiave API non è consentita.
            Questi endpoint accettano solo chiavi API dell'applicazione.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            Modello sconosciuto, modello di un'altra applicazione o (su `GET`)
            modello rimosso definitivamente.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: Biometric template not found.
        '503':
          description: >-
            Un archivio biometrico non era disponibile durante la conservazione
            o l'eliminazione definitiva di un modello biometrico. Non è stato
            eliminato nulla; ripeti la stessa richiesta. I nuovi tentativi sono
            idempotenti e convergono su un unico modello.
          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: >-
        La chiave API della tua applicazione, da Developers -> API keys nella
        Business Console. La chiave primaria ha accesso completo. Una chiave con
        nome può avere un ambito definito: nessuno, lettura o scrittura per
        risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco
        di indirizzi IP e a una data di scadenza. 401 indica che la chiave è
        errata, revocata o scaduta; 403 indica che non è stata inviata alcuna
        chiave, che la chiave non ha accesso a questa risorsa o azione, oppure
        che la richiesta proviene da un indirizzo non incluso nel suo elenco IP;
        404 su una route di sessione indica che la sessione non rientra nei
        workflow o negli stati previsti dalla chiave. Una chiave senza accesso
        ai media riceve gli URL di immagini, video e PDF come null, e una chiave
        senza permessi di scrittura sulle sessioni riceve link e token di
        sessione come null. Consulta https://docs.didit.me/console/api-keys.

````

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