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

# Storico KYC utente: sessioni e nuova verifica

> Recupera le sessioni di verifica Didit di un utente, consulta i risultati per funzionalità, avvia nuove verifiche ed esporta report di compliance.



Prompt per la cronologia KYC
        Copia il prompt negli appunti



      
      

\<pre>

\````# Goal — read a user's full KYC history and trigger re-verification

Every KYC session a user has ever run stays permanently linked to the User entity via `vendor_data`. The session list endpoint is the entry point; the decision endpoint is the detail view.

\## List every session for a user

\```bash
curl -G https://verification.didit.me/v3/sessions/ \
-H "x-api-key: $DIDIT_API_KEY" \
\--data-urlencode "vendor_data=user-42" \
\--data-urlencode "page_size=50"
\```

Response covers every status (approved, declined, in review, abandoned, expired). Paginate with the `next` cursor / `page` param until empty.

\## Inspect a single session decision

\```bash
curl https://verification.didit.me/v3/session/$SESSION_ID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
\```

V3 returns plural arrays — always iterate them:

\- `id_verifications[]`
\- `liveness_checks[]`
\- `face_matches[]`
\- `aml_screenings[]`
\- `nfc_verifications[]`
\- `proof_of_address_checks[]`

Never assume V2 singular fields.

\## Trigger re-verification

Annual re-KYC, document expiry, trigger-based re-checks — same pattern: create a new session against the same `vendor_data`. The new session attaches to the existing User entity and updates the `features` map on completion.

\```bash
curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id": "wf_reverification", "vendor_data": "user-42"}'
\```

\## Fast path — fully verified right now?

The User entity carries a `features` map summarising the **latest** state of each feature across all sessions:

\```bash
curl https://verification.didit.me/v3/users/user-42/ \
-H "x-api-key: $DIDIT_API_KEY"
\# data.features = { id_verification: "APPROVED", liveness: "APPROVED", aml: "IN_REVIEW", ... }
\```

Use `features` for "is the user verified right now?" without iterating every session.

\## Generate a PDF for any session

\```bash
curl https://verification.didit.me/v3/session/$SESSION_ID/generate-pdf/ \
-H "x-api-key: $DIDIT_API_KEY" \
-o session-report.pdf
\```

\## Generate the full user history PDF

One file with a cover page plus the report of every reportable session (`Approved`, `Declined`, `In Review`, `Kyc Expired`) of the user, capped at the 20 most recent. Same document as Console → User detail → Actions → Download PDF. Synchronous render: use a 120s read timeout.

\```bash
curl --fail https://verification.didit.me/v3/users/user-42/generate-pdf/ \
-H "x-api-key: $DIDIT_API_KEY" \
-o user-history.pdf
\```

404 = no such user in this application; 403 = user has no reportable session yet.

\## Resubmit vs new session

\| Scenario | Use |
\|---|---|
\| Declined for fixable reason (blurry ID, bad lighting) | Resubmit the existing session (re-deliver `url`); the workflow advances through resubmission |
\| Annual / trigger-based re-KYC | Create a brand new session via `POST /v3/session/` |
\| Transaction-rule triggered remediation | The transaction creates a remediation session automatically (`Awaiting User` status) |

\## Share a session with a partner (Reusable KYC)

\```bash
\# Issue a shareable token
curl -X POST https://verification.didit.me/v3/session/$SESSION_ID/share/ \
-H "x-api-key: $DIDIT_API_KEY"

\# Receiver imports the shared session
curl -X POST https://verification.didit.me/v3/session/import-shared/ \
-H "x-api-key: $RECEIVER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"share_token": "..."}'
\```

\## Failure modes

\- `404` on the user — wrong `vendor_data` casing or no sessions yet.
\- Empty `results[]` — no sessions for this `vendor_data` in this application.
\- Stale signed image URLs — re-fetch the decision.
\- Sharing rejected — receiving application must have Reusable KYC enabled.

\## Sources of truth

\- /sessions-api/retrieve-session — V3 decision schema
\- /management-api/users/generate-pdf — full user history PDF
\- /reference/data-models — per-feature plural-array contract
\- /core-technology/reusable-kyc/overview — share / import pattern
\- /entities/users/data-model — features map computation
\- /integration/integration-prompt — canonical end-to-end prompt````

\</pre>



      
      

Incolla in

Ogni sessione di Verifica degli utenti (KYC) eseguita da un utente rimane collegata in modo permanente alla sua entità User. Puoi recuperare la cronologia completa, ispezionare i risultati delle singole sessioni, avviare una nuova verifica ed esportare report di conformità.## Elencare tutte le sessioni di un utenteFiltra l'elenco delle sessioni per `vendor_data`:```bash theme={null}
curl -G https://verification.didit.me/v3/sessions/ \
  -H "x-api-key: YOUR_API_KEY" \
  --data-urlencode "vendor_data=user-42" \
  --data-urlencode "page_size=50"
```La risposta include tutte le sessioni, indipendentemente dallo stato: approvate, rifiutate, in revisione, abbandonate o scadute.## Comprendere gli aggregati delle funzionalitàLa mappa `features` dell'entità User riflette lo stato **più recente** di ciascuna funzionalità in tutte le sessioni:```json theme={null}
"features": {
  "id_verification": "APPROVED",
  "liveness": "APPROVED",
  "face_match": "APPROVED",
  "aml": "IN_REVIEW"
}
```Usala come percorso rapido per sapere se l'utente è verificato in questo momento. Per la cronologia completa, cioè tutte le sessioni, tutte le funzionalità e tutti i risultati, elenca le sessioni e ispeziona ciascuna decisione.## Ispezionare una singola sessione```bash theme={null}
curl https://verification.didit.me/v3/session/{session_id}/decision/ \
  -H "x-api-key: YOUR_API_KEY"
```La decisione include:- Risultati per funzionalità (ID, Rilevamento della vitalità, confronto facciale, AML, prova di residenza, NFC e altri)
- Dati estratti dal documento e immagini (URL firmati)
- Riscontri AML con punteggi di corrispondenza e di rischio
- Analisi dispositivo e IP e contesto del dispositivo
- Note del revisore e azioni manualiConsulta [recupera sessione](https://docs.didit.me/it/sessions-api/retrieve-session.md) per lo schema completo.## Avviare una nuova verificaQuando devi chiedere a un utente di verificarsi di nuovo (ad esempio per un KYC annuale, per la scadenza di un documento o per un controllo attivato da un trigger):```bash theme={null}
curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "wf_reverification",
    "vendor_data": "user-42"
  }'
```La nuova sessione viene collegata alla stessa entità User. Al completamento, la mappa `features` dell'entità si aggiorna con i nuovi risultati.## Reinvio o nuova sessione| Scenario | Utilizzo |
| - | - |
| La sessione dell'utente è stata rifiutata per un problema risolvibile (documento sfocato, illuminazione scarsa) | [Invia di nuovo](https://docs.didit.me/it/console/manual-review.md) la stessa sessione con un nuovo caricamento |
| Nuova verifica completa o KYC periodico | Crea una nuova sessione |
| Rimedio attivato da una regola sulle transazioni | La transazione crea automaticamente una sessione di rimedio (stato `AWAITING_USER`) |## Esportare un report di conformitàPer audit, segnalazioni di operazioni sospette (SAR) o richieste delle autorità di vigilanza, genera un PDF per qualsiasi sessione:```bash theme={null}
curl https://verification.didit.me/v3/session/{session_id}/generate-pdf/ \
  -H "x-api-key: YOUR_API_KEY" \
  -o session-report.pdf
```Per raccogliere l'intera cronologia di un utente in un unico file, scarica il [PDF della cronologia utente](https://docs.didit.me/it/management-api/users/generate-pdf.md): una pagina di copertina (riepilogo del profilo, stato delle funzionalità, indice delle sessioni) seguita dal report completo di ogni sessione segnalabile, dalla più vecchia alla più recente, limitato alle 20 più recenti.```bash theme={null}
curl --fail https://verification.didit.me/v3/users/user-42/generate-pdf/ \
  -H "x-api-key: YOUR_API_KEY" \
  -o user-history.pdf
```È lo stesso documento prodotto dalla console con *Users → \[user] → Actions → Download PDF*. Per esportazioni CSV in blocco di molti utenti, usa l'esportazione a livello di applicazione in *Review & Operations → Export PDF/CSV*.## Condividere una sessione con una terza parteQuando devi condividere la verifica di un utente con un'app partner (ad esempio in uno scenario di KYC riutilizzabile), usa:- `POST /v3/session/{session_id}/share/`: genera un token condivisibile.
- `POST /v3/session/import-shared/`: importa una sessione condivisa dal lato ricevente.Consulta [KYC riutilizzabile](https://docs.didit.me/it/core-technology/reusable-kyc/overview.md) per il modello completo.## Flussi di lavoro basati sulla cronologiaUsa la cronologia delle sessioni per prendere decisioni di conformità più efficaci:- **Salta i passaggi** se l'utente ha già un rilevamento della vitalità approvato da meno di N giorni.
- **Richiedi controlli aggiuntivi** se l'ultima sessione dell'utente è stata rifiutata.
- **Segnala** quando il numero di sessioni di un utente aumenta in modo inatteso.
- **Monitora** le riscansioni AML continue tramite la funzionalità di [monitoraggio continuo](https://docs.didit.me/it/core-technology/aml-screening/continuous-monitoring-aml-screening.md).## Passaggi successivi> [card] [Modello dati](https://docs.didit.me/it/entities/users/data-model.md)
>
> Come vengono calcolati la mappa delle funzionalità e i contatori.> [card] [Recupera sessione](https://docs.didit.me/it/sessions-api/retrieve-session.md)
>
> Schema completo della decisione della sessione.> [card] [KYC riutilizzabile](https://docs.didit.me/it/core-technology/reusable-kyc/overview.md)
>
> Riutilizza i dati verificati tra più applicazioni.


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