From 542ab4a4664d7bc2668e94f9fd846b44e68d77b5 Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Sun, 12 May 2024 14:44:34 +0000 Subject: [PATCH] Bump to version 0.2.4 [skip ci] --- helm/Chart.yaml | 4 +- helm/values-dev.yaml | 2 +- helm/values-prod.yaml | 5 +- helm/values-uat.yaml | 5 +- openapi/openapi.json | 1657 +++++++++++++++++-------------- openapi/openapi_core.json | 1420 ++++++++++++++------------ openapi/openapi_enrolledci.json | 398 ++++---- pom.xml | 2 +- 8 files changed, 1870 insertions(+), 1623 deletions(-) diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 6bad30f..b7a2c5b 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: pagopa-platform-authorizer-config description: Microservice that provides a set of APIs to manage authorization records for the Authorizer system. type: application -version: 0.29.0 -appVersion: 0.2.3-5-upd-helm-chart +version: 0.30.0 +appVersion: 0.2.4 dependencies: - name: microservice-chart version: 2.8.0 diff --git a/helm/values-dev.yaml b/helm/values-dev.yaml index 97675ba..42ec897 100644 --- a/helm/values-dev.yaml +++ b/helm/values-dev.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-platform-authorizer-config - tag: "0.2.3-5-upd-helm-chart" + tag: "0.2.4" pullPolicy: Always livenessProbe: httpGet: diff --git a/helm/values-prod.yaml b/helm/values-prod.yaml index 99e7e84..f55a6ab 100644 --- a/helm/values-prod.yaml +++ b/helm/values-prod.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-platform-authorizer-config - tag: "0.2.3-5-upd-helm-chart" + tag: "0.2.4" pullPolicy: Always livenessProbe: httpGet: @@ -105,4 +105,5 @@ microservice-chart: canaryDelivery: deployment: image: - tag: "" \ No newline at end of file + tag: "" + create: false diff --git a/helm/values-uat.yaml b/helm/values-uat.yaml index 4d80fd3..8ffd0ee 100644 --- a/helm/values-uat.yaml +++ b/helm/values-uat.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-platform-authorizer-config - tag: "0.2.3-5-upd-helm-chart" + tag: "0.2.4" pullPolicy: Always livenessProbe: httpGet: @@ -105,4 +105,5 @@ microservice-chart: canaryDelivery: deployment: image: - tag: "" \ No newline at end of file + tag: "" + create: false diff --git a/openapi/openapi.json b/openapi/openapi.json index 0c4e544..9b0833e 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -1,989 +1,1108 @@ { - "openapi" : "3.0.1", - "info" : { - "title" : "platform-authorizer-config", - "description" : "A microservice that provides a set of APIs to manage authorization records for the Authorizer system.", - "termsOfService" : "https://www.pagopa.gov.it/", - "version" : "0.2.3-5-upd-helm-chart" + "openapi": "3.0.1", + "info": { + "title": "platform-authorizer-config", + "description": "A microservice that provides a set of APIs to manage authorization records for the Authorizer system.", + "termsOfService": "https://www.pagopa.gov.it/", + "version": "0.2.4" }, - "servers" : [ { - "url" : "http://localhost", - "description" : "Generated server url" - } ], - "tags" : [ { - "name" : "Enrolled Orgs", - "description" : "Everything about enrolled organizations" - }, { - "name" : "Cached Authorizations", - "description" : "Everything about cached authorizations" - }, { - "name" : "Authorizations", - "description" : "Everything about authorizations" - } ], - "paths" : { - "/authorizations/{authorizationId}" : { - "get" : { - "tags" : [ "Authorizations" ], - "summary" : "Get authorization by identifier", - "operationId" : "getAuthorization", - "parameters" : [ { - "name" : "authorizationId", - "in" : "path", - "description" : "The identifier of the stored authorization.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "servers": [ + { + "url": "http://localhost", + "description": "Generated server url" + } + ], + "tags": [ + { + "name": "Enrolled Orgs", + "description": "Everything about enrolled organizations" + }, + { + "name": "Cached Authorizations", + "description": "Everything about cached authorizations" + }, + { + "name": "Authorizations", + "description": "Everything about authorizations" + } + ], + "paths": { + "/authorizations/{authorizationId}": { + "get": { + "tags": [ + "Authorizations" + ], + "summary": "Get authorization by identifier", + "operationId": "getAuthorization", + "parameters": [ + { + "name": "authorizationId", + "in": "path", + "description": "The identifier of the stored authorization.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "404" : { - "description" : "Not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] }, - "put" : { - "tags" : [ "Authorizations" ], - "summary" : "Update existing authorization", - "operationId" : "updateAuthorization", - "parameters" : [ { - "name" : "authorizationId", - "in" : "path", - "description" : "The identifier of the stored authorization.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Authorization" + "put": { + "tags": [ + "Authorizations" + ], + "summary": "Update existing authorization", + "operationId": "updateAuthorization", + "parameters": [ + { + "name": "authorizationId", + "in": "path", + "description": "The identifier of the stored authorization.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authorization" } } }, - "required" : true + "required": true }, - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "404" : { - "description" : "Not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] }, - "delete" : { - "tags" : [ "Authorizations" ], - "summary" : "Delete existing authorization", - "operationId" : "deleteAuthorization", - "parameters" : [ { - "name" : "authorizationId", - "in" : "path", - "description" : "The identifier of the stored authorization.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK" - }, - "429" : { - "description" : "Too many requests" - }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "delete": { + "tags": [ + "Authorizations" + ], + "summary": "Delete existing authorization", + "operationId": "deleteAuthorization", + "parameters": [ + { + "name": "authorizationId", + "in": "path", + "description": "The identifier of the stored authorization.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK" + }, + "429": { + "description": "Too many requests" + }, + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "404" : { - "description" : "Not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/cachedauthorizations/{domain}/refresh" : { - "post" : { - "tags" : [ "Cached Authorizations" ], - "summary" : "Refresh cached authorizations by domain and owner", - "operationId" : "refreshCachedAuthorizations", - "parameters" : [ { - "name" : "domain", - "in" : "path", - "description" : "The domain on which the authorizations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ownerId", - "in" : "query", - "description" : "The identifier of the authorizations' owner.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "429" : { - "description" : "Too many requests" - }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "/cachedauthorizations/{domain}/refresh": { + "post": { + "tags": [ + "Cached Authorizations" + ], + "summary": "Refresh cached authorizations by domain and owner", + "operationId": "refreshCachedAuthorizations", + "parameters": [ + { + "name": "domain", + "in": "path", + "description": "The domain on which the authorizations will be filtered.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ownerId", + "in": "query", + "description": "The identifier of the authorizations' owner.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "429": { + "description": "Too many requests" + }, + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { } + "200": { + "description": "OK", + "content": { + "application/json": {} } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/authorizations" : { - "get" : { - "tags" : [ "Authorizations" ], - "summary" : "Get authorization list", - "operationId" : "getAuthorizations_1", - "parameters" : [ { - "name" : "domain", - "in" : "query", - "description" : "The domain on which the authorizations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ownerId", - "in" : "query", - "description" : "The identifier of the authorizations' owner.", - "required" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "limit", - "in" : "query", - "description" : "The number of elements to be included in the page.", - "required" : true, - "schema" : { - "maximum" : 999, - "type" : "integer", - "format" : "int32", - "default" : 10 - } - }, { - "name" : "page", - "in" : "query", - "description" : "The index of the page, starting from 0.", - "required" : true, - "schema" : { - "minimum" : 0, - "type" : "integer", - "format" : "int32", - "default" : 0 - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "/authorizations": { + "get": { + "tags": [ + "Authorizations" + ], + "summary": "Get authorization list", + "operationId": "getAuthorizations_1", + "parameters": [ + { + "name": "domain", + "in": "query", + "description": "The domain on which the authorizations will be filtered.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ownerId", + "in": "query", + "description": "The identifier of the authorizations' owner.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "The number of elements to be included in the page.", + "required": true, + "schema": { + "maximum": 999, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "page", + "in": "query", + "description": "The index of the page, starting from 0.", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] }, - "post" : { - "tags" : [ "Authorizations" ], - "summary" : "Create new authorization", - "operationId" : "createAuthorization", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Authorization" + "post": { + "tags": [ + "Authorizations" + ], + "summary": "Create new authorization", + "operationId": "createAuthorization", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authorization" } } }, - "required" : true + "required": true }, - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" }, - "409" : { - "description" : "Conflict", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/organizations/{organizationfiscalcode}/domains/{domain}" : { - "get" : { - "tags" : [ "Enrolled Orgs" ], - "summary" : "Get list of stations associated to organizations enrolled to a specific domain", - "operationId" : "getStationsForEnrolledOrganizations", - "parameters" : [ { - "name" : "organizationfiscalcode", - "in" : "path", - "description" : "The enrolled organization on which the stations will be extracted.", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "domain", - "in" : "path", - "description" : "The domain on which the stations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "429" : { - "description" : "Too many requests" - }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "/organizations/{organizationfiscalcode}/domains/{domain}": { + "get": { + "tags": [ + "Enrolled Orgs" + ], + "summary": "Get list of stations associated to organizations enrolled to a specific domain", + "operationId": "getStationsForEnrolledOrganizations", + "parameters": [ + { + "name": "organizationfiscalcode", + "in": "path", + "description": "The enrolled organization on which the stations will be extracted.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "domain", + "in": "path", + "description": "The domain on which the stations will be filtered.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "429": { + "description": "Too many requests" + }, + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/EnrolledCreditorInstitutionList" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnrolledCreditorInstitutionList" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/organizations/domains/{domain}" : { - "get" : { - "tags" : [ "Enrolled Orgs" ], - "summary" : "Get list of organizations enrolled to a specific domain", - "operationId" : "getEnrolledOrganizations", - "parameters" : [ { - "name" : "domain", - "in" : "path", - "description" : "The domain on which the organizations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "429" : { - "description" : "Too many requests" - }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "/organizations/domains/{domain}": { + "get": { + "tags": [ + "Enrolled Orgs" + ], + "summary": "Get list of organizations enrolled to a specific domain", + "operationId": "getEnrolledOrganizations", + "parameters": [ + { + "name": "domain", + "in": "path", + "description": "The domain on which the organizations will be filtered.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "429": { + "description": "Too many requests" + }, + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/EnrolledCreditorInstitutionList" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnrolledCreditorInstitutionList" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/info" : { - "get" : { - "tags" : [ "Home" ], - "summary" : "Return OK if application is started", - "operationId" : "healthCheck", - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AppInfo" + "/info": { + "get": { + "tags": [ + "Home" + ], + "summary": "Return OK if application is started", + "operationId": "healthCheck", + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppInfo" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/cachedauthorizations" : { - "get" : { - "tags" : [ "Cached Authorizations" ], - "summary" : "Get cached authorizations", - "operationId" : "getAuthorizations", - "parameters" : [ { - "name" : "domain", - "in" : "query", - "description" : "The domain on which the authorizations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ownerId", - "in" : "query", - "description" : "The identifier of the authorizations' owner.", - "required" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "formatTTL", - "in" : "query", - "description" : "The identifier of the authorizations' owner.", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : true - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CachedAuthorizationList" + "/cachedauthorizations": { + "get": { + "tags": [ + "Cached Authorizations" + ], + "summary": "Get cached authorizations", + "operationId": "getAuthorizations", + "parameters": [ + { + "name": "domain", + "in": "query", + "description": "The domain on which the authorizations will be filtered.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ownerId", + "in": "query", + "description": "The identifier of the authorizations' owner.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "formatTTL", + "in": "query", + "description": "The identifier of the authorizations' owner.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CachedAuthorizationList" } } } }, - "403" : { - "description" : "Forbidden" + "403": { + "description": "Forbidden" }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/authorizations/subkey/{subscriptionKey}" : { - "get" : { - "tags" : [ "Authorizations" ], - "summary" : "Get authorization by subscription key", - "operationId" : "getAuthorizationBySubscriptionKey", - "parameters" : [ { - "name" : "subscriptionKey", - "in" : "path", - "description" : "The subscription key related to the stored authorization.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "/authorizations/subkey/{subscriptionKey}": { + "get": { + "tags": [ + "Authorizations" + ], + "summary": "Get authorization by subscription key", + "operationId": "getAuthorizationBySubscriptionKey", + "parameters": [ + { + "name": "subscriptionKey", + "in": "path", + "description": "The subscription key related to the stored authorization.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "404" : { - "description" : "Not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } } }, - "components" : { - "schemas" : { - "Authorization" : { - "required" : [ "authorized_entities", "domain", "other_metadata", "owner", "subscription_key" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string", - "description" : "The identifier of the saved authorization, automatically generated during creation as UUID." - }, - "domain" : { - "type" : "string", - "description" : "The domain to which the authorization belongs, within which it has validity. Typically, it is defined by choosing from a pool of tags that already exist and are used by the various membership domains." - }, - "subscription_key" : { - "type" : "string", - "description" : "The value of the subscription key to be associated with the stored authorization. This key is assigned to an entity that wants to interface with a pagoPA service via APIM, and is the pivotal element on which the Authorizer system will make its evaluations. No two authorizations can exist with the same domain-subscription_key value pair." - }, - "description" : { - "type" : "string", - "description" : "An optional description useful to add more information about the scope of the authorization, defining information also impossible to include in the other tags." - }, - "owner" : { - "$ref" : "#/components/schemas/AuthorizationOwner" - }, - "authorized_entities" : { - "type" : "array", - "description" : "The authorized entity list, which are the resource identifiers that the caller includes in requests that define which objects the entity is authorized to operate on. It consists of a key-value map in which the entity name and its identifier are defined, respectively, in order to make maintenance easier.", - "items" : { - "$ref" : "#/components/schemas/AuthorizationEntity" - } - }, - "other_metadata" : { - "type" : "array", - "description" : "The list of authorization metadata, useful for performing other types of computation after the authorization process.", - "items" : { - "$ref" : "#/components/schemas/AuthorizationMetadata" - } - }, - "inserted_at" : { - "type" : "string", - "description" : "The date of authorization entry. This value is set only in authorization creation operations.", - "readOnly" : true - }, - "last_update" : { - "type" : "string", - "description" : "The date of last authorization update. It is only visible as output in read requests.", - "readOnly" : true - }, - "last_forced_refresh" : { - "type" : "string", - "description" : "The date of last forced refresh of the authorization. It is updated only when the forced refresh API is executed.", - "readOnly" : true + "components": { + "schemas": { + "Authorization": { + "required": [ + "authorized_entities", + "domain", + "other_metadata", + "owner", + "subscription_key" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the saved authorization, automatically generated during creation as UUID." + }, + "domain": { + "type": "string", + "description": "The domain to which the authorization belongs, within which it has validity. Typically, it is defined by choosing from a pool of tags that already exist and are used by the various membership domains." + }, + "subscription_key": { + "type": "string", + "description": "The value of the subscription key to be associated with the stored authorization. This key is assigned to an entity that wants to interface with a pagoPA service via APIM, and is the pivotal element on which the Authorizer system will make its evaluations. No two authorizations can exist with the same domain-subscription_key value pair." + }, + "description": { + "type": "string", + "description": "An optional description useful to add more information about the scope of the authorization, defining information also impossible to include in the other tags." + }, + "owner": { + "$ref": "#/components/schemas/AuthorizationOwner" + }, + "authorized_entities": { + "type": "array", + "description": "The authorized entity list, which are the resource identifiers that the caller includes in requests that define which objects the entity is authorized to operate on. It consists of a key-value map in which the entity name and its identifier are defined, respectively, in order to make maintenance easier.", + "items": { + "$ref": "#/components/schemas/AuthorizationEntity" + } + }, + "other_metadata": { + "type": "array", + "description": "The list of authorization metadata, useful for performing other types of computation after the authorization process.", + "items": { + "$ref": "#/components/schemas/AuthorizationMetadata" + } + }, + "inserted_at": { + "type": "string", + "description": "The date of authorization entry. This value is set only in authorization creation operations.", + "readOnly": true + }, + "last_update": { + "type": "string", + "description": "The date of last authorization update. It is only visible as output in read requests.", + "readOnly": true + }, + "last_forced_refresh": { + "type": "string", + "description": "The date of last forced refresh of the authorization. It is updated only when the forced refresh API is executed.", + "readOnly": true } }, - "description" : "The list of authorization retrieved from search." + "description": "The list of authorization retrieved from search." }, - "AuthorizationEntity" : { - "required" : [ "name", "value", "values" ], - "type" : "object", - "properties" : { - "name" : { - "type" : "string", - "description" : "The name or the description associated to the authorization entity in order to reference it in a more human-readable mode." - }, - "value" : { - "type" : "string", - "description" : "The single simple value related to an entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object." - }, - "values" : { - "type" : "array", - "description" : "The multiple composite sub-values which concatenation forms a complex entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object.", - "items" : { - "type" : "string", - "description" : "The multiple composite sub-values which concatenation forms a complex entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object." + "AuthorizationEntity": { + "required": [ + "name", + "value", + "values" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name or the description associated to the authorization entity in order to reference it in a more human-readable mode." + }, + "value": { + "type": "string", + "description": "The single simple value related to an entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object." + }, + "values": { + "type": "array", + "description": "The multiple composite sub-values which concatenation forms a complex entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object.", + "items": { + "type": "string", + "description": "The multiple composite sub-values which concatenation forms a complex entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object." } } }, - "description" : "The authorized entity list, which are the resource identifiers that the caller includes in requests that define which objects the entity is authorized to operate on. It consists of a key-value map in which the entity name and its identifier are defined, respectively, in order to make maintenance easier." + "description": "The authorized entity list, which are the resource identifiers that the caller includes in requests that define which objects the entity is authorized to operate on. It consists of a key-value map in which the entity name and its identifier are defined, respectively, in order to make maintenance easier." }, - "AuthorizationGenericKeyValue" : { - "required" : [ "key", "value", "values" ], - "type" : "object", - "properties" : { - "key" : { - "type" : "string", - "description" : "The key used to reference the metadata into the related map." - }, - "value" : { - "type" : "string", - "description" : "The single simple value related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object." - }, - "values" : { - "type" : "array", - "description" : "The set of values related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object.", - "items" : { - "type" : "string", - "description" : "The set of values related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object." + "AuthorizationGenericKeyValue": { + "required": [ + "key", + "value", + "values" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key used to reference the metadata into the related map." + }, + "value": { + "type": "string", + "description": "The single simple value related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object." + }, + "values": { + "type": "array", + "description": "The set of values related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object.", + "items": { + "type": "string", + "description": "The set of values related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object." } } }, - "description" : "A key-value map that defines the actual content of the metadata to be stored." + "description": "A key-value map that defines the actual content of the metadata to be stored." }, - "AuthorizationMetadata" : { - "required" : [ "content", "name", "short_key" ], - "type" : "object", - "properties" : { - "name" : { - "type" : "string", - "description" : "A description that defines the full name of the metadata." - }, - "short_key" : { - "pattern" : "_[a-zA-Z0-9]{1,3}", - "type" : "string", - "description" : "The key that defines an abbreviation by which it will be identified in cached maps." - }, - "content" : { - "type" : "array", - "description" : "A key-value map that defines the actual content of the metadata to be stored.", - "items" : { - "$ref" : "#/components/schemas/AuthorizationGenericKeyValue" + "AuthorizationMetadata": { + "required": [ + "content", + "name", + "short_key" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A description that defines the full name of the metadata." + }, + "short_key": { + "pattern": "_[a-zA-Z0-9]{1,3}", + "type": "string", + "description": "The key that defines an abbreviation by which it will be identified in cached maps." + }, + "content": { + "type": "array", + "description": "A key-value map that defines the actual content of the metadata to be stored.", + "items": { + "$ref": "#/components/schemas/AuthorizationGenericKeyValue" } } }, - "description" : "The list of authorization metadata, useful for performing other types of computation after the authorization process." + "description": "The list of authorization metadata, useful for performing other types of computation after the authorization process." }, - "AuthorizationOwner" : { - "required" : [ "id", "name", "type" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string", - "description" : "The identifier of the authorization owner. This can be the fiscal code of the entity/intermediary or other information that uniquely identifies that entity." - }, - "name" : { - "type" : "string", - "description" : "The name of the authorization owner, useful in order to make an authorization more human-readable. It can be the entity's business name or any other information that helps its recognition." - }, - "type" : { - "type" : "string", - "description" : "The authorization owner type, useful both for adding an additional recognizable 'label' to the subject and for use as a search filter.", - "enum" : [ "BROKER", "CI", "OTHER", "PSP" ] + "AuthorizationOwner": { + "required": [ + "id", + "name", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the authorization owner. This can be the fiscal code of the entity/intermediary or other information that uniquely identifies that entity." + }, + "name": { + "type": "string", + "description": "The name of the authorization owner, useful in order to make an authorization more human-readable. It can be the entity's business name or any other information that helps its recognition." + }, + "type": { + "type": "string", + "description": "The authorization owner type, useful both for adding an additional recognizable 'label' to the subject and for use as a search filter.", + "enum": [ + "BROKER", + "CI", + "OTHER", + "PSP" + ] } }, - "description" : "The information about the owner of the authorization. These information are required in order to make maintenance easier and performs some kind of search operations." + "description": "The information about the owner of the authorization. These information are required in order to make maintenance easier and performs some kind of search operations." }, - "AuthorizationList" : { - "required" : [ "authorizations", "page_info" ], - "type" : "object", - "properties" : { - "authorizations" : { - "type" : "array", - "description" : "The list of authorization retrieved from search.", - "items" : { - "$ref" : "#/components/schemas/Authorization" + "AuthorizationList": { + "required": [ + "authorizations", + "page_info" + ], + "type": "object", + "properties": { + "authorizations": { + "type": "array", + "description": "The list of authorization retrieved from search.", + "items": { + "$ref": "#/components/schemas/Authorization" } }, - "page_info" : { - "$ref" : "#/components/schemas/PageInfo" + "page_info": { + "$ref": "#/components/schemas/PageInfo" } } }, - "PageInfo" : { - "required" : [ "items_found", "limit", "page", "total_pages" ], - "type" : "object", - "properties" : { - "page" : { - "type" : "integer", - "description" : "The page number", - "format" : "int32" - }, - "limit" : { - "type" : "integer", - "description" : "The required maximum number of items per page", - "format" : "int32" - }, - "items_found" : { - "type" : "integer", - "description" : "The number of items found. (The last page may have fewer elements than required)", - "format" : "int32" - }, - "total_pages" : { - "type" : "integer", - "description" : "The total number of pages", - "format" : "int32" + "PageInfo": { + "required": [ + "items_found", + "limit", + "page", + "total_pages" + ], + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "The page number", + "format": "int32" + }, + "limit": { + "type": "integer", + "description": "The required maximum number of items per page", + "format": "int32" + }, + "items_found": { + "type": "integer", + "description": "The number of items found. (The last page may have fewer elements than required)", + "format": "int32" + }, + "total_pages": { + "type": "integer", + "description": "The total number of pages", + "format": "int32" } }, - "description" : "The information related to the paginated results." + "description": "The information related to the paginated results." }, - "ProblemJson" : { - "type" : "object", - "properties" : { - "title" : { - "type" : "string", - "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" - }, - "status" : { - "maximum" : 600, - "minimum" : 100, - "type" : "integer", - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.", - "format" : "int32", - "example" : 200 - }, - "detail" : { - "type" : "string", - "description" : "A human readable explanation specific to this occurrence of the problem.", - "example" : "There was an error processing the request" + "ProblemJson": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" + }, + "status": { + "maximum": 600, + "minimum": 100, + "type": "integer", + "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", + "format": "int32", + "example": 200 + }, + "detail": { + "type": "string", + "description": "A human readable explanation specific to this occurrence of the problem.", + "example": "There was an error processing the request" } } }, - "EnrolledCreditorInstitution" : { - "required" : [ "organization_fiscal_code", "segregation_codes" ], - "type" : "object", - "properties" : { - "organization_fiscal_code" : { - "type" : "string", - "description" : "The fiscal code related to the creditor institution." - }, - "segregation_codes" : { - "type" : "array", - "description" : "The list of segregation codes used by the creditor institution to register a station for the required service domain.", - "items" : { - "type" : "string", - "description" : "The list of segregation codes used by the creditor institution to register a station for the required service domain." + "EnrolledCreditorInstitution": { + "required": [ + "organization_fiscal_code", + "segregation_codes" + ], + "type": "object", + "properties": { + "organization_fiscal_code": { + "type": "string", + "description": "The fiscal code related to the creditor institution." + }, + "segregation_codes": { + "type": "array", + "description": "The list of segregation codes used by the creditor institution to register a station for the required service domain.", + "items": { + "type": "string", + "description": "The list of segregation codes used by the creditor institution to register a station for the required service domain." } } }, - "description" : "The list of creditor institution enrolled to the Authorizer service." + "description": "The list of creditor institution enrolled to the Authorizer service." }, - "EnrolledCreditorInstitutionList" : { - "required" : [ "creditor_institutions" ], - "type" : "object", - "properties" : { - "creditor_institutions" : { - "type" : "array", - "description" : "The list of creditor institution enrolled to the Authorizer service.", - "items" : { - "$ref" : "#/components/schemas/EnrolledCreditorInstitution" + "EnrolledCreditorInstitutionList": { + "required": [ + "creditor_institutions" + ], + "type": "object", + "properties": { + "creditor_institutions": { + "type": "array", + "description": "The list of creditor institution enrolled to the Authorizer service.", + "items": { + "$ref": "#/components/schemas/EnrolledCreditorInstitution" } } } }, - "AppInfo" : { - "type" : "object", - "properties" : { - "name" : { - "type" : "string" + "AppInfo": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "version" : { - "type" : "string" + "version": { + "type": "string" }, - "environment" : { - "type" : "string" + "environment": { + "type": "string" }, - "dbConnection" : { - "type" : "string" + "dbConnection": { + "type": "string" } } }, - "CachedAuthorization" : { - "required" : [ "ttl" ], - "type" : "object", - "properties" : { - "description" : { - "type" : "string", - "description" : "The description that is associated with particular noteworthy items to be added to the list of cached information." - }, - "owner" : { - "type" : "string", - "description" : "The identifier of the authorization owner. This can be the fiscal code of the entity/intermediary or other information that uniquely identifies that entity." - }, - "subscription_key" : { - "type" : "string", - "description" : "The value of the subscription key associated with the cached authorization." - }, - "ttl" : { - "type" : "string", - "description" : "The remaining Time-to-Live related to the cached authorization. This can be formatted either in seconds format or in a particular format that follows the structure 'XXh YYm ZZs'." + "CachedAuthorization": { + "required": [ + "ttl" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description that is associated with particular noteworthy items to be added to the list of cached information." + }, + "owner": { + "type": "string", + "description": "The identifier of the authorization owner. This can be the fiscal code of the entity/intermediary or other information that uniquely identifies that entity." + }, + "subscription_key": { + "type": "string", + "description": "The value of the subscription key associated with the cached authorization." + }, + "ttl": { + "type": "string", + "description": "The remaining Time-to-Live related to the cached authorization. This can be formatted either in seconds format or in a particular format that follows the structure 'XXh YYm ZZs'." } }, - "description" : "The list of authorization cached in Authorizer system." + "description": "The list of authorization cached in Authorizer system." }, - "CachedAuthorizationList" : { - "required" : [ "cached_authorizations" ], - "type" : "object", - "properties" : { - "cached_authorizations" : { - "type" : "array", - "description" : "The list of authorization cached in Authorizer system.", - "items" : { - "$ref" : "#/components/schemas/CachedAuthorization" + "CachedAuthorizationList": { + "required": [ + "cached_authorizations" + ], + "type": "object", + "properties": { + "cached_authorizations": { + "type": "array", + "description": "The list of authorization cached in Authorizer system.", + "items": { + "$ref": "#/components/schemas/CachedAuthorization" } } } } }, - "securitySchemes" : { - "ApiKey" : { - "type" : "apiKey", - "description" : "The API key to access this function app.", - "name" : "Ocp-Apim-Subscription-Key", - "in" : "header" + "securitySchemes": { + "ApiKey": { + "type": "apiKey", + "description": "The API key to access this function app.", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" } } } -} \ No newline at end of file +} diff --git a/openapi/openapi_core.json b/openapi/openapi_core.json index 479702a..96df01f 100644 --- a/openapi/openapi_core.json +++ b/openapi/openapi_core.json @@ -1,846 +1,946 @@ { - "openapi" : "3.0.1", - "info" : { - "title" : "platform-authorizer-config", - "description" : "A microservice that provides a set of APIs to manage authorization records for the Authorizer system.", - "termsOfService" : "https://www.pagopa.gov.it/", - "version" : "0.2.3-5-upd-helm-chart" + "openapi": "3.0.1", + "info": { + "title": "platform-authorizer-config", + "description": "A microservice that provides a set of APIs to manage authorization records for the Authorizer system.", + "termsOfService": "https://www.pagopa.gov.it/", + "version": "0.2.4" }, - "servers" : [ { - "url" : "http://localhost", - "description" : "Generated server url" - } ], - "tags" : [ { - "name" : "Cached Authorizations", - "description" : "Everything about cached authorizations" - }, { - "name" : "Authorizations", - "description" : "Everything about authorizations" - } ], - "paths" : { - "/authorizations/{authorizationId}" : { - "get" : { - "tags" : [ "Authorizations" ], - "summary" : "Get authorization by identifier", - "operationId" : "getAuthorization", - "parameters" : [ { - "name" : "authorizationId", - "in" : "path", - "description" : "The identifier of the stored authorization.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "servers": [ + { + "url": "http://localhost", + "description": "Generated server url" + } + ], + "tags": [ + { + "name": "Cached Authorizations", + "description": "Everything about cached authorizations" + }, + { + "name": "Authorizations", + "description": "Everything about authorizations" + } + ], + "paths": { + "/authorizations/{authorizationId}": { + "get": { + "tags": [ + "Authorizations" + ], + "summary": "Get authorization by identifier", + "operationId": "getAuthorization", + "parameters": [ + { + "name": "authorizationId", + "in": "path", + "description": "The identifier of the stored authorization.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "404" : { - "description" : "Not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] }, - "put" : { - "tags" : [ "Authorizations" ], - "summary" : "Update existing authorization", - "operationId" : "updateAuthorization", - "parameters" : [ { - "name" : "authorizationId", - "in" : "path", - "description" : "The identifier of the stored authorization.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Authorization" + "put": { + "tags": [ + "Authorizations" + ], + "summary": "Update existing authorization", + "operationId": "updateAuthorization", + "parameters": [ + { + "name": "authorizationId", + "in": "path", + "description": "The identifier of the stored authorization.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authorization" } } }, - "required" : true + "required": true }, - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "404" : { - "description" : "Not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] }, - "delete" : { - "tags" : [ "Authorizations" ], - "summary" : "Delete existing authorization", - "operationId" : "deleteAuthorization", - "parameters" : [ { - "name" : "authorizationId", - "in" : "path", - "description" : "The identifier of the stored authorization.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK" - }, - "429" : { - "description" : "Too many requests" - }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "delete": { + "tags": [ + "Authorizations" + ], + "summary": "Delete existing authorization", + "operationId": "deleteAuthorization", + "parameters": [ + { + "name": "authorizationId", + "in": "path", + "description": "The identifier of the stored authorization.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK" + }, + "429": { + "description": "Too many requests" + }, + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "404" : { - "description" : "Not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/cachedauthorizations/{domain}/refresh" : { - "post" : { - "tags" : [ "Cached Authorizations" ], - "summary" : "Refresh cached authorizations by domain and owner", - "operationId" : "refreshCachedAuthorizations", - "parameters" : [ { - "name" : "domain", - "in" : "path", - "description" : "The domain on which the authorizations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ownerId", - "in" : "query", - "description" : "The identifier of the authorizations' owner.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "429" : { - "description" : "Too many requests" - }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "/cachedauthorizations/{domain}/refresh": { + "post": { + "tags": [ + "Cached Authorizations" + ], + "summary": "Refresh cached authorizations by domain and owner", + "operationId": "refreshCachedAuthorizations", + "parameters": [ + { + "name": "domain", + "in": "path", + "description": "The domain on which the authorizations will be filtered.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ownerId", + "in": "query", + "description": "The identifier of the authorizations' owner.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "429": { + "description": "Too many requests" + }, + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { } + "200": { + "description": "OK", + "content": { + "application/json": {} } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/authorizations" : { - "get" : { - "tags" : [ "Authorizations" ], - "summary" : "Get authorization list", - "operationId" : "getAuthorizations_1", - "parameters" : [ { - "name" : "domain", - "in" : "query", - "description" : "The domain on which the authorizations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ownerId", - "in" : "query", - "description" : "The identifier of the authorizations' owner.", - "required" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "limit", - "in" : "query", - "description" : "The number of elements to be included in the page.", - "required" : true, - "schema" : { - "maximum" : 999, - "type" : "integer", - "format" : "int32", - "default" : 10 - } - }, { - "name" : "page", - "in" : "query", - "description" : "The index of the page, starting from 0.", - "required" : true, - "schema" : { - "minimum" : 0, - "type" : "integer", - "format" : "int32", - "default" : 0 - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "/authorizations": { + "get": { + "tags": [ + "Authorizations" + ], + "summary": "Get authorization list", + "operationId": "getAuthorizations_1", + "parameters": [ + { + "name": "domain", + "in": "query", + "description": "The domain on which the authorizations will be filtered.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ownerId", + "in": "query", + "description": "The identifier of the authorizations' owner.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "The number of elements to be included in the page.", + "required": true, + "schema": { + "maximum": 999, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "page", + "in": "query", + "description": "The index of the page, starting from 0.", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] }, - "post" : { - "tags" : [ "Authorizations" ], - "summary" : "Create new authorization", - "operationId" : "createAuthorization", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Authorization" + "post": { + "tags": [ + "Authorizations" + ], + "summary": "Create new authorization", + "operationId": "createAuthorization", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authorization" } } }, - "required" : true + "required": true }, - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" }, - "409" : { - "description" : "Conflict", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/info" : { - "get" : { - "tags" : [ "Home" ], - "summary" : "Return OK if application is started", - "operationId" : "healthCheck", - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AppInfo" + "/info": { + "get": { + "tags": [ + "Home" + ], + "summary": "Return OK if application is started", + "operationId": "healthCheck", + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppInfo" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/cachedauthorizations" : { - "get" : { - "tags" : [ "Cached Authorizations" ], - "summary" : "Get cached authorizations", - "operationId" : "getAuthorizations", - "parameters" : [ { - "name" : "domain", - "in" : "query", - "description" : "The domain on which the authorizations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ownerId", - "in" : "query", - "description" : "The identifier of the authorizations' owner.", - "required" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "formatTTL", - "in" : "query", - "description" : "The identifier of the authorizations' owner.", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : true - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CachedAuthorizationList" + "/cachedauthorizations": { + "get": { + "tags": [ + "Cached Authorizations" + ], + "summary": "Get cached authorizations", + "operationId": "getAuthorizations", + "parameters": [ + { + "name": "domain", + "in": "query", + "description": "The domain on which the authorizations will be filtered.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ownerId", + "in": "query", + "description": "The identifier of the authorizations' owner.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "formatTTL", + "in": "query", + "description": "The identifier of the authorizations' owner.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CachedAuthorizationList" } } } }, - "403" : { - "description" : "Forbidden" + "403": { + "description": "Forbidden" }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/authorizations/subkey/{subscriptionKey}" : { - "get" : { - "tags" : [ "Authorizations" ], - "summary" : "Get authorization by subscription key", - "operationId" : "getAuthorizationBySubscriptionKey", - "parameters" : [ { - "name" : "subscriptionKey", - "in" : "path", - "description" : "The subscription key related to the stored authorization.", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AuthorizationList" + "/authorizations/subkey/{subscriptionKey}": { + "get": { + "tags": [ + "Authorizations" + ], + "summary": "Get authorization by subscription key", + "operationId": "getAuthorizationBySubscriptionKey", + "parameters": [ + { + "name": "subscriptionKey", + "in": "path", + "description": "The subscription key related to the stored authorization.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "Forbidden" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorizationList" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "404" : { - "description" : "Not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } } }, - "components" : { - "schemas" : { - "Authorization" : { - "required" : [ "authorized_entities", "domain", "other_metadata", "owner", "subscription_key" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string", - "description" : "The identifier of the saved authorization, automatically generated during creation as UUID." - }, - "domain" : { - "type" : "string", - "description" : "The domain to which the authorization belongs, within which it has validity. Typically, it is defined by choosing from a pool of tags that already exist and are used by the various membership domains." - }, - "subscription_key" : { - "type" : "string", - "description" : "The value of the subscription key to be associated with the stored authorization. This key is assigned to an entity that wants to interface with a pagoPA service via APIM, and is the pivotal element on which the Authorizer system will make its evaluations. No two authorizations can exist with the same domain-subscription_key value pair." - }, - "description" : { - "type" : "string", - "description" : "An optional description useful to add more information about the scope of the authorization, defining information also impossible to include in the other tags." - }, - "owner" : { - "$ref" : "#/components/schemas/AuthorizationOwner" - }, - "authorized_entities" : { - "type" : "array", - "description" : "The authorized entity list, which are the resource identifiers that the caller includes in requests that define which objects the entity is authorized to operate on. It consists of a key-value map in which the entity name and its identifier are defined, respectively, in order to make maintenance easier.", - "items" : { - "$ref" : "#/components/schemas/AuthorizationEntity" - } - }, - "other_metadata" : { - "type" : "array", - "description" : "The list of authorization metadata, useful for performing other types of computation after the authorization process.", - "items" : { - "$ref" : "#/components/schemas/AuthorizationMetadata" - } - }, - "inserted_at" : { - "type" : "string", - "description" : "The date of authorization entry. This value is set only in authorization creation operations.", - "readOnly" : true - }, - "last_update" : { - "type" : "string", - "description" : "The date of last authorization update. It is only visible as output in read requests.", - "readOnly" : true - }, - "last_forced_refresh" : { - "type" : "string", - "description" : "The date of last forced refresh of the authorization. It is updated only when the forced refresh API is executed.", - "readOnly" : true + "components": { + "schemas": { + "Authorization": { + "required": [ + "authorized_entities", + "domain", + "other_metadata", + "owner", + "subscription_key" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the saved authorization, automatically generated during creation as UUID." + }, + "domain": { + "type": "string", + "description": "The domain to which the authorization belongs, within which it has validity. Typically, it is defined by choosing from a pool of tags that already exist and are used by the various membership domains." + }, + "subscription_key": { + "type": "string", + "description": "The value of the subscription key to be associated with the stored authorization. This key is assigned to an entity that wants to interface with a pagoPA service via APIM, and is the pivotal element on which the Authorizer system will make its evaluations. No two authorizations can exist with the same domain-subscription_key value pair." + }, + "description": { + "type": "string", + "description": "An optional description useful to add more information about the scope of the authorization, defining information also impossible to include in the other tags." + }, + "owner": { + "$ref": "#/components/schemas/AuthorizationOwner" + }, + "authorized_entities": { + "type": "array", + "description": "The authorized entity list, which are the resource identifiers that the caller includes in requests that define which objects the entity is authorized to operate on. It consists of a key-value map in which the entity name and its identifier are defined, respectively, in order to make maintenance easier.", + "items": { + "$ref": "#/components/schemas/AuthorizationEntity" + } + }, + "other_metadata": { + "type": "array", + "description": "The list of authorization metadata, useful for performing other types of computation after the authorization process.", + "items": { + "$ref": "#/components/schemas/AuthorizationMetadata" + } + }, + "inserted_at": { + "type": "string", + "description": "The date of authorization entry. This value is set only in authorization creation operations.", + "readOnly": true + }, + "last_update": { + "type": "string", + "description": "The date of last authorization update. It is only visible as output in read requests.", + "readOnly": true + }, + "last_forced_refresh": { + "type": "string", + "description": "The date of last forced refresh of the authorization. It is updated only when the forced refresh API is executed.", + "readOnly": true } }, - "description" : "The list of authorization retrieved from search." + "description": "The list of authorization retrieved from search." }, - "AuthorizationEntity" : { - "required" : [ "name", "value", "values" ], - "type" : "object", - "properties" : { - "name" : { - "type" : "string", - "description" : "The name or the description associated to the authorization entity in order to reference it in a more human-readable mode." - }, - "value" : { - "type" : "string", - "description" : "The single simple value related to an entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object." - }, - "values" : { - "type" : "array", - "description" : "The multiple composite sub-values which concatenation forms a complex entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object.", - "items" : { - "type" : "string", - "description" : "The multiple composite sub-values which concatenation forms a complex entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object." + "AuthorizationEntity": { + "required": [ + "name", + "value", + "values" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name or the description associated to the authorization entity in order to reference it in a more human-readable mode." + }, + "value": { + "type": "string", + "description": "The single simple value related to an entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object." + }, + "values": { + "type": "array", + "description": "The multiple composite sub-values which concatenation forms a complex entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object.", + "items": { + "type": "string", + "description": "The multiple composite sub-values which concatenation forms a complex entity to be authorized to access within an authorization. Only one between 'value' and 'values' tag at a time can exists in this object." } } }, - "description" : "The authorized entity list, which are the resource identifiers that the caller includes in requests that define which objects the entity is authorized to operate on. It consists of a key-value map in which the entity name and its identifier are defined, respectively, in order to make maintenance easier." + "description": "The authorized entity list, which are the resource identifiers that the caller includes in requests that define which objects the entity is authorized to operate on. It consists of a key-value map in which the entity name and its identifier are defined, respectively, in order to make maintenance easier." }, - "AuthorizationGenericKeyValue" : { - "required" : [ "key", "value", "values" ], - "type" : "object", - "properties" : { - "key" : { - "type" : "string", - "description" : "The key used to reference the metadata into the related map." - }, - "value" : { - "type" : "string", - "description" : "The single simple value related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object." - }, - "values" : { - "type" : "array", - "description" : "The set of values related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object.", - "items" : { - "type" : "string", - "description" : "The set of values related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object." + "AuthorizationGenericKeyValue": { + "required": [ + "key", + "value", + "values" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key used to reference the metadata into the related map." + }, + "value": { + "type": "string", + "description": "The single simple value related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object." + }, + "values": { + "type": "array", + "description": "The set of values related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object.", + "items": { + "type": "string", + "description": "The set of values related to the metadata. Only one between 'value' and 'values' tag at a time can exists in this object." } } }, - "description" : "A key-value map that defines the actual content of the metadata to be stored." + "description": "A key-value map that defines the actual content of the metadata to be stored." }, - "AuthorizationMetadata" : { - "required" : [ "content", "name", "short_key" ], - "type" : "object", - "properties" : { - "name" : { - "type" : "string", - "description" : "A description that defines the full name of the metadata." - }, - "short_key" : { - "pattern" : "_[a-zA-Z0-9]{1,3}", - "type" : "string", - "description" : "The key that defines an abbreviation by which it will be identified in cached maps." - }, - "content" : { - "type" : "array", - "description" : "A key-value map that defines the actual content of the metadata to be stored.", - "items" : { - "$ref" : "#/components/schemas/AuthorizationGenericKeyValue" + "AuthorizationMetadata": { + "required": [ + "content", + "name", + "short_key" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A description that defines the full name of the metadata." + }, + "short_key": { + "pattern": "_[a-zA-Z0-9]{1,3}", + "type": "string", + "description": "The key that defines an abbreviation by which it will be identified in cached maps." + }, + "content": { + "type": "array", + "description": "A key-value map that defines the actual content of the metadata to be stored.", + "items": { + "$ref": "#/components/schemas/AuthorizationGenericKeyValue" } } }, - "description" : "The list of authorization metadata, useful for performing other types of computation after the authorization process." + "description": "The list of authorization metadata, useful for performing other types of computation after the authorization process." }, - "AuthorizationOwner" : { - "required" : [ "id", "name", "type" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string", - "description" : "The identifier of the authorization owner. This can be the fiscal code of the entity/intermediary or other information that uniquely identifies that entity." - }, - "name" : { - "type" : "string", - "description" : "The name of the authorization owner, useful in order to make an authorization more human-readable. It can be the entity's business name or any other information that helps its recognition." - }, - "type" : { - "type" : "string", - "description" : "The authorization owner type, useful both for adding an additional recognizable 'label' to the subject and for use as a search filter.", - "enum" : [ "BROKER", "CI", "OTHER", "PSP" ] + "AuthorizationOwner": { + "required": [ + "id", + "name", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the authorization owner. This can be the fiscal code of the entity/intermediary or other information that uniquely identifies that entity." + }, + "name": { + "type": "string", + "description": "The name of the authorization owner, useful in order to make an authorization more human-readable. It can be the entity's business name or any other information that helps its recognition." + }, + "type": { + "type": "string", + "description": "The authorization owner type, useful both for adding an additional recognizable 'label' to the subject and for use as a search filter.", + "enum": [ + "BROKER", + "CI", + "OTHER", + "PSP" + ] } }, - "description" : "The information about the owner of the authorization. These information are required in order to make maintenance easier and performs some kind of search operations." + "description": "The information about the owner of the authorization. These information are required in order to make maintenance easier and performs some kind of search operations." }, - "AuthorizationList" : { - "required" : [ "authorizations", "page_info" ], - "type" : "object", - "properties" : { - "authorizations" : { - "type" : "array", - "description" : "The list of authorization retrieved from search.", - "items" : { - "$ref" : "#/components/schemas/Authorization" - } - }, - "page_info" : { - "$ref" : "#/components/schemas/PageInfo" + "AuthorizationList": { + "required": [ + "authorizations", + "page_info" + ], + "type": "object", + "properties": { + "authorizations": { + "type": "array", + "description": "The list of authorization retrieved from search.", + "items": { + "$ref": "#/components/schemas/Authorization" + } + }, + "page_info": { + "$ref": "#/components/schemas/PageInfo" } } }, - "PageInfo" : { - "required" : [ "items_found", "limit", "page", "total_pages" ], - "type" : "object", - "properties" : { - "page" : { - "type" : "integer", - "description" : "The page number", - "format" : "int32" - }, - "limit" : { - "type" : "integer", - "description" : "The required maximum number of items per page", - "format" : "int32" - }, - "items_found" : { - "type" : "integer", - "description" : "The number of items found. (The last page may have fewer elements than required)", - "format" : "int32" - }, - "total_pages" : { - "type" : "integer", - "description" : "The total number of pages", - "format" : "int32" + "PageInfo": { + "required": [ + "items_found", + "limit", + "page", + "total_pages" + ], + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "The page number", + "format": "int32" + }, + "limit": { + "type": "integer", + "description": "The required maximum number of items per page", + "format": "int32" + }, + "items_found": { + "type": "integer", + "description": "The number of items found. (The last page may have fewer elements than required)", + "format": "int32" + }, + "total_pages": { + "type": "integer", + "description": "The total number of pages", + "format": "int32" } }, - "description" : "The information related to the paginated results." + "description": "The information related to the paginated results." }, - "ProblemJson" : { - "type" : "object", - "properties" : { - "title" : { - "type" : "string", - "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" - }, - "status" : { - "maximum" : 600, - "minimum" : 100, - "type" : "integer", - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.", - "format" : "int32", - "example" : 200 - }, - "detail" : { - "type" : "string", - "description" : "A human readable explanation specific to this occurrence of the problem.", - "example" : "There was an error processing the request" + "ProblemJson": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" + }, + "status": { + "maximum": 600, + "minimum": 100, + "type": "integer", + "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", + "format": "int32", + "example": 200 + }, + "detail": { + "type": "string", + "description": "A human readable explanation specific to this occurrence of the problem.", + "example": "There was an error processing the request" } } }, - "AppInfo" : { - "type" : "object", - "properties" : { - "name" : { - "type" : "string" + "AppInfo": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "version" : { - "type" : "string" + "version": { + "type": "string" }, - "environment" : { - "type" : "string" + "environment": { + "type": "string" }, - "dbConnection" : { - "type" : "string" + "dbConnection": { + "type": "string" } } }, - "CachedAuthorization" : { - "required" : [ "ttl" ], - "type" : "object", - "properties" : { - "description" : { - "type" : "string", - "description" : "The description that is associated with particular noteworthy items to be added to the list of cached information." - }, - "owner" : { - "type" : "string", - "description" : "The identifier of the authorization owner. This can be the fiscal code of the entity/intermediary or other information that uniquely identifies that entity." - }, - "subscription_key" : { - "type" : "string", - "description" : "The value of the subscription key associated with the cached authorization." - }, - "ttl" : { - "type" : "string", - "description" : "The remaining Time-to-Live related to the cached authorization. This can be formatted either in seconds format or in a particular format that follows the structure 'XXh YYm ZZs'." + "CachedAuthorization": { + "required": [ + "ttl" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description that is associated with particular noteworthy items to be added to the list of cached information." + }, + "owner": { + "type": "string", + "description": "The identifier of the authorization owner. This can be the fiscal code of the entity/intermediary or other information that uniquely identifies that entity." + }, + "subscription_key": { + "type": "string", + "description": "The value of the subscription key associated with the cached authorization." + }, + "ttl": { + "type": "string", + "description": "The remaining Time-to-Live related to the cached authorization. This can be formatted either in seconds format or in a particular format that follows the structure 'XXh YYm ZZs'." } }, - "description" : "The list of authorization cached in Authorizer system." + "description": "The list of authorization cached in Authorizer system." }, - "CachedAuthorizationList" : { - "required" : [ "cached_authorizations" ], - "type" : "object", - "properties" : { - "cached_authorizations" : { - "type" : "array", - "description" : "The list of authorization cached in Authorizer system.", - "items" : { - "$ref" : "#/components/schemas/CachedAuthorization" + "CachedAuthorizationList": { + "required": [ + "cached_authorizations" + ], + "type": "object", + "properties": { + "cached_authorizations": { + "type": "array", + "description": "The list of authorization cached in Authorizer system.", + "items": { + "$ref": "#/components/schemas/CachedAuthorization" } } } } }, - "securitySchemes" : { - "ApiKey" : { - "type" : "apiKey", - "description" : "The API key to access this function app.", - "name" : "Ocp-Apim-Subscription-Key", - "in" : "header" + "securitySchemes": { + "ApiKey": { + "type": "apiKey", + "description": "The API key to access this function app.", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" } } } -} \ No newline at end of file +} diff --git a/openapi/openapi_enrolledci.json b/openapi/openapi_enrolledci.json index 1c0c877..8745b93 100644 --- a/openapi/openapi_enrolledci.json +++ b/openapi/openapi_enrolledci.json @@ -1,261 +1,287 @@ { - "openapi" : "3.0.1", - "info" : { - "title" : "platform-authorizer-config", - "description" : "A microservice that provides a set of APIs to manage authorization records for the Authorizer system.", - "termsOfService" : "https://www.pagopa.gov.it/", - "version" : "0.2.3-5-upd-helm-chart" + "openapi": "3.0.1", + "info": { + "title": "platform-authorizer-config", + "description": "A microservice that provides a set of APIs to manage authorization records for the Authorizer system.", + "termsOfService": "https://www.pagopa.gov.it/", + "version": "0.2.4" }, - "servers" : [ { - "url" : "http://localhost", - "description" : "Generated server url" - } ], - "tags" : [ { - "name" : "Enrolled Orgs", - "description" : "Everything about enrolled organizations" - } ], - "paths" : { - "/organizations/{organizationfiscalcode}/domains/{domain}" : { - "get" : { - "tags" : [ "Enrolled Orgs" ], - "summary" : "Get list of stations associated to organizations enrolled to a specific domain", - "operationId" : "getStationsForEnrolledOrganizations", - "parameters" : [ { - "name" : "organizationfiscalcode", - "in" : "path", - "description" : "The enrolled organization on which the stations will be extracted.", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "domain", - "in" : "path", - "description" : "The domain on which the stations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" + "servers": [ + { + "url": "http://localhost", + "description": "Generated server url" + } + ], + "tags": [ + { + "name": "Enrolled Orgs", + "description": "Everything about enrolled organizations" + } + ], + "paths": { + "/organizations/{organizationfiscalcode}/domains/{domain}": { + "get": { + "tags": [ + "Enrolled Orgs" + ], + "summary": "Get list of stations associated to organizations enrolled to a specific domain", + "operationId": "getStationsForEnrolledOrganizations", + "parameters": [ + { + "name": "organizationfiscalcode", + "in": "path", + "description": "The enrolled organization on which the stations will be extracted.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "domain", + "in": "path", + "description": "The domain on which the stations will be filtered.", + "required": true, + "schema": { + "type": "string" + } } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" + ], + "responses": { + "403": { + "description": "Forbidden" }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/EnrolledCreditorInstitutionList" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnrolledCreditorInstitutionList" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/organizations/domains/{domain}" : { - "get" : { - "tags" : [ "Enrolled Orgs" ], - "summary" : "Get list of organizations enrolled to a specific domain", - "operationId" : "getEnrolledOrganizations", - "parameters" : [ { - "name" : "domain", - "in" : "path", - "description" : "The domain on which the organizations will be filtered.", - "required" : true, - "schema" : { - "type" : "string" + "/organizations/domains/{domain}": { + "get": { + "tags": [ + "Enrolled Orgs" + ], + "summary": "Get list of organizations enrolled to a specific domain", + "operationId": "getEnrolledOrganizations", + "parameters": [ + { + "name": "domain", + "in": "path", + "description": "The domain on which the organizations will be filtered.", + "required": true, + "schema": { + "type": "string" + } } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" + ], + "responses": { + "403": { + "description": "Forbidden" }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/EnrolledCreditorInstitutionList" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnrolledCreditorInstitutionList" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } }, - "/info" : { - "get" : { - "tags" : [ "Home" ], - "summary" : "Return OK if application is started", - "operationId" : "healthCheck", - "responses" : { - "403" : { - "description" : "Forbidden" + "/info": { + "get": { + "tags": [ + "Home" + ], + "summary": "Return OK if application is started", + "operationId": "healthCheck", + "responses": { + "403": { + "description": "Forbidden" }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AppInfo" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppInfo" } } } }, - "429" : { - "description" : "Too many requests" + "429": { + "description": "Too many requests" }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "500": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" } } } }, - "401" : { - "description" : "Unauthorized" + "401": { + "description": "Unauthorized" } }, - "security" : [ { - "ApiKey" : [ ] - } ] + "security": [ + { + "ApiKey": [] + } + ] } } }, - "components" : { - "schemas" : { - "ProblemJson" : { - "type" : "object", - "properties" : { - "title" : { - "type" : "string", - "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" + "components": { + "schemas": { + "ProblemJson": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" }, - "status" : { - "maximum" : 600, - "minimum" : 100, - "type" : "integer", - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.", - "format" : "int32", - "example" : 200 + "status": { + "maximum": 600, + "minimum": 100, + "type": "integer", + "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", + "format": "int32", + "example": 200 }, - "detail" : { - "type" : "string", - "description" : "A human readable explanation specific to this occurrence of the problem.", - "example" : "There was an error processing the request" + "detail": { + "type": "string", + "description": "A human readable explanation specific to this occurrence of the problem.", + "example": "There was an error processing the request" } } }, - "EnrolledCreditorInstitution" : { - "required" : [ "organization_fiscal_code", "segregation_codes" ], - "type" : "object", - "properties" : { - "organization_fiscal_code" : { - "type" : "string", - "description" : "The fiscal code related to the creditor institution." + "EnrolledCreditorInstitution": { + "required": [ + "organization_fiscal_code", + "segregation_codes" + ], + "type": "object", + "properties": { + "organization_fiscal_code": { + "type": "string", + "description": "The fiscal code related to the creditor institution." }, - "segregation_codes" : { - "type" : "array", - "description" : "The list of segregation codes used by the creditor institution to register a station for the required service domain.", - "items" : { - "type" : "string", - "description" : "The list of segregation codes used by the creditor institution to register a station for the required service domain." + "segregation_codes": { + "type": "array", + "description": "The list of segregation codes used by the creditor institution to register a station for the required service domain.", + "items": { + "type": "string", + "description": "The list of segregation codes used by the creditor institution to register a station for the required service domain." } } }, - "description" : "The list of creditor institution enrolled to the Authorizer service." + "description": "The list of creditor institution enrolled to the Authorizer service." }, - "EnrolledCreditorInstitutionList" : { - "required" : [ "creditor_institutions" ], - "type" : "object", - "properties" : { - "creditor_institutions" : { - "type" : "array", - "description" : "The list of creditor institution enrolled to the Authorizer service.", - "items" : { - "$ref" : "#/components/schemas/EnrolledCreditorInstitution" + "EnrolledCreditorInstitutionList": { + "required": [ + "creditor_institutions" + ], + "type": "object", + "properties": { + "creditor_institutions": { + "type": "array", + "description": "The list of creditor institution enrolled to the Authorizer service.", + "items": { + "$ref": "#/components/schemas/EnrolledCreditorInstitution" } } } }, - "AppInfo" : { - "type" : "object", - "properties" : { - "name" : { - "type" : "string" + "AppInfo": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "version" : { - "type" : "string" + "version": { + "type": "string" }, - "environment" : { - "type" : "string" + "environment": { + "type": "string" }, - "dbConnection" : { - "type" : "string" + "dbConnection": { + "type": "string" } } } }, - "securitySchemes" : { - "ApiKey" : { - "type" : "apiKey", - "description" : "The API key to access this function app.", - "name" : "Ocp-Apim-Subscription-Key", - "in" : "header" + "securitySchemes": { + "ApiKey": { + "type": "apiKey", + "description": "The API key to access this function app.", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" } } } -} \ No newline at end of file +} diff --git a/pom.xml b/pom.xml index 342715e..68316d4 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ it.gov.pagopa platform-authorizer-config - 0.2.3-5-upd-helm-chart + 0.2.4 pagopa-platform-authorizer-config A microservice that provides a set of APIs to manage authorization records for the Authorizer system.