{
  "openapi": "3.0.1",
  "info": {
    "title": "IT-WALLET - Trust Anchor API",
    "description": "<b>Il Trust Anchor</b> espone al pubblico gli endpoint previsti dalle specifiche <a href=\"https://openid.net/specs/openid-federation-wallet-1_0-03.html\" target=\"_blank\">OpenID Federation Wallet Architectures 1.0 - draft 03</a>\ne <a href=\"https://openid.net/specs/openid-federation-1_0-42.html\" target=\"_blank\">OpenID Federation 1.0 - draft 42</a>,\ninclusi quelli a supporto per l'onboarding e l'offboarding nella federazione IT Wallet, oltre al <b>vct endpoint</b> per il\nrecupero dei Digital Credential Metadata Type relativi alle credenziali digitali attualmente supportate dall'ecosistema IT Wallet:\n<ul>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/WalletAttestation\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/WalletAttestation</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/personidentificationdata\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/personidentificationdata</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/europeandisabilitycard\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/europeandisabilitycard</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/europeanhealthinsurancecard\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/europeanhealthinsurancecard</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/mdl\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/mdl</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/education_degree\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/education_degree</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/education_enrollment\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/education_enrollment</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/residency\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/residency</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/education_diploma\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/education_diploma</a></li>\n\t<li><a href=\"https://ta.wallet.ipzs.it/vct/v1.0.0/education_attendance\" target=\"_blank\">https://ta.wallet.ipzs.it/vct/v1.0.0/education_attendance</a></li>\n</ul>\nDi seguito vengono riportati i <b>vct#integrity</b> delle credenziali digitali:\n<ul>\n\t<li><b>walletattestation</b>: <code>sha256-2s/59xWMyHfm5I1wf6yVFQARuUwxLvmoHaFMPxGka2M=</code></li>\n\t<li><b>personidentificationdata</b>: <code>sha256-fEPuFq4lTcBUVmnUTHf47PYmnFQ85ZWV/dCQoi2Uzek=</code></li>\n\t<li><b>europeandisabilitycard</b>: <code>sha256-Rdj6fHA1bU3/cKU9UztC9Lz9DRxm2xE4yKx/j5yJMzs=</code></li>\n\t<li><b>europeanhealthinsurancecard</b>: <code>sha256-dNayfwhSTJ5UjlwRN1u6BCmHRUBtYGzg/S8CCSTokiM=</code></li>\n\t<li><b>mdl</b>: <code>sha256-faWTLBJ9Y53QHAqExaEkmlljYAo7dY5p+eFMEi6RI3I=</code></li>\n\t<li><b>education_degree</b>: <code>sha256-jEjvwFB76yTL9i8yszk/X0uuFx4n+0e7owKGbQygHA4=</code></li>\n\t<li><b>education_enrollment</b>: <code>sha256-O8UyMTq4KACMM17gch+hSkvJpeYkst6BAUsOUAcgY/g=</code></li>\n\t<li><b>residency</b>: <code>sha256-FI5lzNBJPoUEhuuP8LLHfvwT+kGzDj5o74P2u9Jh0aA=</code></li>\n\t<li><b>education_diploma</b>: <code>sha256-HW6JPbJOWT6dOrjHMv3XXderWM0n56XbTY8XvFDGXWA=</code></li>\n\t<li><b>education_attendance</b>: <code>sha256-OowT08KP8xulbviBPRdrtk3QmVyrSh+5bBXn8z7pjiQ=</code></li>\n\t</ul>",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://ta.wallet.ipzs.it",
      "description": "Endpoint del TA"
    }
  ],
  "paths": {
    "/pki/init": {
      "post": {
        "tags": [
          "PKI Endpoint"
        ],
        "summary": "pki init endpoint",
        "description": "Endpoint per richiedere alla CA di ruotare la coppia di chiavi (pubblica e privata) del Trust Anchor (TA) owner della CA (individuato dal parametro alias della richiesta); se le chiavi non sono presenti, vengono generate al momento e memorizzate nella CA; oltre alla rotazione/crezione delle chiavi, viene anche emesso un certificato X.509 Self Signed che certifica la nuova chiave pubblica e memorizzato con la coppia di chiavi  (tale certificato è restituito in formato PEM base64 encoded)",
        "operationId": "init",
        "responses": {
          "201": {
            "description": "Operazione effettuata correttamente",
            "content": {
              "application/json;charset=UTF-8": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Errore inizializzazione CA del Trust Anchor"
                }
              }
            }
          }
        }
      }
    },
    "/onBoarding": {
      "post": {
        "tags": [
          "OnBoarding Endpoint"
        ],
        "summary": "onboarding endpoint",
        "description": "Richiede al Trust Anchor di aggiungere alla federazione IT Wallet una specifica entità e rilasciare a quest'ultima un certificato X.509 che certifica la chiave pubblica presentata nella richiesta insieme alla CSR (la durata di tale certificato è di default pari a 2 anni). In risposta viene tramesso un oggetto JSON contenente in un claim x5c il certificato X.509 emesso dal Trust Anchor che certifica la chiave pubblica dell'entità e il certificato X.509 Self-signed del Trust Anchor da utilizzare per validare la firma del certificato rilasciato all'entità (entrambi i certificati presentano il formato DER codificato in Base 64). All'interno dell'oggetto JSON di risposta nel claim registrationNumber è presente l'identificativo della richiesta di onboarding.  Il content type del messaggio di risposta è application/json",
        "operationId": "onBoarding",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardingRequest"
              },
              "examples": {
                "Esempio di richiesta": {
                  "description": "Esempio di richiesta",
                  "value": {
                    "entityIdentifier": "https://foo11.blob.core.windows.net/foo",
                    "emailAddress": "pagopaspa@pec.pagopa.it",
                    "profile": "PUBLIC",
                    "jwk": "ewogICAgImt0eSI6ICJFQyIsCiAgICAieCI6ICJnWFk0RkFwRkpDajkxR3BiMUs5R0VJb3VUcTJYM0wwSzY0SXEwb2I0bF9nIiwKICAgICJ5IjogImwtNmRjcklyRlZkcnpvWTljUkp2OXpOdUZPUjNNc0R6NlRTRGhCMHhFbzQiLAogICAgImNydiI6ICJQLTI1NiIsCiAgICAia2lkIjogIk5zWHltZklJTEVQUjVZMHQiCn0=",
                    "csr": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQlRUQ0I5UUlCQURDQmtqRUxNQWtHQTFVRUJoTUNTVlF4RGpBTUJnTlZCQWdNQlV4aGVtbHZNUTB3Q3dZRApWUVFIREFSU2IyMWhNUll3RkFZRFZRUUtEQTFRWVdkdlVFRWdVeTV3TGtFdU1TUXdJZ1lEVlFRRERCdG1iMjh4Ck1TNWliRzlpTG1OdmNtVXVkMmx1Wkc5M2N5NXVaWFF4SmpBa0Jna3Foa2lHOXcwQkNRRVdGM0JoWjI5d1lYTncKWVVCd1pXTXVjR0ZuYjNCaExtbDBNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVnWFk0RkFwRgpKQ2o5MUdwYjFLOUdFSW91VHEyWDNMMEs2NElxMG9iNGwvaVg3cDF5c2lzVlYydk9oajF4RW0vM00yNFU1SGN5CndQUHBOSU9FSFRFU2pxQUFNQW9HQ0NxR1NNNDlCQU1DQTBjQU1FUUNJRjVFbjVSV2FRYmR3R25zbGdxenRyeTMKZk9EempPMHhDQTVBWjBxRFp4VE5BaUFkL2E2ZXJZSFFqTW5FcmFZbmttWkd1ZzJnUjJlaUNRb3lVektpMytJNQpqQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQ==",
                    "codiceEnte": "5N2TR557"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Il parametro jwk è stato valorizzato con una chiave che non corrisponde a quella contenuta nella CSR"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Errore generico durante l'esecuzione dell'operazione"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingResponse"
                },
                "examples": {
                  "Esempio di risposta 200": {
                    "description": "Esempio di risposta 200",
                    "value": {
                      "registrationNumber": "ITWALLET-Q92QDK",
                      "x5c": [
                        "MIIDqjCCA1GgAwIBAgIGAZc6/V9qMAoGCCqGSM49BAMCMIGzMQswCQYDVQQGEwJJVDEOMAwGA1UECAwFTGF6aW8xDTALBgNVBAcMBFJvbWExMTAvBgNVBAoMKElzdGl0dXRvIFBvbGlncmFmaWNvIGUgWmVjY2EgZGVsbG8gU3RhdG8xCzAJBgNVBAsMAklUMR4wHAYDVQQDDBVwcmUudGEud2FsbGV0LmlwenMuaXQxJTAjBgkqhkiG9w0BCQEWFnByb3RvY29sbG9AcGVjLmlwenMuaXQwHhcNMjUwNjA0MTI0OTMzWhcNMjcwNjA0MTI0OTMzWjCBkjELMAkGA1UEBhMCSVQxDjAMBgNVBAgMBUxhemlvMQ0wCwYDVQQHDARSb21hMRYwFAYDVQQKDA1QYWdvUEEgUy5wLkEuMSQwIgYDVQQDDBtmb28xMS5ibG9iLmNvcmUud2luZG93cy5uZXQxJjAkBgkqhkiG9w0BCQEWF3BhZ29wYXNwYUBwZWMucGFnb3BhLml0MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgXY4FApFJCj91Gpb1K9GEIouTq2X3L0K64Iq0ob4l/iX7p1ysisVV2vOhj1xEm/3M24U5HcywPPpNIOEHTESjqOCAW4wggFqMB0GA1UdDgQWBBSQofFAtq50ibRZ/Bl43kcxMbxIIzCB5QYDVR0jBIHdMIHagBTzUINxjECpXem0zyIpsnTqv3DEGaGBuaSBtjCBszELMAkGA1UEBhMCSVQxDjAMBgNVBAgMBUxhemlvMQ0wCwYDVQQHDARSb21hMTEwLwYDVQQKDChJc3RpdHV0byBQb2xpZ3JhZmljbyBlIFplY2NhIGRlbGxvIFN0YXRvMQswCQYDVQQLDAJJVDEeMBwGA1UEAwwVcHJlLnRhLndhbGxldC5pcHpzLml0MSUwIwYJKoZIhvcNAQkBFhZwcm90b2NvbGxvQHBlYy5pcHpzLml0ggYBlzr5eUMwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAAcwPQYDVR0fBDYwNDAyoDCgLoYsaHR0cHM6Ly9wcmUudGEud2FsbGV0LmlwenMuaXQvcGtpL3RhLXN1Yi5jcmwwCgYIKoZIzj0EAwIDRwAwRAIgBSyH++oPDP8ipRxHcJ8u2HkN7wL44XpJFxSIBV9RFHMCIBixpcT43NSsk0EvhJb4g68c1d9OrBnXOXVuyCtWWE6a",
                        "MIIDQzCCAuigAwIBAgIGAZc6+XlDMAoGCCqGSM49BAMCMIGzMQswCQYDVQQGEwJJVDEOMAwGA1UECAwFTGF6aW8xDTALBgNVBAcMBFJvbWExMTAvBgNVBAoMKElzdGl0dXRvIFBvbGlncmFmaWNvIGUgWmVjY2EgZGVsbG8gU3RhdG8xCzAJBgNVBAsMAklUMR4wHAYDVQQDDBVwcmUudGEud2FsbGV0LmlwenMuaXQxJTAjBgkqhkiG9w0BCQEWFnByb3RvY29sbG9AcGVjLmlwenMuaXQwHhcNMjUwNjA0MTI0NTE3WhcNMzAwNjAzMTI0NTE3WjCBszELMAkGA1UEBhMCSVQxDjAMBgNVBAgMBUxhemlvMQ0wCwYDVQQHDARSb21hMTEwLwYDVQQKDChJc3RpdHV0byBQb2xpZ3JhZmljbyBlIFplY2NhIGRlbGxvIFN0YXRvMQswCQYDVQQLDAJJVDEeMBwGA1UEAwwVcHJlLnRhLndhbGxldC5pcHpzLml0MSUwIwYJKoZIhvcNAQkBFhZwcm90b2NvbGxvQHBlYy5pcHpzLml0MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaE0xyhd3e9LDT7uwHOclL5H3389gwiCwFhI3KOvidn0glBIHYxqH+4Z9VTMYWG5L8cwC9AaJUCNGu2dp5ZiiTKOB5TCB4jAdBgNVHQ4EFgQU81CDcYxAqV3ptM8iKbJ06r9wxBkwHwYDVR0jBBgwFoAU81CDcYxAqV3ptM8iKbJ06r9wxBkwDwYDVR0TAQH/BAUwAwEB/zBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAKGKGh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0L3BraS90YS5jZXIwDgYDVR0PAQH/BAQDAgEGMDkGA1UdHwQyMDAwLqAsoCqGKGh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0L3BraS90YS5jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAOsQYzR+eGf4je63VGHqkpmkBbfyOre+mfIdHHowWWR/AiEA58xBNb5UW5uMB+tQur8fq24RD5MmRHLYS6bDgIYmluw="
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/offBoarding": {
      "post": {
        "tags": [
          "OffBoarding Endpoint"
        ],
        "summary": "offboarding endpoint",
        "description": "Richiede al Trust Anchor di rimuovere dalla federazione IT Wallet una specifica entità e revocare il certificato X.509 che gli era stato rilasciato dal TA per certificare la chiave pubblica presentata nella richiesta di onBoarding. Il content type del messaggio di risposta è application/json",
        "operationId": "offBoarding",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardingRequest"
              },
              "examples": {
                "Esempio di richiesta": {
                  "description": "Esempio di richiesta",
                  "value": {
                    "sub": "https://foo11.blob.core.windows.net/foo",
                    "registrationNumber": "a968bdce-6890-41f2-bd76-3467a391e2bd"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingResponse"
                },
                "examples": {
                  "Esempio di risposta 200": {
                    "description": "Esempio di risposta 200",
                    "value": {
                      "id": "a968bdce-6890-41f2-bd76-3467a391e2bd"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Il parametro sub non è stato valorizzato con un HTTPS URL"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Errore generico durante l'esecuzione dell'operazione"
                }
              }
            }
          }
        }
      }
    },
    "/vct/{version}/{type}": {
      "get": {
        "tags": [
          "VCT Endpoint"
        ],
        "summary": "vct endpoint",
        "description": "Recupera dal Trust Anchor il Digital Credential Metadata Type, in formato JSON, relativo alla credeziale SD-JWT la cui versione e tipologia sono specificate come path parameter nella richiesta. Il content type del messaggio di risposta è application/json",
        "operationId": "getVct",
        "parameters": [
          {
            "name": "version",
            "in": "path",
            "description": "Versione della credenziale",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "1.0.0"
          },
          {
            "name": "type",
            "in": "path",
            "description": "Tipologia credenziale",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "personidentificationdata"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "example-200": {
                    "summary": "Schema JSON di esempio per SD-JWT PersonIdentificationData",
                    "description": "Esempio completo di JSON restituito dal Trust Anchor",
                    "value": {
                      "$schema": "https://json-schema.org/draft/2020-12/schema",
                      "title": "SD-JWT PersonIdentificationData Schema",
                      "description": "An object defining the structure of a SD-JWT Verifiable Credential PersonIdentificationData",
                      "type": "object",
                      "allOf": [
                        {
                          "$ref": "vc_sd_jwt.json"
                        },
                        {
                          "properties": {
                            "given_name": {
                              "type": "string",
                              "description": "First Name"
                            },
                            "family_name": {
                              "type": "string",
                              "description": "Family Name"
                            },
                            "birth_date": {
                              "type": "string",
                              "format": "date",
                              "description": "Date of birth"
                            },
                            "birth_place": {
                              "type": "string",
                              "description": "Place of birth"
                            },
                            "tax_id_code": {
                              "type": "string",
                              "description": "Tax ID Code"
                            },
                            "nationality": {
                              "type": "string",
                              "description": "Issuing country as two letter country code defined in ISO 3166-1 alpha-2",
                              "pattern": "^[A-Z]{2}$"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Errore generico durante l'esecuzione dell'operazione"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Vct richiesto non disponibile"
                }
              }
            }
          }
        }
      }
    },
    "/status": {
      "get": {
        "tags": [
          "Status Endpoint"
        ],
        "summary": "status endpoint",
        "description": "Recupera lo stato di onboarding di una specifica entità",
        "operationId": "resolveEntity",
        "parameters": [
          {
            "name": "sub",
            "in": "query",
            "description": "Federation Entity Identifier dell'entità",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "https://foo11.blob.core.windows.net/foo"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                },
                "examples": {
                  "example-200": {
                    "summary": "Schema JSON di esempio per l'entità https://foo11.blob.core.windows.net/foo",
                    "description": "Esempio completo di JSON restituito dal Trust Anchor",
                    "value": {
                      "federationEntityId": "https://foo11.blob.core.windows.net/foo",
                      "profile": "public",
                      "status": 2,
                      "statusDetail": "ONBOARD CONCLUSO",
                      "lastUpdateStatus": "30/05/2025 10:53:09"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Il parametro sub non è stato valorizzato con un HTTPS URL"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Errore generico durante l'esecuzione dell'operazione"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Il valore del parametro sub non individua alcuna entità"
                }
              }
            }
          }
        }
      }
    },
    "/resolve": {
      "get": {
        "tags": [
          "Federation Endpoint"
        ],
        "summary": "resolve entity endpoint",
        "description": "Recupera dal Trust Anchor (TA) i metadati e la trust chain di un partecipante della federazione IT Wallet che il TA possiede al proprio interno perché recuperati in una trust evaluation precedentemente effettuata per tale partecipante e li ritorna in risposta nel payload di un JWT firmato. Nella richiesta viene fornito il Federation Entity Identifier del soggetto dei metadati e della trust chain (parametro sub) e il Federation Entity Identifier del TA della federazione (nel parametro trust_anchor). Il content type del messaggio di risposta è application/resolve-response+jwt",
        "operationId": "resolveEntity_1",
        "parameters": [
          {
            "name": "sub",
            "in": "query",
            "description": "Federation Entity Identifier del soggetto dei metadati e della trust chain",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "https://foo11.blob.core.windows.net/foo"
          },
          {
            "name": "entity_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "wallet_provider"
          },
          {
            "name": "trust_anchor",
            "in": "query",
            "description": "Federation Entity Identifier del TA",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "https://ta.wallet.ipzs.it"
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Il parametro trust_anchor non è stato valorizzato con il Federation Entity Identifier del Trust Anchor"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Errore generico durante l'esecuzione dell'operazione"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/resolve-response+jwt": {
                "schema": {
                  "type": "string",
                  "format": "jwt"
                },
                "example": "eyJraWQiOiJNZkxfRjVXa2t2QnM1eWZyUURsOGVVY25hNU5va1gyUnB0dlhlejhZSVFjIiwidHlwIjoicmVzb2x2ZS1yZXNwb25zZStqd3QiLCJhbGciOiJFUzI1NiJ9.eyJzdWIiOiJodHRwczovL2ZvbzExLmJsb2IuY29yZS53aW5kb3dzLm5ldC9mb28iLCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJob21lcGFnZV91cmkiOiJodHRwczovL2lvLml0YWxpYS5pdCIsImxvZ29fdXJpIjoiaHR0cHM6Ly9pby5pdGFsaWEuaXQvYXNzZXRzL2ltZy9pby1pdC1sb2dvLWJsdWUuc3ZnIiwib3JnYW5pemF0aW9uX25hbWUiOiJQYWdvUEEgUy5wLkEuIiwicG9saWN5X3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5IiwidG9zX3VyaSI6Imh0dHBzOi8vaW8uaXRhbGlhLml0L3ByaXZhY3ktcG9saWN5IiwiY29udGFjdHMiOlsicGFnb3Bhc3BhQHBlYy5wYWdvcGEuaXQiXX0sIndhbGxldF9wcm92aWRlciI6eyJhYWxfdmFsdWVzX3N1cHBvcnRlZCI6WyJodHRwczovL3dhbGxldC5pby5wYWdvcGEuaXQvTG9BL2Jhc2ljIiwiaHR0cHM6Ly93YWxsZXQuaW8ucGFnb3BhLml0L0xvQS9tZWRpdW0iLCJodHRwczovL3dhbGxldC5pby5wYWdvcGEuaXQvTG9BL2hpZ2h0Il0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiRUMiLCJ4IjoiYlhaN2dYZVlRSU4zRDhzLV82UEx3UmNpLUxLZU9SNHBCYUlER2JIdTNfYyIsInkiOiItSXZpQ2ZwZ3o5NkVfVUpBalIwV2RQZHo5RjNFWEpHNlFwWmV4eWluQmV3IiwiY3J2IjoiUC0yNTYiLCJraWQiOiI4VWtmcnZ0dExrcEFRT09wIn1dfX19LCJpc3MiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdCIsInRydXN0X2NoYWluIjpbImV5SmhiR2NpT2lKRlV6STFOaUlzSW5SNWNDSTZJbVZ1ZEdsMGVTMXpkR0YwWlcxbGJuUXJhbmQwSWl3aWEybGtJam9pVG5OWWVXMW1TVWxNUlZCU05Wa3dkQ0o5LmV5SmhkWFJvYjNKcGRIbGZhR2x1ZEhNaU9sc2lhSFIwY0hNNkx5OXdjbVV1ZEdFdWQyRnNiR1YwTG1sd2VuTXVhWFFpWFN3aWFYTnpJam9pYUhSMGNITTZMeTltYjI4eE1TNWliRzlpTG1OdmNtVXVkMmx1Wkc5M2N5NXVaWFF2Wm05dklpd2lhbmRyY3lJNmV5SnJaWGx6SWpwYmV5SnJkSGtpT2lKRlF5SXNJbmdpT2lKbldGazBSa0Z3UmtwRGFqa3hSM0JpTVVzNVIwVkpiM1ZVY1RKWU0wd3dTelkwU1hFd2IySTBiRjluSWl3aWVTSTZJbXd0Tm1SamNrbHlSbFprY25wdldUbGpVa3AyT1hwT2RVWlBVak5OYzBSNk5sUlRSR2hDTUhoRmJ6UWlMQ0pqY25ZaU9pSlFMVEkxTmlJc0ltdHBaQ0k2SWs1eldIbHRaa2xKVEVWUVVqVlpNSFFpTENKNE5XTWlPbHNpVFVsSlJIRnFRME5CTVVkblFYZEpRa0ZuU1VkQldtTTJMMVk1Y1UxQmIwZERRM0ZIVTAwME9VSkJUVU5OU1VkNlRWRnpkME5SV1VSV1VWRkhSWGRLU2xaRVJVOU5RWGRIUVRGVlJVTkJkMFpVUjBZMllWYzRlRVJVUVV4Q1owNVdRa0ZqVFVKR1NuWmlWMFY0VFZSQmRrSm5UbFpDUVc5TlMwVnNlbVJIYkRCa1dGSjJTVVpDZG1KSGJHNWpiVVp0WVZkT2RrbEhWV2RYYlZacVdUSkZaMXBIVm5OaVJ6aG5WVE5TYUdSSE9IaERla0ZLUW1kT1ZrSkJjMDFCYTJ4VlRWSTBkMGhCV1VSV1VWRkVSRUpXZDJOdFZYVmtSMFYxWkRKR2MySkhWakJNYld4M1pXNU5kV0ZZVVhoS1ZFRnFRbWRyY1docmFVYzVkekJDUTFGRlYwWnVRbmxpTTFKMldUSTVjMkpIT1VGalIxWnFURzFzZDJWdVRYVmhXRkYzU0doalRrMXFWWGRPYWtFd1RWUkpNRTlVVFhwWGFHTk9UV3BqZDA1cVFUQk5WRWt3VDFSTmVsZHFRMEpyYWtWTVRVRnJSMEV4VlVWQ2FFMURVMVpSZUVScVFVMUNaMDVXUWtGblRVSlZlR2hsYld4MlRWRXdkME4zV1VSV1VWRklSRUZTVTJJeU1XaE5VbGwzUmtGWlJGWlJVVXRFUVRGUldWZGtkbFZGUldkVmVUVjNUR3RGZFUxVFVYZEpaMWxFVmxGUlJFUkNkRzFpTWpoNFRWTTFhV0pIT1dsTWJVNTJZMjFWZFdReWJIVmFSemt6WTNrMWRWcFlVWGhLYWtGclFtZHJjV2hyYVVjNWR6QkNRMUZGVjBZelFtaGFNamwzV1ZoT2QxbFZRbmRhVjAxMVkwZEdibUl6UW1oTWJXd3dUVVpyZDBWM1dVaExiMXBKZW1vd1EwRlJXVWxMYjFwSmVtb3dSRUZSWTBSUlowRkZaMWhaTkVaQmNFWktRMm81TVVkd1lqRkxPVWRGU1c5MVZIRXlXRE5NTUVzMk5FbHhNRzlpTkd3dmFWZzNjREY1YzJselZsWXlkazlvYWpGNFJXMHZNMDB5TkZVMVNHTjVkMUJRY0U1SlQwVklWRVZUYW5GUFEwRlhOSGRuWjBaeFRVSXdSMEV4VldSRVoxRlhRa0pUVVc5bVJrRjBjVFV3YVdKU1dpOUNiRFF6YTJONFRXSjRTVWw2UTBJMVVWbEVWbEl3YWtKSlNHUk5TVWhoWjBKVWVsVkpUbmhxUlVOd1dHVnRNSHA1U1hCemJsUnhkak5FUlVkaFIwSjFZVk5DZEdwRFFuTjZSVXhOUVd0SFFURlZSVUpvVFVOVFZsRjRSR3BCVFVKblRsWkNRV2ROUWxWNGFHVnRiSFpOVVRCM1EzZFpSRlpSVVVoRVFWSlRZakl4YUUxVVJYZE1kMWxFVmxGUlMwUkRhRXBqTTFKd1pFaFdNR0o1UWxGaU1uaHdXak5LYUZwdGJHcGllVUpzU1Vad2JGa3lUbWhKUjFKc1lrZDRka2xHVGpCWldGSjJUVkZ6ZDBOUldVUldVVkZNUkVGS1NsWkVSV1ZOUW5kSFFURlZSVUYzZDFaalNFcHNURzVTYUV4dVpHaGlSM2hzWkVNMWNHTkljSHBNYld3d1RWTlZkMGwzV1VwTGIxcEphSFpqVGtGUmEwSkdhRnAzWTIwNU1HSXlUblppUjNoMlVVaENiRmw1TlhCalNIQjZURzFzTUdkbldVSnNlbkkxWlZWTmQwVm5XVVJXVWpCVVFWRklMMEpCWjNkQ1owVkNMM2RKUWtGRVFVOUNaMDVXU0ZFNFFrRm1PRVZDUVUxRFFVRmpkMUJSV1VSV1VqQm1Ra1JaZDA1RVFYbHZSRU5uVEc5WmMyRklVakJqU0UwMlRIazVkMk50VlhWa1IwVjFaREpHYzJKSFZqQk1iV3gzWlc1TmRXRllVWFpqUjNSd1RETlNhRXhZVGpGWmFUVnFZMjEzZDBObldVbExiMXBKZW1vd1JVRjNTVVJTZDBGM1VrRkpaMEpUZVVncksyOVFSRkE0YVhCU2VFaGpTamgxTWtoclRqZDNURFEwV0hCS1JuaFRTVUpXT1ZKR1NFMURTVUpwZUhCalZEUXpUbE56YXpCRmRtaEtZalJuTmpoak1XUTVUM0pDYmxoUFdGWjFlVU4wVjFkRk5tRWlMQ0pOU1VsRVVYcERRMEYxYVdkQmQwbENRV2RKUjBGYVl6WXJXR3hFVFVGdlIwTkRjVWRUVFRRNVFrRk5RMDFKUjNwTlVYTjNRMUZaUkZaUlVVZEZkMHBLVmtSRlQwMUJkMGRCTVZWRlEwRjNSbFJIUmpaaFZ6aDRSRlJCVEVKblRsWkNRV05OUWtaS2RtSlhSWGhOVkVGMlFtZE9Wa0pCYjAxTFJXeDZaRWRzTUdSWVVuWkpSa0oyWWtkc2JtTnRSbTFoVjA1MlNVZFZaMWR0Vm1wWk1rVm5Xa2RXYzJKSE9HZFZNMUpvWkVjNGVFTjZRVXBDWjA1V1FrRnpUVUZyYkZWTlVqUjNTRUZaUkZaUlVVUkVRbFozWTIxVmRXUkhSWFZrTWtaellrZFdNRXh0YkhkbGJrMTFZVmhSZUVwVVFXcENaMnR4YUd0cFJ6bDNNRUpEVVVWWFJtNUNlV0l6VW5aWk1qbHpZa2M1UVdOSFZtcE1iV3gzWlc1TmRXRllVWGRJYUdOT1RXcFZkMDVxUVRCTlZFa3dUbFJGTTFkb1kwNU5la0YzVG1wQmVrMVVTVEJPVkVVelYycERRbk42UlV4TlFXdEhRVEZWUlVKb1RVTlRWbEY0UkdwQlRVSm5UbFpDUVdkTlFsVjRhR1Z0YkhaTlVUQjNRM2RaUkZaUlVVaEVRVkpUWWpJeGFFMVVSWGRNZDFsRVZsRlJTMFJEYUVwak0xSndaRWhXTUdKNVFsRmlNbmh3V2pOS2FGcHRiR3BpZVVKc1NVWndiRmt5VG1oSlIxSnNZa2Q0ZGtsR1RqQlpXRkoyVFZGemQwTlJXVVJXVVZGTVJFRktTbFpFUldWTlFuZEhRVEZWUlVGM2QxWmpTRXBzVEc1U2FFeHVaR2hpUjNoc1pFTTFjR05JY0hwTWJXd3dUVk5WZDBsM1dVcExiMXBKYUhaalRrRlJhMEpHYUZwM1kyMDVNR0l5VG5aaVIzaDJVVWhDYkZsNU5YQmpTSEI2VEcxc01FMUdhM2RGZDFsSVMyOWFTWHBxTUVOQlVWbEpTMjlhU1hwcU1FUkJVV05FVVdkQlJXRkZNSGg1YUdRelpUbE1SRlEzZFhkSVQyTnNURFZJTXpNNE9XZDNhVU4zUm1oSk0wdFBkbWxrYmpCbmJFSkpTRmw0Y1Vnck5GbzVWbFJOV1ZkSE5VdzRZM2RET1VGaFNsVkRUa2QxTW1Sd05WcHBhVlJMVDBJMVZFTkNOR3BCWkVKblRsWklVVFJGUm1kUlZUZ3hRMFJqV1hoQmNWWXpjSFJOT0dsTFlrb3dObkk1ZDNoQ2EzZElkMWxFVmxJd2FrSkNaM2RHYjBGVk9ERkRSR05aZUVGeFZqTndkRTA0YVV0aVNqQTJjamwzZUVKcmQwUjNXVVJXVWpCVVFWRklMMEpCVlhkQmQwVkNMM3BDUlVKblozSkNaMFZHUWxGalFrRlJVVFJOUkZsM1RrRlpTVXQzV1VKQ1VWVklUVUZMUjB0SGFEQmtTRUo2VDJrNGRtTklTbXhNYmxKb1RHNWthR0pIZUd4a1F6VndZMGh3ZWt4dGJEQk1NMEp5WVZNNU1GbFROV3BhV0VsM1JHZFpSRlpTTUZCQlVVZ3ZRa0ZSUkVGblJVZE5SR3RIUVRGVlpFaDNVWGxOUkVGM1RIRkJjMjlEY1VkTFIyZ3daRWhDZWs5cE9IWmpTRXBzVEc1U2FFeHVaR2hpUjNoc1pFTTFjR05JY0hwTWJXd3dURE5DY21GVE9UQlpVelZxWTIxM2QwTm5XVWxMYjFwSmVtb3dSVUYzU1VSVFVVRjNVbWRKYUVGUGMxRlplbElyWlVkbU5HcGxOak5XUjBoeGEzQnRhMEppWm5sUGNtVXJiV1pKWkVoSWIzZFhWMUl2UVdsRlFUVTRlRUpPWWpWVlZ6VjFUVUlyZEZGMWNqaG1jVEkwVWtRMVRXMVNTRXhaVXpaaVJHZEpXVzFzZFhjOUlsMTlYWDBzSW0xbGRHRmtZWFJoSWpwN0ltWmxaR1Z5WVhScGIyNWZaVzUwYVhSNUlqcDdJbWh2YldWd1lXZGxYM1Z5YVNJNkltaDBkSEJ6T2k4dmFXOHVhWFJoYkdsaExtbDBJaXdpYkc5bmIxOTFjbWtpT2lKb2RIUndjem92TDJsdkxtbDBZV3hwWVM1cGRDOWhjM05sZEhNdmFXMW5MMmx2TFdsMExXeHZaMjh0WW14MVpTNXpkbWNpTENKdmNtZGhibWw2WVhScGIyNWZibUZ0WlNJNklsQmhaMjlRUVNCVExuQXVRUzRpTENKd2IyeHBZM2xmZFhKcElqb2lhSFIwY0hNNkx5OXBieTVwZEdGc2FXRXVhWFF2Y0hKcGRtRmplUzF3YjJ4cFkza2lMQ0owYjNOZmRYSnBJam9pYUhSMGNITTZMeTlwYnk1cGRHRnNhV0V1YVhRdmNISnBkbUZqZVMxd2IyeHBZM2tpTENKamIyNTBZV04wY3lJNld5SndZV2R2Y0dGemNHRkFjR1ZqTG5CaFoyOXdZUzVwZENKZGZTd2lkMkZzYkdWMFgzQnliM1pwWkdWeUlqcDdJbUZoYkY5MllXeDFaWE5mYzNWd2NHOXlkR1ZrSWpwYkltaDBkSEJ6T2k4dmQyRnNiR1YwTG1sdkxuQmhaMjl3WVM1cGRDOU1iMEV2WW1GemFXTWlMQ0pvZEhSd2N6b3ZMM2RoYkd4bGRDNXBieTV3WVdkdmNHRXVhWFF2VEc5QkwyMWxaR2wxYlNJc0ltaDBkSEJ6T2k4dmQyRnNiR1YwTG1sdkxuQmhaMjl3WVM1cGRDOU1iMEV2YUdsbmFIUWlYU3dpYW5kcmN5STZleUpyWlhseklqcGJleUpyZEhraU9pSkZReUlzSW5naU9pSmlXRm8zWjFobFdWRkpUak5FT0hNdFh6WlFUSGRTWTJrdFRFdGxUMUkwY0VKaFNVUkhZa2gxTTE5aklpd2llU0k2SWkxSmRtbERabkJuZWprMlJWOVZTa0ZxVWpCWFpGQmtlamxHTTBWWVNrYzJVWEJhWlhoNWFXNUNaWGNpTENKamNuWWlPaUpRTFRJMU5pSXNJbXRwWkNJNklqaFZhMlp5ZG5SMFRHdHdRVkZQVDNBaWZWMTlmWDBzSW5OMVlpSTZJbWgwZEhCek9pOHZabTl2TVRFdVlteHZZaTVqYjNKbExuZHBibVJ2ZDNNdWJtVjBMMlp2YnlJc0ltbGhkQ0k2TVRjME9UQTBNalU0T1N3aVpYaHdJam94Tnpnd05qQXdNVGc1ZlEuVEZjMTlmNWptQTZhTGVFS0pKVzZVdmNVZ0VscUx2S1FjY1F6Vmpha1dkcjQ5QUZqZlc4c2pLUk55bEhJWVVBQjBVaXZiZXM2OS1kem5ZUkxleUVrZHciLCJleUpyYVdRaU9pSk5aa3hmUmpWWGEydDJRbk0xZVdaeVVVUnNPR1ZWWTI1aE5VNXZhMWd5VW5CMGRsaGxlamhaU1ZGaklpd2lkSGx3SWpvaVpXNTBhWFI1TFhOMFlYUmxiV1Z1ZEN0cWQzUWlMQ0poYkdjaU9pSkZVekkxTmlKOS5leUp6ZFdJaU9pSm9kSFJ3Y3pvdkwzQnlaUzUwWVM1M1lXeHNaWFF1YVhCNmN5NXBkQ0lzSW0xbGRHRmtZWFJoSWpwN0ltWmxaR1Z5WVhScGIyNWZaVzUwYVhSNUlqcDdJbU52Ym5SaFkzUnpJanBiSW5CeWIzUnZZMjlzYkc5QWNHVmpMbWx3ZW5NdWFYUWlYU3dpYUc5dFpYQmhaMlZmZFhKcElqb2lhSFIwY0hNNkx5OTNkM2N1YVhCNmN5NXBkQ0lzSW14dloyOWZkWEpwSWpvaWFIUjBjSE02THk5M2QzY3VhWEI2Y3k1cGRDOXBiV2N2YVc1MFpYSnVaWFF2Ykc5bmFHa3ZiRzluYjBsUVdsTXRiV2x1TG5OMlp5SXNJbTl5WjJGdWFYcGhkR2x2Ymw5dVlXMWxJam9pU1hOMGFYUjFkRzhnVUc5c2FXZHlZV1pwWTI4Z1pTQmFaV05qWVNCa1pXeHNieUJUZEdGMGJ5NGlMQ0p3YjJ4cFkzbGZkWEpwSWpvaWFIUjBjSE02THk5d2NtVXVkR0V1ZDJGc2JHVjBMbWx3ZW5NdWFYUXZjRzlzYVdONUxtaDBiV3dpTENKbVpXUmxjbUYwYVc5dVgyWmxkR05vWDJWdVpIQnZhVzUwSWpvaWFIUjBjSE02THk5d2NtVXVkR0V1ZDJGc2JHVjBMbWx3ZW5NdWFYUXZabVZrWlhKaGRHbHZibDltWlhSamFGOWxibVJ3YjJsdWRDSXNJbVpsWkdWeVlYUnBiMjVmYkdsemRGOWxibVJ3YjJsdWRDSTZJbWgwZEhCek9pOHZjSEpsTG5SaExuZGhiR3hsZEM1cGNIcHpMbWwwTDJ4cGMzUWlMQ0ptWldSbGNtRjBhVzl1WDNKbGMyOXNkbVZmWlc1a2NHOXBiblFpT2lKb2RIUndjem92TDNCeVpTNTBZUzUzWVd4c1pYUXVhWEI2Y3k1cGRDOXlaWE52YkhabElpd2labVZrWlhKaGRHbHZibDlvYVhOMGIzSnBZMkZzWDJ0bGVYTmZaVzVrY0c5cGJuUWlPaUpvZEhSd2N6b3ZMM0J5WlM1MFlTNTNZV3hzWlhRdWFYQjZjeTVwZEM5bVpXUmxjbUYwYVc5dVgyaHBjM1J2Y21sallXeGZhMlY1Y3lKOWZTd2lhbmRyY3lJNmV5SnJaWGx6SWpwYmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVFdaTVgwWTFWMnRyZGtKek5YbG1jbEZFYkRobFZXTnVZVFZPYjJ0WU1sSndkSFpZWlhvNFdVbFJZeUlzSW5nMVl5STZXeUpOU1VsRVVYcERRMEYxYVdkQmQwbENRV2RKUjBGYVl6WXJXR3hFVFVGdlIwTkRjVWRUVFRRNVFrRk5RMDFKUjNwTlVYTjNRMUZaUkZaUlVVZEZkMHBLVmtSRlQwMUJkMGRCTVZWRlEwRjNSbFJIUmpaaFZ6aDRSRlJCVEVKblRsWkNRV05OUWtaS2RtSlhSWGhOVkVGMlFtZE9Wa0pCYjAxTFJXeDZaRWRzTUdSWVVuWkpSa0oyWWtkc2JtTnRSbTFoVjA1MlNVZFZaMWR0Vm1wWk1rVm5Xa2RXYzJKSE9HZFZNMUpvWkVjNGVFTjZRVXBDWjA1V1FrRnpUVUZyYkZWTlVqUjNTRUZaUkZaUlVVUkVRbFozWTIxVmRXUkhSWFZrTWtaellrZFdNRXh0YkhkbGJrMTFZVmhSZUVwVVFXcENaMnR4YUd0cFJ6bDNNRUpEVVVWWFJtNUNlV0l6VW5aWk1qbHpZa2M1UVdOSFZtcE1iV3gzWlc1TmRXRllVWGRJYUdOT1RXcFZkMDVxUVRCTlZFa3dUbFJGTTFkb1kwNU5la0YzVG1wQmVrMVVTVEJPVkVVelYycERRbk42UlV4TlFXdEhRVEZWUlVKb1RVTlRWbEY0UkdwQlRVSm5UbFpDUVdkTlFsVjRhR1Z0YkhaTlVUQjNRM2RaUkZaUlVVaEVRVkpUWWpJeGFFMVVSWGRNZDFsRVZsRlJTMFJEYUVwak0xSndaRWhXTUdKNVFsRmlNbmh3V2pOS2FGcHRiR3BpZVVKc1NVWndiRmt5VG1oSlIxSnNZa2Q0ZGtsR1RqQlpXRkoyVFZGemQwTlJXVVJXVVZGTVJFRktTbFpFUldWTlFuZEhRVEZWUlVGM2QxWmpTRXBzVEc1U2FFeHVaR2hpUjNoc1pFTTFjR05JY0hwTWJXd3dUVk5WZDBsM1dVcExiMXBKYUhaalRrRlJhMEpHYUZwM1kyMDVNR0l5VG5aaVIzaDJVVWhDYkZsNU5YQmpTSEI2VEcxc01FMUdhM2RGZDFsSVMyOWFTWHBxTUVOQlVWbEpTMjlhU1hwcU1FUkJVV05FVVdkQlJXRkZNSGg1YUdRelpUbE1SRlEzZFhkSVQyTnNURFZJTXpNNE9XZDNhVU4zUm1oSk0wdFBkbWxrYmpCbmJFSkpTRmw0Y1Vnck5GbzVWbFJOV1ZkSE5VdzRZM2RET1VGaFNsVkRUa2QxTW1Sd05WcHBhVlJMVDBJMVZFTkNOR3BCWkVKblRsWklVVFJGUm1kUlZUZ3hRMFJqV1hoQmNWWXpjSFJOT0dsTFlrb3dObkk1ZDNoQ2EzZElkMWxFVmxJd2FrSkNaM2RHYjBGVk9ERkRSR05aZUVGeFZqTndkRTA0YVV0aVNqQTJjamwzZUVKcmQwUjNXVVJXVWpCVVFWRklMMEpCVlhkQmQwVkNMM3BDUlVKblozSkNaMFZHUWxGalFrRlJVVFJOUkZsM1RrRlpTVXQzV1VKQ1VWVklUVUZMUjB0SGFEQmtTRUo2VDJrNGRtTklTbXhNYmxKb1RHNWthR0pIZUd4a1F6VndZMGh3ZWt4dGJEQk1NMEp5WVZNNU1GbFROV3BhV0VsM1JHZFpSRlpTTUZCQlVVZ3ZRa0ZSUkVGblJVZE5SR3RIUVRGVlpFaDNVWGxOUkVGM1RIRkJjMjlEY1VkTFIyZ3daRWhDZWs5cE9IWmpTRXBzVEc1U2FFeHVaR2hpUjNoc1pFTTFjR05JY0hwTWJXd3dURE5DY21GVE9UQlpVelZxWTIxM2QwTm5XVWxMYjFwSmVtb3dSVUYzU1VSVFVVRjNVbWRKYUVGUGMxRlplbElyWlVkbU5HcGxOak5XUjBoeGEzQnRhMEppWm5sUGNtVXJiV1pKWkVoSWIzZFhWMUl2UVdsRlFUVTRlRUpPWWpWVlZ6VjFUVUlyZEZGMWNqaG1jVEkwVWtRMVRXMVNTRXhaVXpaaVJHZEpXVzFzZFhjOUlsMHNJbmdpT2lKaFJUQjRlV2hrTTJVNVRFUlVOM1YzU0U5amJFdzFTRE16T0RsbmQybERkMFpvU1ROTFQzWnBaRzR3SWl3aWVTSTZJa2xLVVZOQ01rMWhhRjkxUjJaV1ZYcEhSbWgxVTE5SVRVRjJVVWRwVmtGcVVuSjBibUZsVjFsdmEzY2lMQ0poYkdjaU9pSkZVekkxTmlKOVhYMHNJbWx6Y3lJNkltaDBkSEJ6T2k4dmNISmxMblJoTG5kaGJHeGxkQzVwY0hwekxtbDBJaXdpYVdGMElqb3hOelE1TURReU56ZzVMQ0psZUhBaU9qRTNORGt4TWpreE9EbDkudGFJa3c3dVotU2s3eHMxa0NnUmZhTEdFMVcxRFVobm5hc2lOUnRudE1qdl9ud2lJci1KZjRUS0c1YXRDWVZMUzJmb1dxbDJ1TmdCR1hnQTU5S25iN0EiLCJleUpyYVdRaU9pSk5aa3hmUmpWWGEydDJRbk0xZVdaeVVVUnNPR1ZWWTI1aE5VNXZhMWd5VW5CMGRsaGxlamhaU1ZGaklpd2lkSGx3SWpvaVpXNTBhWFI1TFhOMFlYUmxiV1Z1ZEN0cWQzUWlMQ0poYkdjaU9pSkZVekkxTmlKOS5leUp6ZFdJaU9pSm9kSFJ3Y3pvdkwyWnZiekV4TG1Kc2IySXVZMjl5WlM1M2FXNWtiM2R6TG01bGRDOW1iMjhpTENKcWQydHpJanA3SW10bGVYTWlPbHQ3SW10MGVTSTZJa1ZESWl3aWRYTmxJam9pYzJsbklpd2lZM0oySWpvaVVDMHlOVFlpTENKcmFXUWlPaUpPYzFoNWJXWkpTVXhGVUZJMVdUQjBJaXdpZURWaklqcGJJazFKU1VSeGFrTkRRVEZIWjBGM1NVSkJaMGxIUVZwak5pOVdPWEZOUVc5SFEwTnhSMU5OTkRsQ1FVMURUVWxIZWsxUmMzZERVVmxFVmxGUlIwVjNTa3BXUkVWUFRVRjNSMEV4VlVWRFFYZEdWRWRHTm1GWE9IaEVWRUZNUW1kT1ZrSkJZMDFDUmtwMllsZEZlRTFVUVhaQ1owNVdRa0Z2VFV0RmJIcGtSMnd3WkZoU2RrbEdRblppUjJ4dVkyMUdiV0ZYVG5aSlIxVm5WMjFXYWxreVJXZGFSMVp6WWtjNFoxVXpVbWhrUnpoNFEzcEJTa0puVGxaQ1FYTk5RV3RzVlUxU05IZElRVmxFVmxGUlJFUkNWbmRqYlZWMVpFZEZkV1F5Um5OaVIxWXdURzFzZDJWdVRYVmhXRkY0U2xSQmFrSm5hM0ZvYTJsSE9YY3dRa05SUlZkR2JrSjVZak5TZGxreU9YTmlSemxCWTBkV2FreHRiSGRsYmsxMVlWaFJkMGhvWTA1TmFsVjNUbXBCTUUxVVNUQlBWRTE2VjJoalRrMXFZM2RPYWtFd1RWUkpNRTlVVFhwWGFrTkNhMnBGVEUxQmEwZEJNVlZGUW1oTlExTldVWGhFYWtGTlFtZE9Wa0pCWjAxQ1ZYaG9aVzFzZGsxUk1IZERkMWxFVmxGUlNFUkJVbE5pTWpGb1RWSlpkMFpCV1VSV1VWRkxSRUV4VVZsWFpIWlZSVVZuVlhrMWQweHJSWFZOVTFGM1NXZFpSRlpSVVVSRVFuUnRZakk0ZUUxVE5XbGlSemxwVEcxT2RtTnRWWFZrTW14MVdrYzVNMk41TlhWYVdGRjRTbXBCYTBKbmEzRm9hMmxIT1hjd1FrTlJSVmRHTTBKb1dqSTVkMWxZVG5kWlZVSjNXbGROZFdOSFJtNWlNMEpvVEcxc01FMUdhM2RGZDFsSVMyOWFTWHBxTUVOQlVWbEpTMjlhU1hwcU1FUkJVV05FVVdkQlJXZFlXVFJHUVhCR1NrTnFPVEZIY0dJeFN6bEhSVWx2ZFZSeE1sZ3pUREJMTmpSSmNUQnZZalJzTDJsWU4zQXhlWE5wYzFaV01uWlBhR294ZUVWdEx6Tk5NalJWTlVoamVYZFFVSEJPU1U5RlNGUkZVMnB4VDBOQlZ6UjNaMmRHY1UxQ01FZEJNVlZrUkdkUlYwSkNVMUZ2WmtaQmRIRTFNR2xpVWxvdlFtdzBNMnRqZUUxaWVFbEpla05DTlZGWlJGWlNNR3BDU1Voa1RVbElZV2RDVkhwVlNVNTRha1ZEY0ZobGJUQjZlVWx3YzI1VWNYWXpSRVZIWVVkQ2RXRlRRblJxUTBKemVrVk1UVUZyUjBFeFZVVkNhRTFEVTFaUmVFUnFRVTFDWjA1V1FrRm5UVUpWZUdobGJXeDJUVkV3ZDBOM1dVUldVVkZJUkVGU1UySXlNV2hOVkVWM1RIZFpSRlpSVVV0RVEyaEtZek5TY0dSSVZqQmllVUpSWWpKNGNGb3pTbWhhYld4cVlubENiRWxHY0d4Wk1rNW9TVWRTYkdKSGVIWkpSazR3V1ZoU2RrMVJjM2REVVZsRVZsRlJURVJCU2twV1JFVmxUVUozUjBFeFZVVkJkM2RXWTBoS2JFeHVVbWhNYm1Sb1lrZDRiR1JETlhCalNIQjZURzFzTUUxVFZYZEpkMWxLUzI5YVNXaDJZMDVCVVd0Q1JtaGFkMk50T1RCaU1rNTJZa2Q0ZGxGSVFteFplVFZ3WTBod2VreHRiREJuWjFsQ2JIcHlOV1ZWVFhkRloxbEVWbEl3VkVGUlNDOUNRV2QzUW1kRlFpOTNTVUpCUkVGUFFtZE9Wa2hST0VKQlpqaEZRa0ZOUTBGQlkzZFFVVmxFVmxJd1prSkVXWGRPUkVGNWIwUkRaMHh2V1hOaFNGSXdZMGhOTmt4NU9YZGpiVlYxWkVkRmRXUXlSbk5pUjFZd1RHMXNkMlZ1VFhWaFdGRjJZMGQwY0V3elVtaE1XRTR4V1drMWFtTnRkM2REWjFsSlMyOWFTWHBxTUVWQmQwbEVVbmRCZDFKQlNXZENVM2xJS3l0dlVFUlFPR2x3VW5oSVkwbzRkVEpJYTA0M2QwdzBORmh3U2taNFUwbENWamxTUmtoTlEwbENhWGh3WTFRME0wNVRjMnN3Ulhab1NtSTBaelk0WXpGa09VOXlRbTVZVDFoV2RYbERkRmRYUlRaaElpd2lUVWxKUkZGNlEwTkJkV2xuUVhkSlFrRm5TVWRCV21NMksxaHNSRTFCYjBkRFEzRkhVMDAwT1VKQlRVTk5TVWQ2VFZGemQwTlJXVVJXVVZGSFJYZEtTbFpFUlU5TlFYZEhRVEZWUlVOQmQwWlVSMFkyWVZjNGVFUlVRVXhDWjA1V1FrRmpUVUpHU25aaVYwVjRUVlJCZGtKblRsWkNRVzlOUzBWc2VtUkhiREJrV0ZKMlNVWkNkbUpIYkc1amJVWnRZVmRPZGtsSFZXZFhiVlpxV1RKRloxcEhWbk5pUnpoblZUTlNhR1JIT0hoRGVrRktRbWRPVmtKQmMwMUJhMnhWVFZJMGQwaEJXVVJXVVZGRVJFSldkMk50VlhWa1IwVjFaREpHYzJKSFZqQk1iV3gzWlc1TmRXRllVWGhLVkVGcVFtZHJjV2hyYVVjNWR6QkNRMUZGVjBadVFubGlNMUoyV1RJNWMySkhPVUZqUjFacVRHMXNkMlZ1VFhWaFdGRjNTR2hqVGsxcVZYZE9ha0V3VFZSSk1FNVVSVE5YYUdOT1RYcEJkMDVxUVhwTlZFa3dUbFJGTTFkcVEwSnpla1ZNVFVGclIwRXhWVVZDYUUxRFUxWlJlRVJxUVUxQ1owNVdRa0ZuVFVKVmVHaGxiV3gyVFZFd2QwTjNXVVJXVVZGSVJFRlNVMkl5TVdoTlZFVjNUSGRaUkZaUlVVdEVRMmhLWXpOU2NHUklWakJpZVVKUllqSjRjRm96U21oYWJXeHFZbmxDYkVsR2NHeFpNazVvU1VkU2JHSkhlSFpKUms0d1dWaFNkazFSYzNkRFVWbEVWbEZSVEVSQlNrcFdSRVZsVFVKM1IwRXhWVVZCZDNkV1kwaEtiRXh1VW1oTWJtUm9Za2Q0YkdSRE5YQmpTSEI2VEcxc01FMVRWWGRKZDFsS1MyOWFTV2gyWTA1QlVXdENSbWhhZDJOdE9UQmlNazUyWWtkNGRsRklRbXhaZVRWd1kwaHdla3h0YkRCTlJtdDNSWGRaU0V0dldrbDZhakJEUVZGWlNVdHZXa2w2YWpCRVFWRmpSRkZuUVVWaFJUQjRlV2hrTTJVNVRFUlVOM1YzU0U5amJFdzFTRE16T0RsbmQybERkMFpvU1ROTFQzWnBaRzR3WjJ4Q1NVaFplSEZJS3pSYU9WWlVUVmxYUnpWTU9HTjNRemxCWVVwVlEwNUhkVEprY0RWYWFXbFVTMDlDTlZSRFFqUnFRV1JDWjA1V1NGRTBSVVpuVVZVNE1VTkVZMWw0UVhGV00zQjBUVGhwUzJKS01EWnlPWGQ0UW10M1NIZFpSRlpTTUdwQ1FtZDNSbTlCVlRneFEwUmpXWGhCY1ZZemNIUk5PR2xMWWtvd05uSTVkM2hDYTNkRWQxbEVWbEl3VkVGUlNDOUNRVlYzUVhkRlFpOTZRa1ZDWjJkeVFtZEZSa0pSWTBKQlVWRTBUVVJaZDA1QldVbExkMWxDUWxGVlNFMUJTMGRMUjJnd1pFaENlazlwT0haalNFcHNURzVTYUV4dVpHaGlSM2hzWkVNMWNHTkljSHBNYld3d1RETkNjbUZUT1RCWlV6VnFXbGhKZDBSbldVUldVakJRUVZGSUwwSkJVVVJCWjBWSFRVUnJSMEV4VldSSWQxRjVUVVJCZDB4eFFYTnZRM0ZIUzBkb01HUklRbnBQYVRoMlkwaEtiRXh1VW1oTWJtUm9Za2Q0YkdSRE5YQmpTSEI2VEcxc01Fd3pRbkpoVXprd1dWTTFhbU50ZDNkRFoxbEpTMjlhU1hwcU1FVkJkMGxFVTFGQmQxSm5TV2hCVDNOUldYcFNLMlZIWmpScVpUWXpWa2RJY1d0d2JXdENZbVo1VDNKbEsyMW1TV1JJU0c5M1YxZFNMMEZwUlVFMU9IaENUbUkxVlZjMWRVMUNLM1JSZFhJNFpuRXlORkpFTlUxdFVraE1XVk0yWWtSblNWbHRiSFYzUFNKZExDSjRJam9pWjFoWk5FWkJjRVpLUTJvNU1VZHdZakZMT1VkRlNXOTFWSEV5V0ROTU1FczJORWx4TUc5aU5HeGZaeUlzSW5raU9pSnNMVFprWTNKSmNrWldaSEo2YjFrNVkxSktkamw2VG5WR1QxSXpUWE5FZWpaVVUwUm9RakI0Ulc4MEluMWRmU3dpYldWMFlXUmhkR0ZmY0c5c2FXTjVJanA3SW1abFpHVnlZWFJwYjI1ZlpXNTBhWFI1SWpwN0ltOXlaMkZ1YVhwaGRHbHZibDl1WVcxbElqcDdJbVZ6YzJWdWRHbGhiQ0k2ZEhKMVpTd2ljbVZuWlhod0lqb2lYaWdfSVZ4Y2N5a29QeUV1S2x4Y2MxeGNjeWtvUHlFdUtseGNjeVFwTGlza0luMHNJbU52Ym5SaFkzUnpJanA3SW1WemMyVnVkR2xoYkNJNmRISjFaU3dpY21WblpYaHdJam9pWGx0aExYcEJMVm93TFRrdVh5VXJMVjByUUZ0aExYcEJMVm93TFRrdUxWMHJYRnd1VzJFdGVrRXRXbDE3TWl4OUpDSjlMQ0pvYjIxbGNHRm5aVjkxY21raU9uc2laWE56Wlc1MGFXRnNJanBtWVd4elpTd2ljbVZuWlhod0lqb2lYaWhvZEhSd2ZHaDBkSEJ6S1RwY1hDOWNYQzhvUHlFb2Qzc3hMREo5ZkhkN05DeDlLVnhjTGlrb2QzZDNYRnd1S1Q5YllTMTZRUzFhTUMwNUxWMHJLRnhjTGx0aExYcEJMVm93TFRrdFhTc3BLeWhjWEM1YllTMTZRUzFhWFhzeUxIMHBLRHBiTUMwNVhTc3BQeWhjWEM4dUtpa19KQ0o5TENKc2IyZHZYM1Z5YVNJNmV5SmxjM05sYm5ScFlXd2lPbVpoYkhObExDSnlaV2RsZUhBaU9pSmVLR2gwZEhCOGFIUjBjSE1wT2x4Y0wxeGNMeWdfSVNoM2V6RXNNbjE4ZDNzMExIMHBYRnd1S1NoM2QzZGNYQzRwUDF0aExYcEJMVm93TFRrdFhTc29YRnd1VzJFdGVrRXRXakF0T1MxZEt5a3JLRnhjTGx0aExYcEJMVnBkZXpJc2ZTa29PbHN3TFRsZEt5a19LRnhjTHk0cUtUOWNYQzV6ZG1ja0luMHNJbkJ2YkdsamVWOTFjbWtpT25zaVpYTnpaVzUwYVdGc0lqcDBjblZsTENKeVpXZGxlSEFpT2lKZUtHaDBkSEI4YUhSMGNITXBPbHhjTDF4Y0x5Z19JU2gzZXpFc01uMThkM3MwTEgwcFhGd3VLU2gzZDNkY1hDNHBQMXRoTFhwQkxWb3dMVGt0WFNzb1hGd3VXMkV0ZWtFdFdqQXRPUzFkS3lrcktGeGNMbHRoTFhwQkxWcGRleklzZlNrb09sc3dMVGxkS3lrX0tGeGNMeTRxS1Q4a0luMHNJbVpsWkdWeVlYUnBiMjVmY21WemIyeDJaVjlsYm1Sd2IybHVkQ0k2ZXlKbGMzTmxiblJwWVd3aU9tWmhiSE5sTENKeVpXZGxlSEFpT2lKZWFIUjBjSE02WEZ3dlhGd3ZLRDhoS0hkN01Td3lmWHgzZXpRc2ZTbGNYQzRwS0hkM2QxeGNMaWtfVzJFdGVrRXRXakF0T1MxZEt5aGNYQzViWVMxNlFTMWFNQzA1TFYwcktTc29YRnd1VzJFdGVrRXRXbDE3TWl4OUtTZzZXekF0T1YwcktUOHZjbVZ6YjJ4MlpTUWlmWDBzSW05aGRYUm9YMkYxZEdodmNtbDZZWFJwYjI1ZmMyVnlkbVZ5SWpwN0ltbHpjM1ZsY2lJNmV5SmxjM05sYm5ScFlXd2lPblJ5ZFdVc0luSmxaMlY0Y0NJNklsNW9kSFJ3Y3pwY1hDOWNYQzhvUHlFb2Qzc3hMREo5ZkhkN05DeDlLVnhjTGlrb2QzZDNYRnd1S1Q5YllTMTZRUzFhTUMwNUxWMHJLRnhjTGx0aExYcEJMVm93TFRrdFhTc3BLeWhjWEM1YllTMTZRUzFhWFhzeUxIMHBLRHBiTUMwNVhTc3BQeWhjWEM4dUtpa19KQ0o5TENKcWQydHpJanA3SW1WemMyVnVkR2xoYkNJNmRISjFaU3dpYzJOb1pXMWhYM1Z5YVNJNkltaDBkSEJ6T2k4dmNISmxMblJoTG5kaGJHeGxkQzVwY0hwekxtbDBMM05qYUdWdFlYTXZkakV1TUM0d0wycDNhM011YW5OdmJpSjlMQ0p3ZFhOb1pXUmZZWFYwYUc5eWFYcGhkR2x2Ymw5eVpYRjFaWE4wWDJWdVpIQnZhVzUwSWpwN0ltVnpjMlZ1ZEdsaGJDSTZkSEoxWlN3aWNtVm5aWGh3SWpvaVhtaDBkSEJ6T2x4Y0wxeGNMeWdfSVNoM2V6RXNNbjE4ZDNzMExIMHBYRnd1S1NoM2QzZGNYQzRwUDF0aExYcEJMVm93TFRrdFhTc29YRnd1VzJFdGVrRXRXakF0T1MxZEt5a3JLRnhjTGx0aExYcEJMVnBkZXpJc2ZTa29PbHN3TFRsZEt5a19MMkZ6TDNCaGNpUWlmU3dpWVhWMGFHOXlhWHBoZEdsdmJsOWxibVJ3YjJsdWRDSTZleUpsYzNObGJuUnBZV3dpT25SeWRXVXNJbkpsWjJWNGNDSTZJbDVvZEhSd2N6cGNYQzljWEM4b1B5RW9kM3N4TERKOWZIZDdOQ3g5S1Z4Y0xpa29kM2QzWEZ3dUtUOWJZUzE2UVMxYU1DMDVMVjByS0Z4Y0xsdGhMWHBCTFZvd0xUa3RYU3NwS3loY1hDNWJZUzE2UVMxYVhYc3lMSDBwS0RwYk1DMDVYU3NwUHk5aGRYUm9iM0pwZW1Va0luMHNJblJ2YTJWdVgyVnVaSEJ2YVc1MElqcDdJbVZ6YzJWdWRHbGhiQ0k2ZEhKMVpTd2ljbVZuWlhod0lqb2lYbWgwZEhCek9seGNMMXhjTHlnX0lTaDNlekVzTW4xOGQzczBMSDBwWEZ3dUtTaDNkM2RjWEM0cFAxdGhMWHBCTFZvd0xUa3RYU3NvWEZ3dVcyRXRla0V0V2pBdE9TMWRLeWtyS0Z4Y0xsdGhMWHBCTFZwZGV6SXNmU2tvT2xzd0xUbGRLeWtfTDNSdmEyVnVKQ0o5TENKelkyOXdaWE5mYzNWd2NHOXlkR1ZrSWpwN0ltVnpjMlZ1ZEdsaGJDSTZkSEoxWlN3aWMzVmljMlYwWDI5bUlqcGJJbEJsY25OdmJrbGtaVzUwYVdacFkyRjBhVzl1UkdGMFlTSXNJa1YxY205d1pXRnVSR2x6WVdKcGJHbDBlVU5oY21RaUxDSkZkWEp2Y0dWaGJraGxZV3gwYUVsdWMzVnlZVzVqWlVOaGNtUWlMQ0p0UkV3aVhYMHNJbUZqY2w5MllXeDFaWE5mYzNWd2NHOXlkR1ZrSWpwN0ltVnpjMlZ1ZEdsaGJDSTZkSEoxWlN3aWMzVndaWEp6WlhSZmIyWWlPbHNpYUhSMGNITTZMeTkzZDNjdWMzQnBaQzVuYjNZdWFYUXZVM0JwWkV3eUlpd2lhSFIwY0hNNkx5OTNkM2N1YzNCcFpDNW5iM1l1YVhRdlUzQnBaRXd6SWwxOUxDSm5jbUZ1ZEY5MGVYQmxjMTl6ZFhCd2IzSjBaV1FpT25zaVpYTnpaVzUwYVdGc0lqcDBjblZsTENKemRYQmxjbk5sZEY5dlppSTZXeUpoZFhSb2IzSnBlbUYwYVc5dVgyTnZaR1VpWFgwc0luSmxjM0J2Ym5ObFgzUjVjR1Z6WDNOMWNIQnZjblJsWkNJNmV5SmxjM05sYm5ScFlXd2lPblJ5ZFdVc0luTjFjR1Z5YzJWMFgyOW1JanBiSW1OdlpHVWlYWDBzSW5KbGMzQnZibk5sWDIxdlpHVnpYM04xY0hCdmNuUmxaQ0k2ZXlKbGMzTmxiblJwWVd3aU9uUnlkV1VzSW5OMWNHVnljMlYwWDI5bUlqcGJJbkYxWlhKNUlpd2labTl5YlY5d2IzTjBMbXAzZENKZGZTd2lZWFYwYUc5eWFYcGhkR2x2Ymw5emFXZHVhVzVuWDJGc1oxOTJZV3gxWlhOZmMzVndjRzl5ZEdWa0lqcDdJbVZ6YzJWdWRHbGhiQ0k2ZEhKMVpTd2ljM1ZpYzJWMFgyOW1JanBiSWtWVE1qVTJJaXdpUlZNek9EUWlMQ0pGVXpVeE1pSmRmU3dpWTI5a1pWOWphR0ZzYkdWdVoyVmZiV1YwYUc5a2MxOXpkWEJ3YjNKMFpXUWlPbnNpWlhOelpXNTBhV0ZzSWpwMGNuVmxMQ0p6ZFdKelpYUmZiMllpT2xzaVV6STFOaUpkZlN3aWRHOXJaVzVmWlc1a2NHOXBiblJmWVhWMGFGOXRaWFJvYjJSelgzTjFjSEJ2Y25SbFpDSTZleUpsYzNObGJuUnBZV3dpT25SeWRXVXNJbk4xWW5ObGRGOXZaaUk2V3lKaGRIUmxjM1JmYW5kMFgyTnNhV1Z1ZEY5aGRYUm9JbDE5TENKMGIydGxibDlsYm1Sd2IybHVkRjloZFhSb1gzTnBaMjVwYm1kZllXeG5YM1poYkhWbGMxOXpkWEJ3YjNKMFpXUWlPbnNpWlhOelpXNTBhV0ZzSWpwMGNuVmxMQ0p6ZFdKelpYUmZiMllpT2xzaVJWTXlOVFlpTENKRlV6TTROQ0lzSWtWVE5URXlJbDE5TENKeVpYRjFaWE4wWDI5aWFtVmpkRjl6YVdkdWFXNW5YMkZzWjE5MllXeDFaWE5mYzNWd2NHOXlkR1ZrSWpwN0ltVnpjMlZ1ZEdsaGJDSTZkSEoxWlN3aWMzVmljMlYwWDI5bUlqcGJJa1ZUTWpVMklpd2lSVk16T0RRaUxDSkZVelV4TWlKZGZTd2lZMnhwWlc1MFgzSmxaMmx6ZEhKaGRHbHZibDkwZVhCbGMxOXpkWEJ3YjNKMFpXUWlPbnNpWlhOelpXNTBhV0ZzSWpwMGNuVmxMQ0p6ZFdKelpYUmZiMllpT2xzaVlYVjBiMjFoZEdsaklsMTlmU3dpYjNCbGJtbGtYMk55WldSbGJuUnBZV3hmYVhOemRXVnlJanA3SW1OeVpXUmxiblJwWVd4ZmFYTnpkV1Z5SWpwN0ltVnpjMlZ1ZEdsaGJDSTZkSEoxWlN3aWNtVm5aWGh3SWpvaVhtaDBkSEJ6T2x4Y0wxeGNMeWdfSVNoM2V6RXNNbjE4ZDNzMExIMHBYRnd1S1NoM2QzZGNYQzRwUDF0aExYcEJMVm93TFRrdFhTc29YRnd1VzJFdGVrRXRXakF0T1MxZEt5a3JLRnhjTGx0aExYcEJMVnBkZXpJc2ZTa29PbHN3TFRsZEt5a19LRnhjTHk0cUtUOGtJbjBzSW1wM2EzTWlPbnNpWlhOelpXNTBhV0ZzSWpwMGNuVmxMQ0p6WTJobGJXRmZkWEpwSWpvaWFIUjBjSE02THk5d2NtVXVkR0V1ZDJGc2JHVjBMbWx3ZW5NdWFYUXZjMk5vWlcxaGN5OTJNUzR3TGpBdmFuZHJjeTVxYzI5dUluMHNJbU55WldSbGJuUnBZV3hmWlc1a2NHOXBiblFpT25zaVpYTnpaVzUwYVdGc0lqcDBjblZsTENKeVpXZGxlSEFpT2lKZWFIUjBjSE02WEZ3dlhGd3ZLRDhoS0hkN01Td3lmWHgzZXpRc2ZTbGNYQzRwS0hkM2QxeGNMaWtfVzJFdGVrRXRXakF0T1MxZEt5aGNYQzViWVMxNlFTMWFNQzA1TFYwcktTc29YRnd1VzJFdGVrRXRXbDE3TWl4OUtTZzZXekF0T1YwcktUOHZZM0psWkdWdWRHbGhiQ1FpZlN3aWJtOXVZMlZmWlc1a2NHOXBiblFpT25zaVpYTnpaVzUwYVdGc0lqcDBjblZsTENKeVpXZGxlSEFpT2lKZWFIUjBjSE02WEZ3dlhGd3ZLRDhoS0hkN01Td3lmWHgzZXpRc2ZTbGNYQzRwS0hkM2QxeGNMaWtfVzJFdGVrRXRXakF0T1MxZEt5aGNYQzViWVMxNlFTMWFNQzA1TFYwcktTc29YRnd1VzJFdGVrRXRXbDE3TWl4OUtTZzZXekF0T1YwcktUOHZibTl1WTJVa0luMHNJbTV2ZEdsbWFXTmhkR2x2Ymw5bGJtUndiMmx1ZENJNmV5SmxjM05sYm5ScFlXd2lPbVpoYkhObExDSnlaV2RsZUhBaU9pSmVhSFIwY0hNNlhGd3ZYRnd2S0Q4aEtIZDdNU3d5Zlh4M2V6UXNmU2xjWEM0cEtIZDNkMXhjTGlrX1cyRXRla0V0V2pBdE9TMWRLeWhjWEM1YllTMTZRUzFhTUMwNUxWMHJLU3NvWEZ3dVcyRXRla0V0V2wxN01peDlLU2c2V3pBdE9WMHJLVDh2Ym05MGFXWnBZMkYwYVc5dUpDSjlMQ0p6ZEdGMGRYTmZZWE56WlhKMGFXOXVYMlZ1WkhCdmFXNTBJanA3SW1WemMyVnVkR2xoYkNJNmRISjFaU3dpY21WblpYaHdJam9pWG1oMGRIQnpPbHhjTDF4Y0x5Z19JU2gzZXpFc01uMThkM3MwTEgwcFhGd3VLU2gzZDNkY1hDNHBQMXRoTFhwQkxWb3dMVGt0WFNzb1hGd3VXMkV0ZWtFdFdqQXRPUzFkS3lrcktGeGNMbHRoTFhwQkxWcGRleklzZlNrb09sc3dMVGxkS3lrX0wzTjBZWFIxY3lRaWZTd2ljbVYyYjJOaGRHbHZibDlsYm1Sd2IybHVkQ0k2ZXlKbGMzTmxiblJwWVd3aU9uUnlkV1VzSW5KbFoyVjRjQ0k2SWw1b2RIUndjenBjWEM5Y1hDOG9QeUVvZDNzeExESjlmSGQ3TkN4OUtWeGNMaWtvZDNkM1hGd3VLVDliWVMxNlFTMWFNQzA1TFYwcktGeGNMbHRoTFhwQkxWb3dMVGt0WFNzcEt5aGNYQzViWVMxNlFTMWFYWHN5TEgwcEtEcGJNQzA1WFNzcFB5OXlaWFp2YTJVa0luMHNJbVJsWm1WeWNtVmtYMk55WldSbGJuUnBZV3hmWlc1a2NHOXBiblFpT25zaVpYTnpaVzUwYVdGc0lqcG1ZV3h6WlN3aWNtVm5aWGh3SWpvaVhtaDBkSEJ6T2x4Y0wxeGNMeWdfSVNoM2V6RXNNbjE4ZDNzMExIMHBYRnd1S1NoM2QzZGNYQzRwUDF0aExYcEJMVm93TFRrdFhTc29YRnd1VzJFdGVrRXRXakF0T1MxZEt5a3JLRnhjTGx0aExYcEJMVnBkZXpJc2ZTa29PbHN3TFRsZEt5a19MMlJsWm1WeWNtVmtKQ0o5TENKa2FYTndiR0Y1SWpwN0ltVnpjMlZ1ZEdsaGJDSTZabUZzYzJVc0luTmphR1Z0WVY5MWNta2lPaUpvZEhSd2N6b3ZMM0J5WlM1MFlTNTNZV3hzWlhRdWFYQjZjeTVwZEM5elkyaGxiV0Z6TDNZeExqQXVNQzlrYVhOd2JHRjVYM04xY0hCdmNuUmxaRjloY25KaGVTNXFjMjl1SW4wc0ltVjJhV1JsYm1ObFgzTjFjSEJ2Y25SbFpDSTZleUpsYzNObGJuUnBZV3dpT25SeWRXVXNJbk4xWW5ObGRGOXZaaUk2V3lKMmIzVmphQ0pkZlN3aVkzSmxaR1Z1ZEdsaGJGOW9ZWE5vWDJGc1oxOXpkWEJ3YjNKMFpXUWlPbnNpWlhOelpXNTBhV0ZzSWpwMGNuVmxMQ0p2Ym1WZmIyWWlPbHNpVXpJMU5pSmRmU3dpWTNKbFpHVnVkR2xoYkY5amIyNW1hV2QxY21GMGFXOXVjMTl6ZFhCd2IzSjBaV1FpT25zaVpYTnpaVzUwYVdGc0lqcG1ZV3h6WlN3aWMyTm9aVzFoWDNWeWFTSTZJbWgwZEhCek9pOHZjSEpsTG5SaExuZGhiR3hsZEM1cGNIcHpMbWwwTDNOamFHVnRZWE12ZGpFdU1DNHdMMk55WldSbGJuUnBZV3hmWTI5dVptbG5kWEpoZEdsdmJuTmZjM1Z3Y0c5eWRHVmtMbXB6YjI0aWZTd2lkSEoxYzNSZlpuSmhiV1YzYjNKcmMxOXpkWEJ3YjNKMFpXUWlPbnNpWlhOelpXNTBhV0ZzSWpwbVlXeHpaU3dpYzNWaWMyVjBYMjltSWpwYkltbDBYM053YVdRaUxDSnBkRjlqYVdVaUxDSnBkRjkzWVd4c1pYUWlYWDE5TENKdmNHVnVhV1JmWTNKbFpHVnVkR2xoYkY5MlpYSnBabWxsY2lJNmV5SmpiR2xsYm5SZmFXUWlPbnNpWlhOelpXNTBhV0ZzSWpwMGNuVmxMQ0p5WldkbGVIQWlPaUplYUhSMGNITTZYRnd2WEZ3dktEOGhLSGQ3TVN3eWZYeDNlelFzZlNsY1hDNHBLSGQzZDF4Y0xpa19XMkV0ZWtFdFdqQXRPUzFkS3loY1hDNWJZUzE2UVMxYU1DMDVMVjByS1Nzb1hGd3VXMkV0ZWtFdFdsMTdNaXg5S1NnNld6QXRPVjByS1Q4b1hGd3ZMaW9wUHlRaWZTd2lZMnhwWlc1MFgyNWhiV1VpT25zaVpYTnpaVzUwYVdGc0lqcG1ZV3h6WlN3aWNtVm5aWGh3SWpvaVhpZ19JVnhjY3lrb1B5RXVLbHhjYzF4Y2N5a29QeUV1S2x4Y2N5UXBMaXNrSW4wc0ltRndjR3hwWTJGMGFXOXVYM1I1Y0dVaU9uc2laR1ZtWVhWc2RDSTZJbmRsWWlJc0ltVnpjMlZ1ZEdsaGJDSTZabUZzYzJVc0ltOXVaVjl2WmlJNld5SjNaV0lpWFgwc0ltcDNhM01pT25zaVpYTnpaVzUwYVdGc0lqcDBjblZsTENKelkyaGxiV0ZmZFhKcElqb2lhSFIwY0hNNkx5OXdjbVV1ZEdFdWQyRnNiR1YwTG1sd2VuTXVhWFF2YzJOb1pXMWhjeTkyTVM0d0xqQXZhbmRyY3k1cWMyOXVJbjBzSW5KbGNYVmxjM1JmZFhKcGN5STZleUpsYzNObGJuUnBZV3dpT25SeWRXVXNJbkpsWjJWNGNDSTZJbDVvZEhSd2N6cGNYQzljWEM4b1B5RW9kM3N4TERKOWZIZDdOQ3g5S1Z4Y0xpa29kM2QzWEZ3dUtUOWJZUzE2UVMxYU1DMDVMVjByS0Z4Y0xsdGhMWHBCTFZvd0xUa3RYU3NwS3loY1hDNWJZUzE2UVMxYVhYc3lMSDBwS0RwYk1DMDVYU3NwUHloY1hDOHVLaWtfSkNKOUxDSnlaWE53YjI1elpWOTFjbWx6SWpwN0ltVnpjMlZ1ZEdsaGJDSTZkSEoxWlN3aWNtVm5aWGh3SWpvaVhtaDBkSEJ6T2x4Y0wxeGNMeWdfSVNoM2V6RXNNbjE4ZDNzMExIMHBYRnd1S1NoM2QzZGNYQzRwUDF0aExYcEJMVm93TFRrdFhTc29YRnd1VzJFdGVrRXRXakF0T1MxZEt5a3JLRnhjTGx0aExYcEJMVnBkZXpJc2ZTa29PbHN3TFRsZEt5a19LRnhjTHk0cUtUOGtJbjBzSW5KbFpHbHlaV04wWDNWeWFYTWlPbnNpWlhOelpXNTBhV0ZzSWpwMGNuVmxMQ0p5WldkbGVIQWlPaUplYUhSMGNITTZYRnd2WEZ3dktEOGhLSGQ3TVN3eWZYeDNlelFzZlNsY1hDNHBLSGQzZDF4Y0xpa19XMkV0ZWtFdFdqQXRPUzFkS3loY1hDNWJZUzE2UVMxYU1DMDVMVjByS1Nzb1hGd3VXMkV0ZWtFdFdsMTdNaXg5S1NnNld6QXRPVjByS1Q4b1hGd3ZMaW9wUHlRaWZTd2lZWFYwYUc5eWFYcGhkR2x2Ymw5emFXZHVaV1JmY21WemNHOXVjMlZmWVd4bklqcDdJbVZ6YzJWdWRHbGhiQ0k2ZEhKMVpTd2liMjVsWDI5bUlqcGJJa1ZUTWpVMklpd2lSVk16T0RRaUxDSkZVelV4TWlKZGZTd2lZWFYwYUc5eWFYcGhkR2x2Ymw5bGJtTnllWEIwWldSZmNtVnpjRzl1YzJWZlpXNWpJanA3SW1WemMyVnVkR2xoYkNJNlptRnNjMlVzSW05dVpWOXZaaUk2V3lKQk1qVTJSME5OSWl3aVFUTTRORWREVFNJc0lrRTFNVEpIUTAwaVhYMHNJbUYxZEdodmNtbDZZWFJwYjI1ZlpXNWpjbmx3ZEdWa1gzSmxjM0J2Ym5ObFgyRnNaeUk2ZXlKbGMzTmxiblJwWVd3aU9tWmhiSE5sTENKdmJtVmZiMllpT2xzaVJVTkVTQzFGVXlKZGZTd2lkbkJmWm05eWJXRjBjMTl6ZFhCd2IzSjBaV1FpT25zaVpYTnpaVzUwYVdGc0lqcDBjblZsTENKelkyaGxiV0ZmZFhKcElqb2lhSFIwY0hNNkx5OXdjbVV1ZEdFdWQyRnNiR1YwTG1sd2VuTXVhWFF2YzJOb1pXMWhjeTkyTVM0d0xqQXZkbVZ5YVdacFpYSmZkbkJmWm05eWJXRjBYM04xY0hCdmNuUmxaQzVxYzI5dUluMTlMQ0ozWVd4c1pYUmZjSEp2ZG1sa1pYSWlPbnNpYW5kcmN5STZleUpsYzNObGJuUnBZV3dpT25SeWRXVXNJbk5qYUdWdFlWOTFjbWtpT2lKb2RIUndjem92TDNCeVpTNTBZUzUzWVd4c1pYUXVhWEI2Y3k1cGRDOXpZMmhsYldGekwzWXhMakF1TUM5cWQydHpMbXB6YjI0aWZTd2libTl1WTJWZlpXNWtjRzlwYm5RaU9uc2laWE56Wlc1MGFXRnNJanBtWVd4elpTd2ljbVZuWlhod0lqb2lYbWgwZEhCek9seGNMMXhjTHlnX0lTaDNlekVzTW4xOGQzczBMSDBwWEZ3dUtTaDNkM2RjWEM0cFAxdGhMWHBCTFZvd0xUa3RYU3NvWEZ3dVcyRXRla0V0V2pBdE9TMWRLeWtyS0Z4Y0xsdGhMWHBCTFZwZGV6SXNmU2tvT2xzd0xUbGRLeWtfTDI1dmJtTmxKQ0o5TENKMGIydGxibDlsYm1Sd2IybHVkQ0k2ZXlKbGMzTmxiblJwWVd3aU9tWmhiSE5sTENKeVpXZGxlSEFpT2lKZWFIUjBjSE02WEZ3dlhGd3ZLRDhoS0hkN01Td3lmWHgzZXpRc2ZTbGNYQzRwS0hkM2QxeGNMaWtfVzJFdGVrRXRXakF0T1MxZEt5aGNYQzViWVMxNlFTMWFNQzA1TFYwcktTc29YRnd1VzJFdGVrRXRXbDE3TWl4OUtTZzZXekF0T1YwcktUOHZkRzlyWlc0a0luMHNJblJ2YTJWdVgyVnVaSEJ2YVc1MFgyRjFkR2hmYldWMGFHOWtjMTl6ZFhCd2IzSjBaV1FpT25zaVpYTnpaVzUwYVdGc0lqcG1ZV3h6WlN3aWMzVmljMlYwWDI5bUlqcGJJbkJ5YVhaaGRHVmZhMlY1WDJwM2RDSmRmU3dpZEc5clpXNWZaVzVrY0c5cGJuUmZZWFYwYUY5emFXZHVhVzVuWDJGc1oxOTJZV3gxWlhOZmMzVndjRzl5ZEdWa0lqcDdJbVZ6YzJWdWRHbGhiQ0k2Wm1Gc2MyVXNJbk4xWW5ObGRGOXZaaUk2V3lKRlV6STFOaUlzSWtWVE16ZzBJaXdpUlZNMU1USWlYWDBzSW1keVlXNTBYM1I1Y0dWelgzTjFjSEJ2Y25SbFpDSTZleUpsYzNObGJuUnBZV3dpT21aaGJITmxMQ0p6ZFdKelpYUmZiMllpT2xzaWRYSnVPbWxsZEdZNmNHRnlZVzF6T205aGRYUm9PbU5zYVdWdWRDMWhjM05sY25ScGIyNHRkSGx3WlRwcWQzUXRZMnhwWlc1MExXRjBkR1Z6ZEdGMGFXOXVJbDE5TENKaFlXeGZkbUZzZFdWelgzTjFjSEJ2Y25SbFpDSTZleUpsYzNObGJuUnBZV3dpT25SeWRXVXNJbk4xWW5ObGRGOXZaaUk2V3lKb2RIUndjem92TDNkaGJHeGxkQzF3Y205MmFXUmxjaTVsZUdGdGNHeGxMbTl5Wnk5TWIwRXZZbUZ6YVdNaUxDSm9kSFJ3Y3pvdkwzZGhiR3hsZEMxd2NtOTJhV1JsY2k1bGVHRnRjR3hsTG05eVp5OU1iMEV2YldWa2FYVnRJaXdpYUhSMGNITTZMeTkzWVd4c1pYUXRjSEp2ZG1sa1pYSXVaWGhoYlhCc1pTNXZjbWN2VEc5QkwyaHBaMmdpTENKb2RIUndjem92TDNkaGJHeGxkQzVwYnk1d1lXZHZjR0V1YVhRdlRHOUJMMkpoYzJsaklpd2lhSFIwY0hNNkx5OTNZV3hzWlhRdWFXOHVjR0ZuYjNCaExtbDBMMHh2UVM5dFpXUnBkVzBpTENKb2RIUndjem92TDNkaGJHeGxkQzVwYnk1d1lXZHZjR0V1YVhRdlRHOUJMMmhwWjJoMElsMTlmWDBzSW1semN5STZJbWgwZEhCek9pOHZjSEpsTG5SaExuZGhiR3hsZEM1cGNIcHpMbWwwSWl3aVkyOXVjM1J5WVdsdWRITWlPbnNpYldGNFgzQmhkR2hmYkdWdVozUm9Jam95ZlN3aWFXRjBJam94TnpRNU1EUXlOemt3TENKbGVIQWlPakUzTkRreE1qa3hPVEI5LjBVdUVDbEtDTVNaYTI4b2hkRFNDTWZyUVJOVFV2cWlHRVc2M1hBWW92bE1qR2F4OGU2WEFfaHJ1enY1V3VQbDlDUU1ZNndMajhVWEp2bkc3Wk13VkNnIl0sImV4cCI6MTc0OTI4Mzc0NiwiaWF0IjoxNzQ5MTk3MzQ2fQ.uEPc_8dB4tW7CdTLd2WUqlArfNZn7Bq6DZ5zxv3Fm6hFGfOFkNgqedSb-g32wPhfitDtaYMTvEFmvNNGEv8GpA"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Il valore del parametro sub non individua alcuna entità che presenta un profilo attivo"
                }
              }
            }
          }
        }
      }
    },
    "/pki/ta.crl": {
      "get": {
        "tags": [
          "PKI Endpoint"
        ],
        "summary": "TA CRL endpoint",
        "description": "Endpoint per il recupero dalla CA della CRL contenente i certificati X.509 self signed del Trust Anchor (TA) owner della CA (individuato dal parametro alias della richiesta) che sono stati revocati nel tempo (la CRL è in formato DER come da specifica rfc2585 https://datatracker.ietf.org/doc/html/rfc2585#section-4.2)",
        "operationId": "downloadTaCrlFile",
        "responses": {
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Fallita ricerca TA CRL"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "TA CRL non trovata"
                }
              }
            }
          },
          "200": {
            "description": "TA CRL recuperata correttamente",
            "content": {
              "application/pkix-crl": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "example": "binary file"
                }
              }
            }
          }
        }
      }
    },
    "/pki/ta.cer": {
      "get": {
        "tags": [
          "PKI Endpoint"
        ],
        "summary": "certificate endpoint",
        "description": "Endpoint per il recupero dalla CA del certificato X.509 il cui CN è specificato nella richiesta (il certificato è restituito in formato DER come da specifica rfc2585 https://datatracker.ietf.org/doc/html/rfc2585#section-4.1)",
        "operationId": "downloadCrtFile",
        "responses": {
          "200": {
            "description": "certificato recuperato correttamente",
            "content": {
              "application/pkix-cert": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "example": "binary file"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Certificato non trovato"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Fallita ricerca certificato nella CA interna"
                }
              }
            }
          }
        }
      }
    },
    "/pki/ta-sub.crl": {
      "get": {
        "tags": [
          "PKI Endpoint"
        ],
        "summary": "SUB CRL endpoint",
        "description": "Endpoint per il recupero dalla CA della CRL contenente i certificati X.509 rilasciati ai subalterni dal Trust Anchor (TA) owner della CA (individuato dal parametro alias della richiesta) che sono stati revocati nel tempo (la CRL è in formato DER come da specifica rfc2585 https://datatracker.ietf.org/doc/html/rfc2585#section-4.2)",
        "operationId": "downloadSubCrlFile",
        "responses": {
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "TA-SUB CRL non trovata"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Fallita ricerca TA-SUB CRL"
                }
              }
            }
          },
          "200": {
            "description": "TA-SUB CRL recuperata correttamente",
            "content": {
              "application/pkix-crl": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "example": "binary file"
                }
              }
            }
          }
        }
      }
    },
    "/list": {
      "get": {
        "tags": [
          "Federation Endpoint"
        ],
        "summary": "subordinate list endpoint",
        "description": "Recupera dal Trust Anchor (TA) un JSON Array contenente un elenco di URL che identificano i discendenti diretti del TA. In maniera opzionale, è possibile indicare nella richiesta una specifica tipologia di metadata in modo che la risposta contenga solamente le url dei discendenti diretti che forniscono il servizio a cui la tipologia di metadata si riferisce (parametro entity_type). Il content type del messaggio di risposta è application/json",
        "operationId": "list",
        "parameters": [
          {
            "name": "entity_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "trust_marked",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "trust_mark_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "intermediate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Nessuna entità trovata"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Errore generico durante l'esecuzione dell'operazione"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "example": [
                  "https://foo11.blob.core.windows.net/foo",
                  "https://intermediate.example.it"
                ]
              }
            }
          }
        }
      }
    },
    "/federation_historical_keys": {
      "get": {
        "tags": [
          "Federation Endpoint"
        ],
        "summary": "historical keys endpoint",
        "description": "Recupera dal Trust Anchor (TA) un JWT firmato contenente l'elenco delle vecchie chiavi del TA (in fomato JWKs) prima dell'ultima rotazione della chiave. Sono chiavi pubbliche scadute o revocate e in quest'ultimo caso viene restituita insieme alla chiave anche la motivazione della revoca. La pubblicazione delle vecchie chiavi garantisce che le Trust Chain potranno sempre essere verificate nel tempo, anche dopo la scadenza della chiave. Il content type del messaggio di risposta è jwk−set+jwt",
        "operationId": "fedHistoricalKeys",
        "responses": {
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "JWKSet JWT non trovato"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/jwk-set+jwt": {
                "schema": {
                  "type": "string",
                  "format": "jwt"
                },
                "example": "eyJraWQiOiJNZkxfRjVXa2t2QnM1eWZyUURsOGVVY25hNU5va1gyUnB0dlhlejhZSVFjIiwidHlwIjoiandrLXNldCtqd3QiLCJhbGciOiJFUzI1NiJ9.eyJrZXlzIjpbeyJraWQiOiJkeHI3MUdNUHpvYzltQVVOQlVNOEcwYllrTk5lbGY4UWFBYUFteHVBbmQ4Iiwia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiI3QlM5aUJidGxOWUV0c3B2TjZaQl92U0VRWG9LU05LQUQ2SUlObFVma0NZIiwieSI6IjcwZ2NhdU41UXRpZ1RIbXVRbXVDSmxUbGxiMVVvSGdIRVpITWdzQjQzS3ciLCJ4NWMiOlsiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUlJla05EUVhWcFowRjNTVUpCWjBsSFFWcGpZMkV6VVVKTlFXOUhRME54UjFOTk5EbENRVTFEVFVsSGVrMVJjM2REVVZsRVZsRlJSMFYzU2tvS1ZrUkZUMDFCZDBkQk1WVkZRMEYzUmxSSFJqWmhWemg0UkZSQlRFSm5UbFpDUVdOTlFrWktkbUpYUlhoTlZFRjJRbWRPVmtKQmIwMUxSV3g2WkVkc01BcGtXRkoyU1VaQ2RtSkhiRzVqYlVadFlWZE9ka2xIVldkWGJWWnFXVEpGWjFwSFZuTmlSemhuVlROU2FHUkhPSGhEZWtGS1FtZE9Wa0pCYzAxQmEyeFZDazFTTkhkSVFWbEVWbEZSUkVSQ1ZuZGpiVlYxWkVkRmRXUXlSbk5pUjFZd1RHMXNkMlZ1VFhWaFdGRjRTbFJCYWtKbmEzRm9hMmxIT1hjd1FrTlJSVmNLUm01Q2VXSXpVblpaTWpsellrYzVRV05IVm1wTWJXeDNaVzVOZFdGWVVYZElhR05PVFdwVmQwNVVTVFZOVkZGNVRWUk5lbGRvWTA1TmVrRjNUbFJKTkFwTlZGRjVUVlJOZWxkcVEwSnpla1ZNVFVGclIwRXhWVVZDYUUxRFUxWlJlRVJxUVUxQ1owNVdRa0ZuVFVKVmVHaGxiV3gyVFZFd2QwTjNXVVJXVVZGSUNrUkJVbE5pTWpGb1RWUkZkMHgzV1VSV1VWRkxSRU5vU21NelVuQmtTRll3WW5sQ1VXSXllSEJhTTBwb1dtMXNhbUo1UW14SlJuQnNXVEpPYUVsSFVtd0tZa2Q0ZGtsR1RqQlpXRkoyVFZGemQwTlJXVVJXVVZGTVJFRktTbFpFUldWTlFuZEhRVEZWUlVGM2QxWmpTRXBzVEc1U2FFeHVaR2hpUjNoc1pFTTFjQXBqU0hCNlRHMXNNRTFUVlhkSmQxbEtTMjlhU1doMlkwNUJVV3RDUm1oYWQyTnRPVEJpTWs1MllrZDRkbEZJUW14WmVUVndZMGh3ZWt4dGJEQk5SbXQzQ2tWM1dVaExiMXBKZW1vd1EwRlJXVWxMYjFwSmVtb3dSRUZSWTBSUlowRkZOMEpUT1dsQ1luUnNUbGxGZEhOd2RrNDJXa0l2ZGxORlVWaHZTMU5PUzBFS1JEWkpTVTVzVldaclEySjJVMEo0Y1RRemJFTXlTMEpOWldFMVEyRTBTVzFXVDFkV2RsWlRaMlZCWTFKclkzbERkMGhxWTNKTFQwSTFWRU5DTkdwQlpBcENaMDVXU0ZFMFJVWm5VVlUzUm1OQ1pqRkJXakJXUXpOblNISlJSbE5IU0hKVWNFbzBPVUYzU0hkWlJGWlNNR3BDUW1kM1JtOUJWVGRHWTBKbU1VRmFDakJXUXpOblNISlJSbE5IU0hKVWNFbzBPVUYzUkhkWlJGWlNNRlJCVVVndlFrRlZkMEYzUlVJdmVrSkZRbWRuY2tKblJVWkNVV05DUVZGUk5FMUVXWGNLVGtGWlNVdDNXVUpDVVZWSVRVRkxSMHRIYURCa1NFSjZUMms0ZG1OSVNteE1ibEpvVEc1a2FHSkhlR3hrUXpWd1kwaHdla3h0YkRCTU0wSnlZVk01TUFwWlV6VnFXbGhKZDBSbldVUldVakJRUVZGSUwwSkJVVVJCWjBWSFRVUnJSMEV4VldSSWQxRjVUVVJCZDB4eFFYTnZRM0ZIUzBkb01HUklRbnBQYVRoMkNtTklTbXhNYmxKb1RHNWthR0pIZUd4a1F6VndZMGh3ZWt4dGJEQk1NMEp5WVZNNU1GbFROV3BqYlhkM1EyZFpTVXR2V2tsNmFqQkZRWGRKUkZOUlFYY0tVbWRKYUVGSmNuaE1SbXQ1VjJkelFrTlZSVmN4YjJ4T01Xa3paVE5ZVDJSemVEQkROM3BZUzNWb05tcDVja0lyUVdsRlFXdGxPVmhOUmxNNFEzZFJkd28yTkdWbldFOXRSWEZrTldWMVpuTm5XbTFKYWpsQ1FqZFdjMlpxY3pablBRb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0iXSwiaWF0IjoxNzQ4NTI4NDkzLCJleHAiOjE5MDYyMDg0OTMsInJldm9rZWQiOnsicmV2b2tlZF9hdCI6MTc0OTA2NzIwMCwicmVhc29uIjoiY2Vzc2F0aW9uT2ZPcGVyYXRpb24ifX1dLCJpc3MiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdCIsImlhdCI6MTc0OTE1MzYwMCwiZXhwIjoxNzQ5MjQwMDAwfQ.U4Naci6pH_bPXwusvOnJKoB9MHY4nfcQ_uH4S0sMGPWSqjejO7-alYYeCnCt7eXVwmYN3hFodqq_WP5AnrRRvg"
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Fallita ricerca JWKSet JWT"
                }
              }
            }
          }
        }
      }
    },
    "/federation_fetch_endpoint": {
      "get": {
        "tags": [
          "Federation Endpoint"
        ],
        "summary": "fetch endpoint",
        "description": "Recupera dal Trust Anchor (TA) il Subordinate Statement (SS) di un discendente diretto del TA, in formato JWT firmato. Il SS non viene generato al momento, ma viene restituito quello presente all'interno del TA in quanto da lui precedentemente generato. Nella richiesta viene fornito il Federation Entity Identifier del sottoposto (parametro sub). Il content type del messaggio di risposta è application/entity−statement+jwt",
        "operationId": "fetchEntity",
        "parameters": [
          {
            "name": "sub",
            "in": "query",
            "description": "Federation Entity Identifier del sottoposto",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "https://foo11.blob.core.windows.net/foo"
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Il parametro sub non è stato valorizzato con un HTTPS URL"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Fallita generazione Subordinate Statement (SS)"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/entity-statement+jwt": {
                "schema": {
                  "type": "string",
                  "format": "jwt"
                },
                "example": "eyJraWQiOiJNZkxfRjVXa2t2QnM1eWZyUURsOGVVY25hNU5va1gyUnB0dlhlejhZSVFjIiwidHlwIjoiZW50aXR5LXN0YXRlbWVudCtqd3QiLCJhbGciOiJFUzI1NiJ9.eyJzdWIiOiJodHRwczovL2ZvbzExLmJsb2IuY29yZS53aW5kb3dzLm5ldC9mb28iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IkVDIiwidXNlIjoic2lnIiwiY3J2IjoiUC0yNTYiLCJraWQiOiJOc1h5bWZJSUxFUFI1WTB0IiwieDVjIjpbIk1JSURxakNDQTFHZ0F3SUJBZ0lHQVpjNi9WOXFNQW9HQ0NxR1NNNDlCQU1DTUlHek1Rc3dDUVlEVlFRR0V3SkpWREVPTUF3R0ExVUVDQXdGVEdGNmFXOHhEVEFMQmdOVkJBY01CRkp2YldFeE1UQXZCZ05WQkFvTUtFbHpkR2wwZFhSdklGQnZiR2xuY21GbWFXTnZJR1VnV21WalkyRWdaR1ZzYkc4Z1UzUmhkRzh4Q3pBSkJnTlZCQXNNQWtsVU1SNHdIQVlEVlFRRERCVndjbVV1ZEdFdWQyRnNiR1YwTG1sd2VuTXVhWFF4SlRBakJna3Foa2lHOXcwQkNRRVdGbkJ5YjNSdlkyOXNiRzlBY0dWakxtbHdlbk11YVhRd0hoY05NalV3TmpBME1USTBPVE16V2hjTk1qY3dOakEwTVRJME9UTXpXakNCa2pFTE1Ba0dBMVVFQmhNQ1NWUXhEakFNQmdOVkJBZ01CVXhoZW1sdk1RMHdDd1lEVlFRSERBUlNiMjFoTVJZd0ZBWURWUVFLREExUVlXZHZVRUVnVXk1d0xrRXVNU1F3SWdZRFZRUUREQnRtYjI4eE1TNWliRzlpTG1OdmNtVXVkMmx1Wkc5M2N5NXVaWFF4SmpBa0Jna3Foa2lHOXcwQkNRRVdGM0JoWjI5d1lYTndZVUJ3WldNdWNHRm5iM0JoTG1sME1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRWdYWTRGQXBGSkNqOTFHcGIxSzlHRUlvdVRxMlgzTDBLNjRJcTBvYjRsL2lYN3AxeXNpc1ZWMnZPaGoxeEVtLzNNMjRVNUhjeXdQUHBOSU9FSFRFU2pxT0NBVzR3Z2dGcU1CMEdBMVVkRGdRV0JCU1FvZkZBdHE1MGliUlovQmw0M2tjeE1ieElJekNCNVFZRFZSMGpCSUhkTUlIYWdCVHpVSU54akVDcFhlbTB6eUlwc25UcXYzREVHYUdCdWFTQnRqQ0JzekVMTUFrR0ExVUVCaE1DU1ZReERqQU1CZ05WQkFnTUJVeGhlbWx2TVEwd0N3WURWUVFIREFSU2IyMWhNVEV3THdZRFZRUUtEQ2hKYzNScGRIVjBieUJRYjJ4cFozSmhabWxqYnlCbElGcGxZMk5oSUdSbGJHeHZJRk4wWVhSdk1Rc3dDUVlEVlFRTERBSkpWREVlTUJ3R0ExVUVBd3dWY0hKbExuUmhMbmRoYkd4bGRDNXBjSHB6TG1sME1TVXdJd1lKS29aSWh2Y05BUWtCRmhad2NtOTBiMk52Ykd4dlFIQmxZeTVwY0hwekxtbDBnZ1lCbHpyNWVVTXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBREFPQmdOVkhROEJBZjhFQkFNQ0FBY3dQUVlEVlIwZkJEWXdOREF5b0RDZ0xvWXNhSFIwY0hNNkx5OXdjbVV1ZEdFdWQyRnNiR1YwTG1sd2VuTXVhWFF2Y0d0cEwzUmhMWE4xWWk1amNtd3dDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdCU3lIKytvUERQOGlwUnhIY0o4dTJIa043d0w0NFhwSkZ4U0lCVjlSRkhNQ0lCaXhwY1Q0M05Tc2swRXZoSmI0ZzY4YzFkOU9yQm5YT1hWdXlDdFdXRTZhIiwiTUlJRFF6Q0NBdWlnQXdJQkFnSUdBWmM2K1hsRE1Bb0dDQ3FHU000OUJBTUNNSUd6TVFzd0NRWURWUVFHRXdKSlZERU9NQXdHQTFVRUNBd0ZUR0Y2YVc4eERUQUxCZ05WQkFjTUJGSnZiV0V4TVRBdkJnTlZCQW9NS0VsemRHbDBkWFJ2SUZCdmJHbG5jbUZtYVdOdklHVWdXbVZqWTJFZ1pHVnNiRzhnVTNSaGRHOHhDekFKQmdOVkJBc01Ba2xVTVI0d0hBWURWUVFEREJWd2NtVXVkR0V1ZDJGc2JHVjBMbWx3ZW5NdWFYUXhKVEFqQmdrcWhraUc5dzBCQ1FFV0ZuQnliM1J2WTI5c2JHOUFjR1ZqTG1sd2VuTXVhWFF3SGhjTk1qVXdOakEwTVRJME5URTNXaGNOTXpBd05qQXpNVEkwTlRFM1dqQ0JzekVMTUFrR0ExVUVCaE1DU1ZReERqQU1CZ05WQkFnTUJVeGhlbWx2TVEwd0N3WURWUVFIREFSU2IyMWhNVEV3THdZRFZRUUtEQ2hKYzNScGRIVjBieUJRYjJ4cFozSmhabWxqYnlCbElGcGxZMk5oSUdSbGJHeHZJRk4wWVhSdk1Rc3dDUVlEVlFRTERBSkpWREVlTUJ3R0ExVUVBd3dWY0hKbExuUmhMbmRoYkd4bGRDNXBjSHB6TG1sME1TVXdJd1lKS29aSWh2Y05BUWtCRmhad2NtOTBiMk52Ykd4dlFIQmxZeTVwY0hwekxtbDBNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVhRTB4eWhkM2U5TERUN3V3SE9jbEw1SDMzODlnd2lDd0ZoSTNLT3ZpZG4wZ2xCSUhZeHFIKzRaOVZUTVlXRzVMOGN3QzlBYUpVQ05HdTJkcDVaaWlUS09CNVRDQjRqQWRCZ05WSFE0RUZnUVU4MUNEY1l4QXFWM3B0TThpS2JKMDZyOXd4Qmt3SHdZRFZSMGpCQmd3Rm9BVTgxQ0RjWXhBcVYzcHRNOGlLYkowNnI5d3hCa3dEd1lEVlIwVEFRSC9CQVV3QXdFQi96QkVCZ2dyQmdFRkJRY0JBUVE0TURZd05BWUlLd1lCQlFVSE1BS0dLR2gwZEhCek9pOHZjSEpsTG5SaExuZGhiR3hsZEM1cGNIcHpMbWwwTDNCcmFTOTBZUzVqWlhJd0RnWURWUjBQQVFIL0JBUURBZ0VHTURrR0ExVWRId1F5TURBd0xxQXNvQ3FHS0doMGRIQnpPaTh2Y0hKbExuUmhMbmRoYkd4bGRDNXBjSHB6TG1sMEwzQnJhUzkwWVM1amNtd3dDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBT3NRWXpSK2VHZjRqZTYzVkdIcWtwbWtCYmZ5T3JlK21mSWRISG93V1dSL0FpRUE1OHhCTmI1VVc1dU1CK3RRdXI4ZnEyNFJENU1tUkhMWVM2YkRnSVltbHV3PSJdLCJ4IjoiZ1hZNEZBcEZKQ2o5MUdwYjFLOUdFSW91VHEyWDNMMEs2NElxMG9iNGxfZyIsInkiOiJsLTZkY3JJckZWZHJ6b1k5Y1JKdjl6TnVGT1IzTXNEejZUU0RoQjB4RW80In1dfSwibWV0YWRhdGFfcG9saWN5Ijp7ImZlZGVyYXRpb25fZW50aXR5Ijp7Im9yZ2FuaXphdGlvbl9uYW1lIjp7ImVzc2VudGlhbCI6dHJ1ZSwicmVnZXhwIjoiXig_IVxccykoPyEuKlxcc1xccykoPyEuKlxccyQpLiskIn0sImNvbnRhY3RzIjp7ImVzc2VudGlhbCI6dHJ1ZSwicmVnZXhwIjoiXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Mix9JCJ9LCJob21lcGFnZV91cmkiOnsiZXNzZW50aWFsIjpmYWxzZSwicmVnZXhwIjoiXihodHRwfGh0dHBzKTpcXC9cXC8oPyEod3sxLDJ9fHd7NCx9KVxcLikod3d3XFwuKT9bYS16QS1aMC05LV0rKFxcLlthLXpBLVowLTktXSspKyhcXC5bYS16QS1aXXsyLH0pKDpbMC05XSspPyhcXC8uKik_JCJ9LCJsb2dvX3VyaSI6eyJlc3NlbnRpYWwiOmZhbHNlLCJyZWdleHAiOiJeKGh0dHB8aHR0cHMpOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_KFxcLy4qKT9cXC5zdmckIn0sInBvbGljeV91cmkiOnsiZXNzZW50aWFsIjp0cnVlLCJyZWdleHAiOiJeKGh0dHB8aHR0cHMpOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_KFxcLy4qKT8kIn0sImZlZGVyYXRpb25fcmVzb2x2ZV9lbmRwb2ludCI6eyJlc3NlbnRpYWwiOmZhbHNlLCJyZWdleHAiOiJeaHR0cHM6XFwvXFwvKD8hKHd7MSwyfXx3ezQsfSlcXC4pKHd3d1xcLik_W2EtekEtWjAtOS1dKyhcXC5bYS16QS1aMC05LV0rKSsoXFwuW2EtekEtWl17Mix9KSg6WzAtOV0rKT8vcmVzb2x2ZSQifX0sIm9hdXRoX2F1dGhvcml6YXRpb25fc2VydmVyIjp7Imlzc3VlciI6eyJlc3NlbnRpYWwiOnRydWUsInJlZ2V4cCI6Il5odHRwczpcXC9cXC8oPyEod3sxLDJ9fHd7NCx9KVxcLikod3d3XFwuKT9bYS16QS1aMC05LV0rKFxcLlthLXpBLVowLTktXSspKyhcXC5bYS16QS1aXXsyLH0pKDpbMC05XSspPyhcXC8uKik_JCJ9LCJqd2tzIjp7ImVzc2VudGlhbCI6dHJ1ZSwic2NoZW1hX3VyaSI6Imh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0L3NjaGVtYXMvdjEuMC4wL2p3a3MuanNvbiJ9LCJwdXNoZWRfYXV0aG9yaXphdGlvbl9yZXF1ZXN0X2VuZHBvaW50Ijp7ImVzc2VudGlhbCI6dHJ1ZSwicmVnZXhwIjoiXmh0dHBzOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_L2FzL3BhciQifSwiYXV0aG9yaXphdGlvbl9lbmRwb2ludCI6eyJlc3NlbnRpYWwiOnRydWUsInJlZ2V4cCI6Il5odHRwczpcXC9cXC8oPyEod3sxLDJ9fHd7NCx9KVxcLikod3d3XFwuKT9bYS16QS1aMC05LV0rKFxcLlthLXpBLVowLTktXSspKyhcXC5bYS16QS1aXXsyLH0pKDpbMC05XSspPy9hdXRob3JpemUkIn0sInRva2VuX2VuZHBvaW50Ijp7ImVzc2VudGlhbCI6dHJ1ZSwicmVnZXhwIjoiXmh0dHBzOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_L3Rva2VuJCJ9LCJzY29wZXNfc3VwcG9ydGVkIjp7ImVzc2VudGlhbCI6dHJ1ZSwic3Vic2V0X29mIjpbIlBlcnNvbklkZW50aWZpY2F0aW9uRGF0YSIsIkV1cm9wZWFuRGlzYWJpbGl0eUNhcmQiLCJFdXJvcGVhbkhlYWx0aEluc3VyYW5jZUNhcmQiLCJtREwiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjp7ImVzc2VudGlhbCI6dHJ1ZSwic3VwZXJzZXRfb2YiOlsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvU3BpZEwyIiwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvU3BpZEwzIl19LCJncmFudF90eXBlc19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjp0cnVlLCJzdXBlcnNldF9vZiI6WyJhdXRob3JpemF0aW9uX2NvZGUiXX0sInJlc3BvbnNlX3R5cGVzX3N1cHBvcnRlZCI6eyJlc3NlbnRpYWwiOnRydWUsInN1cGVyc2V0X29mIjpbImNvZGUiXX0sInJlc3BvbnNlX21vZGVzX3N1cHBvcnRlZCI6eyJlc3NlbnRpYWwiOnRydWUsInN1cGVyc2V0X29mIjpbInF1ZXJ5IiwiZm9ybV9wb3N0Lmp3dCJdfSwiYXV0aG9yaXphdGlvbl9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7ImVzc2VudGlhbCI6dHJ1ZSwic3Vic2V0X29mIjpbIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwiY29kZV9jaGFsbGVuZ2VfbWV0aG9kc19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjp0cnVlLCJzdWJzZXRfb2YiOlsiUzI1NiJdfSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6eyJlc3NlbnRpYWwiOnRydWUsInN1YnNldF9vZiI6WyJhdHRlc3Rfand0X2NsaWVudF9hdXRoIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjp0cnVlLCJzdWJzZXRfb2YiOlsiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7ImVzc2VudGlhbCI6dHJ1ZSwic3Vic2V0X29mIjpbIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwiY2xpZW50X3JlZ2lzdHJhdGlvbl90eXBlc19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjp0cnVlLCJzdWJzZXRfb2YiOlsiYXV0b21hdGljIl19fSwib3BlbmlkX2NyZWRlbnRpYWxfaXNzdWVyIjp7ImNyZWRlbnRpYWxfaXNzdWVyIjp7ImVzc2VudGlhbCI6dHJ1ZSwicmVnZXhwIjoiXmh0dHBzOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_KFxcLy4qKT8kIn0sImp3a3MiOnsiZXNzZW50aWFsIjp0cnVlLCJzY2hlbWFfdXJpIjoiaHR0cHM6Ly9wcmUudGEud2FsbGV0LmlwenMuaXQvc2NoZW1hcy92MS4wLjAvandrcy5qc29uIn0sImNyZWRlbnRpYWxfZW5kcG9pbnQiOnsiZXNzZW50aWFsIjp0cnVlLCJyZWdleHAiOiJeaHR0cHM6XFwvXFwvKD8hKHd7MSwyfXx3ezQsfSlcXC4pKHd3d1xcLik_W2EtekEtWjAtOS1dKyhcXC5bYS16QS1aMC05LV0rKSsoXFwuW2EtekEtWl17Mix9KSg6WzAtOV0rKT8vY3JlZGVudGlhbCQifSwibm9uY2VfZW5kcG9pbnQiOnsiZXNzZW50aWFsIjp0cnVlLCJyZWdleHAiOiJeaHR0cHM6XFwvXFwvKD8hKHd7MSwyfXx3ezQsfSlcXC4pKHd3d1xcLik_W2EtekEtWjAtOS1dKyhcXC5bYS16QS1aMC05LV0rKSsoXFwuW2EtekEtWl17Mix9KSg6WzAtOV0rKT8vbm9uY2UkIn0sIm5vdGlmaWNhdGlvbl9lbmRwb2ludCI6eyJlc3NlbnRpYWwiOmZhbHNlLCJyZWdleHAiOiJeaHR0cHM6XFwvXFwvKD8hKHd7MSwyfXx3ezQsfSlcXC4pKHd3d1xcLik_W2EtekEtWjAtOS1dKyhcXC5bYS16QS1aMC05LV0rKSsoXFwuW2EtekEtWl17Mix9KSg6WzAtOV0rKT8vbm90aWZpY2F0aW9uJCJ9LCJzdGF0dXNfYXNzZXJ0aW9uX2VuZHBvaW50Ijp7ImVzc2VudGlhbCI6dHJ1ZSwicmVnZXhwIjoiXmh0dHBzOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_L3N0YXR1cyQifSwicmV2b2NhdGlvbl9lbmRwb2ludCI6eyJlc3NlbnRpYWwiOnRydWUsInJlZ2V4cCI6Il5odHRwczpcXC9cXC8oPyEod3sxLDJ9fHd7NCx9KVxcLikod3d3XFwuKT9bYS16QS1aMC05LV0rKFxcLlthLXpBLVowLTktXSspKyhcXC5bYS16QS1aXXsyLH0pKDpbMC05XSspPy9yZXZva2UkIn0sImRlZmVycmVkX2NyZWRlbnRpYWxfZW5kcG9pbnQiOnsiZXNzZW50aWFsIjpmYWxzZSwicmVnZXhwIjoiXmh0dHBzOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_L2RlZmVycmVkJCJ9LCJkaXNwbGF5Ijp7ImVzc2VudGlhbCI6ZmFsc2UsInNjaGVtYV91cmkiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdC9zY2hlbWFzL3YxLjAuMC9kaXNwbGF5X3N1cHBvcnRlZF9hcnJheS5qc29uIn0sImV2aWRlbmNlX3N1cHBvcnRlZCI6eyJlc3NlbnRpYWwiOnRydWUsInN1YnNldF9vZiI6WyJ2b3VjaCJdfSwiY3JlZGVudGlhbF9oYXNoX2FsZ19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjp0cnVlLCJvbmVfb2YiOlsiUzI1NiJdfSwiY3JlZGVudGlhbF9jb25maWd1cmF0aW9uc19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjpmYWxzZSwic2NoZW1hX3VyaSI6Imh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0L3NjaGVtYXMvdjEuMC4wL2NyZWRlbnRpYWxfY29uZmlndXJhdGlvbnNfc3VwcG9ydGVkLmpzb24ifSwidHJ1c3RfZnJhbWV3b3Jrc19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjpmYWxzZSwic3Vic2V0X29mIjpbIml0X3NwaWQiLCJpdF9jaWUiLCJpdF93YWxsZXQiXX19LCJvcGVuaWRfY3JlZGVudGlhbF92ZXJpZmllciI6eyJjbGllbnRfaWQiOnsiZXNzZW50aWFsIjp0cnVlLCJyZWdleHAiOiJeaHR0cHM6XFwvXFwvKD8hKHd7MSwyfXx3ezQsfSlcXC4pKHd3d1xcLik_W2EtekEtWjAtOS1dKyhcXC5bYS16QS1aMC05LV0rKSsoXFwuW2EtekEtWl17Mix9KSg6WzAtOV0rKT8oXFwvLiopPyQifSwiY2xpZW50X25hbWUiOnsiZXNzZW50aWFsIjpmYWxzZSwicmVnZXhwIjoiXig_IVxccykoPyEuKlxcc1xccykoPyEuKlxccyQpLiskIn0sImFwcGxpY2F0aW9uX3R5cGUiOnsiZGVmYXVsdCI6IndlYiIsImVzc2VudGlhbCI6ZmFsc2UsIm9uZV9vZiI6WyJ3ZWIiXX0sImp3a3MiOnsiZXNzZW50aWFsIjp0cnVlLCJzY2hlbWFfdXJpIjoiaHR0cHM6Ly9wcmUudGEud2FsbGV0LmlwenMuaXQvc2NoZW1hcy92MS4wLjAvandrcy5qc29uIn0sInJlcXVlc3RfdXJpcyI6eyJlc3NlbnRpYWwiOnRydWUsInJlZ2V4cCI6Il5odHRwczpcXC9cXC8oPyEod3sxLDJ9fHd7NCx9KVxcLikod3d3XFwuKT9bYS16QS1aMC05LV0rKFxcLlthLXpBLVowLTktXSspKyhcXC5bYS16QS1aXXsyLH0pKDpbMC05XSspPyhcXC8uKik_JCJ9LCJyZXNwb25zZV91cmlzIjp7ImVzc2VudGlhbCI6dHJ1ZSwicmVnZXhwIjoiXmh0dHBzOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_KFxcLy4qKT8kIn0sInJlZGlyZWN0X3VyaXMiOnsiZXNzZW50aWFsIjp0cnVlLCJyZWdleHAiOiJeaHR0cHM6XFwvXFwvKD8hKHd7MSwyfXx3ezQsfSlcXC4pKHd3d1xcLik_W2EtekEtWjAtOS1dKyhcXC5bYS16QS1aMC05LV0rKSsoXFwuW2EtekEtWl17Mix9KSg6WzAtOV0rKT8oXFwvLiopPyQifSwiYXV0aG9yaXphdGlvbl9zaWduZWRfcmVzcG9uc2VfYWxnIjp7ImVzc2VudGlhbCI6dHJ1ZSwib25lX29mIjpbIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwiYXV0aG9yaXphdGlvbl9lbmNyeXB0ZWRfcmVzcG9uc2VfZW5jIjp7ImVzc2VudGlhbCI6ZmFsc2UsIm9uZV9vZiI6WyJBMjU2R0NNIiwiQTM4NEdDTSIsIkE1MTJHQ00iXX0sImF1dGhvcml6YXRpb25fZW5jcnlwdGVkX3Jlc3BvbnNlX2FsZyI6eyJlc3NlbnRpYWwiOmZhbHNlLCJvbmVfb2YiOlsiRUNESC1FUyJdfSwidnBfZm9ybWF0c19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjp0cnVlLCJzY2hlbWFfdXJpIjoiaHR0cHM6Ly9wcmUudGEud2FsbGV0LmlwenMuaXQvc2NoZW1hcy92MS4wLjAvdmVyaWZpZXJfdnBfZm9ybWF0X3N1cHBvcnRlZC5qc29uIn19LCJ3YWxsZXRfcHJvdmlkZXIiOnsiandrcyI6eyJlc3NlbnRpYWwiOnRydWUsInNjaGVtYV91cmkiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdC9zY2hlbWFzL3YxLjAuMC9qd2tzLmpzb24ifSwibm9uY2VfZW5kcG9pbnQiOnsiZXNzZW50aWFsIjpmYWxzZSwicmVnZXhwIjoiXmh0dHBzOlxcL1xcLyg_ISh3ezEsMn18d3s0LH0pXFwuKSh3d3dcXC4pP1thLXpBLVowLTktXSsoXFwuW2EtekEtWjAtOS1dKykrKFxcLlthLXpBLVpdezIsfSkoOlswLTldKyk_L25vbmNlJCJ9LCJ0b2tlbl9lbmRwb2ludCI6eyJlc3NlbnRpYWwiOmZhbHNlLCJyZWdleHAiOiJeaHR0cHM6XFwvXFwvKD8hKHd7MSwyfXx3ezQsfSlcXC4pKHd3d1xcLik_W2EtekEtWjAtOS1dKyhcXC5bYS16QS1aMC05LV0rKSsoXFwuW2EtekEtWl17Mix9KSg6WzAtOV0rKT8vdG9rZW4kIn0sInRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kc19zdXBwb3J0ZWQiOnsiZXNzZW50aWFsIjpmYWxzZSwic3Vic2V0X29mIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7ImVzc2VudGlhbCI6ZmFsc2UsInN1YnNldF9vZiI6WyJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6eyJlc3NlbnRpYWwiOmZhbHNlLCJzdWJzZXRfb2YiOlsidXJuOmlldGY6cGFyYW1zOm9hdXRoOmNsaWVudC1hc3NlcnRpb24tdHlwZTpqd3QtY2xpZW50LWF0dGVzdGF0aW9uIl19LCJhYWxfdmFsdWVzX3N1cHBvcnRlZCI6eyJlc3NlbnRpYWwiOnRydWUsInN1YnNldF9vZiI6WyJodHRwczovL3dhbGxldC1wcm92aWRlci5leGFtcGxlLm9yZy9Mb0EvYmFzaWMiLCJodHRwczovL3dhbGxldC1wcm92aWRlci5leGFtcGxlLm9yZy9Mb0EvbWVkaXVtIiwiaHR0cHM6Ly93YWxsZXQtcHJvdmlkZXIuZXhhbXBsZS5vcmcvTG9BL2hpZ2giLCJodHRwczovL3dhbGxldC5pby5wYWdvcGEuaXQvTG9BL2Jhc2ljIiwiaHR0cHM6Ly93YWxsZXQuaW8ucGFnb3BhLml0L0xvQS9tZWRpdW0iLCJodHRwczovL3dhbGxldC5pby5wYWdvcGEuaXQvTG9BL2hpZ2h0Il19fX0sImlzcyI6Imh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0IiwiZXhwIjoxNzQ5MjIwNjAxLCJjb25zdHJhaW50cyI6eyJtYXhfcGF0aF9sZW5ndGgiOjJ9LCJpYXQiOjE3NDkxMzQyMDF9.gAjVoiR0XGiIYuVrLqB01MTj_jKjYc2ZGhOiYdUQ2CbtQL--jn6LrA5mWlfflcHp3tkM-yLNtLIu3PJsSnYDuA"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Il valore del parametro sub non individua alcuna entità che presenta un profilo attivo"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/openid-federation": {
      "get": {
        "tags": [
          "Federation Endpoint"
        ],
        "summary": "configuration endpoint",
        "description": "Recupera dal Trust Anchor (TA) l'Entity Configuration (EC) del TA, in formato JWT firmato.  L'EC non viene generato al momento, ma viene restituito quello presente all'interno del TA in quanto da lui precedentemente generato. La location dell'endpoint è determinata concatenando la stringa  /.well-known/openid-federation all'Entity Identifier dell'Entità. Il content type del messaggio di risposta è application/entity−statement+jwt",
        "operationId": "federationEntityConfiguration",
        "responses": {
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Fallita generazione Entity Configuration (EC)"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/entity-statement+jwt": {
                "schema": {
                  "type": "string",
                  "format": "jwt"
                },
                "example": "eyJraWQiOiJNZkxfRjVXa2t2QnM1eWZyUURsOGVVY25hNU5va1gyUnB0dlhlejhZSVFjIiwidHlwIjoiZW50aXR5LXN0YXRlbWVudCtqd3QiLCJhbGciOiJFUzI1NiJ9.eyJzdWIiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdCIsIm1ldGFkYXRhIjp7ImZlZGVyYXRpb25fZW50aXR5Ijp7ImNvbnRhY3RzIjpbInByb3RvY29sbG9AcGVjLmlwenMuaXQiXSwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly93d3cuaXB6cy5pdCIsImxvZ29fdXJpIjoiaHR0cHM6Ly93d3cuaXB6cy5pdC9pbWcvaW50ZXJuZXQvbG9naGkvbG9nb0lQWlMtbWluLnN2ZyIsIm9yZ2FuaXphdGlvbl9uYW1lIjoiSXN0aXR1dG8gUG9saWdyYWZpY28gZSBaZWNjYSBkZWxsbyBTdGF0by4iLCJwb2xpY3lfdXJpIjoiaHR0cHM6Ly9wcmUudGEud2FsbGV0LmlwenMuaXQvcG9saWN5Lmh0bWwiLCJmZWRlcmF0aW9uX2ZldGNoX2VuZHBvaW50IjoiaHR0cHM6Ly9wcmUudGEud2FsbGV0LmlwenMuaXQvZmVkZXJhdGlvbl9mZXRjaF9lbmRwb2ludCIsImZlZGVyYXRpb25fbGlzdF9lbmRwb2ludCI6Imh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0L2xpc3QiLCJmZWRlcmF0aW9uX3Jlc29sdmVfZW5kcG9pbnQiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdC9yZXNvbHZlIiwiZmVkZXJhdGlvbl9oaXN0b3JpY2FsX2tleXNfZW5kcG9pbnQiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdC9mZWRlcmF0aW9uX2hpc3RvcmljYWxfa2V5cyJ9fSwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTWZMX0Y1V2trdkJzNXlmclFEbDhlVWNuYTVOb2tYMlJwdHZYZXo4WUlRYyIsIng1YyI6WyJNSUlEUXpDQ0F1aWdBd0lCQWdJR0FaYzYrWGxETUFvR0NDcUdTTTQ5QkFNQ01JR3pNUXN3Q1FZRFZRUUdFd0pKVkRFT01Bd0dBMVVFQ0F3RlRHRjZhVzh4RFRBTEJnTlZCQWNNQkZKdmJXRXhNVEF2QmdOVkJBb01LRWx6ZEdsMGRYUnZJRkJ2YkdsbmNtRm1hV052SUdVZ1dtVmpZMkVnWkdWc2JHOGdVM1JoZEc4eEN6QUpCZ05WQkFzTUFrbFVNUjR3SEFZRFZRUUREQlZ3Y21VdWRHRXVkMkZzYkdWMExtbHdlbk11YVhReEpUQWpCZ2txaGtpRzl3MEJDUUVXRm5CeWIzUnZZMjlzYkc5QWNHVmpMbWx3ZW5NdWFYUXdIaGNOTWpVd05qQTBNVEkwTlRFM1doY05NekF3TmpBek1USTBOVEUzV2pDQnN6RUxNQWtHQTFVRUJoTUNTVlF4RGpBTUJnTlZCQWdNQlV4aGVtbHZNUTB3Q3dZRFZRUUhEQVJTYjIxaE1URXdMd1lEVlFRS0RDaEpjM1JwZEhWMGJ5QlFiMnhwWjNKaFptbGpieUJsSUZwbFkyTmhJR1JsYkd4dklGTjBZWFJ2TVFzd0NRWURWUVFMREFKSlZERWVNQndHQTFVRUF3d1ZjSEpsTG5SaExuZGhiR3hsZEM1cGNIcHpMbWwwTVNVd0l3WUpLb1pJaHZjTkFRa0JGaFp3Y205MGIyTnZiR3h2UUhCbFl5NXBjSHB6TG1sME1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRWFFMHh5aGQzZTlMRFQ3dXdIT2NsTDVIMzM4OWd3aUN3RmhJM0tPdmlkbjBnbEJJSFl4cUgrNFo5VlRNWVdHNUw4Y3dDOUFhSlVDTkd1MmRwNVppaVRLT0I1VENCNGpBZEJnTlZIUTRFRmdRVTgxQ0RjWXhBcVYzcHRNOGlLYkowNnI5d3hCa3dId1lEVlIwakJCZ3dGb0FVODFDRGNZeEFxVjNwdE04aUtiSjA2cjl3eEJrd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pCRUJnZ3JCZ0VGQlFjQkFRUTRNRFl3TkFZSUt3WUJCUVVITUFLR0tHaDBkSEJ6T2k4dmNISmxMblJoTG5kaGJHeGxkQzVwY0hwekxtbDBMM0JyYVM5MFlTNWpaWEl3RGdZRFZSMFBBUUgvQkFRREFnRUdNRGtHQTFVZEh3UXlNREF3THFBc29DcUdLR2gwZEhCek9pOHZjSEpsTG5SaExuZGhiR3hsZEM1cGNIcHpMbWwwTDNCcmFTOTBZUzVqY213d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPc1FZelIrZUdmNGplNjNWR0hxa3Bta0JiZnlPcmUrbWZJZEhIb3dXV1IvQWlFQTU4eEJOYjVVVzV1TUIrdFF1cjhmcTI0UkQ1TW1SSExZUzZiRGdJWW1sdXc9Il0sIngiOiJhRTB4eWhkM2U5TERUN3V3SE9jbEw1SDMzODlnd2lDd0ZoSTNLT3ZpZG4wIiwieSI6IklKUVNCMk1haF91R2ZWVXpHRmh1U19ITUF2UUdpVkFqUnJ0bmFlV1lva3ciLCJhbGciOiJFUzI1NiJ9XX0sImlzcyI6Imh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0IiwiZXhwIjoxNzQ5Mjg0MDMyLCJpYXQiOjE3NDkxOTc2MzJ9.dmcQMlmJ4MXx8Vt4iAgJap4tKG0xinTFFBewbxy_r_DUalOcR27e0lSEo0acck_H9ppzfZ4a_GoEM0A1pIkEvw"
              }
            }
          }
        }
      }
    },
    "/.well-known/credential-taxonomy": {
      "get": {
        "tags": [
          "Federation Endpoint"
        ],
        "summary": "Credential Taxonomy",
        "description": "Recupera dal Trust Anchor (TA) la Tassonomia degli Attributi contenente le informazioni semantiche di tutti gli attributi registrati e disponibili all'interno dell'ecosistema IT-Wallet. Il content type del messaggio di risposta è application/json",
        "operationId": "credentialtaxonomy",
        "responses": {
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Not Found",
                  "error_description": "Tassonomia degli Attributi non disponibile"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Errore generico durante l'esecuzione dell'operazione"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/credential-catalogue": {
      "get": {
        "tags": [
          "Federation Endpoint"
        ],
        "summary": "credential catalog",
        "description": "Recupera dal Trust Anchor (TA) il catalogo degli Attestati Elettronici, in formato JOSE. La location dell'endpoint è determinata concatenando la stringa  /.well-known/credential-catalogue all'Entity Identifier dell'Entità. Il content type del messaggio di risposta è application/jose",
        "operationId": "credentialCatalogue",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/jose": {
                "schema": {
                  "type": "string",
                  "format": "jwt"
                },
                "example": "eyJraWQiOiJNZkxfRjVXa2t2QnM1eWZyUURsOGVVY25hNU5va1gyUnB0dlhlejhZSVFjIiwidHlwIjoiZW50aXR5LXN0YXRlbWVudCtqd3QiLCJhbGciOiJFUzI1NiJ9.eyJzdWIiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdCIsIm1ldGFkYXRhIjp7ImZlZGVyYXRpb25fZW50aXR5Ijp7ImNvbnRhY3RzIjpbInByb3RvY29sbG9AcGVjLmlwenMuaXQiXSwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly93d3cuaXB6cy5pdCIsImxvZ29fdXJpIjoiaHR0cHM6Ly93d3cuaXB6cy5pdC9pbWcvaW50ZXJuZXQvbG9naGkvbG9nb0lQWlMtbWluLnN2ZyIsIm9yZ2FuaXphdGlvbl9uYW1lIjoiSXN0aXR1dG8gUG9saWdyYWZpY28gZSBaZWNjYSBkZWxsbyBTdGF0by4iLCJwb2xpY3lfdXJpIjoiaHR0cHM6Ly9wcmUudGEud2FsbGV0LmlwenMuaXQvcG9saWN5Lmh0bWwiLCJmZWRlcmF0aW9uX2ZldGNoX2VuZHBvaW50IjoiaHR0cHM6Ly9wcmUudGEud2FsbGV0LmlwenMuaXQvZmVkZXJhdGlvbl9mZXRjaF9lbmRwb2ludCIsImZlZGVyYXRpb25fbGlzdF9lbmRwb2ludCI6Imh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0L2xpc3QiLCJmZWRlcmF0aW9uX3Jlc29sdmVfZW5kcG9pbnQiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdC9yZXNvbHZlIiwiZmVkZXJhdGlvbl9oaXN0b3JpY2FsX2tleXNfZW5kcG9pbnQiOiJodHRwczovL3ByZS50YS53YWxsZXQuaXB6cy5pdC9mZWRlcmF0aW9uX2hpc3RvcmljYWxfa2V5cyJ9fSwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTWZMX0Y1V2trdkJzNXlmclFEbDhlVWNuYTVOb2tYMlJwdHZYZXo4WUlRYyIsIng1YyI6WyJNSUlEUXpDQ0F1aWdBd0lCQWdJR0FaYzYrWGxETUFvR0NDcUdTTTQ5QkFNQ01JR3pNUXN3Q1FZRFZRUUdFd0pKVkRFT01Bd0dBMVVFQ0F3RlRHRjZhVzh4RFRBTEJnTlZCQWNNQkZKdmJXRXhNVEF2QmdOVkJBb01LRWx6ZEdsMGRYUnZJRkJ2YkdsbmNtRm1hV052SUdVZ1dtVmpZMkVnWkdWc2JHOGdVM1JoZEc4eEN6QUpCZ05WQkFzTUFrbFVNUjR3SEFZRFZRUUREQlZ3Y21VdWRHRXVkMkZzYkdWMExtbHdlbk11YVhReEpUQWpCZ2txaGtpRzl3MEJDUUVXRm5CeWIzUnZZMjlzYkc5QWNHVmpMbWx3ZW5NdWFYUXdIaGNOTWpVd05qQTBNVEkwTlRFM1doY05NekF3TmpBek1USTBOVEUzV2pDQnN6RUxNQWtHQTFVRUJoTUNTVlF4RGpBTUJnTlZCQWdNQlV4aGVtbHZNUTB3Q3dZRFZRUUhEQVJTYjIxaE1URXdMd1lEVlFRS0RDaEpjM1JwZEhWMGJ5QlFiMnhwWjNKaFptbGpieUJsSUZwbFkyTmhJR1JsYkd4dklGTjBZWFJ2TVFzd0NRWURWUVFMREFKSlZERWVNQndHQTFVRUF3d1ZjSEpsTG5SaExuZGhiR3hsZEM1cGNIcHpMbWwwTVNVd0l3WUpLb1pJaHZjTkFRa0JGaFp3Y205MGIyTnZiR3h2UUhCbFl5NXBjSHB6TG1sME1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRWFFMHh5aGQzZTlMRFQ3dXdIT2NsTDVIMzM4OWd3aUN3RmhJM0tPdmlkbjBnbEJJSFl4cUgrNFo5VlRNWVdHNUw4Y3dDOUFhSlVDTkd1MmRwNVppaVRLT0I1VENCNGpBZEJnTlZIUTRFRmdRVTgxQ0RjWXhBcVYzcHRNOGlLYkowNnI5d3hCa3dId1lEVlIwakJCZ3dGb0FVODFDRGNZeEFxVjNwdE04aUtiSjA2cjl3eEJrd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pCRUJnZ3JCZ0VGQlFjQkFRUTRNRFl3TkFZSUt3WUJCUVVITUFLR0tHaDBkSEJ6T2k4dmNISmxMblJoTG5kaGJHeGxkQzVwY0hwekxtbDBMM0JyYVM5MFlTNWpaWEl3RGdZRFZSMFBBUUgvQkFRREFnRUdNRGtHQTFVZEh3UXlNREF3THFBc29DcUdLR2gwZEhCek9pOHZjSEpsTG5SaExuZGhiR3hsZEM1cGNIcHpMbWwwTDNCcmFTOTBZUzVqY213d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPc1FZelIrZUdmNGplNjNWR0hxa3Bta0JiZnlPcmUrbWZJZEhIb3dXV1IvQWlFQTU4eEJOYjVVVzV1TUIrdFF1cjhmcTI0UkQ1TW1SSExZUzZiRGdJWW1sdXc9Il0sIngiOiJhRTB4eWhkM2U5TERUN3V3SE9jbEw1SDMzODlnd2lDd0ZoSTNLT3ZpZG4wIiwieSI6IklKUVNCMk1haF91R2ZWVXpHRmh1U19ITUF2UUdpVkFqUnJ0bmFlV1lva3ciLCJhbGciOiJFUzI1NiJ9XX0sImlzcyI6Imh0dHBzOi8vcHJlLnRhLndhbGxldC5pcHpzLml0IiwiZXhwIjoxNzQ5Mjg0MDMyLCJpYXQiOjE3NDkxOTc2MzJ9.dmcQMlmJ4MXx8Vt4iAgJap4tKG0xinTFFBewbxy_r_DUalOcR27e0lSEo0acck_H9ppzfZ4a_GoEM0A1pIkEvw"
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "error": "Internal Server Error",
                  "error_description": "Fallita generazione del Catalogo degli Attestati Elettronici"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorDTO": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "error_description": {
            "type": "string"
          },
          "error_details": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "OnboardingRequest": {
        "required": [
          "codiceEnte",
          "csr",
          "emailAddress",
          "entityIdentifier",
          "jwk",
          "profile"
        ],
        "type": "object",
        "properties": {
          "csr": {
            "type": "string"
          },
          "jwk": {
            "type": "string"
          },
          "entityIdentifier": {
            "type": "string"
          },
          "emailAddress": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "codiceEnte": {
            "type": "string"
          },
          "entityConfiguration": {
            "type": "string"
          }
        }
      },
      "OnboardingResponse": {
        "type": "object",
        "properties": {
          "x5c": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "registrationNumber": {
            "type": "string"
          }
        }
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "federationEntityId": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "statusDetail": {
            "type": "string"
          },
          "lastUpdateStatus": {
            "type": "string"
          }
        }
      }
    }
  }
}