> For the complete documentation index, see [llms.txt](https://docs.opencityitalia.it/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.opencityitalia.it/sviluppatori-e-partner-tecnologici/integrazioni/integrazione-con-pdnd/definizione-api-pdnd-connector.md).

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

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

Risposta:

```json
{
  "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:

```json
{
  "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:

```http
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):

```json
{
  "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:

```http
POST /validate
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:

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

## Definizione OpenAPI

## Accertamento Cittadinanza

> fruizione e-service Accertamento Cittadinanza

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/anpr/accertamento-cittadinanza":{"get":{"tags":["ANPR"],"summary":"Accertamento Cittadinanza","description":"fruizione e-service Accertamento Cittadinanza","operationId":"pdnd-connector/server.GetAccertamentoCittadinanza","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"identify the output payload structure","schema":{"type":"string","description":"identify the output payload structure"}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnprAccertamentoCittadinanzaFormattedResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"AnprAccertamentoCittadinanzaFormattedResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnprAccertamentoCittadinanzaFormattedData"},"meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"AnprAccertamentoCittadinanzaFormattedData":{"type":"object","properties":{"cittadinanza":{"type":"array","items":{"$ref":"#/components/schemas/AnprCitizenship"}}}},"AnprCitizenship":{"type":"object","properties":{"istat_code":{"type":"string"},"nationality":{"type":"string"}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Accertamento Cittadinanza

> Validate Accertamento Cittadinanza payload

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/anpr/accertamento-cittadinanza":{"post":{"tags":["ANPR"],"summary":"Accertamento Cittadinanza","description":"Validate Accertamento Cittadinanza payload","operationId":"pdnd-connector/server.ValidateAccertamentoCittadinanza","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"identify the output payload structure","schema":{"type":"string","description":"identify the output payload structure"}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerValidateAccertamentoCittadinanzaInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnprValidateAnpresponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerValidateAccertamentoCittadinanzaInput":{"type":"object","properties":{"Data":{"$ref":"#/components/schemas/AnprAccertamentoCittadinanzaFormattedData"},"Meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"AnprAccertamentoCittadinanzaFormattedData":{"type":"object","properties":{"cittadinanza":{"type":"array","items":{"$ref":"#/components/schemas/AnprCitizenship"}}}},"AnprCitizenship":{"type":"object","properties":{"istat_code":{"type":"string"},"nationality":{"type":"string"}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"AnprValidateAnpresponse":{"type":"object","properties":{"result":{"type":"boolean"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Accertamento Generalità

> fruizione e-service Accertamento Generalità

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/anpr/accertamento-generalita":{"get":{"tags":["ANPR"],"summary":"Accertamento Generalità","description":"fruizione e-service Accertamento Generalità","operationId":"pdnd-connector/server.GetAccertamentoGeneralita","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"identify the output payload structure","schema":{"type":"string","description":"identify the output payload structure"}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnprAccertamentoGeneralitaFormattedResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"AnprAccertamentoGeneralitaFormattedResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnprAccertamentoGeneralita"},"meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"AnprAccertamentoGeneralita":{"type":"object","properties":{"idOperazioneANPR":{"type":"string"},"listaAnomalie":{"type":"array","items":{"$ref":"#/components/schemas/AnprAnomaliaAG"},"nullable":true},"listaSoggetti":{"$ref":"#/components/schemas/AnprListaSoggettiAG"}}},"AnprAnomaliaAG":{"type":"object","properties":{"codiceErroreAnomalia":{"type":"string"},"testoErroreAnomalia":{"type":"string"},"tipoErroreAnomalia":{"type":"string"}}},"AnprListaSoggettiAG":{"type":"object","properties":{"datiSoggetto":{"type":"array","items":{"$ref":"#/components/schemas/AnprDatiSoggettoAG"},"nullable":true}}},"AnprDatiSoggettoAG":{"type":"object","properties":{"generalita":{"$ref":"#/components/schemas/AnprGeneralita"},"identificativi":{"$ref":"#/components/schemas/AnprIdentificativi"},"statoCivile":{"$ref":"#/components/schemas/AnprStatoCivileAG"}}},"AnprGeneralita":{"type":"object","properties":{"codiceFiscale":{"$ref":"#/components/schemas/AnprCodiceFiscale"},"cognome":{"type":"string"},"dataNascita":{"type":"string"},"idSchedaSoggettoANPR":{"type":"string"},"luogoNascita":{"$ref":"#/components/schemas/AnprLuogoDiNascita"},"nome":{"type":"string"},"sesso":{"type":"string"},"soggettoAIRE":{"type":"string"}}},"AnprCodiceFiscale":{"type":"object","properties":{"codFiscale":{"type":"string"},"validitaCF":{"type":"string"}}},"AnprLuogoDiNascita":{"type":"object","properties":{"comune":{"$ref":"#/components/schemas/AnprComune"},"localita":{"$ref":"#/components/schemas/AnprLocalita"}}},"AnprComune":{"type":"object","properties":{"codiceIstat":{"type":"string"},"nomeComune":{"type":"string"},"siglaProvinciaIstat":{"type":"string"}}},"AnprLocalita":{"type":"object","properties":{"codiceStato":{"type":"string"},"descrizioneLocalita":{"type":"string"},"descrizioneStato":{"type":"string"}}},"AnprIdentificativi":{"type":"object","properties":{"idANPR":{"type":"string"}}},"AnprStatoCivileAG":{"type":"object","properties":{"statoCivile":{"type":"string"},"statoCivileND":{"type":"string"}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Accertamento Residenza

> fruizione e-service Accertamento Residenza

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/anpr/accertamento-residenza":{"get":{"tags":["ANPR"],"summary":"Accertamento Residenza","description":"fruizione e-service Accertamento Residenza","operationId":"pdnd-connector/server.GetAccertamentoResidenza","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"identify the output payload structure","schema":{"type":"string","description":"identify the output payload structure"}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnprAccertamentoResidenzaFormattedResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"AnprAccertamentoResidenzaFormattedResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnprAccertamentoResidenzaFormattedData"},"meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"AnprAccertamentoResidenzaFormattedData":{"type":"object","properties":{"address":{"type":"string","nullable":true},"address_data":{"$ref":"#/components/schemas/AnprAddressData"},"country":{"type":"string","nullable":true},"county":{"type":"string","nullable":true},"house_number":{"type":"string","nullable":true},"municipality":{"type":"string","nullable":true},"postal_code":{"type":"string","nullable":true}}},"AnprAddressData":{"type":"object","properties":{"cap":{"type":"string","nullable":true},"codice_comune":{"type":"integer","nullable":true},"comune":{"type":"string","nullable":true},"luogo_istat":{"type":"string","nullable":true},"pr":{"type":"string","nullable":true}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Accertamento Residenza

> Validate Accertamento Residenza payload

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/anpr/accertamento-residenza":{"post":{"tags":["ANPR"],"summary":"Accertamento Residenza","description":"Validate Accertamento Residenza payload","operationId":"pdnd-connector/server.ValidateAccertamentoResidenza","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"identify the output payload structure","schema":{"type":"string","description":"identify the output payload structure"}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerValidateAccertamentoResidenzaInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnprValidateAnpresponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerValidateAccertamentoResidenzaInput":{"type":"object","properties":{"Data":{"$ref":"#/components/schemas/AnprAccertamentoResidenzaFormattedData"},"Meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"AnprAccertamentoResidenzaFormattedData":{"type":"object","properties":{"address":{"type":"string","nullable":true},"address_data":{"$ref":"#/components/schemas/AnprAddressData"},"country":{"type":"string","nullable":true},"county":{"type":"string","nullable":true},"house_number":{"type":"string","nullable":true},"municipality":{"type":"string","nullable":true},"postal_code":{"type":"string","nullable":true}}},"AnprAddressData":{"type":"object","properties":{"cap":{"type":"string","nullable":true},"codice_comune":{"type":"integer","nullable":true},"comune":{"type":"string","nullable":true},"luogo_istat":{"type":"string","nullable":true},"pr":{"type":"string","nullable":true}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"AnprValidateAnpresponse":{"type":"object","properties":{"result":{"type":"boolean"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Stato Famiglia

> Retrieve Stato Famiglia for a specific fiscal code with specific configuration

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/anpr/stato-famiglia":{"get":{"tags":["ANPR"],"summary":"Stato Famiglia","description":"Retrieve Stato Famiglia for a specific fiscal code with specific configuration","operationId":"pdnd-connector/server.GetStatoFamiglia","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"identify the output payload structure","schema":{"type":"string","description":"identify the output payload structure"}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnprStatoFamigliaFormattedResponseSchema"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"AnprStatoFamigliaFormattedResponseSchema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnprStatoFamigliaFormattedDataUnion"},"meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"AnprStatoFamigliaFormattedDataUnion":{"type":"object","oneOf":[{"$ref":"#/components/schemas/AnprStatoFamigliaFormattedDataOcFigli"},{"$ref":"#/components/schemas/AnprStatoFamigliaFormattedDataOcGenitori"},{"$ref":"#/components/schemas/AnprStatoFamigliaFormattedDataOcConiuge"},{"$ref":"#/components/schemas/AnprStatoFamigliaFormattedDataOcNucleoFamiliare"}]},"AnprStatoFamigliaFormattedDataOcFigli":{"type":"object","properties":{"children":{"type":"array","items":{"$ref":"#/components/schemas/AnprPerson"},"nullable":true}}},"AnprPerson":{"type":"object","properties":{"birth_date":{"type":"string"},"birth_place":{"type":"string"},"family_name":{"type":"string"},"gender":{"type":"string"},"given_name":{"type":"string"},"tax_id":{"type":"string"}}},"AnprStatoFamigliaFormattedDataOcGenitori":{"type":"object","properties":{"parents":{"type":"array","items":{"$ref":"#/components/schemas/AnprPerson"},"nullable":true}}},"AnprStatoFamigliaFormattedDataOcConiuge":{"type":"object","properties":{"birth_date":{"type":"string","nullable":true},"birth_place":{"type":"string","nullable":true},"family_name":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true},"given_name":{"type":"string","nullable":true},"tax_id":{"type":"string","nullable":true}}},"AnprStatoFamigliaFormattedDataOcNucleoFamiliare":{"type":"object","properties":{"family_unit":{"type":"array","items":{"$ref":"#/components/schemas/AnprFamilyMember"},"nullable":true}}},"AnprFamilyMember":{"type":"object","properties":{"birth_date":{"type":"string"},"family_name":{"type":"string"},"given_name":{"type":"string"},"related_to":{"type":"string"},"tax_id":{"type":"string"}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Stato famiglia

> Validate Stato Famiglia payload

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/anpr/stato-famiglia":{"post":{"tags":["ANPR"],"summary":"Stato famiglia","description":"Validate Stato Famiglia payload","operationId":"pdnd-connector/server.ValidateStatoFamiglia","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"identify the output payload structure","schema":{"type":"string","description":"identify the output payload structure"}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerValidateStatoFamigliaInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnprValidateAnpresponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerValidateStatoFamigliaInput":{"type":"object","properties":{"Data":{"description":"data to validate. Can be different depending by the format param"},"Meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"AnprValidateAnpresponse":{"type":"object","properties":{"result":{"type":"boolean"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Get e-services

> Retrieve the list of e-services available through the service

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/e-services":{"get":{"tags":["e-services"],"summary":"Get e-services","description":"Retrieve the list of e-services available through the service","operationId":"pdnd-connector/server.GetEServicesList","parameters":[{"name":"offset","in":"query","description":" the starting point or the index from which the data should be retrieved","schema":{"type":"integer","description":" the starting point or the index from which the data should be retrieved"}},{"name":"limit","in":"query","description":"The limit parameter specifies the maximum number of items to be returned in a single page or request","schema":{"type":"integer","description":"The limit parameter specifies the maximum number of items to be returned in a single page or request"}},{"name":"sort","in":"query","description":"...","schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsEServiceListResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsEServiceListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ModelsEService"},"nullable":true},"links":{"$ref":"#/components/schemas/ModelsLinks"},"meta":{"$ref":"#/components/schemas/ModelsMeta"}}},"ModelsEService":{"type":"object","properties":{"aud_client_assertion":{"type":"string"},"audience":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"version":{"type":"string"}}},"ModelsLinks":{"type":"object","properties":{"next":{"type":"string","nullable":true},"prev":{"type":"string","nullable":true},"self":{"type":"string"}}},"ModelsMeta":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/ModelsPage"},"total":{"type":"integer"}}},"ModelsPage":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"sort":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Domicilio Digitale

> fruizione e-service INAD domicilio digitale

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/inad/domicilio-digitale":{"get":{"tags":["INAD"],"summary":"Domicilio Digitale","description":"fruizione e-service INAD domicilio digitale","operationId":"pdnd-connector/server.GetDomicilioDigitale","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"response format","schema":{"type":"string","description":"response format"}},{"name":"Authorization","in":"header","description":"Bearer JWT","schema":{"type":"string","description":"Bearer JWT"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InadDomicilioDigitaleResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"InadDomicilioDigitaleResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InadDomicilioDigitaleResult"},"meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"InadDomicilioDigitaleResult":{"type":"object","properties":{"digital_addresses":{"type":"array","items":{"$ref":"#/components/schemas/InadDomicilioDigitaleAddress"},"nullable":true}}},"InadDomicilioDigitaleAddress":{"type":"object","properties":{"address":{"type":"string"}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## ISEE

> fruizione e-service attestazione ISEE

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/inps/consultazione-attestazione-residenti-isee":{"get":{"tags":["INPS"],"summary":"ISEE","description":"fruizione e-service attestazione ISEE","operationId":"pdnd-connector/server.GetAttestazioneIsee","parameters":[{"name":"fiscal_code","in":"query","description":"italian fiscal code","schema":{"type":"string","description":"italian fiscal code"}},{"name":"fiscal_code_child","in":"query","description":"italian fiscal code of the minor (required when format=minorenne)","schema":{"type":"string","description":"italian fiscal code of the minor (required when format=minorenne)"}},{"name":"config_id","in":"query","description":"id that identify a specific configuration to call an e-service","schema":{"type":"string","description":"id that identify a specific configuration to call an e-service"}},{"name":"format","in":"query","description":"ISEE format to fetch","schema":{"type":"string","description":"ISEE format to fetch"}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InpsIseeResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"InpsIseeResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InpsIseeData"},"meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"InpsIseeData":{"type":"object","properties":{"current":{"type":"boolean"},"dsu_protocol_number":{"type":"string"},"fiscal_code_child":{"type":"string","nullable":true},"household":{"type":"array","items":{"$ref":"#/components/schemas/InpsHouseMember"},"nullable":true},"isee":{"type":"number","nullable":true},"isee_min":{"type":"number","nullable":true},"submission_date":{"type":"string"},"valid_until":{"type":"string"}}},"InpsHouseMember":{"type":"object","properties":{"fiscal_code":{"type":"string"},"name":{"type":"string"},"relationship_with_declarant":{"type":"string"},"surname":{"type":"string"}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Consultazione Indicatore Nucleo ICEF

> Fruizione e-service Consultazione Indicatore Nucleo ICEF via PDND

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/pat/consultazione-indicatore-nucleo-icef":{"get":{"tags":["PAT"],"summary":"Consultazione Indicatore Nucleo ICEF","description":"Fruizione e-service Consultazione Indicatore Nucleo ICEF via PDND","operationId":"pdnd-connector/server.GetConsultazioneIndicatoreNucleoIcef","parameters":[{"name":"fiscal_code","in":"query","description":"codice fiscale italiano","schema":{"type":"string","description":"codice fiscale italiano"}},{"name":"reference_year","in":"query","description":"anno di riferimento per il calcolo (opzionale, default: anno corrente - 2)","schema":{"type":"integer","description":"anno di riferimento per il calcolo (opzionale, default: anno corrente - 2)","nullable":true}},{"name":"config_id","in":"query","description":"ID della configurazione e-service","schema":{"type":"string","description":"ID della configurazione e-service"}},{"name":"format","in":"query","description":"formato della risposta","schema":{"type":"string","description":"formato della risposta"}},{"name":"Authorization","in":"header","description":"JWT token di autenticazione","schema":{"type":"string","description":"JWT token di autenticazione"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatConsultazioneIndicatoreNucleoIcefFormattedResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"PatConsultazioneIndicatoreNucleoIcefFormattedResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PatConsultazioneIndicatoreNucleoIcefFormattedData"},"meta":{"$ref":"#/components/schemas/ModelsRespMeta"}}},"PatConsultazioneIndicatoreNucleoIcefFormattedData":{"type":"object","properties":{"household":{"type":"array","items":{"$ref":"#/components/schemas/PatHouseholdMember"},"nullable":true},"icef":{"type":"number"},"icef_protocol_number":{"type":"string"},"reference_year":{"type":"integer"},"valid_from":{"type":"string"},"valid_until":{"type":"string"}}},"PatHouseholdMember":{"type":"object","properties":{"birth_date":{"type":"string","description":"Data di nascita nel formato DD/MM/YYYY"},"fiscal_code":{"type":"string","description":"Codice fiscale del membro"},"name":{"type":"string","description":"Nome del membro"},"surname":{"type":"string","description":"Cognome del membro"}}},"ModelsRespMeta":{"type":"object","properties":{"call_url":{"type":"string","nullable":true},"config_id":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"fiscal_code":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"signature":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"validation_url":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Status health-check

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/status":{"get":{"tags":["Utility"],"summary":"Status health-check","description":"...","operationId":"pdnd-connector/server.GetStatus","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerHealthCheck"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerHealthCheck":{"required":["id","status","checked_at"],"type":"object","properties":{"checked_at":{"type":"string","description":"...","format":"date-time"},"id":{"type":"string","description":"..."},"status":{"type":"string","description":"..."}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Save Tenant Configuration

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants":{"post":{"tags":["Tenants"],"summary":"Save Tenant Configuration","description":"...","operationId":"pdnd-connector/server.CreateTenants","parameters":[{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTenantPayloadInput"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsTenant"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerTenantPayloadInput":{"type":"object","properties":{"id":{"type":"string","description":"..."},"ipa_code":{"type":"string","description":"..."},"name":{"type":"string","description":"nome del tenant"}}},"ModelsTenant":{"type":"object","properties":{"created_at":{"type":"string"},"id":{"type":"string"},"ipa_code":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Get Tenant Configuration

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}":{"get":{"tags":["Tenants"],"summary":"Get Tenant Configuration","description":"...","operationId":"pdnd-connector/server.GetTenant","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsTenant"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsTenant":{"type":"object","properties":{"created_at":{"type":"string"},"id":{"type":"string"},"ipa_code":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Update tenant Configuration

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}":{"put":{"tags":["Tenants"],"summary":"Update tenant Configuration","description":"...","operationId":"pdnd-connector/server.UpdateTenant","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTenantPayloadUpdateInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsTenant"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerTenantPayloadUpdateInput":{"type":"object","properties":{"ipa_code":{"type":"string","description":"..."},"name":{"type":"string","description":"nome del tenant"}}},"ModelsTenant":{"type":"object","properties":{"created_at":{"type":"string"},"id":{"type":"string"},"ipa_code":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## delete Tenants Configuration

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}":{"delete":{"tags":["Tenants"],"summary":"delete Tenants Configuration","description":"...","operationId":"pdnd-connector/server.DeleteTenant","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsTenant"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsTenant":{"type":"object","properties":{"created_at":{"type":"string"},"id":{"type":"string"},"ipa_code":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Update tenant Configuration

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}":{"patch":{"tags":["Tenants"],"summary":"Update tenant Configuration","description":"...","operationId":"pdnd-connector/server.PatchTenant","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTenantPayloadUpdateInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsTenant"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerTenantPayloadUpdateInput":{"type":"object","properties":{"ipa_code":{"type":"string","description":"..."},"name":{"type":"string","description":"nome del tenant"}}},"ModelsTenant":{"type":"object","properties":{"created_at":{"type":"string"},"id":{"type":"string"},"ipa_code":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Get Clients list

> Get Clients Configuration list for specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/clients":{"get":{"tags":["Clients"],"summary":"Get Clients list","description":"Get Clients Configuration list for specific tenant","operationId":"pdnd-connector/server.GetClientsByTenantId","parameters":[{"name":"limit","in":"query","description":"The limit parameter specifies the maximum number of items to be returned in a single page or request","schema":{"type":"integer","description":"The limit parameter specifies the maximum number of items to be returned in a single page or request"}},{"name":"sort","in":"query","description":"...","schema":{"type":"string","description":"..."}},{"name":"offset","in":"query","description":" the starting point or the index from which the data should be retrieved","schema":{"type":"integer","description":" the starting point or the index from which the data should be retrieved"}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsClientListResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsClientListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ModelsClientPDND"},"nullable":true},"links":{"$ref":"#/components/schemas/ModelsLinks"},"meta":{"$ref":"#/components/schemas/ModelsMeta"}}},"ModelsClientPDND":{"type":"object","properties":{"created_at":{"type":"string"},"env":{"type":"string"},"id":{"type":"string"},"key_id":{"type":"string"},"key_pair_id":{"type":"string"},"name":{"type":"string"},"public_key":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ModelsLinks":{"type":"object","properties":{"next":{"type":"string","nullable":true},"prev":{"type":"string","nullable":true},"self":{"type":"string"}}},"ModelsMeta":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/ModelsPage"},"total":{"type":"integer"}}},"ModelsPage":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"sort":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## store  client pdnd Configuration

> Save client pdnd Configuration of specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/clients":{"post":{"tags":["Clients"],"summary":"store  client pdnd Configuration","description":"Save client pdnd Configuration of specific tenant","operationId":"pdnd-connector/server.CreateClient","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerClientPostInput"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsClientPDND"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerClientPostInput":{"type":"object","properties":{"env":{"type":"string","description":"ambiente del client"},"id":{"type":"string","description":"..."},"key_id":{"type":"string","description":"key id del client"},"key_pair_id":{"type":"string","description":"id interno del materiale critografico"},"name":{"type":"string","description":"nome del tenant"}}},"ModelsClientPDND":{"type":"object","properties":{"created_at":{"type":"string"},"env":{"type":"string"},"id":{"type":"string"},"key_id":{"type":"string"},"key_pair_id":{"type":"string"},"name":{"type":"string"},"public_key":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Get client pdnd Configuration

> Get client pdnd Configuration of specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/clients/{client_id}":{"get":{"tags":["Clients"],"summary":"Get client pdnd Configuration","description":"Get client pdnd Configuration of specific tenant","operationId":"pdnd-connector/server.GetClientByClientId","parameters":[{"name":"client_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsClientPDND"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsClientPDND":{"type":"object","properties":{"created_at":{"type":"string"},"env":{"type":"string"},"id":{"type":"string"},"key_id":{"type":"string"},"key_pair_id":{"type":"string"},"name":{"type":"string"},"public_key":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Update client pdnd Configuration

> Update client pdnd Configuration of specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/clients/{client_id}":{"put":{"tags":["Clients"],"summary":"Update client pdnd Configuration","description":"Update client pdnd Configuration of specific tenant","operationId":"pdnd-connector/server.UpdateClient","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"client_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerClientUpdateInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsClientPDND"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerClientUpdateInput":{"type":"object","properties":{"env":{"type":"string","description":"ambiente del client"},"key_id":{"type":"string","description":"key id del client"},"key_pair_id":{"type":"string","description":"id interno del materiale critografico"},"name":{"type":"string","description":"nome del tenant"}}},"ModelsClientPDND":{"type":"object","properties":{"created_at":{"type":"string"},"env":{"type":"string"},"id":{"type":"string"},"key_id":{"type":"string"},"key_pair_id":{"type":"string"},"name":{"type":"string"},"public_key":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Delete client pdnd Configuration

> Delete client pdnd Configuration of specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/clients/{client_id}":{"delete":{"tags":["Clients"],"summary":"Delete client pdnd Configuration","description":"Delete client pdnd Configuration of specific tenant","operationId":"pdnd-connector/server.DeleteClient","parameters":[{"name":"client_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Update client pdnd Configuration

> Update client pdnd Configuration of specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/clients/{client_id}":{"patch":{"tags":["Clients"],"summary":"Update client pdnd Configuration","description":"Update client pdnd Configuration of specific tenant","operationId":"pdnd-connector/server.PatchClient","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"client_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerClientUpdateInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsClientPDND"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerClientUpdateInput":{"type":"object","properties":{"env":{"type":"string","description":"ambiente del client"},"key_id":{"type":"string","description":"key id del client"},"key_pair_id":{"type":"string","description":"id interno del materiale critografico"},"name":{"type":"string","description":"nome del tenant"}}},"ModelsClientPDND":{"type":"object","properties":{"created_at":{"type":"string"},"env":{"type":"string"},"id":{"type":"string"},"key_id":{"type":"string"},"key_pair_id":{"type":"string"},"name":{"type":"string"},"public_key":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Get Config list of specific tenant filtered by client

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/clients/{client_id}/configs":{"get":{"tags":["Configs"],"summary":"Get Config list of specific tenant filtered by client","description":"...","operationId":"pdnd-connector/server.GetConfigsListByTenantIdAndClientId","parameters":[{"name":"limit","in":"query","description":"The limit parameter specifies the maximum number of items to be returned in a single page or request","schema":{"type":"integer","description":"The limit parameter specifies the maximum number of items to be returned in a single page or request"}},{"name":"sort","in":"query","description":"...","schema":{"type":"string","description":"..."}},{"name":"offset","in":"query","description":" the starting point or the index from which the data should be retrieved","schema":{"type":"integer","description":" the starting point or the index from which the data should be retrieved"}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"client_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsConfigListResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsConfigListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ModelsConfig"},"nullable":true},"links":{"$ref":"#/components/schemas/ModelsLinks"},"meta":{"$ref":"#/components/schemas/ModelsMeta"}}},"ModelsConfig":{"type":"object","properties":{"call_url":{"type":"string"},"client_id":{"type":"string"},"created_at":{"type":"string"},"eservice_id":{"type":"string"},"id":{"type":"string"},"is_active":{"type":"boolean"},"purpose_id":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ModelsLinks":{"type":"object","properties":{"next":{"type":"string","nullable":true},"prev":{"type":"string","nullable":true},"self":{"type":"string"}}},"ModelsMeta":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/ModelsPage"},"total":{"type":"integer"}}},"ModelsPage":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"sort":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Get Config list of specific tenant

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/configs":{"get":{"tags":["Configs"],"summary":"Get Config list of specific tenant","description":"...","operationId":"pdnd-connector/server.GetConfigsListByTenantId","parameters":[{"name":"limit","in":"query","description":"The limit parameter specifies the maximum number of items to be returned in a single page or request","schema":{"type":"integer","description":"The limit parameter specifies the maximum number of items to be returned in a single page or request"}},{"name":"sort","in":"query","description":"...","schema":{"type":"string","description":"..."}},{"name":"offset","in":"query","description":" the starting point or the index from which the data should be retrieved","schema":{"type":"integer","description":" the starting point or the index from which the data should be retrieved"}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsConfigListResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsConfigListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ModelsConfig"},"nullable":true},"links":{"$ref":"#/components/schemas/ModelsLinks"},"meta":{"$ref":"#/components/schemas/ModelsMeta"}}},"ModelsConfig":{"type":"object","properties":{"call_url":{"type":"string"},"client_id":{"type":"string"},"created_at":{"type":"string"},"eservice_id":{"type":"string"},"id":{"type":"string"},"is_active":{"type":"boolean"},"purpose_id":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ModelsLinks":{"type":"object","properties":{"next":{"type":"string","nullable":true},"prev":{"type":"string","nullable":true},"self":{"type":"string"}}},"ModelsMeta":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/ModelsPage"},"total":{"type":"integer"}}},"ModelsPage":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"sort":{"type":"string","nullable":true}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Save Service Configuration

> ...

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/configs":{"post":{"tags":["Configs"],"summary":"Save Service Configuration","description":"...","operationId":"pdnd-connector/server.CreateConfig","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerConfigPostInput"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerConfigPostInput":{"type":"object","properties":{"client_id":{"type":"string","description":"..."},"eservice_id":{"type":"string","description":"..."},"is_active":{"type":"boolean","description":"...","nullable":true},"purpose_id":{"type":"string","description":"..."}}},"ModelsConfig":{"type":"object","properties":{"call_url":{"type":"string"},"client_id":{"type":"string"},"created_at":{"type":"string"},"eservice_id":{"type":"string"},"id":{"type":"string"},"is_active":{"type":"boolean"},"purpose_id":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Get Config

> Get config of specific tenant by id

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/configs/{config_id}":{"get":{"tags":["Configs"],"summary":"Get Config","description":"Get config of specific tenant by id","operationId":"pdnd-connector/server.GetconfigByID","parameters":[{"name":"config_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsConfig":{"type":"object","properties":{"call_url":{"type":"string"},"client_id":{"type":"string"},"created_at":{"type":"string"},"eservice_id":{"type":"string"},"id":{"type":"string"},"is_active":{"type":"boolean"},"purpose_id":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Update Config

> Update config of specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/configs/{config_id}":{"put":{"tags":["Configs"],"summary":"Update Config","description":"Update config of specific tenant","operationId":"pdnd-connector/server.UpdateConfig","parameters":[{"name":"config_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerConfigsUpdateInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerConfigsUpdateInput":{"type":"object","properties":{"client_id":{"type":"string","description":"..."},"eservice_id":{"type":"string","description":"..."},"is_active":{"type":"boolean","description":"...","nullable":true},"purpose_id":{"type":"string","description":"..."}}},"ModelsConfig":{"type":"object","properties":{"call_url":{"type":"string"},"client_id":{"type":"string"},"created_at":{"type":"string"},"eservice_id":{"type":"string"},"id":{"type":"string"},"is_active":{"type":"boolean"},"purpose_id":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Disable Config

> Soft deleting config of specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/configs/{config_id}":{"delete":{"tags":["Configs"],"summary":"Disable Config","description":"Soft deleting config of specific tenant","operationId":"pdnd-connector/server.DeleteConfig","parameters":[{"name":"config_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Patch Config

> Patch config of specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/configs/{config_id}":{"patch":{"tags":["Configs"],"summary":"Patch Config","description":"Patch config of specific tenant","operationId":"pdnd-connector/server.PatchConfig","parameters":[{"name":"config_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerConfigsPatchInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerConfigsPatchInput":{"type":"object","properties":{"client_id":{"type":"string","description":"..."},"eservice_id":{"type":"string","description":"..."},"is_active":{"type":"boolean","description":"...","nullable":true},"purpose_id":{"type":"string","description":"..."}}},"ModelsConfig":{"type":"object","properties":{"call_url":{"type":"string"},"client_id":{"type":"string"},"created_at":{"type":"string"},"eservice_id":{"type":"string"},"id":{"type":"string"},"is_active":{"type":"boolean"},"purpose_id":{"type":"string"},"tenant_id":{"type":"string"},"updated_at":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Get Key

> Get key unused key for a specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/keys":{"get":{"tags":["Keys"],"summary":"Get Key","description":"Get key unused key for a specific tenant","operationId":"pdnd-connector/server.GetKeys","parameters":[{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsKeysResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ModelsKeysResponse":{"type":"object","properties":{"id":{"type":"string"},"public_key":{"type":"string"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Delete Key

> Delete key used by specific tenant

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/tenants/{tenant_id}/keys/{keys_id}":{"delete":{"tags":["Keys"],"summary":"Delete Key","description":"Delete key used by specific tenant","operationId":"pdnd-connector/server.DeleteKeyById","parameters":[{"name":"keys_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"tenant_id","in":"path","description":"...","required":true,"schema":{"type":"string","description":"..."}},{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"responses":{"204":{"description":"No Content","headers":{"Authorization":{"style":"simple","description":"...","schema":{"type":"string","description":"..."}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```

## Validation

> Validate pdnd e-service response

```json
{"openapi":"3.0.3","info":{"title":"PDND Connector API","version":"1.6.1"},"servers":[{"url":"","description":"Pdnd-Connector-1.6.1"}],"paths":{"/validate":{"post":{"tags":["Valid"],"summary":"Validation","description":"Validate pdnd e-service response","operationId":"pdnd-connector/server.Validation","parameters":[{"name":"Authorization","in":"header","description":"...","schema":{"type":"string","description":"..."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerValidationInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsValidationResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerEnhancedErrResponse"}}}}}}}},"components":{"schemas":{"ServerValidationInput":{"type":"object","properties":{"Data":{"description":"data to validate. Can be different depending by the format param"},"Meta":{"$ref":"#/components/schemas/ModelsValidationMeta"}}},"ModelsValidationMeta":{"type":"object","properties":{"call_url":{"type":"string"},"config_id":{"type":"string","description":"id that identify a specific configuration to call an e-service"},"created_at":{"type":"string"},"fiscal_code":{"type":"string","description":"italian fiscal code"},"format":{"type":"string"},"signature":{"type":"string","description":"base64 encoded signature"},"source":{"type":"string"},"validation_url":{"type":"string"}}},"ModelsValidationResponse":{"type":"object","properties":{"result":{"type":"boolean"}}},"ServerEnhancedErrResponse":{"type":"object","properties":{"detail":{"type":"string","description":"Error detail."},"instance":{"type":"string","description":"Error instance."},"status":{"type":"integer","description":"Error status.","format":"int32"},"title":{"type":"string","description":"Error title."},"type":{"type":"string","description":"Error type."}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opencityitalia.it/sviluppatori-e-partner-tecnologici/integrazioni/integrazione-con-pdnd/definizione-api-pdnd-connector.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
