# API v2

## Aggiornamenti principali rispetto all'API v1

### Introduzione di campi "standard"

Con la versione 2 delle API di configurazione sono stati introdotti dei campi da introdurre obbligatoriamente in ogni integrazione.

#### Tenant

I campi da introdurre obbligatoriamente a livello di configurazione del tenant sono:

* `id`: identificativo univoco del tenant
* `name`: nome del tenant
* `tax_identification_number`: codice fiscale dell'ente

<table><thead><tr><th width="308">Campo</th><th>Tipo</th><th data-type="checkbox">Obbligatorio</th><th>Validazione</th></tr></thead><tbody><tr><td><code>id</code></td><td>UUID</td><td>true</td><td>Identificativo univoco</td></tr><tr><td><code>name</code></td><td>String</td><td>true</td><td>Non vuoto, massimo 255 caratteri</td></tr><tr><td><code>tax_identification_number</code></td><td>String</td><td>true</td><td>Codice fiscale valido</td></tr></tbody></table>

#### Configurazione pagamento

I campi da introdurre obbligatoriamente a livello di configurazione del pagamento sono:

* `id`: questo campo è già presente, tuttavia a differenza della v1 delle API, andrà generato dal proxy di pagamento. Importante sottolineare che ciò non toglie la possibilità per chi chiama l'API di indicare l'id, quindi, se viene indicato l'id da chi chiama l'API, si controlla che questo non sia già presente, se non lo è si inserisce la configurazione, se invece non viene specificato l'id da chi chiama l'API, allora è il proxy a generarlo sul momento.
* `payment_type`: tipo di pagamento, può assumere i valori `pagopa` o `stamp`, serve a distinguere tra un pagamento ordinario (es. TARI) e una marca da bollo digitale. Questa distinzione è necessaria in quanto in alcuni intermediare i metodi di creazione di un pagamento di una marca da bollo digitale differiscono da quelli di creazione di un pagamento ordinario.
* `remote_collection.id`: identificativo della collezione di provenienza della configurazione di pagamento.
* `remote_collection.type`: tipo di collezione di provenienza della configurazione di pagamento, può assumere valori quali `application`, `service` o altro.
* `amount`: importo del pagamento configurato.
* `reason`: causale del pagamento configurato
* `expire_at`: numero di giorni di validità del pagamento
* `receiver.tax_identification_number`: codice fiscale del beneficiario del pagamento, da usare in caso di pagamenti multibeneficiario
* `receiver.name`: nome del beneficiario del pagamento, da usare in caso di pagamenti multibeneficiario
* `collection_data`: tassonomia di pagoPA dei pagamenti

<table><thead><tr><th width="268">Campo</th><th>Tipo</th><th data-type="checkbox">Obbligatorio</th><th>Validazione</th></tr></thead><tbody><tr><td><code>payment_type</code></td><td>Enum</td><td>true</td><td>Valori: <code>PAGOPA</code>, <code>STAMP</code></td></tr><tr><td><code>remote_collection.id</code></td><td>UUID</td><td>true</td><td>Identificativo univoco</td></tr><tr><td><code>remote_collection.type</code></td><td>String</td><td>true</td><td>Valori: application, service, altro</td></tr><tr><td><code>amount</code></td><td>float</td><td>true</td><td>Maggiore di 0</td></tr><tr><td><code>reason</code></td><td>String</td><td>true</td><td>Non vuoto, massimo 255 caratteri</td></tr><tr><td><code>expire_at</code></td><td>int</td><td>true</td><td>Maggiore di 0</td></tr><tr><td><code>receiver.tax_identification_number</code></td><td>String</td><td>true</td><td>Codice fiscale valido</td></tr><tr><td><code>receiver.name</code></td><td>String</td><td>true</td><td>Non vuoto, massimo 255 caratteri</td></tr><tr><td><code>collection_data</code></td><td>String</td><td>false</td><td>Tassonomia pagoPA valida</td></tr></tbody></table>

## Configurazione tenant

L'admin, dall'interfaccia di configurazione dei pagamenti della Stanza del Cittadino compila la configurazione mediante una form, il cui json schema è servito dall'API `/tenants/schema`

<figure><img src="https://2402436129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNwAiDeLoMPCkkp1BdSbI%2Fuploads%2F9xW3OOIMqVvR0hfIrgAx%2FScreenshot%202024-09-09%20alle%2010.07.46.png?alt=media&#x26;token=8b7d5c1a-943f-420f-8e5f-b897b5b7fd03" alt=""><figcaption></figcaption></figure>

Lo schema della form sopra riportata è il seguente

```json
{
    "display": "form",
    "components": [
        {
            "label": "UUID del Tenant",
            "placeholder": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            "spellcheck": false,
            "attributes": {
                "readonly": "readonly"
            },
            "hidden": true,
            "tableView": false,
            "validate": {
                "required": true
            },
            "key": "id",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Nome dell'ente",
            "placeholder": "Comune di Bugliano",
            "tableView": true,
            "validate": {
                "required": true
            },
            "key": "name",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Codice IPA dell'ente",
            "placeholder": "A000",
            "description": "Codice (tutto maiuscolo) assegnato all'Ente nel registro <a href='http://www.indicepa.gov.it' target='__blank'>indice PA</a>",
            "spellcheck": false,
            "tableView": true,
            "validate": {
                "required": true
            },
            "key": "IPA_code",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Codice fiscale dell'ente",
            "placeholder": "123456789",
            "spellcheck": false,
            "key": "tax_identification_number",
            "type": "textfield",
            "validate": {
                "required": true
            },
            "input": true,
            "tableView": true
        },
        {
            "label": "Password",
            "placeholder": "************",
            "description": "Password assegnata da MyPay all\u2019Ente",
            "spellcheck": false,
            "tableView": false,
            "validate": {
                "required": true
            },
            "key": "password",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Password carrello dovuti",
            "placeholder": "************",
            "description": "Password assegnata all\u2019ente creditore. Tale password va richiesta all\u2019amministratore dell\u2019ente creditore.<br>ATTENZIONE: questo dato NON coincide con la password (principale) dell\u2019ente.",
            "spellcheck": false,
            "tableView": true,
            "key": "cart_password",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Codice applicazione",
            "spellcheck": false,
            "tableView": true,
            "key": "application_code",
            "type": "textfield",
            "input": true,
            "hidden": true,
            "defaultValue": "SDC"
        },
        {
            "label": "Abilitato",
            "key": "active",
            "type": "checkbox",
            "input": true,
            "hidden": true,
            "defaultValue": true
        },
        {
            "label": "Salva",
            "showValidations": false,
            "tableView": false,
            "key": "submit",
            "type": "button",
            "input": true
        }
    ]
}
```

Premendo poi il bottone Salva, viene eseguita una `POST /tenants` servita dal proxy, con payload&#x20;

```json
{
    "name": "Comune di Bugliano",
    "IPA_code": "p_tn",
    "tax_identification_number": "00337460224",
    "password": "4CKSILO7FQPZ",
    "cart_password": "",
    "application_code": "",
    "active": true,
    "enable_checkout": false,
    "id": "60e35f02-1509-408c-b101-3b1a28109329"
}
```

Per modificare una configurazione esistente, il proxy serve l'API `PUT /tenants/{tenant_id}` e `PATCH /tenants/{tenant_id}`

Per eliminare una configurazione esistente, il proxy serve l'API `DELETE /tenants/{tenant_id}` . In questo caso l'eliminazione è una *soft-delete*, ovvero la configurazione viene semplicemente disattivata settando il parametro `active` a `false` ed eliminando la configurazione dalla memoria ma non dallo storage.

## Configurazione pagamento

L'admin, dall'interfaccia di configurazione dei pagamenti per un servizio compila la configurazione mediante una form, il cui json schema è servito dall'API `/configs/schema`&#x20;

<figure><img src="https://2402436129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNwAiDeLoMPCkkp1BdSbI%2Fuploads%2FGmKd4H0JcRFkIUZYU4uo%2FScreenshot%20from%202025-10-24%2016-24-18.png?alt=media&#x26;token=b4b5be75-ab3a-451b-895f-aeff1a98e4ed" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2402436129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNwAiDeLoMPCkkp1BdSbI%2Fuploads%2F6DOcmnmf5Lpu7zRRwLUy%2FScreenshot%20from%202025-10-24%2016-24-37.png?alt=media&#x26;token=d44c77b3-ed3a-4baf-9379-e12fa67ba2ea" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2402436129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNwAiDeLoMPCkkp1BdSbI%2Fuploads%2F7oIXtiwrVlq734MfK37g%2FScreenshot%20from%202025-10-24%2016-24-49.png?alt=media&#x26;token=0a07f411-9e0a-40ae-9bbc-fe3905ab9e85" alt=""><figcaption></figcaption></figure>

Lo schema della form soprariportata è il seguente

```json
{
    "display": "form",
    "components": [
        {
            "label": "UUID del Tenant",
            "hidden": true,
            "placeholder": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            "spellcheck": false,
            "attributes": {
                "readonly": "readonly"
            },
            "validate": {
                "required": true
            },
            "key": "tenant_id",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Container",
            "tableView": false,
            "validateWhenHidden": false,
            "key": "remote_collection",
            "type": "container",
            "input": true,
            "components": [
                {
                    "label": "UUID del Servizio",
                    "placeholder": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
                    "applyMaskOn": "change",
                    "hidden": true,
                    "spellcheck": false,
                    "tableView": true,
                    "validate": {
                        "required": true
                    },
                    "validateWhenHidden": false,
                    "key": "id",
                    "attributes": {
                        "readonly": "readonly"
                    },
                    "type": "textfield",
                    "input": true
                },
                {
                    "label": "Tipo di Servizio",
                    "description": "Valori: application, service, altro",
                    "applyMaskOn": "change",
                    "hidden": true,
                    "tableView": true,
                    "validate": {
                        "required": true
                    },
                    "key": "type",
                    "type": "textfield",
                    "input": true
                }
            ]
        },
        {
            "label": "Tipo di pagamento",
            "widget": "choicesjs",
            "tableView": true,
            "defaultValue": "pagopa",
            "data": {
                "values": [
                    {
                        "label": "PagoPA",
                        "value": "pagopa"
                    },
                    {
                        "label": "Marca da Bollo Digitale",
                        "value": "stamp"
                    }
                ]
            },
            "validate": {
                "required": true
            },
            "key": "payment_type",
            "type": "select",
            "input": true
        },
        {
            "label": "Importo",
            "applyMaskOn": "change",
            "mask": false,
            "tableView": false,
            "delimiter": false,
            "requireDecimal": false,
            "inputFormat": "plain",
            "truncateMultipleSpaces": false,
            "validate": {
                "required": true,
                "custom": "valid = (data.payment_type == 'stamp' && data.amount == 16) || (data.payment_type == 'pagopa') ? true : 'In caso di marca da bollo digitale l\\'unico importo permesso è di 16 euro'"
            },
            "validateWhenHidden": false,
            "key": "amount",
            "type": "number",
            "input": true
        },
        {
            "label": "Causale",
            "applyMaskOn": "change",
            "tableView": true,
            "validate": {
                "required": true,
                "maxLength": 140
            },
            "key": "reason",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Numero di giorni di validità del pagamento",
            "applyMaskOn": "change",
            "tableView": true,
            "validate": {
                "required": true
            },
            "key": "expire_at",
            "type": "number",
            "input": true
        },
        {
            "label": "Categoria",
            "widget": "choicesjs",
            "description": "Selezione dalla Tassonomia di PagoPA dei pagamenti.",
            "tableView": true,
            "dataSrc": "url",
            "data": {
                "url": "https://api.opencityitalia.it/datasets/pagopa",
                "headers": [
                    {
                        "key": "",
                        "value": ""
                    }
                ]
            },
            "validate": {
                "required": true
            },
            "dataType": "object",
            "idPath": "",
            "valueProperty": "DATI SPECIFICI DI INCASSO",
            "template": "<span>{{ item[\"NOME MACRO AREA\"] }}: {{ item[\"TIPO SERVIZIO\"] }}</span>",
            "customDefaultValue": "await new Promise(r => setTimeout(r, 1000));",
            "key": "collection_data",
            "type": "select",
            "disableLimit": false,
            "noRefreshOnScroll": false,
            "input": true
        },
        {
            "title": "Destinatario del pagamento",
            "theme": "info",
            "collapsible": false,
            "type": "panel",
            "label": "Destinatario del pagamento",
            "tableView": false,
            "input": true,
            "components": [
                {
                    "label": "Container",
                    "tableView": false,
                    "key": "receiver",
                    "type": "container",
                    "input": true,
                    "components": [
                        {
                            "label": "Codice fiscale destinatario",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "tax_identification_number",
                            "type": "textfield",
                            "validate": {
                                "required": true
                            },
                            "input": true
                        },
                        {
                            "label": "Nome destinatario",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "name",
                            "type": "textfield",
                            "validate": {
                                "required": true
                            },
                            "input": true
                        },
                        {
                            "label": "IBAN",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "iban",
                            "type": "textfield",
                            "input": true
                        },
                        {
                            "label": "Indirizzo",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "address",
                            "type": "textfield",
                            "input": true
                        },
                        {
                            "label": "Numero civico",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "building_number",
                            "type": "number",
                            "input": true
                        },
                        {
                            "label": "CAP",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "postal_code",
                            "type": "number",
                            "input": true
                        },
                        {
                            "label": "Città",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "town_name",
                            "type": "textfield",
                            "input": true
                        },
                        {
                            "label": "Provincia",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "country_subdivision",
                            "type": "textfield",
                            "input": true
                        },
                        {
                            "label": "Stato",
                            "applyMaskOn": "change",
                            "tableView": true,
                            "key": "country",
                            "type": "textfield",
                            "input": true
                        }
                    ]
                }
            ]
        },
        {
            "label": "Codice del servizio",
            "placeholder": "0000000",
            "description": "Codice del servizio fornito da efil",
            "validate": {
                "required": true
            },
            "key": "code",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Descrizione",
            "placeholder": "Servizi accessori CIE",
            "description": "Descrizione del servizio",
            "validate": {
                "required": true
            },
            "key": "description",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Codici di accertamento",
            "description": "Lista dei codici di accertamento associabili al servizio",
            "multiple": true,
            "defaultValue": [
                ""
            ],
            "key": "available_split_codes",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Tipologia di dovuto",
            "placeholder": "Avviso, Bolletta, Verbale, Fattura",
            "description": "Specificare la tipologia del dovuto che si sta caricando (Es: Avviso, Bolletta, Verbale, Fattura, etc)",
            "spellcheck": false,
            "validate": {
                "required": true,
                "maxLength": 35
            },
            "key": "management_id",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Codice iban dell'ente",
            "placeholder": "IT60 X054 2811 1010 0000 0123 456",
            "spellcheck": false,
            "key": "iban",
            "type": "textfield",
            "input": true
        },
        {
            "label": "Abilitato",
            "key": "active",
            "type": "checkbox",
            "input": true,
            "hidden": true,
            "defaultValue": true
        },
        {
            "label": "Bilancio",
            "tableView": false,
            "key": "split_enable",
            "type": "checkbox",
            "input": true,
            "defaultValue": true
        },
        {
            "label": "Bilancio",
            "reorder": false,
            "addAnotherPosition": "bottom",
            "layoutFixed": false,
            "enableRowGroups": false,
            "initEmpty": false,
            "tableView": false,
            "defaultValue": [
                {
                    "split_id": "",
                    "split_code": "",
                    "split_amount": 0
                }
            ],
            "key": "split",
            "conditional": {
                "show": true,
                "when": "split_enable",
                "eq": "true"
            },
            "type": "datagrid",
            "input": true,
            "components": [
                {
                    "label": "ID",
                    "description": "Identificativo univoco della voce di bilancio. Testo libero o uguale al codice.",
                    "placeholder": "2020/1",
                    "tableView": true,
                    "validate": {
                        "required": true
                    },
                    "key": "id",
                    "type": "textfield",
                    "input": true
                },
                {
                    "label": "Codice",
                    "description": "Questo campo deve essere uno di quelli della lista di codici di accertamento associabili al servizio",
                    "placeholder": "2020/1",
                    "tableView": true,
                    "redrawOn": "available_split_codes",
                    "validate": {
                        "required": true,
                        "custom": "if (input && !data.available_split_codes.includes(input)){\n  valid = \"Codice non configurato nella lista dei codici di accertamento disponibili\"\n}"
                    },
                    "key": "code",
                    "type": "textfield",
                    "input": true
                },
                {
                    "label": "Importo",
                    "description": "Importo della voce di bilancio. NB: La somma degli importi delle voci DEVE equivalere all'importo totale",
                    "placeholder": "16.00",
                    "validate": {
                        "required": true
                    },
                    "mask": false,
                    "tableView": false,
                    "delimiter": false,
                    "requireDecimal": false,
                    "inputFormat": "plain",
                    "truncateMultipleSpaces": false,
                    "key": "amount",
                    "type": "number",
                    "input": true
                }
            ]
        },
        {
            "label": "hidden",
            "calculateValue": "if (!data.split || data.split == 'undefined') {\n  data.split = []\n} else if (typeof data.split==='object' && Object.keys(data.split).length === 0) {\n  data.split = [];\n}",
            "key": "hidden",
            "type": "hidden",
            "input": true,
            "tableView": false
        },
        {
            "label": "Salva",
            "showValidations": false,
            "key": "submit",
            "type": "button",
            "input": true
        }
    ]
}
```

Premendo poi il bottone Salva, viene eseguita una `POST /configs` servita dal proxy, con payload&#x20;

```json
{
    "tenant_id": "60e35f02-1509-408c-b101-3b1a28109329",
    "code": "0000087",
    "description": "Abbonamento aree di sosta",
    "payment_type": "pagopa",
    "amount": 1.34,
    "reason": "Pagamento immediato EFIL [CON BILANCIO]",
    "expire_at": 180,
    "remote_collection": {
        "id": "3bb9230d-b1e2-43f0-a80b-c3b64abff5f7",
        "type": "service"
    },
    "receiver": {
        "tax_identification_number": "00184280360",
        "name": "Comune di carpi",
        "iban": "IT49C0200823307000028474373",
        "address": "",
        "building_number": "",
        "postal_code": "",
        "town_name": "",
        "country_subdivision": "",
        "country": ""
    },
    "available_split_codes": [
        "2022/1",
        "2022/2"
    ],
    "split": [
        {
            "id": "2022/1",
            "code": "2022/1",
            "amount": 1.0
        },
        {
            "id": "2022/2",
            "code": "2022/2",
            "amount": 0.34
        }
    ],
    "management_id": "Test",
    "iban": "IT49C0200823307000028474373",
    "collection_data": "n/a",
    "active": true,
    "id": "3bb9230d-b1e2-43f0-a80b-c3b64abff5f7"
}
```

Per modificare una configurazione esistente, il proxy serve l'API `PUT /configs/{config_id}` e `PATCH /configs/{config_id}`

Per eliminare una configurazione esistente, il proxy serve l'API `DELETE /configs/{config_id}` . In questo caso l'eliminazione è una *soft-delete*, ovvero la configurazione viene semplicemente disattivata settando il parametro `active` a `false`.

## Swagger di esempio

## GET /tenants/schema

> Get Tenant Form Schema

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants/schema":{"get":{"tags":["Tenants"],"summary":"Get Tenant Form Schema","operationId":"get_tenant_form_schema_tenants_schema_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}}}
```

## OPTIONS /tenants/schema

> Options Tenant Schema

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants/schema":{"options":{"tags":["Tenants"],"summary":"Options Tenant Schema","operationId":"options_tenant_schema_tenants_schema_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}}}
```

## GET /tenants/{tenant\_id}

> Get Tenant Configuration

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants/{tenant_id}":{"get":{"tags":["Tenants"],"summary":"Get Tenant Configuration","operationId":"get_tenant_configuration_tenants__tenant_id__get","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Tenant Id"},"name":"tenant_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tenant"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Tenant":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"code":{"type":"string","title":"Code"},"e2e_code":{"type":"string","title":"E2E Code"},"sil_id":{"type":"string","title":"Sil Id"},"receiver_code":{"type":"string","title":"Receiver Code"},"e2e_receiver_code":{"type":"string","title":"E2E Receiver Code"},"receiver_sil_id":{"type":"string","title":"Receiver Sil Id"},"password":{"type":"string","title":"Password"},"cert":{"type":"string","title":"Cert"},"application_code":{"type":"string","title":"Application Code","default":""},"active":{"type":"boolean","title":"Active"},"stamp_code":{"type":"string","title":"Stamp Code"},"stamp_password":{"type":"string","title":"Stamp Password"},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["tax_identification_number","code","sil_id","password","cert","active","id"],"title":"Tenant"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## PUT /tenants/{tenant\_id}

> Update Tenant Configuration

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants/{tenant_id}":{"put":{"tags":["Tenants"],"summary":"Update Tenant Configuration","operationId":"update_tenant_configuration_tenants__tenant_id__put","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Tenant Id"},"name":"tenant_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"TenantUpdate":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"code":{"type":"string","title":"Code"},"e2e_code":{"type":"string","title":"E2E Code"},"sil_id":{"type":"string","title":"Sil Id"},"receiver_code":{"type":"string","title":"Receiver Code"},"e2e_receiver_code":{"type":"string","title":"E2E Receiver Code"},"receiver_sil_id":{"type":"string","title":"Receiver Sil Id"},"password":{"type":"string","title":"Password"},"cert":{"type":"string","title":"Cert"},"application_code":{"type":"string","title":"Application Code","default":""},"active":{"type":"boolean","title":"Active"},"stamp_code":{"type":"string","title":"Stamp Code"},"stamp_password":{"type":"string","title":"Stamp Password"}},"type":"object","required":["tax_identification_number","code","sil_id","password","cert","active"],"title":"TenantUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## DELETE /tenants/{tenant\_id}

> Delete Tenant

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants/{tenant_id}":{"delete":{"tags":["Tenants"],"summary":"Delete Tenant","operationId":"delete_tenant_tenants__tenant_id__delete","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Tenant Id"},"name":"tenant_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## PATCH /tenants/{tenant\_id}

> Update Existing Tenant Configuration

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants/{tenant_id}":{"patch":{"tags":["Tenants"],"summary":"Update Existing Tenant Configuration","operationId":"update_existing_tenant_configuration_tenants__tenant_id__patch","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Tenant Id"},"name":"tenant_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"New Configuration"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## OPTIONS /tenants/{tenant\_id}

> Options Tenant Id

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants/{tenant_id}":{"options":{"tags":["Tenants"],"summary":"Options Tenant Id","operationId":"options_tenant_id_tenants__tenant_id__options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}}}
```

## POST /tenants

> Save Tenant Configuration

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants":{"post":{"tags":["Tenants"],"summary":"Save Tenant Configuration","operationId":"save_tenant_configuration_tenants_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tenant"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Tenant":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"code":{"type":"string","title":"Code"},"e2e_code":{"type":"string","title":"E2E Code"},"sil_id":{"type":"string","title":"Sil Id"},"receiver_code":{"type":"string","title":"Receiver Code"},"e2e_receiver_code":{"type":"string","title":"E2E Receiver Code"},"receiver_sil_id":{"type":"string","title":"Receiver Sil Id"},"password":{"type":"string","title":"Password"},"cert":{"type":"string","title":"Cert"},"application_code":{"type":"string","title":"Application Code","default":""},"active":{"type":"boolean","title":"Active"},"stamp_code":{"type":"string","title":"Stamp Code"},"stamp_password":{"type":"string","title":"Stamp Password"},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["tax_identification_number","code","sil_id","password","cert","active","id"],"title":"Tenant"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## OPTIONS /tenants

> Options Tenants

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Tenants"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/tenants":{"options":{"tags":["Tenants"],"summary":"Options Tenants","operationId":"options_tenants_tenants_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}}}
```

## GET /configs/schema

> Get Config Form Schema

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs/schema":{"get":{"tags":["Configurations"],"summary":"Get Config Form Schema","operationId":"get_config_form_schema_configs_schema_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}}}
```

## OPTIONS /configs/schema

> Options Config Schema

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs/schema":{"options":{"tags":["Configurations"],"summary":"Options Config Schema","operationId":"options_config_schema_configs_schema_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}}}
```

## GET /configs

> Get Payment Configurations List

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs":{"get":{"tags":["Configurations"],"summary":"Get Payment Configurations List","operationId":"get_payment_configurations_list_configs_get","parameters":[{"description":"Lista id delle configurazioni di pagamento","required":false,"schema":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Config Ids","description":"Lista id delle configurazioni di pagamento"},"name":"config_ids","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array","title":"Response Get Payment Configurations List Configs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Configuration":{"properties":{"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"payment_type":{"type":"string","title":"Payment Type","default":"pagopa"},"code":{"type":"string","title":"Code"},"description":{"type":"string","title":"Description"},"amount":{"type":"number","title":"Amount"},"reason":{"type":"string","maxLength":140,"title":"Reason"},"expire_at":{"type":"integer","title":"Expire At"},"collection_data":{"type":"string","title":"Collection Data"},"active":{"type":"boolean","title":"Active"},"split":{"items":{"$ref":"#/components/schemas/PaymentSplit"},"type":"array","title":"Split"},"office_code":{"type":"string","title":"Office Code"},"office_description":{"type":"string","title":"Office Description"},"reference_code":{"type":"string","title":"Reference Code"},"notes":{"type":"string","title":"Notes"},"remote_collection":{"$ref":"#/components/schemas/RemoteCollection"},"receiver":{"$ref":"#/components/schemas/Receiver"},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["tenant_id","amount","expire_at","collection_data","active","remote_collection"],"title":"Configuration"},"PaymentSplit":{"properties":{"split_id":{"type":"string","title":"Split Id"},"split_type":{"type":"string","title":"Split Type"},"split_code":{"type":"string","title":"Split Code"},"split_description":{"type":"string","title":"Split Description"},"split_amount":{"type":"number","title":"Split Amount"},"split_budget_chapter":{"type":"string","title":"Split Budget Chapter"},"split_assessment":{"type":"string","title":"Split Assessment"}},"type":"object","required":["split_id","split_amount"],"title":"PaymentSplit"},"RemoteCollection":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type","default":"service"}},"type":"object","required":["id"],"title":"RemoteCollection"},"Receiver":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"iban":{"type":"string","title":"Iban"}},"type":"object","required":["tax_identification_number","name"],"title":"Receiver"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## POST /configs

> Save Payment Configuration

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs":{"post":{"tags":["Configurations"],"summary":"Save Payment Configuration","operationId":"save_payment_configuration_configs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Configuration":{"properties":{"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"payment_type":{"type":"string","title":"Payment Type","default":"pagopa"},"code":{"type":"string","title":"Code"},"description":{"type":"string","title":"Description"},"amount":{"type":"number","title":"Amount"},"reason":{"type":"string","maxLength":140,"title":"Reason"},"expire_at":{"type":"integer","title":"Expire At"},"collection_data":{"type":"string","title":"Collection Data"},"active":{"type":"boolean","title":"Active"},"split":{"items":{"$ref":"#/components/schemas/PaymentSplit"},"type":"array","title":"Split"},"office_code":{"type":"string","title":"Office Code"},"office_description":{"type":"string","title":"Office Description"},"reference_code":{"type":"string","title":"Reference Code"},"notes":{"type":"string","title":"Notes"},"remote_collection":{"$ref":"#/components/schemas/RemoteCollection"},"receiver":{"$ref":"#/components/schemas/Receiver"},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["tenant_id","amount","expire_at","collection_data","active","remote_collection"],"title":"Configuration"},"PaymentSplit":{"properties":{"split_id":{"type":"string","title":"Split Id"},"split_type":{"type":"string","title":"Split Type"},"split_code":{"type":"string","title":"Split Code"},"split_description":{"type":"string","title":"Split Description"},"split_amount":{"type":"number","title":"Split Amount"},"split_budget_chapter":{"type":"string","title":"Split Budget Chapter"},"split_assessment":{"type":"string","title":"Split Assessment"}},"type":"object","required":["split_id","split_amount"],"title":"PaymentSplit"},"RemoteCollection":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type","default":"service"}},"type":"object","required":["id"],"title":"RemoteCollection"},"Receiver":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"iban":{"type":"string","title":"Iban"}},"type":"object","required":["tax_identification_number","name"],"title":"Receiver"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## OPTIONS /configs

> Options Configs

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs":{"options":{"tags":["Configurations"],"summary":"Options Configs","operationId":"options_configs_configs_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}}}
```

## GET /configs/{config\_id}

> Get Payment Configuration

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs/{config_id}":{"get":{"tags":["Configurations"],"summary":"Get Payment Configuration","operationId":"get_payment_configuration_configs__config_id__get","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Config Id"},"name":"config_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Configuration":{"properties":{"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"payment_type":{"type":"string","title":"Payment Type","default":"pagopa"},"code":{"type":"string","title":"Code"},"description":{"type":"string","title":"Description"},"amount":{"type":"number","title":"Amount"},"reason":{"type":"string","maxLength":140,"title":"Reason"},"expire_at":{"type":"integer","title":"Expire At"},"collection_data":{"type":"string","title":"Collection Data"},"active":{"type":"boolean","title":"Active"},"split":{"items":{"$ref":"#/components/schemas/PaymentSplit"},"type":"array","title":"Split"},"office_code":{"type":"string","title":"Office Code"},"office_description":{"type":"string","title":"Office Description"},"reference_code":{"type":"string","title":"Reference Code"},"notes":{"type":"string","title":"Notes"},"remote_collection":{"$ref":"#/components/schemas/RemoteCollection"},"receiver":{"$ref":"#/components/schemas/Receiver"},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["tenant_id","amount","expire_at","collection_data","active","remote_collection"],"title":"Configuration"},"PaymentSplit":{"properties":{"split_id":{"type":"string","title":"Split Id"},"split_type":{"type":"string","title":"Split Type"},"split_code":{"type":"string","title":"Split Code"},"split_description":{"type":"string","title":"Split Description"},"split_amount":{"type":"number","title":"Split Amount"},"split_budget_chapter":{"type":"string","title":"Split Budget Chapter"},"split_assessment":{"type":"string","title":"Split Assessment"}},"type":"object","required":["split_id","split_amount"],"title":"PaymentSplit"},"RemoteCollection":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type","default":"service"}},"type":"object","required":["id"],"title":"RemoteCollection"},"Receiver":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"iban":{"type":"string","title":"Iban"}},"type":"object","required":["tax_identification_number","name"],"title":"Receiver"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## PUT /configs/{config\_id}

> Update Payment Configuration

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs/{config_id}":{"put":{"tags":["Configurations"],"summary":"Update Payment Configuration","operationId":"update_payment_configuration_configs__config_id__put","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Config Id"},"name":"config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigurationUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ConfigurationUpdate":{"properties":{"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"payment_type":{"type":"string","title":"Payment Type","default":"pagopa"},"code":{"type":"string","title":"Code"},"description":{"type":"string","title":"Description"},"amount":{"type":"number","title":"Amount"},"reason":{"type":"string","maxLength":140,"title":"Reason"},"expire_at":{"type":"integer","title":"Expire At"},"collection_data":{"type":"string","title":"Collection Data"},"active":{"type":"boolean","title":"Active"},"split":{"items":{"$ref":"#/components/schemas/PaymentSplit"},"type":"array","title":"Split"},"office_code":{"type":"string","title":"Office Code"},"office_description":{"type":"string","title":"Office Description"},"reference_code":{"type":"string","title":"Reference Code"},"notes":{"type":"string","title":"Notes"},"remote_collection":{"$ref":"#/components/schemas/RemoteCollection"},"receiver":{"$ref":"#/components/schemas/Receiver"}},"type":"object","required":["tenant_id","amount","expire_at","collection_data","active","remote_collection"],"title":"ConfigurationUpdate"},"PaymentSplit":{"properties":{"split_id":{"type":"string","title":"Split Id"},"split_type":{"type":"string","title":"Split Type"},"split_code":{"type":"string","title":"Split Code"},"split_description":{"type":"string","title":"Split Description"},"split_amount":{"type":"number","title":"Split Amount"},"split_budget_chapter":{"type":"string","title":"Split Budget Chapter"},"split_assessment":{"type":"string","title":"Split Assessment"}},"type":"object","required":["split_id","split_amount"],"title":"PaymentSplit"},"RemoteCollection":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type","default":"service"}},"type":"object","required":["id"],"title":"RemoteCollection"},"Receiver":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"iban":{"type":"string","title":"Iban"}},"type":"object","required":["tax_identification_number","name"],"title":"Receiver"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## DELETE /configs/{config\_id}

> Delete Config

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs/{config_id}":{"delete":{"tags":["Configurations"],"summary":"Delete Config","operationId":"delete_config_configs__config_id__delete","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Config Id"},"name":"config_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## PATCH /configs/{config\_id}

> Update Existing Payment Configuration

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs/{config_id}":{"patch":{"tags":["Configurations"],"summary":"Update Existing Payment Configuration","operationId":"update_existing_payment_configuration_configs__config_id__patch","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Config Id"},"name":"config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"New Configuration"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## OPTIONS /configs/{config\_id}

> Options Config Id

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"tags":[{"name":"Configurations"}],"servers":[{"url":"https://api.stanzadelcittadino.it/payment-proxy/iris/v2","description":"iris-payment-proxy"}],"paths":{"/configs/{config_id}":{"options":{"tags":["Configurations"],"summary":"Options Config Id","operationId":"options_config_id_configs__config_id__options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}}}
```

## The Configuration object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"Configuration":{"properties":{"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"payment_type":{"type":"string","title":"Payment Type","default":"pagopa"},"code":{"type":"string","title":"Code"},"description":{"type":"string","title":"Description"},"amount":{"type":"number","title":"Amount"},"reason":{"type":"string","maxLength":140,"title":"Reason"},"expire_at":{"type":"integer","title":"Expire At"},"collection_data":{"type":"string","title":"Collection Data"},"active":{"type":"boolean","title":"Active"},"split":{"items":{"$ref":"#/components/schemas/PaymentSplit"},"type":"array","title":"Split"},"office_code":{"type":"string","title":"Office Code"},"office_description":{"type":"string","title":"Office Description"},"reference_code":{"type":"string","title":"Reference Code"},"notes":{"type":"string","title":"Notes"},"remote_collection":{"$ref":"#/components/schemas/RemoteCollection"},"receiver":{"$ref":"#/components/schemas/Receiver"},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["tenant_id","amount","expire_at","collection_data","active","remote_collection"],"title":"Configuration"},"PaymentSplit":{"properties":{"split_id":{"type":"string","title":"Split Id"},"split_type":{"type":"string","title":"Split Type"},"split_code":{"type":"string","title":"Split Code"},"split_description":{"type":"string","title":"Split Description"},"split_amount":{"type":"number","title":"Split Amount"},"split_budget_chapter":{"type":"string","title":"Split Budget Chapter"},"split_assessment":{"type":"string","title":"Split Assessment"}},"type":"object","required":["split_id","split_amount"],"title":"PaymentSplit"},"RemoteCollection":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type","default":"service"}},"type":"object","required":["id"],"title":"RemoteCollection"},"Receiver":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"iban":{"type":"string","title":"Iban"}},"type":"object","required":["tax_identification_number","name"],"title":"Receiver"}}}}
```

## The ConfigurationUpdate object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"ConfigurationUpdate":{"properties":{"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"payment_type":{"type":"string","title":"Payment Type","default":"pagopa"},"code":{"type":"string","title":"Code"},"description":{"type":"string","title":"Description"},"amount":{"type":"number","title":"Amount"},"reason":{"type":"string","maxLength":140,"title":"Reason"},"expire_at":{"type":"integer","title":"Expire At"},"collection_data":{"type":"string","title":"Collection Data"},"active":{"type":"boolean","title":"Active"},"split":{"items":{"$ref":"#/components/schemas/PaymentSplit"},"type":"array","title":"Split"},"office_code":{"type":"string","title":"Office Code"},"office_description":{"type":"string","title":"Office Description"},"reference_code":{"type":"string","title":"Reference Code"},"notes":{"type":"string","title":"Notes"},"remote_collection":{"$ref":"#/components/schemas/RemoteCollection"},"receiver":{"$ref":"#/components/schemas/Receiver"}},"type":"object","required":["tenant_id","amount","expire_at","collection_data","active","remote_collection"],"title":"ConfigurationUpdate"},"PaymentSplit":{"properties":{"split_id":{"type":"string","title":"Split Id"},"split_type":{"type":"string","title":"Split Type"},"split_code":{"type":"string","title":"Split Code"},"split_description":{"type":"string","title":"Split Description"},"split_amount":{"type":"number","title":"Split Amount"},"split_budget_chapter":{"type":"string","title":"Split Budget Chapter"},"split_assessment":{"type":"string","title":"Split Assessment"}},"type":"object","required":["split_id","split_amount"],"title":"PaymentSplit"},"RemoteCollection":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type","default":"service"}},"type":"object","required":["id"],"title":"RemoteCollection"},"Receiver":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"iban":{"type":"string","title":"Iban"}},"type":"object","required":["tax_identification_number","name"],"title":"Receiver"}}}}
```

## The ErrorMessage object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"ErrorMessage":{"properties":{"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"status":{"type":"integer","format":"int32","title":"Status"},"detail":{"anyOf":[{"type":"string"},{"type":"object"}],"title":"Detail"},"instance":{"type":"string","title":"Instance"}},"type":"object","required":["type","title","status","detail"],"title":"ErrorMessage"}}}}
```

## The HTTPValidationError object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## The PaymentSplit object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"PaymentSplit":{"properties":{"split_id":{"type":"string","title":"Split Id"},"split_type":{"type":"string","title":"Split Type"},"split_code":{"type":"string","title":"Split Code"},"split_description":{"type":"string","title":"Split Description"},"split_amount":{"type":"number","title":"Split Amount"},"split_budget_chapter":{"type":"string","title":"Split Budget Chapter"},"split_assessment":{"type":"string","title":"Split Assessment"}},"type":"object","required":["split_id","split_amount"],"title":"PaymentSplit"}}}}
```

## The Receiver object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"Receiver":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"iban":{"type":"string","title":"Iban"}},"type":"object","required":["tax_identification_number","name"],"title":"Receiver"}}}}
```

## The RemoteCollection object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"RemoteCollection":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type","default":"service"}},"type":"object","required":["id"],"title":"RemoteCollection"}}}}
```

## The Tenant object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"Tenant":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"code":{"type":"string","title":"Code"},"e2e_code":{"type":"string","title":"E2E Code"},"sil_id":{"type":"string","title":"Sil Id"},"receiver_code":{"type":"string","title":"Receiver Code"},"e2e_receiver_code":{"type":"string","title":"E2E Receiver Code"},"receiver_sil_id":{"type":"string","title":"Receiver Sil Id"},"password":{"type":"string","title":"Password"},"cert":{"type":"string","title":"Cert"},"application_code":{"type":"string","title":"Application Code","default":""},"active":{"type":"boolean","title":"Active"},"stamp_code":{"type":"string","title":"Stamp Code"},"stamp_password":{"type":"string","title":"Stamp Password"},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["tax_identification_number","code","sil_id","password","cert","active","id"],"title":"Tenant"}}}}
```

## The TenantUpdate object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"TenantUpdate":{"properties":{"tax_identification_number":{"type":"string","title":"Tax Identification Number"},"name":{"type":"string","title":"Name"},"code":{"type":"string","title":"Code"},"e2e_code":{"type":"string","title":"E2E Code"},"sil_id":{"type":"string","title":"Sil Id"},"receiver_code":{"type":"string","title":"Receiver Code"},"e2e_receiver_code":{"type":"string","title":"E2E Receiver Code"},"receiver_sil_id":{"type":"string","title":"Receiver Sil Id"},"password":{"type":"string","title":"Password"},"cert":{"type":"string","title":"Cert"},"application_code":{"type":"string","title":"Application Code","default":""},"active":{"type":"boolean","title":"Active"},"stamp_code":{"type":"string","title":"Stamp Code"},"stamp_password":{"type":"string","title":"Stamp Password"}},"type":"object","required":["tax_identification_number","code","sil_id","password","cert","active"],"title":"TenantUpdate"}}}}
```

## The ValidationError object

```json
{"openapi":"3.1.0","info":{"title":"Iris Proxy","version":"3.0.11"},"components":{"schemas":{"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```
