# 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."}}}}}}
```
