Vai al contenuto principale
POST
curl

Comportamento

Ogni sessione corrispondente viene eliminata esattamente come con Elimina sessione: vengono eliminati la sessione, ogni tentativo di verifica che contiene, la sua decisione e i dati estratti, i relativi record delle funzionalità e tutti i suoi file archiviati. La sessione scompare da ogni endpoint di lettura e gli URL dei contenuti multimediali emessi in precedenza smettono di risolversi. I messaggi webhook ancora in coda per una sessione eliminata, e i relativi nuovi tentativi, vengono scartati; i webhook già consegnati non sono interessati. L’eliminazione è permanente e irreversibile. Se una sessione selezionata fa parte di un report normativo finalizzato, l’intera richiesta restituisce 409 e non viene eliminato nulla. La risposta usa code: in_filed_report e indica ciascun report. Elimina ogni report con Elimina report, quindi ripeti la richiesta. L’eliminazione del report non elimina la sessione: la sessione resta finché non ripeti questa richiesta. Il numero di sessioni corrispondenti determina la risposta, che tu le selezioni con session_numbers o con delete_all: Un risultato conferma che la sessione è stata eliminata, tranne quando il suo face_retention_outcome è failed_retryable: in quel caso la sessione non è stata eliminata ed è ancora presente. Tratta quindi quel risultato come un errore da ritentare, mai come conferma di eliminazione. I numeri che non corrispondono a una sessione KYC attiva nella tua applicazione vengono saltati e non compaiono in results.

Restringere delete_all con i filtri

Con delete_all: true puoi restringere la selezione con i filtri di Elenca sessioni, ciascuno con il prefisso filter_. Accettano gli stessi valori dei parametri di query. Un filtro che accetta più valori (status, workflow_id, country, region, document_type, document_name, session_type, warning, organization_name) accetta una stringa separata da virgole oppure un array:
  • I filtri si applicano solo insieme a delete_all; con session_numbers vengono controllati ma non modificano la selezione.
  • Ogni altro filtro accetta un solo valore. Un array viene unito in un unico valore separato da virgole, quindi più date, UUID o valori api_service restituiscono 400, e più testi vendor_data, search o screened_full_name non vengono confrontati come alternative.
  • Un filtro con valore vuoto viene ignorato, quindi non restringe la selezione.
  • Una chiave filter_* sconosciuta restituisce 400 {"filter_reviewer": "Unknown filter."}, e un valore non leggibile restituisce 400 associato a quella chiave filter_*, come {"filter_date_from": ["Enter a valid date."]}. In entrambi i casi non viene eliminato nulla, quindi un filtro scritto male non allarga mai l’eliminazione a tutte le sessioni.
  • Un job di eliminazione applica gli stessi filtri e, come ogni delete_all, copre solo le sessioni create prima della richiesta.

Campi di conservazione e istruzione

L’endpoint accetta gli stessi campi opzionali dell’endpoint per la singola sessione e li applica a ogni sessione corrispondente: Vedi Elimina sessione per sapere cosa contiene e cosa non contiene un modello conservato, come viene calcolato expires_at e cosa fa un’istruzione di cancellazione per motivi di privacy.

Esiti per sessione

Per fino a 20 sessioni corrispondenti, 200 OK restituisce un risultato per sessione:
Ogni risultato contiene gli stessi campi della risposta di Elimina sessione. biometric_template_expires_at indica quando viene eliminato un modello conservato, e deleted_child_verifications è sempre 0 in questo caso, perché questo endpoint elimina solo sessioni KYC. Le sessioni vengono eliminate in gruppi. Quando un gruppo non può essere eliminato, ogni sessione al suo interno viene segnalata come failed_retryable; gli altri gruppi non sono interessati e restano eliminati.

Selezioni numerose eseguite come job

Quando il criterio corrisponde a più di 20 sessioni, la risposta è 202 Accepted con un job di eliminazione al posto di results:
Interroga Get Session Deletion Job a intervalli di pochi secondi finché status non diventa COMPLETED o FAILED.
  • Il job riporta quante sessioni si sono concluse con ciascun esito, mai quali sessioni ha eliminato.
  • Un job delete_all elimina solo le sessioni create prima della tua richiesta. Le sessioni avviate mentre il job è in esecuzione non vengono eliminate.
  • I campi relativi alla conservazione e alle istruzioni della tua richiesta si applicano a ogni sessione che il job elimina.
  • Se un gruppo non può ancora essere eliminato, il job ritenta autonomamente.
  • Un job FAILED spiega il motivo in error. Le sessioni che non aveva ancora raggiunto sono ancora presenti: ripeti la richiesta per eliminarle.

Esempi

Migrazione dalle risposte 204

Fino a questa release l’endpoint restituiva 204 No Content. Ora restituisce 200 OK con results[], oppure 202 Accepted con un job di eliminazione per più di 20 sessioni corrispondenti. Aggiorna i client che verificano il codice 204. Il comportamento di eliminazione predefinito non cambia: le applicazioni esistenti restano su delete_with_session finché non modifichi esplicitamente il criterio.

Correlati

Autorizzazioni

x-api-key
string
header
obbligatorio

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.

Corpo

application/json
session_numbers
string[]

Valori numerici session_number delle sessioni KYC da eliminare, sotto forma di stringhe di sole cifre (sono accettati e convertiti anche i numeri JSON). Obbligatorio a meno che delete_all non sia true; un elenco vuoto restituisce 400. Qualsiasi voce non composta da sole cifre comporta il rifiuto dell'intera richiesta con 400 (a meno che delete_all non sia true, nel qual caso la validazione viene saltata e le voci ignorate). I numeri che non corrispondono a una sessione attiva nella tua applicazione vengono ignorati senza generare errori.

Minimum array length: 1
Pattern: ^[0-9]+$
Esempio:
delete_all
boolean
predefinito:false

Quando è true, tutte le sessioni KYC rimanenti nell'applicazione chiamante vengono eliminate e session_numbers viene ignorato, a meno che tu non restringa la selezione con le chiavi filter_*. Se ci sono più di 20 sessioni corrispondenti, l'operazione viene eseguita come processo di eliminazione (202) che copre solo le sessioni create prima della richiesta. Il valore predefinito è false. Azione irreversibile; non è previsto alcun passaggio di conferma.

Esempio:

false

retain_face_embeddings
boolean | null

Esegui l'override della face_retention_policy dell'applicazione per questa eliminazione. true mantiene un modello biometrico facciale privo di immagini associato all'Utente della sessione dopo l'eliminazione della sessione; false elimina l'embedding facciale insieme alla sessione; ometti o imposta su null per seguire la politica dell'applicazione. Ignorato per le sessioni KYB e per le sessioni senza un embedding facciale.

Esempio:

true

face_retention_days
integer

Periodo di conservazione limitato, in giorni, per un modello conservato. Obbligatorio quando un modello viene conservato, a meno che l'applicazione non imposti già face_retention_days. Il campo expires_at del modello corrisponde al valore più anticipato tra questa durata, la finestra generale di conservazione dei dati dell'applicazione e face_retention_deadline.

Intervallo richiesto: 1 <= x <= 3650
Esempio:

365

face_retention_deadline
string<date-time>

Scadenza definitiva opzionale per un modello conservato. Deve essere nel futuro.

Esempio:

"2027-08-28T00:00:00Z"

deletion_instruction
enum<string>
predefinito:operational_session_delete

La classe di istruzione che stai fornendo. operational_session_delete elimina la sessione e conserva un modello solo quando la policy o retain_face_embeddings lo prevede. privacy_erasure elimina definitivamente ogni modello biometrico conservato e associato all'Utente della sessione prima di eliminarla, non può essere sovrascritta dalla policy dell'applicazione e non può essere combinata con retain_face_embeddings: true (400).

Opzioni disponibili:
operational_session_delete,
privacy_erasure
Esempio:

"operational_session_delete"

instruction_id
string

Il tuo riferimento permanente per questa istruzione di eliminazione (ad esempio l'ID di un ticket di cancellazione). Registrato nel registro di audit e su qualsiasi modello conservato. Generato da Didit se omesso.

Maximum string length: 255
Esempio:

"dsar-2026-0142"

filter_status

Limita delete_all alle sessioni che corrispondono al filtro status di List Sessions, con gli stessi valori. Una stringa separata da virgole o un array. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_vendor_data
string

Limita delete_all alle sessioni che corrispondono al filtro vendor_data di List Sessions, con lo stesso valore. Un singolo valore, non un elenco: un array viene unito in un unico testo separato da virgole, quindi più valori non vengono confrontati come alternative. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

Limita delete_all alle sessioni che corrispondono al filtro search di List Sessions, con lo stesso valore. Un singolo valore, non un elenco: un array viene unito in un unico testo separato da virgole, quindi più valori non vengono confrontati come alternative. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_workflow_id

Limita delete_all alle sessioni che corrispondono al filtro workflow_id di List Sessions, con gli stessi valori. Una stringa separata da virgole o un array. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_date_from
string<date>

Limita delete_all alle sessioni che corrispondono al filtro date_from di Elenca sessioni, con lo stesso valore. Un solo valore, non un elenco: un array viene unito in un unico valore separato da virgole, pertanto più valori vengono rifiutati con 400. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_date_to
string<date>

Limita delete_all alle sessioni che corrispondono al filtro date_to di Elenca sessioni, con lo stesso valore. Un solo valore, non un elenco: un array viene unito in un unico valore separato da virgole, pertanto più valori vengono rifiutati con 400. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_country

Limita delete_all alle sessioni che corrispondono al filtro country di Elenca sessioni, con gli stessi valori. Una stringa separata da virgole o un array. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_document_type

Limita delete_all alle sessioni che corrispondono al filtro document_type di Elenca sessioni, con gli stessi valori. Una stringa separata da virgole o un array. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_document_name

Limita delete_all alle sessioni che corrispondono al filtro document_name di Elenca sessioni, con gli stessi valori. Una stringa separata da virgole o un array. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_region

Limita delete_all alle sessioni che corrispondono al filtro region di List Sessions, con gli stessi valori. Una stringa separata da virgole o un array. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_didit_internal_id
string<uuid>

Limita delete_all alle sessioni che corrispondono al filtro didit_internal_id di Elenca sessioni, con lo stesso valore. Un solo valore, non un elenco: un array viene unito in un unico valore separato da virgole, pertanto più valori vengono rifiutati con 400. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_session_type

Limita delete_all alle sessioni che corrispondono al filtro session_type di List Sessions, con gli stessi valori. Una stringa separata da virgole o un array. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_api_service
string

Limita delete_all alle sessioni che corrispondono al filtro api_service di Elenca sessioni, con lo stesso valore. Un solo valore, non un elenco: un array viene unito in un unico valore separato da virgole, pertanto più valori vengono rifiutati con 400. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_screened_full_name
string

Limita delete_all alle sessioni che corrispondono al filtro screened_full_name di List Sessions, con lo stesso valore. Un singolo valore, non un elenco: un array viene unito in un unico testo separato da virgole, quindi più valori non vengono confrontati come alternative. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_warning

Limita delete_all alle sessioni che corrispondono al filtro warning di List Sessions, con gli stessi valori. Una stringa separata da virgole o un array. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_status_initialized_as_in_review
boolean

Limita delete_all alle sessioni che corrispondono al filtro status_initialized_as_in_review di List Sessions, con gli stessi valori. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_is_kyc_to_be_reviewed
boolean

Limita delete_all alle sessioni che corrispondono al filtro is_kyc_to_be_reviewed di Elenca sessioni, con gli stessi valori. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_euuid
string<uuid>

Limita delete_all alle sessioni che corrispondono al filtro euuid di Elenca sessioni, con lo stesso valore. Un solo valore, non un elenco: un array viene unito in un unico valore separato da virgole, pertanto più valori vengono rifiutati con 400. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

filter_organization_name

Limita delete_all alle sessioni che corrispondono al filtro organization_name di List Sessions, con gli stessi valori. Una stringa separata da virgole o un array. Con una chiave API può corrispondere solo al nome della tua organizzazione, quindi seleziona tutte le tue sessioni o nessuna. Ignorato senza delete_all. Un valore vuoto viene ignorato e non limita la selezione.

Risposta

Fino a 20 sessioni corrispondenti sono state elaborate nella richiesta. Un risultato per ogni sessione corrispondente; i numeri che non corrispondono a nulla (sconosciuti o già eliminati) vengono ignorati e non compaiono. Un risultato conferma l'eliminazione tranne quando face_retention_outcome è failed_retryable: tale sessione NON è stata eliminata e va ritentata.

results
object[]
Ultima modifica il 7 novembre 2026