API REST v1
In fase di attivazione
Documentazione per sviluppatori
Integra il tuo gestionale con AML Guardian per gestire in automatico
anagrafiche clienti e
documenti associati
(identità, visure, procure e allegati compliance).
Stato del servizio.
L'API descritta in queste pagine è in fase di sviluppo; per sapere quando verrà rilasciata e le modalità di attivazione contattate il nostro supporto.
Panoramica
L'API REST consente di sincronizzare dati tra il tuo sistema e la piattaforma AML Guardian.
Ogni richiesta è associata all'azienda (ente utilizzatore) tramite un
token API dedicato. Le regole di validazione sono le stesse del portale web.
API Clienti
Creazione e aggiornamento anagrafiche (PF/PG, titolari effettivi, terzo pagatore).
POST
PUT
PATCH
API Documenti
Caricamento, consultazione e gestione documenti collegati a un cliente.
GET
POST
PATCH
DELETE
URL base
https://amlguardian.it/api/v1/
Le operazioni sui clienti usano application/json.
Il caricamento documenti usa multipart/form-data.
Tutte le richieste devono usare HTTPS.
Indice API
Riepilogo di tutti gli endpoint previsti nella versione 1.
Clienti
| Metodo |
Endpoint |
Descrizione |
| POST |
/api/v1/clienti/ |
Crea un nuovo cliente |
| PUT |
/api/v1/clienti/{id}/ |
Aggiornamento completo anagrafica |
| PATCH |
/api/v1/clienti/{id}/ |
Aggiornamento parziale anagrafica |
Documenti cliente
| Metodo |
Endpoint |
Descrizione |
| GET |
/api/v1/clienti/{id}/documenti/ |
Elenco documenti del cliente |
| POST |
/api/v1/clienti/{id}/documenti/ |
Carica un nuovo documento |
| GET |
/api/v1/clienti/{id}/documenti/{doc_id}/ |
Dettaglio metadati documento |
| PATCH |
/api/v1/clienti/{id}/documenti/{doc_id}/ |
Aggiorna metadati (tipo, scadenze, descrizione) |
| DELETE |
/api/v1/clienti/{id}/documenti/{doc_id}/ |
Elimina un documento |
Autenticazione
Il token API viene fornito da AML Guardian in fase di attivazione dell'integrazione.
Includilo nell'header HTTP Authorization su tutte le richieste:
Authorization: Bearer <API_TOKEN>
Formato alternativo equivalente:
Authorization: Token <API_TOKEN>
| Situazione | HTTP | Descrizione |
| Token assente |
401 |
Autenticazione richiesta |
| Token non valido o revocato |
401 |
Credenziali non accettate |
| Cliente o documento di un'altra azienda |
404 |
Risorsa non trovata (isolamento tenant) |
Endpoint
POST
/api/v1/clienti/
Creazione cliente
Crea una nuova anagrafica nell'archivio dell'azienda associata al token.
201 Created
PUT
/api/v1/clienti/{id}/
Aggiornamento completo
Sostituisce i dati del cliente. Includere tutti i campi scrivibili.
200 OK
PATCH
/api/v1/clienti/{id}/
Aggiornamento parziale
Aggiorna solo i campi presenti nel payload JSON.
200 OK
Campi dati
Obbligatori (creazione)
| Campo | Tipo | Descrizione |
tipo |
stringa |
PF Persona Fisica · PG Persona Giuridica |
denominazione |
stringa |
Nome e cognome o ragione sociale |
codice_fiscale |
stringa |
Max 16 caratteri, univoco in piattaforma |
Opzionali — anagrafica e contatti
| Campo | Tipo | Descrizione |
partita_iva | stringa | Max 11 caratteri, univoca se valorizzata |
legale_rappresentante | stringa | Obbligatorio se tipo = PG |
codice_fiscale_legale_rappresentante | stringa | CF del legale rappresentante / procuratore |
ruolo | stringa | committente o debitore — solo enti 115 TULPS |
email | stringa | Indirizzo email |
telefono | stringa | Numero di telefono |
indirizzo | stringa | Indirizzo completo |
tipo_rapporto | stringa | continuativo · occasionale · sospetti |
is_pep | booleano | true se Persona Politicamente Esposta |
Titolari effettivi (fino a 4) e terzo pagatore
Per n da 1 a 4:
titolare_effettivo_{n}_denominazione,
titolare_effettivo_{n}_codice_fiscale.
Terzo pagatore: terzo_pagatore_denominazione,
terzo_pagatore_codice_fiscale.
Sola lettura (risposta)
id,
data_creazione,
data_modifica,
attivo,
livello_rischio,
data_profilatura.
Validazioni
- Codice fiscale obbligatorio in creazione e univoco su tutta la piattaforma.
- Partita IVA univoca se valorizzata.
- Persona Giuridica (
tipo=PG): legale_rappresentante obbligatorio.
- Ruolo committente/debitore solo per enti 115 TULPS; altrimenti default
debitore.
- I valori testuali vengono normalizzati in maiuscolo.
Esempi
Creazione persona fisica
{
"tipo": "PF",
"denominazione": "Mario Rossi",
"codice_fiscale": "RSSMRA80A01H501Z",
"email": "mario.rossi@example.com",
"telefono": "02 1234567",
"indirizzo": "Via Roma 1, 20100 Milano",
"tipo_rapporto": "occasionale",
"is_pep": false
}
Aggiornamento parziale
{
"email": "nuova.email@example.com",
"telefono": "3331234567"
}
Endpoint
I documenti sono sempre collegati a un cliente esistente. Dopo il caricamento sono visibili
nella scheda cliente del portale web (identità, visure, procure, allegati).
GET
/api/v1/clienti/{id}/documenti/
Elenco documenti
Restituisce l'elenco dei documenti associati al cliente, con metadati e URL di download.
200 OK
POST
/api/v1/clienti/{id}/documenti/
Caricamento documento
Upload tramite multipart/form-data. Il campo file è obbligatorio.
201 Created
GET
/api/v1/clienti/{id}/documenti/{doc_id}/
Dettaglio documento
Metadati del singolo documento, incluso link temporaneo al file.
200 OK
PATCH
/api/v1/clienti/{id}/documenti/{doc_id}/
Aggiornamento metadati
Modifica tipo, descrizione, date e soggetto collegato. Il file non viene sostituito.
200 OK
DELETE
/api/v1/clienti/{id}/documenti/{doc_id}/
Eliminazione documento
Rimuove il documento e il file associato dall'archivio.
204
Campi e tipologie
Campi upload (POST multipart)
| Campo | Tipo | Obbl. | Descrizione |
file |
file |
Sì |
File da caricare (PDF, immagine, ecc.) |
tipo |
stringa |
No |
Tipologia documento (vedi tabella sotto). Default: altro |
descrizione |
stringa |
No |
Note libere sul documento |
data_emissione |
data |
No |
Formato YYYY-MM-DD |
data_scadenza |
data |
No |
Data scadenza documento (es. carta d'identità) |
denominazione |
stringa |
No |
Nome sul documento — consigliato per tipo=identita |
soggetto_collegato |
stringa |
No |
Soggetto a cui si riferisce il documento (solo per tipo=identita) |
Valori tipo
| Valore | Descrizione |
identita | Documento d'identità |
cf | Codice Fiscale |
visura | Visura camerale |
tit_effettivo | Documentazione titolare effettivo |
dichiarazione | Dichiarazione |
contratto | Contratto |
procura | Procura / delega |
altro | Altro allegato |
Valori soggetto_collegato (documento d'identità)
Per enti 115 TULPS sono ammessi anche persona_fisica_debitore e
persona_fisica_committente. Per le altre tipologie di soggetto obbligato si usa
persona_fisica al posto delle varianti debitore/committente.
| Valore | Descrizione |
legale_rappresentante | Legale rappresentante |
titolare_effettivo | Titolare effettivo |
terzo_pagatore | Terzo pagatore |
persona_fisica | Persona fisica (enti non 115 TULPS) |
persona_fisica_debitore | Persona fisica — Debitore (solo 115 TULPS) |
persona_fisica_committente | Persona fisica — Committente (solo 115 TULPS) |
Risposta (metadati documento)
id,
tipo,
tipo_display,
descrizione,
denominazione,
soggetto_collegato,
data_emissione,
data_scadenza,
nome_file,
url_download,
data_caricamento,
is_scaduto,
in_scadenza.
Validazioni
- Il cliente
{id} deve esistere e appartenere all'azienda del token.
- Il campo
file è obbligatorio in creazione; dimensione massima concordata in fase di attivazione.
- Formati accettati tipici:
application/pdf, image/jpeg, image/png.
soggetto_collegato e denominazione sono rilevanti principalmente per tipo=identita.
- Valori
soggetto_collegato non ammessi per la tipologia di ente vengono ignorati.
- La PATCH non sostituisce il file: per aggiornare l'allegato eliminare e ricaricare il documento.
Esempi
Caricamento documento d'identità
POST /api/v1/clienti/42/documenti/ HTTP/1.1
Authorization: Bearer <API_TOKEN>
Content-Type: multipart/form-data; boundary=----boundary
------boundary
Content-Disposition: form-data; name="tipo"
identita
------boundary
Content-Disposition: form-data; name="denominazione"
Mario Rossi
------boundary
Content-Disposition: form-data; name="soggetto_collegato"
persona_fisica
------boundary
Content-Disposition: form-data; name="data_scadenza"
2030-12-31
------boundary
Content-Disposition: form-data; name="file"; filename="carta_identita.pdf"
Content-Type: application/pdf
(binary content)
------boundary--
Esempio con cURL
curl -X POST "https://amlguardian.it/api/v1/clienti/42/documenti/" \
-H "Authorization: Bearer <API_TOKEN>" \
-F "tipo=visura" \
-F "descrizione=Visura camerale ordinaria" \
-F "file=@visura_acme.pdf"
Risposta elenco documenti (200)
{
"count": 2,
"results": [
{
"id": 101,
"tipo": "identita",
"tipo_display": "Documento d'identità",
"denominazione": "Mario Rossi",
"soggetto_collegato": "persona_fisica",
"data_scadenza": "2030-12-31",
"nome_file": "carta_identita.pdf",
"url_download": "https://amlguardian.it/api/v1/clienti/42/documenti/101/download/",
"data_caricamento": "2026-06-11T14:20:00Z",
"is_scaduto": false,
"in_scadenza": false
},
{
"id": 102,
"tipo": "visura",
"tipo_display": "Visura Camerale",
"nome_file": "visura_acme.pdf",
"data_caricamento": "2026-06-11T14:25:00Z"
}
]
}
Aggiornamento scadenza documento
{
"data_scadenza": "2035-06-30",
"descrizione": "Carta d'identità elettronica — rinnovata"
}
Codici di risposta HTTP
| Codice | Significato |
| 201 | Risorsa creata (cliente o documento) |
| 200 | Operazione riuscita / elenco restituito |
| 204 | Documento eliminato (nessun corpo risposta) |
| 400 | Dati non validi, file mancante o formato non supportato |
| 401 | Autenticazione mancante o token non valido |
| 404 | Cliente o documento non trovato |
| 413 | File troppo grande |
| 415 | Content-Type non supportato |
| 500 | Errore interno del server |
Note operative
- Flusso consigliato: crea il cliente via API, poi carica i documenti sul relativo
id.
- Adeguata verifica, profilatura del rischio e monitoraggio restano gestiti dal portale web.
- I documenti caricati via API compaiono immediatamente nella scheda cliente del portale.
- Per ambienti di test è disponibile un token dedicato (da concordare con il supporto).
- Ogni integrazione richiede accordo su volumi, dimensioni file e responsabilità del trattamento dati.
Supporto e attivazione
Per richiedere il token API, l'ambiente di test o la rigenerazione delle credenziali,
contattaci indicando la denominazione dell'ente e il sistema da integrare.