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

# Chiavi API con ambito limitato - Accesso ristretto API KYC

> Con Didit, crea una chiave API per servizio o partner: lettura/scrittura per risorsa, allowlist IP, scadenza e revoca immediata.



Prompt per le chiavi API con ambito
        Copia il prompt negli appunti



      
      

\<pre>

\````# Goal - call Didit with a scoped API key

Every application has a primary secret with full access, and any number of named API keys.
A named key carries its own access: read or write per resource, optional limits, an optional IP allowlist and an optional expiry date.
Keys are created, edited, rotated and revoked in the Business Console (Developers -> API keys); there is no API to manage them.

\## Sending the key

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

Read the key from an environment variable or a secrets manager, never from source code.

\## What each answer means

\| Status | Meaning |
\|---|---|
\| 401 | The key is missing, wrong, revoked or expired |
\| 403 | The key has no access to this resource or action, or the request came from an address outside its IP list |
\| 404 | The session is outside the key's workflows or statuses, so to this key it does not exist |

A key without media access receives decisions with every image, video and PDF URL set to null, and gets 403 on PDF reports.
A key without sessions write receives session_url and session_token as null.

\## Resources

sessions, decisions, media (read only), users, businesses, transactions, workflows, webhooks, applications, analytics (read only), api-keys.
Read covers GET requests, write covers POST, PUT, PATCH and DELETE.
Standalone checks (face match, ID verification, AML screening and the other /v3 standalone APIs) need sessions write.
Creating a person with send_verification_link: true (POST /v3/users/create/) needs users write and sessions write; without sessions write it answers 403 and nothing is created.

\## Limits

\- workflow_ids: only sessions of these workflows are visible, and sessions can only be created with them.
\- approved sessions only: declined, in-review and unfinished sessions are hidden.
\- A key with either limit cannot have access to users, businesses, transactions or analytics.

\## Rotation

Rotating a key returns a new secret once; the previous secret keeps working for 24 hours.````

\</pre>



      
      

Incolla in

Ogni applicazione inizia con un **segreto principale** che ha accesso completo a tutto ciò che l'applicazione può fare.
Puoi aggiungere accanto ad esso **chiavi API denominate**, una per servizio o partner, ciascuna con solo l'accesso di cui ha bisogno.
Assegna al tuo provider di pagamenti una chiave che legge le sessioni approvate di un workflow e non può modificare nulla, conserva una chiave separata per il tuo backend e revoca l'una senza toccare l'altra.> [!NOTE]
>
> Le chiavi create prima dell'introduzione dell'accesso con ambito mantengono l'accesso completo.
> Per queste non cambia nulla finché non modifichi il loro accesso.***## Dove trovarleIn [**Console Aziendale**](https://business.didit.me), seleziona la tua applicazione e apri **Developers -> API keys**.L'elenco mostra ogni chiave dell'applicazione con il suo stato, le richieste degli ultimi 30 giorni, chi l'ha creata, il suo accesso e la data dell'ultimo utilizzo.
Fai clic su una chiave per visualizzarne l'anteprima a destra, oppure apri la sua pagina completa per vedere utilizzo, accesso, richieste recenti, uno snippet di avvio rapido e la sua attività.Le chiavi appartengono a una sola applicazione e funzionano solo con essa.
Una chiave ha l'ambiente dell'applicazione: le chiavi di un'applicazione sandbox non creano mai verifiche a pagamento.***## URL di reindirizzamento e domini consentitiApri **Developers > API keys > Redirects and domains** per impostare due elenchi per l'applicazione e l'ambiente selezionati.| Elenco | Cosa controlla |
| - | - |
| **URL di reindirizzamento** | Dove Didit invia il browser al termine di una verifica ospitata. Un URL deve corrispondere esattamente, percorso incluso. |
| **Domini consentiti** | Le origini (schema, host e porta facoltativa, ad esempio `https://app.example.com`) in cui può essere incorporato il flusso di verifica ospitata e verso cui può rimandare l'utente. |Quando l'elenco **Domini consentiti** contiene voci, [Crea sessione](https://docs.didit.me/it/sessions-api/create-session.md) rifiuta con un errore `400` qualsiasi `callback` che non si trova in uno di essi.
Un elenco vuoto non comporta alcuna restrizione.
Le chiamate server-to-server non sono interessate.***## Crea una chiave**1. Dettagli**Dai alla chiave il nome del servizio che la userà e scegli quando scade: mai, tra 30 giorni, tra 90 giorni, tra un anno oppure in una data a tua scelta.
Una chiave scaduta smette di funzionare alla fine di quel giorno, UTC.**2. Accesso**Parti da un preset, poi personalizzalo risorsa per risorsa.
La chiave non potrà mai fare più di questo.**3. Revisione**Prima che tu la consegni, la console indica con precisione cosa la chiave può fare e cosa non può fare.**4. Chiave segreta**Copia il segreto e conservalo nel tuo gestore di segreti.
È l'unica volta in cui viene mostrato il segreto completo.
Se lo perdi, ruota la chiave per ottenerne una nuova.### Preset| Preset | Accesso |
| - | - |
| **Accesso completo** | Ogni risorsa, in lettura e scrittura, incluse le altre chiavi API. Per il tuo backend. |
| **Sola lettura** | Sessioni e decisioni, con i media facoltativi. Non può creare, modificare o eliminare nulla. Per un partner che ha bisogno dei risultati. |
| **Personalizzato** | Scegli Nessuno, Lettura o Scrittura per ogni risorsa. |### RisorseLa lettura copre le richieste `GET` su una risorsa; la scrittura copre anche `POST`, `PUT`, `PATCH` e `DELETE`.| Risorsa | Lettura | Scrittura |
| - | - | - |
| **Sessioni** | Elenca e apri le sessioni | Crea, aggiorna ed elimina sessioni, importa sessioni ed esegui verifiche autonome (confronto facciale, verifica dell'identità, screening AML e le altre API autonome) |
| **Decisioni** | Risultati, punteggi di rischio, dati estratti e storico dello screening AML | Approva, rifiuta o invia in revisione, e modifica lo stato delle funzionalità e dei riscontri AML |
| **Media** | Immagini dei documenti, selfie, video e report PDF | - |
| **Persone** (`users`) | Utenti finali e tutto ciò che è stato verificato su di loro | Crea, aggiorna ed elimina utenti e il loro monitoraggio. Anche la creazione di un utente con un link di verifica richiede la scrittura su **Sessioni** |
| **Aziende** (`businesses`) | Profili aziendali, i loro documenti e i titolari effettivi | Crea, aggiorna ed elimina aziende e il loro monitoraggio |
| **Transazioni** | Transazioni, alert, regole, eventi di monitoraggio, dati della Travel Rule e screening dei wallet | Invia transazioni ed eventi, modifica il loro stato e gestisci le impostazioni della Travel Rule, la rubrica degli indirizzi dei wallet e i trasferimenti |
| **Workflow** | Workflow, questionari, liste e blocklist | Crea e modifica questi elementi |
| **Webhook** | Endpoint e consegne (con la lettura di **Decisioni**, perché una consegna trasporta il payload di sessione che ha inviato) | Aggiungi, modifica ed elimina endpoint, e rinvia le consegne |
| **Impostazioni dell'applicazione** (`applications`) | Personalizzazione e saldo | Modifica la personalizzazione e ricarica il saldo |
| **Analytics** | Metriche ed esportazioni dei report | - |
| **Chiavi API** | Riservata alla gestione delle chiavi | Riservata alla gestione delle chiavi |Una chiave con accesso personalizzato funziona sull'API pubblica: gli endpoint di sessione, utente, azienda, transazione, workflow e webhook, e le verifiche autonome.
Gli endpoint usati solo dalla Business Console restituiscono `403` quando vengono chiamati con questa chiave; richiedono una chiave con accesso completo.Una chiave senza lettura di **Media** riceve le decisioni di sessione con ogni URL di immagini, video e PDF impostato su `null`, e gli endpoint dei report PDF rispondono `403`.
Una chiave senza scrittura su **Sessioni** non riceve mai il link di verifica o il token di sessione di una sessione, perché chi li possiede può completare la verifica al posto dell'utente finale: questi campi tornano come `null`.
Per lo stesso motivo, creare una persona con `send_verification_link: true` richiede la scrittura su **Sessioni** oltre a quella su **Persone**, perché crea una sessione e invia via email il suo link.
Senza di essa, la chiamata risponde `403` e non crea nulla.### Limiti| Limite | Cosa fa |
| - | - |
| **Workflow** | La chiave vede solo le sessioni dei workflow che scegli e può creare sessioni solo con questi. Qualsiasi altra sessione risponde `404`, come se non esistesse. |
| **Solo sessioni approvate** | Le sessioni rifiutate, in revisione e non completate restano nascoste alla chiave. |
| **Indirizzi IP** | La chiave funziona solo dagli indirizzi o dagli intervalli CIDR che elenchi (fino a 20, IPv4 o IPv6). Le richieste da qualsiasi altro indirizzo rispondono `403`. |
| **Scadenza** | Dopo questa data ogni richiesta con la chiave risponde `401`. |Una chiave limitata ad alcuni workflow o alle sole sessioni approvate funziona sugli endpoint delle sessioni, dove il limite può essere applicato.
Non può accedere a persone, aziende, transazioni o analytics, e non può eseguire verifiche autonome.***## Come risponde l'API a una chiave con accesso limitato| Stato | Significato |
| - | - |
| **401** | La chiave manca, è errata, revocata o scaduta. |
| **403** | La chiave non ha accesso a questa risorsa o azione, oppure la richiesta arriva da un indirizzo fuori dalla sua lista IP. |
| **404** | La sessione è al di fuori dei workflow o degli stati consentiti dalla chiave. |Gli elenchi di sessioni restituiscono solo le sessioni consentite dai limiti della chiave.***## Modifica accessoApri il menu di una chiave, la sua anteprima o la sua pagina e scegli **Modifica accesso**.
Cambia il preset, le risorse, i limiti o la scadenza, poi controlla solo ciò che cambia, prima e dopo.
Il segreto resta lo stesso, quindi non serve nessuna nuova distribuzione, e il nuovo accesso si applica entro un minuto.Il segreto primario ha sempre accesso completo e non può essere modificato.***## Ruota una chiaveRuotare una chiave sostituisce il suo segreto.
Il nuovo segreto viene mostrato una sola volta, e il segreto attuale continua a funzionare per **24 ore**, così puoi distribuire quello nuovo senza interruzioni.
Dopo, ogni richiesta con il vecchio segreto risponde `401`.Il segreto primario viene ruotato allo stesso modo, con la stessa sovrapposizione di 24 ore.***## Revoca una chiaveRevocare una chiave la interrompe immediatamente: ogni richiesta fatta con essa risponde `401`.
L'operazione non può essere annullata.
Il segreto primario non può essere revocato; ruotalo invece.***## Utilizzo e registro di auditOgni chiave mostra le richieste degli ultimi 30 giorni, il suo tasso di errore e la latenza, e le ultime richieste con i relativi codici di stato, incluse quelle rifiutate a causa dei suoi limiti.Ogni chiamata fatta con una chiave API compare nei [registri di audit](https://docs.didit.me/it/console/audit-logs.md) dell'organizzazione, con il nome della chiave che l'ha effettuata.***## Chi può gestire le chiaviGestire le chiavi API richiede l'autorizzazione **Chiavi API**: lettura per visualizzarle, scrittura per crearle, modificarle, ruotarle e revocarle.
Consulta [Ruoli e autorizzazioni](https://docs.didit.me/it/console/roles-permissions.md).


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