Vai al contenuto

Domini e Contatti

L'API relativa ai domini permette di ottenere i dati dei domini e contatti contenuti nel Database dei Domini Assegnati (DBNA). Per tutti i metodi è richiesta la presenza dello scope domain nel token.

Domini

I seguenti metodi permettono di ottenere i dati dei domini del Registrar e degli oggetti associati come hosts, DS record e contatti.

Le viste sui domini

Per le ricerche di uno o più domini è possibile impostare il parametro view che permette di aggiungere alla risposta ulteriori informazioni oltre a quelle dei domini. I valori supportati sono i seguenti:

  • registrant: aggiunge le informazioni del contatto registrante
  • admin: aggiunge le informazioni del contatto admin
  • techs: aggiunge le informazioni dei contatti tecnici
  • hosts: aggiunge le informazioni degli host del dominio
  • dsRecords: aggiunge le informazioni dei DS record
  • newHosts: aggiunge le informazioni degli eventuali host ancora in validazione
  • newDsRecords: aggiunge le informazioni degli eventuali DS Record ancora in validazione
  • signed: aggiunge l'informazione se il dominio è firmato DNSSec o meno (viene aggiunta di default)

Ottenere un dominio tramite id

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/domains/{domainId}

Permette di ottenere i dati di un dominio tramite l'id numerico assegnato dal Registro, esempio:

GET /v1/domains/1 HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token.....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,
    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true
}
curl https://api.nic.it/v1/domains/1 \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,
    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true
}
http https://api.nic.it/v1/domains/1 "Authorization: Bearer token..." 
{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,
    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true
}

E' possibile utilizzare il parametro view per integrare la risposta con maggiori informazioni. Nell'esempio seguente vengono aggiunti alla risposta i dati del registrante e degli hosts:

GET https://api.nic.it/v1/domains/1?view=registrant%2Chosts HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token.....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,
    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true,
    "registrant": {
        "id": 12345,
        "name": "Giulio Cesare",
        "org": "Giulio Cesare Spa",
        "contactId": "GC00001",
        "consentForPublish": true,
        "created": "2019-03-01T10:31:37+01:00",
        "lastupdate": "2019-09-29T08:20:38+02:00",
        "email": "hostmaster@nic.it",
        "voice": "+39.0503151111",
        "streets": [
            "Via Moruzzi, 1"
        ],
        "city": "Pisa",
        "postalCode": "56124",
        "state": "PI",
        "country": "it",
        "registrant": {
            "regcode": "001122334455",
            "nationality": "it",
            "entityType": 2
        }
    },
    "hosts": [
        {
            "name": "dns.nic.it"
        },
        {
            "name": "dns2.nic.it"
        }
    ]
}
curl "https://api.nic.it/v1/domains/1?view=registrant,hosts" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,
    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true,
    "registrant": {
        "id": 12345,
        "name": "Giulio Cesare",
        "org": "Giulio Cesare Spa",
        "contactId": "GC00001",
        "consentForPublish": true,
        "created": "2019-03-01T10:31:37+01:00",
        "lastupdate": "2019-09-29T08:20:38+02:00",
        "email": "hostmaster@nic.it",
        "voice": "+39.0503151111",
        "streets": [
            "Via Moruzzi, 1"
        ],
        "city": "Pisa",
        "postalCode": "56124",
        "state": "PI",
        "country": "it",
        "registrant": {
            "regcode": "001122334455",
            "nationality": "it",
            "entityType": 2
        }
    },
    "hosts": [
        {
            "name": "dns.nic.it"
        },
        {
            "name": "dns2.nic.it"
        }
    ]
}
http https://api.nic.it/v1/domains/1 \
    "Authorization: Bearer token..." \
    view==registrant,hosts
{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,
    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true,
    "registrant": {
        "id": 12345,
        "name": "Giulio Cesare",
        "org": "Giulio Cesare Spa",
        "contactId": "GC00001",
        "consentForPublish": true,
        "created": "2019-03-01T10:31:37+01:00",
        "lastupdate": "2019-09-29T08:20:38+02:00",
        "email": "hostmaster@nic.it",
        "voice": "+39.0503151111",
        "streets": [
            "Via Moruzzi, 1"
        ],
        "city": "Pisa",
        "postalCode": "56124",
        "state": "PI",
        "country": "it",
        "registrant": {
            "regcode": "001122334455",
            "nationality": "it",
            "entityType": 2
        }
    },
    "hosts": [
        {
            "name": "dns.nic.it"
        },
        {
            "name": "dns2.nic.it"
        }
    ]
}

Ottenere un dominio tramite nome

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/domains/findByName/{domainName}

Permette di ottenere i dati di un dominio (solo domini registrati) tramite il nome, esempio:

GET /v1/domains/findByName/test-domain-test.it HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token.....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,

    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true
}
curl "https://api.nic.it/v1/domains/findByName/test-domain-test.it" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,
    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true
}
http https://api.nic.it/v1/domains/findByName/test-domain-test.it \
    "Authorization: Bearer token..." 
{
    "id" : 1,
    "domain" : "test-domain-test.it",
    "status" : "ok",
    "signed": false,
    "registrantId" : 1,
    "adminId" : 1,
    "created" : "2020-02-12T11:17:33+01:00",
    "lastupdate" : "2020-02-12T11:17:33+01:00",
    "expire" : "2025-02-12T23:59:59+01:00",
    "registered" : true
}

E' possibile utilizzare il parametro view per integrare la risposta con maggiori informazioni. Si veda esempio su come ottenere un dominio tramite id.

Info

I nomi dei domini da ricercare possono essere indicati sia in formato ASCII/punycode che IDN UTF8. Ad esempio la ricerca dei seguenti due nomi è equivalente: test-testò.it e xn--test-test-36a.it

Ricercare i domini

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/domains

E' possibile effettuare una ricerca dei domini appartenenti al Registrar utilizzando vari parametri di ricerca e diversi operatori (ricerca avanzata).

Elenco parametri e operatori disponibili per la ricerca dei domini:

Parametro Tipo Cardinalità Descrizione Operatori supportati Operatore default
domain String Singolo Nome dominio in ASCII eq, ne eq
created DateTime Multiplo Data creazione eq, ne, gt, lt, ge, le eq
expire DateTime Multiplo Data scadenza eq, ne, gt, lt, ge, le eq
lastupdate DateTime Multiplo Data ultimo update eq, ne, gt, lt, ge, le eq
status String Multiplo Singolo stato di un dominio eq, ne eq
signed Boolean Singolo True per i domini firmati DNSSec, false per quelli non firmati - -
hostname String Singolo Nome host associato al dominio - -
registrant.* - - Ricerca domini tramite i dati del registrante - -
admin.* - - Ricerca domini tramite i dati del contatto admin - -
tech.* - - Ricerca domini tramite i dati dei contatti tech - -

Esempio di ricerca dei domini stranieri (non italiani registrant.nationality=ne:it) registrati a gennaio 2024 (created=ge:2024-01-01&created=lt:2024-02-01):

GET /v1/domains?registrant.nationality=ne%3Ait&created=ge%3A2024-01-01&created=lt%3A2024-02-01 HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json
{
    "elements": [
        {
            "id": 12345,
            "domain": "test-giulio-cessare.it",
            "status": "ok",
            "signed": false,
            "registrantId": 111111,
            "adminId": 22222,
            "created": "2024-01-01T11:25:09+01:00",
            "lastupdate": "2024-01-01T25:09+01:00",
            "expire": "2025-01-01T23:59:59+01:00",
            "registered": true
        },
        {
            "id": 54321,
            "domain": "test-galileo-galilei.it",
            "status": "ok / dnsHold",
            "signed": false,
            "registrantId": 121212,
            "adminId": 333333,
            "created": "2024-01-03T14:13:12+01:00",
            "lastupdate": "2024-01-03T15:46:05+01:00",
            "expire": "2025-01-03T23:59:59+01:00",
            "registered": true
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}
curl "https://api.nic.it/v1/domains?registrant.nationality=ne:it&created=ge:2024-01-01&created=lt:2024-02-01" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
    "elements": [
        {
            "id": 12345,
            "domain": "test-giulio-cessare.it",
            "status": "ok",
            "signed": false,
            "registrantId": 111111,
            "adminId": 22222,
            "created": "2024-01-01T11:25:09+01:00",
            "lastupdate": "2024-01-01T25:09+01:00",
            "expire": "2025-01-01T23:59:59+01:00",
            "registered": true
        },
        {
            "id": 54321,
            "domain": "test-galileo-galilei.it",
            "status": "ok / dnsHold",
            "signed": false,
            "registrantId": 121212,
            "adminId": 333333,
            "created": "2024-01-03T14:13:12+01:00",
            "lastupdate": "2024-01-03T15:46:05+01:00",
            "expire": "2025-01-03T23:59:59+01:00",
            "registered": true
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}
http https://api.nic.it/v1/domains \
    "Authorization: Bearer token..." \
    registrant.nationality==ne:it \
    created==ge:2024-01-01 created==lt:2024-02-01
{
    "elements": [
        {
            "id": 12345,
            "domain": "test-giulio-cessare.it",
            "status": "ok",
            "signed": false,
            "registrantId": 111111,
            "adminId": 22222,
            "created": "2024-01-01T11:25:09+01:00",
            "lastupdate": "2024-01-01T25:09+01:00",
            "expire": "2025-01-01T23:59:59+01:00",
            "registered": true
        },
        {
            "id": 54321,
            "domain": "test-galileo-galilei.it",
            "status": "ok / dnsHold",
            "signed": false,
            "registrantId": 121212,
            "adminId": 333333,
            "created": "2024-01-03T14:13:12+01:00",
            "lastupdate": "2024-01-03T15:46:05+01:00",
            "expire": "2025-01-03T23:59:59+01:00",
            "registered": true
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}

I risultati della ricerca sono paginati.

Note

Da notare che nei dati relativi alla paginazione non è riportato il conteggio degli elementi trovati per motivi di prestazioni. Il conteggio può essere ottenuto utilizzando la funzione contare i domini con i medesimi parametri di ricerca.

E' possibile utilizzare il parametro view per integrare la risposta con maggiori informazioni. Si veda esempio su come ottenere un dominio tramite id.

Warning

A seconda dei parametri di ricerca utilizzati e dal numero di occorrenze coinvolte, il tempo necessario per ottenere risultati potrebbe essere lungo.

Contare i domini

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/domains/count

E' possibile contare i risultati di una ricerca invece di ottenerne i dati. I parametri di ricerca utilizzabili sono gli stessi indicati per la ricerca dei domini, esempio:

GET /v1/domains/count HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
  "count" : 1512
}
curl "https://api.nic.it/v1/domains/count" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
  "count" : 1512
}
http https://api.nic.it/v1/domains/count "Authorization: Bearer token..." 
{
  "count" : 1512
}

Ottenere gli eventi di un dominio

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/domains/{domainId}/events

Permette di ottenere l'elenco paginato degli eventi associati a un dominio tramite l'id numerico assegnato dal Registro, esempio:

GET /v1/domains/1/events HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token.....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "elements": [
        {
            "type": "epp",
            "status": "succeeded",
            "created": "2024-04-16T11:24:20+02:00",
            "name": "test-domain-test.it",
            "epp": {
                "request": {
                    "created": "2024-04-16T11:24:18+02:00",
                    "command": "create",
                    "clientTrId": "ABC-12345"
                },
                "response": {
                    "created": "2024-04-16T11:24:20+02:00",
                    "code": 1000,
                    "codeName": "Command completed successfully",
                    "serverTrId": "it-123456"
                }
            }
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}
curl https://api.nic.it/v1/domains/1/events \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
http https://api.nic.it/v1/domains/1/events \
    "Authorization: Bearer token..."

I risultati sono paginati.

Esportare elenco domini

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/domains/export/all

Questa funzione permette di esportare l'intero elenco dei domini registrati dal Registrar. Sono disponibili due formati di esportazione che devono essere specificati tramite il parametro del header HTTP Accept:

  • csv: "text/csv"
  • jsonline: "application/jsonl". Si veda jsonlines.org

E' possibile specificare alcune opzioni di esportazione aggiungendo il parametro della query options che può assumere uno o più dei valori seguenti (separati da virgola):

  • domainDetail: aggiunge i dettagli principali del dominio (come stato, data creazione, data scadenza ecc...)
  • registrant: aggiunge i dettagli principali del contatto registrante
  • admin: aggiunge i dettagli principali del contatto admin
  • hosts: aggiunge la lista degli host associati al dominio

Se non viene specificato alcun valore per options, sarà esportato solo l'elenco dei domini senza alcuna informazione aggiuntiva.

Esempio per esportare l'elenco dei domini registrati in formato CSV con i dettagli relativi al dominio (domainDetail) e i gli host associati (hosts):

GET /v1/domains/export/all?options=domainDetail%2Chosts HTTP/1.1
Accept: text/csv
Host: api.nic.it
Authorization: Bearer token....
curl "https://api.nic.it/v1/domains/export/all?options=domainDetails,hosts"
-H "Accept: text/csv" \
-H "Authorization: Bearer token..." 
http https://api.nic.it/v1/domains/export/all \
     "Accept: text/csv" \ 
     "Authorization: Bearer ...." \
     options==domainDetails,hosts

Warning

Al momento l'esportazione è effettuata in tempo reale estraendo i dati dal DBNA, pertanto i tempi di esportazione possono essere molto lunghi a seconda del numero di domini registrati dal Registrar, ma anche in funzione dei dettagli richiesti.

Conversione IDN domini

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/domains/idnConverter

È possibile convertire i domini sia in formato unicode che punycode, esempio:

GET /v1/domains/idnConverter?domain=repubblic%C3%A0-italiana.it HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json


{
    "domain": "xn--repubblic-italiana-nrb.it",
    "domainIDN": "repubblicà-italiana.it"
}
curl "https://api.nic.it/v1/domains/idnConverter?domain=repubblic%C3%A0-italiana.it"
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
    "domain": "xn--repubblic-italiana-nrb.it",
    "domainIDN": "repubblicà-italiana.it"
}
http https://api.nic.it/v1/domains/idnConverter \
     "Authorization: Bearer ...." \ 
     domain==repubblicà-italiana.it
 {
    "domain": "xn--repubblic-italiana-nrb.it",
    "domainIDN": "repubblicà-italiana.it"
}

Info

Il parametro domain può essere in formato ascii, ascii punycode o unicode.

Contatti

I seguenti metodi permettono di ottenere i dati relativi ai contatti presenti nel DBNA.

Le viste sui contatti

Per le ricerche di uno o più contatti è possibile impostare il parametro view che permette di aggiungere alla risposta ulteriori informazioni oltre a quelle dei contatti. I valori supportati sono i seguenti:

  • status: aggiunge l'informazione sullo stato del contatto
  • linked: aggiunge l'informazione (campo boolean linked) se il contatto è referenziato o meno da qualche dominio

Ottenere un contatto tramite id

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/contacts/{id}

Permette di ottenere i dati di un contatto tramite l'id numerico assegnato dal Registro, esempio:

GET /v1/contacts/1234 HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id" : 1234,
  "name" : "Registrante Uno",
  "org" : "Registrante Uno Srl",
  "contactId" : "REGISTRANT1",
  "consentForPublish" : true,
  "created" : "2020-02-12T11:01:49+01:00",
  "lastupdate" : "2020-02-12T11:01:49+01:00",
  "email" : "registrante@nic.it",
  "voice" : "+39.0503151111",
  "streets" : [ "Via Moruzzi, 1" ],
  "city" : "Pisa",
  "postalCode" : "56124",
  "state" : "PI",
  "country" : "it",
  "registrant" : {
    "regcode" : "002233445566",
    "nationality" : "it",
    "entityType" : 2
  }
}
curl "https://api.nic.it/v1/contacts/1234" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
  "id" : 1234,
  "name" : "Registrante Uno",
  "org" : "Registrante Uno Srl",
  "contactId" : "REGISTRANT1",
  "consentForPublish" : true,
  "created" : "2020-02-12T11:01:49+01:00",
  "lastupdate" : "2020-02-12T11:01:49+01:00",
  "email" : "registrante@nic.it",
  "voice" : "+39.0503151111",
  "streets" : [ "Via Moruzzi, 1" ],
  "city" : "Pisa",
  "postalCode" : "56124",
  "state" : "PI",
  "country" : "it",
  "registrant" : {
    "regcode" : "002233445566",
    "nationality" : "it",
    "entityType" : 2
  }
}
http https://api.nic.it/v1/contacts/1234 "Authorization: Bearer token..." 
{
  "id" : 1234,
  "name" : "Registrante Uno",
  "org" : "Registrante Uno Srl",
  "contactId" : "REGISTRANT1",
  "consentForPublish" : true,
  "created" : "2020-02-12T11:01:49+01:00",
  "lastupdate" : "2020-02-12T11:01:49+01:00",
  "email" : "registrante@nic.it",
  "voice" : "+39.0503151111",
  "streets" : [ "Via Moruzzi, 1" ],
  "city" : "Pisa",
  "postalCode" : "56124",
  "state" : "PI",
  "country" : "it",
  "registrant" : {
    "regcode" : "002233445566",
    "nationality" : "it",
    "entityType" : 2
  }
}

E' possibile utilizzare il parametro view per integrare la risposta con maggiori informazioni.

Ottenere un contatto tramite contactId

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/contacts/findByContactId/{contactId}

Permette di ottenere i dati di un contatto tramite l'id alfanumerico assegnato dal Registrar, esempio:

GET /v1/contacts/findByContactId/GC00001 HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id" : 1234,
  "name" : "Giulio Cesare",
  "org" : "Giulio Cesare Spa",
  "contactId" : "GC00001",
  "consentForPublish" : true,
  "created" : "2020-02-12T11:01:49+01:00",
  "lastupdate" : "2020-02-12T11:01:49+01:00",
  "email" : "giulio.cesare@nic.it",
  "voice" : "+39.0503151111",
  "streets" : [ "Via Moruzzi, 1" ],
  "city" : "Pisa",
  "postalCode" : "56124",
  "state" : "PI",
  "country" : "it",
  "registrant" : {
    "regcode" : "002233445566",
    "nationality" : "it",
    "entityType" : 2
  }
}
curl "https://api.nic.it/v1/contacts/findByContactId/GC00001" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
  "id" : 1234,
  "name" : "Giulio Cesare",
  "org" : "Giulio Cesare Spa",
  "contactId" : "GC00001",
  "consentForPublish" : true,
  "created" : "2020-02-12T11:01:49+01:00",
  "lastupdate" : "2020-02-12T11:01:49+01:00",
  "email" : "giulio.cesare@nic.it",
  "voice" : "+39.0503151111",
  "streets" : [ "Via Moruzzi, 1" ],
  "city" : "Pisa",
  "postalCode" : "56124",
  "state" : "PI",
  "country" : "it",
  "registrant" : {
    "regcode" : "002233445566",
    "nationality" : "it",
    "entityType" : 2
  }
}
http https://api.nic.it/v1/contacts/findByContactId/GC00001 \
    "Authorization: Bearer token..." 
{
  "id" : 1234,
  "name" : "Giulio Cesare",
  "org" : "Giulio Cesare Spa",
  "contactId" : "GC00001",
  "consentForPublish" : true,
  "created" : "2020-02-12T11:01:49+01:00",
  "lastupdate" : "2020-02-12T11:01:49+01:00",
  "email" : "giulio.cesare@nic.it",
  "voice" : "+39.0503151111",
  "streets" : [ "Via Moruzzi, 1" ],
  "city" : "Pisa",
  "postalCode" : "56124",
  "state" : "PI",
  "country" : "it",
  "registrant" : {
    "regcode" : "002233445566",
    "nationality" : "it",
    "entityType" : 2
  }
}

E' possibile utilizzare il parametro view per integrare la risposta con maggiori informazioni.

Ricercare i contatti

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/contacts

E' possibile effettuare una ricerca dei contatti appartenenti al Registrar utilizzando vari parametri di ricerca e diversi operatori (ricerca avanzata).

Elenco parametri e operatori disponibili per la ricerca dei domini:

Parametro Tipo Cardinalità Descrizione Operatori supportati Operatore default
org String Singolo Organizzazione contatto ricerca full-text -
name String Singolo Nome contatto ricerca full-text -
email String Singolo Indirizzo e-mail - -
city String Singolo Città - -
state String Singolo Stato o provincia - -
country String Singolo Paese domicilio / sede (ISO3166) eq, ne eq
regcode String Singolo Codice fiscale / Partita Iva / Codice registrante - -
nationality String Singolo Nazionalità (ISO3166) eq, ne eq
created DateTime Multiplo Data creazione eq, ne, gt, lt, ge, le eq
ipaCode String Singolo Codice IPA per i registranti domini gov.it eq, ne, isNull, isNotNull eq
uoCode String Singolo Codice UO per i registranti domini gov.it eq, ne, isNull, isNotNull eq
schoolCode String Singolo Codice meccanografico scuola per i registranti domini edu.it eq, ne, isNull, isNotNull eq
registrantType Number Singolo Identificativo numerico 1-7 per la tipologia di registrante - -

Esempio di ricerca dei registranti italiani (nationality=it) della provincia di Pisa (state=PI):

GET /v1/contacts?nationality=it&state=PI HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "elements": [
        {
            "id": 121212,
            "name": "Giulio Cesare,
            "org": "Giulio Cesare Spa",
            "contactId": "GC00001",
            "consentForPublish": true,
            "created": "2016-10-25T00:00:00+02:00",
            "lastupdate": "2017-06-16T10:16:34+02:00",
            "email": "giulio.cesare@nic.it",
            "voice": "+39.0503151111",
            "streets": [
                "Via Moruzzi, 1"
            ],
            "city": "Pisa",
            "postalCode": "56124",
            "state": "PI",
            "country": "it",
            "registrant": {
                "regcode": "002233445566",
                "nationality": "it",
                "entityType": 2
            }
        },
        {
            "id": 3,
            "name": "Galileo Galilei",
            "org": "Galileo Galilei",
            "contactId": "GG00002",
            "consentForPublish": false,
            "created": "2022-01-30T00:00:00+01:00",
            "lastupdate": "2023-06-16T10:16:34+02:00",
            "email": "galileo.galilei@nic.it",
            "voice": "+39.0503151111",
            "streets": [
                "Via G. Moruzzi, 1"
            ],
            "city": "Pisa",
            "postalCode": "56124",
            "state": "PI",
            "country": "it",
            "registrant": {
                "regcode": "GLLGLL80E01G702D",
                "nationality": "it",
                "entityType": 1
            }
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}
curl "https://api.nic.it/v1/contacts?nationality=it&state=PI" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
    "elements": [
        {
            "id": 121212,
            "name": "Giulio Cesare,
            "org": "Giulio Cesare Spa",
            "contactId": "GC00001",
            "consentForPublish": true,
            "created": "2016-10-25T00:00:00+02:00",
            "lastupdate": "2017-06-16T10:16:34+02:00",
            "email": "giulio.cesare@nic.it",
            "voice": "+39.0503151111",
            "streets": [
                "Via Moruzzi, 1"
            ],
            "city": "Pisa",
            "postalCode": "56124",
            "state": "PI",
            "country": "it",
            "registrant": {
                "regcode": "002233445566",
                "nationality": "it",
                "entityType": 2
            }
        },
        {
            "id": 3,
            "name": "Galileo Galilei",
            "org": "Galileo Galilei",
            "contactId": "GG00002",
            "consentForPublish": false,
            "created": "2022-01-30T00:00:00+01:00",
            "lastupdate": "2023-06-16T10:16:34+02:00",
            "email": "galileo.galilei@nic.it",
            "voice": "+39.0503151111",
            "streets": [
                "Via G. Moruzzi, 1"
            ],
            "city": "Pisa",
            "postalCode": "56124",
            "state": "PI",
            "country": "it",
            "registrant": {
                "regcode": "GLLGLL80E01G702D",
                "nationality": "it",
                "entityType": 1
            }
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}
http https://api.nic.it/v1/contacts \
    "Accept: application/json" \
    nationality==it state==PI
{
    "elements": [
        {
            "id": 121212,
            "name": "Giulio Cesare,
            "org": "Giulio Cesare Spa",
            "contactId": "GC00001",
            "consentForPublish": true,
            "created": "2016-10-25T00:00:00+02:00",
            "lastupdate": "2017-06-16T10:16:34+02:00",
            "email": "giulio.cesare@nic.it",
            "voice": "+39.0503151111",
            "streets": [
                "Via Moruzzi, 1"
            ],
            "city": "Pisa",
            "postalCode": "56124",
            "state": "PI",
            "country": "it",
            "registrant": {
                "regcode": "002233445566",
                "nationality": "it",
                "entityType": 2
            }
        },
        {
            "id": 3,
            "name": "Galileo Galilei",
            "org": "Galileo Galilei",
            "contactId": "GG00002",
            "consentForPublish": false,
            "created": "2022-01-30T00:00:00+01:00",
            "lastupdate": "2023-06-16T10:16:34+02:00",
            "email": "galileo.galilei@nic.it",
            "voice": "+39.0503151111",
            "streets": [
                "Via G. Moruzzi, 1"
            ],
            "city": "Pisa",
            "postalCode": "56124",
            "state": "PI",
            "country": "it",
            "registrant": {
                "regcode": "GLLGLL80E01G702D",
                "nationality": "it",
                "entityType": 1
            }
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}

I risultati della ricerca sono paginati.

Note

Da notare che nei dati relativi alla paginazione non è riportato il conteggio degli elementi trovati per motivi di prestazioni. Il conteggio può essere ottenuto utilizzando la funzione contare i contatti con i medesimi parametri di ricerca.

E' possibile utilizzare il parametro view per integrare la risposta con maggiori informazioni.

Warning

A seconda dei parametri di ricerca utilizzati e dal numero di occorrenze coinvolte, il tempo necessario per ottenere risultati potrebbe essere lungo.

Contare i contatti

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/contacts/count

E' possibile contare i risultati di una ricerca invece di ottenerne i dati. I parametri di ricerca utilizzabili sono gli stessi indicati per la ricerca dei contatti, esempio:

GET /v1/contacts/count HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
  "count" : 250
}
curl "https://api.nic.it/v1/contacts/count" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..." 
{
  "count" : 250
}
http https://api.nic.it/v1/contacts/count "Authorization: Bearer token..." 
{
  "count" : 250
}

Esportare elenco registranti

1.0 | domain | admin / domain |

GET https://api.nic.it/v1/contacts/export/registrants

Questa funzione permette di esportare l'intero elenco dei registranti in stato linked (referenziati in almeno un dominio del Registrar). Sono disponibili due formati di esportazione che devono essere specificati tramite il parametro del header HTTP Accept:

  • csv: "text/csv"
  • jsonline: "application/jsonl". Si veda jsonlines.org

Esempio per esportare l'elenco dei registranti in formato CSV:

GET /v1/contacts/export/registrants HTTP/1.1
Accept: text/csv
Host: api.nic.it
Authorization: Bearer token....
curl "https://api.nic.it/v1/contacts/export/registrants" \
-H "Accept: text/csv" \
-H "Authorization: Bearer token..." 
http https://api.nic.it/v1/contacts/export/registrants \
     "Accept: text/csv" \ 
     "Authorization: Bearer ...." \

Warning

Al momento l'esportazione è effettuata in tempo reale estraendo i dati dal DBNA, pertanto i tempi di esportazione possono essere molto lunghi a seconda del numero di registranti del Registrar.