🛠️
Opencity Italia
Sviluppatori e partner tecnologici
Sviluppatori e partner tecnologici
  • Introduzione
  • Architettura
    • Pattern: microservizi
    • Pattern: event sourcing
    • Vista generale
  • Standard e convenzioni
    • Standard della piattaforma
    • Microservizi
  • Roadmap
  • Integrazioni
    • Integrazione Widget servizio (FormIO)
    • Integrazioni con il flusso delle pratiche
      • API ReST
      • Webhooks
    • Modello di integrazione con l'area personale
    • Integrazione con Intermediari di pagamento PagoPA
      • Requisiti per l'integrazione
      • Il Pagamento
        • Versione 1.0
        • Versione 2.0
      • Schema di Funzionamento
      • Configurazione dei pagamenti
        • API v1
        • API v2
      • Un pagamento in dettaglio
      • Gli stati di un pagamento
      • Processo di sviluppo
      • Implementazione di un proxy
    • Integrazione con Protocollo Informatico
      • Requisiti per l'integrazione
      • Documento digitale
        • Esempio documento con allegati non protocollato
        • Esempio documento con allegati protocollato
        • Esempio documento con campo retry_meta prodotto dal protocol proxy
        • Esempio documento con campo retry_meta modificato dal sistema di retry
        • Usecase: Il Documento originato dalle pratiche dai servizi digitali
        • Stati del documento
      • Architettura del sistema di protocollazione
      • WorkFlow sistema di protocollazione
        • Configurazione tenant e servizi
      • Protocol Proxy: Specifiche Implementative
      • Processo di sviluppo
    • Integrazione con PDND
      • Introduzione
      • Integrazione tecnica tra OpenCity, PDND Connector e PDND
      • Definizione API PDND Connector
    • Integrazioni con il Sito Istituzionale
    • Single Sign-On
      • SSO mediante oAuth2
      • SSO mediante JWT
    • Processi asincroni (job)
      • Importazione dovuti
    • Integrazione di un servizio di terze parti protetto da autenticazione
      • Esempio con GovWay
  • 👩‍💻Sviluppo
    • Multilingua
    • Temi grafici
Powered by GitBook
LogoLogo

Opencity Labs

  • Sito web
  • Product page

Developers Italia

  • Sito web
  • Area personale e Servizi Digitali

Documentazione Opencity Italia

On this page

Was this helpful?

Export as PDF
  1. Integrazioni
  2. Integrazione con PDND

Definizione API PDND Connector

Endpoint del pdnd-connector

Il pdnd-connector espone endpoint specifici per ciascun e-service integrato, con diverse operazioni supportate tramite verbi HTTP.

Endpoint di Chiamata

Gli endpoint seguono una struttura che identifica l'erogatore e il servizio specifico. Ad esempio, per gli e-service ANPR (ANPR è l'erogatore), si utilizzano path come /e-services/anpr/<nome-e-service>. Esempi di <nome-e-service> includono accertamento-cittadinanza, stato-famiglia, accertamento-residenza.

Verbi HTTP Utilizzati

  • GET: Utilizzato per la fruizione degli e-service, ovvero per richiedere e ottenere i dati dal pdnd-connector, che a sua volta li recupera dagli enti erogatori (es. ANPR, INPS).

  • POST: Utilizzato per la validazione dei dati precedentemente ottenuti tramite GET. Questa operazione verifica che i dati non siano stati alterati prima di essere inviati dal Core.

  • Parametri Richiesti (Payload per POST, URL per GET):

    • Per GET (Fruizione): I parametri sono inclusi nella URL (query parameters). Esempi includono:

      • fiscalCode: Il codice fiscale dell'utente di cui si richiedono i dati.

      • format: Un parametro che specifica il formato in cui i dati devono essere restituiti dal pdnd-connector. Questo formato deve essere compatibile con il Nested Form di OpenCity che riceverà i dati.

      • Esempio URL: GET /e-services/anpr/stato-famiglia?fiscalCode=ABCDEF01G23H456I&format=statoFamigliaArchetipo

    • Per POST (Validazione): Il payload della richiesta POST deve contenere due campi principali:

      • data: L'oggetto JSON contenente i dati esatti (incluso il loro formato) così come ricevuti dalla risposta GET precedente, senza i metadati di isFromPdnd, isReadonly, isUpdatedToday.

      • meta: Un oggetto contenente la firma digitale (signature) dei dati, così come restituita dalla risposta GET.

  • Header Necessari: Per tutte le chiamate agli endpoint del pdnd-connector, è necessario includere un token JWT nell'header Authorization.

    • Authorization: Bearer <JWT_TOKEN>. Il pdnd-connector effettua una validazione del token. Per le API di configurazione (non direttamente usate da OpenCity per fruizione), è richiesto un admin token. Per le API di fruizione e validazione, è richiesto un user token, e il codice fiscale contenuto nel token viene verificato con quello eventualmente presente nella URL.

Esempi di chiamate API

Di seguito, alcuni esempi di richieste e risposte per chiarire il flusso di integrazione.

Accertamento Residenza

Richiesta:

GET /anpr/accertamento-residenza
Headers:
  Authorization: Bearer <token_jwt>
Query Parameters:
  fiscal_code: RSSMRA80A01H501U
  config_id: a6fcd036-f1a2-4df5-b986-7410e9e0e97a
  format: residenza

Risposta:

{
  "data": {
    "address": "Via Roma",
    "house_number": "123",
    "municipality": "Roma",
    "county": "RM",
    "postal_code": "00100"
  },
  "meta": {
    "signature": "base64_encoded_signature",
    "format": "residenza",
    "created_at": "2024-03-26T10:00:00Z",
    "source": "ANPR",
    "call_url": "https://api.example.com/anpr/accertamento-residenza?config_id=a6fcd036-f1a2-4df5-b986-7410e9e0e97a&fiscal_code=RSSMRA80A01H501U&format=residenza"
  }
}

È disponibile anche il formato "residenza_archetipo" che include campi aggiuntivi:

{
  "data": {
    "address": "Via Roma",
    "house_number": "123",
    "municipality": "Roma",
    "county": "RM",
    "postal_code": "00100",
    "municipality_istat_code": "058091",
    "locator_within": "int1"
  },
  "meta": {
    // ... stessi campi meta ...
  }
}

Stato Famiglia

Richiesta:

GET /anpr/stato-famiglia
Headers:
  Authorization: Bearer <token_jwt>
Query Parameters:
  fiscal_code: RSSMRA80A01H501U
  config_id: c88d7efe-84a1-43c5-9edc-07f18a577289
  format: famiglia

Risposta (esempio con coniuge e figli):

{
  "data": {
    "birth_date": "1980-01-01",
    "birth_place": "Roma",
    "family_name": "Rossi",
    "given_name": "Maria",
    "gender": "femmina",
    "tax_id": "RSSMRA80A41H501U",
    "children": [
      {
        "birth_date": "2010-02-25",
        "birth_place": "Roma",
        "family_name": "Rossi",
        "given_name": "Marco",
        "gender": "maschio",
        "tax_id": "RSSMRC10B25H501U"
      },
      {
        "birth_date": "2012-03-15",
        "birth_place": "Roma",
        "family_name": "Rossi",
        "given_name": "Laura",
        "gender": "femmina",
        "tax_id": "RSSLRA12C55H501U"
      }
    ]
  },
  "meta": {
    "signature": "base64_encoded_signature",
    "format": "famiglia",
    "created_at": "2024-03-26T10:00:00Z",
    "source": "ANPR",
    "call_url": "https://api.example.com/anpr/stato-famiglia?config_id=c88d7efe-84a1-43c5-9edc-07f18a577289&fiscal_code=RSSMRA80A01H501U&format=famiglia"
  }
}

Validazione delle risposte

Per validare l'autenticità di una risposta, si utilizza il relativo l'endpoint di validazione:

Richiesta:

POST /validate/anpr/accertamento-residenza
Headers:
  Authorization: Bearer <token_jwt>
Query Parameters:
  fiscal_code: RSSMRA80A01H501U
  config_id: a6fcd036-f1a2-4df5-b986-7410e9e0e97a
  format: residenza
Body:
{
  "data": {
    // ... dati ricevuti ...
  },
  "meta": {
    // ... meta ricevuti con la firma ...
  }
}

Risposta:

{
  "result": true  // o false se la validazione fallisce
}

Definizione OpenAPI

PreviousIntegrazione tecnica tra OpenCity, PDND Connector e PDNDNextIntegrazioni con il Sito Istituzionale

Last updated 1 day ago

Was this helpful?

Accertamento Cittadinanza

get

fruizione e-service Accertamento Cittadinanza

Query parameters
fiscal_codestringOptional

italian fiscal code

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
config_idstringOptional

id that identify a specific configuration to call an e-service

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
formatstringOptional

identify the output payload structure

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
404
Not Found
application/json
get
GET /anpr/accertamento-cittadinanza HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "cittadinanza": [
      {
        "country": "text",
        "nationality": "text"
      }
    ]
  },
  "meta": {
    "call_url": "text",
    "created_at": "text",
    "format": "text",
    "signature": "text",
    "source": "text"
  }
}

Accertamento Residenza

get

fruizione e-service Accertamento Residenza

Query parameters
fiscal_codestringOptional

italian fiscal code

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
config_idstringOptional

id that identify a specific configuration to call an e-service

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
formatstringOptional

identify the output payload structure

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
404
Not Found
application/json
get
GET /anpr/accertamento-residenza HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "address": "text",
    "address_data": {
      "cap": "text",
      "codice_comune": 1,
      "comune": "text",
      "luogo_istat": "text",
      "pr": "text"
    },
    "codice_istat_comune": "text",
    "country": "text",
    "county": "text",
    "house_number": "text",
    "locator_within": "text",
    "municipality": "text",
    "postal_code": "text"
  },
  "meta": {
    "call_url": "text",
    "created_at": "text",
    "format": "text",
    "signature": "text",
    "source": "text"
  }
}

Stato Famiglia

get

Retrieve Stato Famiglia for a specific fiscal code with specific configuration

Query parameters
fiscal_codestringOptional

italian fiscal code

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
config_idstringOptional

id that identify a specific configuration to call an e-service

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
formatstringOptional

identify the output payload structure

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
404
Not Found
application/json
get
GET /anpr/stato-famiglia HTTP/1.1
Host: 
Accept: */*
{
  "data": null,
  "meta": {
    "call_url": "text",
    "created_at": "text",
    "format": "text",
    "signature": "text",
    "source": "text"
  }
}

Get e-services

get

Retrieve the list of e-services available through the service

Query parameters
offsetintegerOptional

the starting point or the index from which the data should be retrieved

Example: 6
limitintegerOptional

The limit parameter specifies the maximum number of items to be returned in a single page or request

sortstringOptional

...

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /e-services HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "aud_client_assertion": "text",
      "audience": "text",
      "endpoint": "text",
      "id": "text",
      "name": "text",
      "slug": "text",
      "version": "text"
    }
  ],
  "links": {
    "next": "text",
    "prev": "text",
    "self": "text"
  },
  "meta": {
    "page": {
      "limit": 1,
      "offset": 1,
      "sort": "text"
    },
    "total": 1
  }
}

Options e-services

options

Get available operations for the e-services resource.

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
options
OPTIONS /e-services HTTP/1.1
Host: 
Accept: */*
200

OK

No content

Status health-check

get

...

Responses
200
OK
application/json
500
Internal Server Error
application/json
get
GET /status HTTP/1.1
Host: 
Accept: */*
{
  "checked_at": "2025-06-14T10:30:09.098Z",
  "id": "text",
  "status": "text"
}

Options Tenant

options

Get available operations for the tenant resource.

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
options
OPTIONS /tenants HTTP/1.1
Host: 
Accept: */*
200

OK

No content

Get Tenant Configuration

get

...

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /tenants/{tenant_id} HTTP/1.1
Host: 
Accept: */*
{
  "created_at": "text",
  "id": "text",
  "ipa_code": "text",
  "name": "text",
  "updated_at": "text"
}

delete Tenants Configuration

delete

...

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
204
No Content
application/json
400
Bad Request
application/json
delete
DELETE /tenants/{tenant_id} HTTP/1.1
Host: 
Accept: */*
{
  "created_at": "text",
  "id": "text",
  "ipa_code": "text",
  "name": "text",
  "updated_at": "text"
}

Options Tenant by id

options

Get available operations for the tenant resource.

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
options
OPTIONS /tenants/{tenant_id} HTTP/1.1
Host: 
Accept: */*
200

OK

No content

Get Clients list

get

Get Clients Configuration list for specific tenant

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Query parameters
limitintegerOptional

The limit parameter specifies the maximum number of items to be returned in a single page or request

sortstringOptional

...

offsetintegerOptional

the starting point or the index from which the data should be retrieved

Example: 6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /tenants/{tenant_id}/clients HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "created_at": "text",
      "env": "text",
      "id": "text",
      "key_id": "text",
      "key_pair_id": "text",
      "name": "text",
      "public_key": "text",
      "tenant_id": "text",
      "updated_at": "text"
    }
  ],
  "links": {
    "next": "text",
    "prev": "text",
    "self": "text"
  },
  "meta": {
    "page": {
      "limit": 1,
      "offset": 1,
      "sort": "text"
    },
    "total": 1
  }
}

Options Clients

options

Get available operations for the Clients resource.

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Query parameters
limitintegerOptional

The limit parameter specifies the maximum number of items to be returned in a single page or request

sortstringOptional

...

offsetintegerOptional

the starting point or the index from which the data should be retrieved

Example: 6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
options
OPTIONS /tenants/{tenant_id}/clients HTTP/1.1
Host: 
Accept: */*
200

OK

No content

Get client pdnd Configuration

get

Get client pdnd Configuration of specific tenant

Path parameters
client_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
403
Forbidden
application/json
get
GET /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host: 
Accept: */*
{
  "created_at": "text",
  "env": "text",
  "id": "text",
  "key_id": "text",
  "key_pair_id": "text",
  "name": "text",
  "public_key": "text",
  "tenant_id": "text",
  "updated_at": "text"
}

Delete client pdnd Configuration

delete

Delete client pdnd Configuration of specific tenant

Path parameters
client_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
204
No Content
400
Bad Request
application/json
403
Forbidden
application/json
delete
DELETE /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host: 
Accept: */*

No content

Options Clients

options

Get available operations for the Clients resource.

Path parameters
client_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
options
OPTIONS /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host: 
Accept: */*
200

OK

No content

Get Config list of specific tenant

get

...

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Query parameters
limitintegerOptional

The limit parameter specifies the maximum number of items to be returned in a single page or request

sortstringOptional

...

offsetintegerOptional

the starting point or the index from which the data should be retrieved

Example: 6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /tenants/{tenant_id}/configs HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "call_url": "text",
      "client_id": "text",
      "created_at": "text",
      "eservice_id": "text",
      "id": "text",
      "is_active": true,
      "purpose_id": "text",
      "tenant_id": "text",
      "updated_at": "text"
    }
  ],
  "links": {
    "next": "text",
    "prev": "text",
    "self": "text"
  },
  "meta": {
    "page": {
      "limit": 1,
      "offset": 1,
      "sort": "text"
    },
    "total": 1
  }
}

Options Config

options

Get available operations for the Config resource.

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
201
Created
options
OPTIONS /tenants/{tenant_id}/configs HTTP/1.1
Host: 
Accept: */*
201

Created

No content

Get Config

get

Get config of specific tenant by id

Path parameters
config_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host: 
Accept: */*
{
  "call_url": "text",
  "client_id": "text",
  "created_at": "text",
  "eservice_id": "text",
  "id": "text",
  "is_active": true,
  "purpose_id": "text",
  "tenant_id": "text",
  "updated_at": "text"
}

Disable Config

delete

Soft deleting config of specific tenant

Path parameters
config_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
204
No Content
400
Bad Request
application/json
delete
DELETE /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host: 
Accept: */*

No content

Options Config

options

Get available operations for the Config resource.

Path parameters
config_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
options
OPTIONS /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host: 
Accept: */*
200

OK

No content

Get Key

get

Get key unused key for a specific tenant

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /tenants/{tenant_id}/keys HTTP/1.1
Host: 
Accept: */*
{
  "id": "text",
  "public_key": "text"
}

Delete Key

delete

Delete key used by specific tenant

Path parameters
keys_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
204
No Content
400
Bad Request
application/json
delete
DELETE /tenants/{tenant_id}/keys/{keys_id} HTTP/1.1
Host: 
Accept: */*

No content

  • Endpoint del pdnd-connector
  • Endpoint di Chiamata
  • Verbi HTTP Utilizzati
  • Esempi di chiamate API
  • Accertamento Residenza
  • Stato Famiglia
  • Validazione delle risposte
  • Definizione OpenAPI
  • GETAccertamento Cittadinanza
  • POSTAccertamento Cittadinanza
  • GETAccertamento Residenza
  • POSTAccertamento Residenza
  • GETStato Famiglia
  • POSTStato famiglia
  • GETGet e-services
  • OPTIONSOptions e-services
  • GETStatus health-check
  • POSTSave Tenant Configuration
  • OPTIONSOptions Tenant
  • GETGet Tenant Configuration
  • PUTUpdate tenant Configuration
  • DELETEdelete Tenants Configuration
  • PATCHUpdate tenant Configuration
  • OPTIONSOptions Tenant by id
  • GETGet Clients list
  • POSTstore client pdnd Configuration
  • OPTIONSOptions Clients
  • GETGet client pdnd Configuration
  • PUTUpdate client pdnd Configuration
  • DELETEDelete client pdnd Configuration
  • PATCHUpdate client pdnd Configuration
  • OPTIONSOptions Clients
  • GETGet Config list of specific tenant
  • POSTSave Service Configuration
  • OPTIONSOptions Config
  • GETGet Config
  • PUTUpdate Config
  • DELETEDisable Config
  • PATCHPatch Config
  • OPTIONSOptions Config
  • GETGet Key
  • DELETEDelete Key

Accertamento Cittadinanza

post

Validate Accertamento Cittadinanza payload

Query parameters
fiscal_codestringOptional

italian fiscal code

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
config_idstringOptional

id that identify a specific configuration to call an e-service

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
formatstringOptional

identify the output payload structure

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
Responses
200
OK
application/json
404
Not Found
application/json
post
POST /anpr/accertamento-cittadinanza HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 165

{
  "Data": {
    "cittadinanza": [
      {
        "country": "text",
        "nationality": "text"
      }
    ]
  },
  "Meta": {
    "call_url": "text",
    "created_at": "text",
    "format": "text",
    "signature": "text",
    "source": "text"
  }
}
{
  "result": true
}

Accertamento Residenza

post

Validate Accertamento Residenza payload

Query parameters
fiscal_codestringOptional

italian fiscal code

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
config_idstringOptional

id that identify a specific configuration to call an e-service

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
formatstringOptional

identify the output payload structure

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
Responses
200
OK
application/json
404
Not Found
application/json
post
POST /anpr/accertamento-residenza HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 373

{
  "Data": {
    "address": "text",
    "address_data": {
      "cap": "text",
      "codice_comune": 1,
      "comune": "text",
      "luogo_istat": "text",
      "pr": "text"
    },
    "codice_istat_comune": "text",
    "country": "text",
    "county": "text",
    "house_number": "text",
    "locator_within": "text",
    "municipality": "text",
    "postal_code": "text"
  },
  "Meta": {
    "call_url": "text",
    "created_at": "text",
    "format": "text",
    "signature": "text",
    "source": "text"
  }
}
{
  "result": true
}

Stato famiglia

post

Validate Stato Famiglia payload

Query parameters
fiscal_codestringOptional

italian fiscal code

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
config_idstringOptional

id that identify a specific configuration to call an e-service

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
formatstringOptional

identify the output payload structure

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
DataanyOptional

data to validate. Can be different depending by the format param

Responses
200
OK
application/json
404
Not Found
application/json
post
POST /anpr/stato-famiglia HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "Data": null,
  "Meta": {
    "call_url": "text",
    "created_at": "text",
    "format": "text",
    "signature": "text",
    "source": "text"
  }
}
{
  "result": true
}

Save Tenant Configuration

post

...

Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
ipa_codestringOptional

...

Example: 123456
namestringOptional

nome del tenant

Example: comune di Bugliano
Responses
201
Created
application/json
400
Bad Request
application/json
post
POST /tenants HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 93

{
  "id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "ipa_code": "123456",
  "name": "comune di Bugliano"
}
{
  "created_at": "text",
  "id": "text",
  "ipa_code": "text",
  "name": "text",
  "updated_at": "text"
}

Update tenant Configuration

put

...

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
ipa_codestringOptional

...

Example: 123456
namestringOptional

nome del tenant

Example: comune di Bugliano
Responses
200
OK
application/json
400
Bad Request
application/json
put
PUT /tenants/{tenant_id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 49

{
  "ipa_code": "123456",
  "name": "comune di Bugliano"
}
{
  "created_at": "text",
  "id": "text",
  "ipa_code": "text",
  "name": "text",
  "updated_at": "text"
}

Update tenant Configuration

patch

...

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
ipa_codestringOptional

...

Example: 123456
namestringOptional

nome del tenant

Example: comune di Bugliano
Responses
200
OK
application/json
400
Bad Request
application/json
patch
PATCH /tenants/{tenant_id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 49

{
  "ipa_code": "123456",
  "name": "comune di Bugliano"
}
{
  "created_at": "text",
  "id": "text",
  "ipa_code": "text",
  "name": "text",
  "updated_at": "text"
}

store client pdnd Configuration

post

Save client pdnd Configuration of specific tenant

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
envstringOptional

ambiente del client

Example: collaudo
idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
key_idstringOptional

key id del client

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
key_pair_idstringOptional

id interno del materiale critografico

namestringOptional

nome del tenant

Example: comune di Bugliano
Responses
201
Created
application/json
400
Bad Request
application/json
403
Forbidden
application/json
post
POST /tenants/{tenant_id}/clients HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 159

{
  "env": "collaudo",
  "id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "key_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "key_pair_id": "text",
  "name": "comune di Bugliano"
}
{
  "created_at": "text",
  "env": "text",
  "id": "text",
  "key_id": "text",
  "key_pair_id": "text",
  "name": "text",
  "public_key": "text",
  "tenant_id": "text",
  "updated_at": "text"
}

Update client pdnd Configuration

put

Update client pdnd Configuration of specific tenant

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
client_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
envstringOptional

ambiente del client

Example: collaudo
key_idstringOptional

key id del client

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
key_pair_idstringOptional

id interno del materiale critografico

namestringOptional

nome del tenant

Example: comune di Bugliano
Responses
200
OK
application/json
400
Bad Request
application/json
403
Forbidden
application/json
put
PUT /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 115

{
  "env": "collaudo",
  "key_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "key_pair_id": "text",
  "name": "comune di Bugliano"
}
{
  "created_at": "text",
  "env": "text",
  "id": "text",
  "key_id": "text",
  "key_pair_id": "text",
  "name": "text",
  "public_key": "text",
  "tenant_id": "text",
  "updated_at": "text"
}

Update client pdnd Configuration

patch

Update client pdnd Configuration of specific tenant

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
client_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
envstringOptional

ambiente del client

Example: collaudo
key_idstringOptional

key id del client

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
key_pair_idstringOptional

id interno del materiale critografico

namestringOptional

nome del tenant

Example: comune di Bugliano
Responses
200
OK
application/json
400
Bad Request
application/json
403
Forbidden
application/json
patch
PATCH /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 115

{
  "env": "collaudo",
  "key_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "key_pair_id": "text",
  "name": "comune di Bugliano"
}
{
  "created_at": "text",
  "env": "text",
  "id": "text",
  "key_id": "text",
  "key_pair_id": "text",
  "name": "text",
  "public_key": "text",
  "tenant_id": "text",
  "updated_at": "text"
}

Save Service Configuration

post

...

Path parameters
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
client_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
eservice_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
is_activeboolean | nullableOptional

...

Example: false
purpose_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
201
Created
application/json
400
Bad Request
application/json
post
POST /tenants/{tenant_id}/configs HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 175

{
  "client_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "eservice_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "is_active": false,
  "purpose_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6"
}
{
  "call_url": "text",
  "client_id": "text",
  "created_at": "text",
  "eservice_id": "text",
  "id": "text",
  "is_active": true,
  "purpose_id": "text",
  "tenant_id": "text",
  "updated_at": "text"
}

Update Config

put

Update config of specific tenant

Path parameters
config_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
client_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
eservice_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
is_activeboolean | nullableOptional

...

Example: false
purpose_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
put
PUT /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 175

{
  "client_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "eservice_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "is_active": false,
  "purpose_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6"
}
{
  "call_url": "text",
  "client_id": "text",
  "created_at": "text",
  "eservice_id": "text",
  "id": "text",
  "is_active": true,
  "purpose_id": "text",
  "tenant_id": "text",
  "updated_at": "text"
}

Patch Config

patch

Patch config of specific tenant

Path parameters
config_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
tenant_idstringRequired

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Header parameters
AuthorizationstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Body
client_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
eservice_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
is_activeboolean | nullableOptional

...

Example: false
purpose_idstringOptional

...

Example: b212c4b4-db26-4404-8c7c-47dab99dd2e6
Responses
200
OK
application/json
400
Bad Request
application/json
patch
PATCH /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 175

{
  "client_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "eservice_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
  "is_active": false,
  "purpose_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6"
}
{
  "call_url": "text",
  "client_id": "text",
  "created_at": "text",
  "eservice_id": "text",
  "id": "text",
  "is_active": true,
  "purpose_id": "text",
  "tenant_id": "text",
  "updated_at": "text"
}