From f4f2779ddd2b9d03b3b5ccc403b8fbdd9164dd29 Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Wed, 12 Jul 2023 08:33:28 +0000 Subject: [PATCH 1/3] [PAGOPA-1163] add psp business name: first impl --- helm/Chart.yaml | 4 ++-- helm/values-dev.yaml | 4 ++-- helm/values-prod.yaml | 4 ++-- helm/values-uat.yaml | 4 ++-- openapi/openapi.json | 2 +- pom.xml | 2 +- .../it/pagopa/afm/marketplacebe/entity/Bundle.java | 3 +++ .../marketplacebe/model/bundle/BundleRequest.java | 2 ++ .../afm/marketplacebe/service/BundleService.java | 2 ++ .../java/it/pagopa/afm/marketplacebe/TestUtil.java | 4 ++++ .../marketplacebe/service/BundleServiceTest.java | 14 +++++++++++++- 11 files changed, 34 insertions(+), 11 deletions(-) diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 20b27030..dc752bf1 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: pagopa-afm-marketplace description: Microservice that handles marketplace for pagoPA Advanced Fees Management type: application -version: 0.17.0 -appVersion: 0.13.2 +version: 0.18.0 +appVersion: 0.13.3 dependencies: - name: microservice-chart version: 1.21.0 diff --git a/helm/values-dev.yaml b/helm/values-dev.yaml index 634b5022..211080f7 100644 --- a/helm/values-dev.yaml +++ b/helm/values-dev.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always livenessProbe: httpGet: @@ -98,7 +98,7 @@ microservice-chart: create: true image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always envConfig: {} envSecret: {} diff --git a/helm/values-prod.yaml b/helm/values-prod.yaml index 46c4fda6..8f8b4a50 100644 --- a/helm/values-prod.yaml +++ b/helm/values-prod.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always livenessProbe: httpGet: @@ -98,7 +98,7 @@ microservice-chart: create: true image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always envConfig: {} envSecret: {} diff --git a/helm/values-uat.yaml b/helm/values-uat.yaml index aa4f866b..b5d9edac 100644 --- a/helm/values-uat.yaml +++ b/helm/values-uat.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always livenessProbe: httpGet: @@ -98,7 +98,7 @@ microservice-chart: create: true image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always envConfig: {} envSecret: {} diff --git a/openapi/openapi.json b/openapi/openapi.json index 3917bb3a..39a19d52 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -4,7 +4,7 @@ "title": "Marketplace API for PagoPA AFM", "description": "marketplace-be", "termsOfService": "https://www.pagopa.gov.it/", - "version": "0.13.2" + "version": "0.13.3" }, "servers": [ { diff --git a/pom.xml b/pom.xml index 0d4a2652..430334a8 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ it.pagopa.afm marketplace-be - 0.13.2 + 0.13.3 marketplace-be Marketplace API for PagoPA AFM diff --git a/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java b/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java index 094e123e..49c7a7b6 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java @@ -45,6 +45,9 @@ public class Bundle { @NotNull private String abi; + + @NotNull + private String pspBusinessName; private Boolean digitalStamp; diff --git a/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java b/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java index 0db2ea72..c99c1adb 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java @@ -26,6 +26,8 @@ public class BundleRequest { @NotNull private String abi; private String name; + @NotNull + private String pspBusinessName; private String description; private Long paymentAmount; private Long minPaymentAmount; diff --git a/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java b/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java index d7df2996..4c5d2030 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java @@ -191,6 +191,7 @@ private Bundle generateBundle(String idPsp, BundleRequest bundleRequest) { .idCdi(bundleRequest.getIdCdi()) .abi(bundleRequest.getAbi()) .name(bundleRequest.getName()) + .pspBusinessName(bundleRequest.getPspBusinessName()) .description(bundleRequest.getDescription()) .paymentAmount(bundleRequest.getPaymentAmount()) .minPaymentAmount(bundleRequest.getMinPaymentAmount()) @@ -235,6 +236,7 @@ public Bundle updateBundle(String idPsp, String idBundle, BundleRequest bundleRe bundle.setIdCdi(bundleRequest.getIdCdi()); bundle.setAbi(bundleRequest.getAbi()); bundle.setName(bundleRequest.getName()); + bundle.setPspBusinessName(bundleRequest.getPspBusinessName()); bundle.setDescription(bundleRequest.getDescription()); bundle.setPaymentAmount(bundleRequest.getPaymentAmount()); bundle.setMinPaymentAmount(bundleRequest.getMinPaymentAmount()); diff --git a/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java b/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java index 271820a3..21515ec9 100644 --- a/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java +++ b/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java @@ -101,6 +101,7 @@ public static BundleRequest getMockBundleRequest() { .idCdi(null) .abi("abi") .name("name") + .pspBusinessName("business name") .description("description") .paymentAmount(100L) .minPaymentAmount(0L) @@ -152,6 +153,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 0") .description("description") .paymentAmount(100L) .minPaymentAmount(0L) @@ -171,6 +173,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 1") .description("description") .paymentAmount(200L) .minPaymentAmount(0L) @@ -190,6 +193,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 2") .description("description") .paymentAmount(300L) .minPaymentAmount(0L) diff --git a/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java b/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java index f72ee342..03d84a82 100644 --- a/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java +++ b/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java @@ -19,6 +19,7 @@ import java.time.LocalDate; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; import java.util.Optional; import java.util.UUID; @@ -190,6 +191,7 @@ void shouldCreateBundle() { Mockito.verify(bundleRepository, times(1)).save(Mockito.any()); assertEquals(bundleRequest.getName(), bundleArgumentCaptor.getValue().getName()); + assertEquals(bundleRequest.getPspBusinessName(), bundleArgumentCaptor.getValue().getPspBusinessName()); } @Test @@ -1161,6 +1163,7 @@ void updateBundle_ok_1() { Bundle result = bundleService.updateBundle(TestUtil.getMockIdPsp(), bundle.getId(), TestUtil.getMockBundleRequest()); assertNotNull(result); + assertEquals(result.getPspBusinessName(), TestUtil.getMockBundleRequest().getPspBusinessName()); } @Test @@ -1286,10 +1289,19 @@ void createBundleByList_ok() { when(touchpointRepository.findByName(anyString())).thenReturn(Optional.of(TestUtil.getMockTouchpoint())); when(paymentTypeRepository.findByName(anyString())) .thenReturn(Optional.of(TestUtil.getMockPaymentType())); - + List result = bundleService.createBundleByList(TestUtil.getMockIdPsp(), TestUtil.getMockBundleRequestList()); assertNotNull(result); assertEquals(3,result.size()); + + @SuppressWarnings("unchecked") + ArgumentCaptor> captor = ArgumentCaptor.forClass(Iterable.class); + verify(bundleRepository, times(1)).saveAll(captor.capture()); + + Iterator iter = captor.getAllValues().get(0).iterator(); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(0).getPspBusinessName()); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(1).getPspBusinessName()); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(2).getPspBusinessName()); } @Test From 433fb67f71e30436cbb56d184b774db673007f07 Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Wed, 12 Jul 2023 08:33:28 +0000 Subject: [PATCH 2/3] [PAGOPA-1163] add psp business name: update openapi --- helm/Chart.yaml | 4 +- helm/values-dev.yaml | 4 +- helm/values-prod.yaml | 4 +- helm/values-uat.yaml | 4 +- openapi/openapi.json | 11418 ++++++++-------- pom.xml | 2 +- .../afm/marketplacebe/entity/Bundle.java | 3 + .../model/bundle/BundleRequest.java | 2 + .../marketplacebe/service/BundleService.java | 2 + .../it/pagopa/afm/marketplacebe/TestUtil.java | 4 + .../service/BundleServiceTest.java | 14 +- 11 files changed, 5736 insertions(+), 5725 deletions(-) diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 20b27030..dc752bf1 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: pagopa-afm-marketplace description: Microservice that handles marketplace for pagoPA Advanced Fees Management type: application -version: 0.17.0 -appVersion: 0.13.2 +version: 0.18.0 +appVersion: 0.13.3 dependencies: - name: microservice-chart version: 1.21.0 diff --git a/helm/values-dev.yaml b/helm/values-dev.yaml index 634b5022..211080f7 100644 --- a/helm/values-dev.yaml +++ b/helm/values-dev.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always livenessProbe: httpGet: @@ -98,7 +98,7 @@ microservice-chart: create: true image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always envConfig: {} envSecret: {} diff --git a/helm/values-prod.yaml b/helm/values-prod.yaml index 46c4fda6..8f8b4a50 100644 --- a/helm/values-prod.yaml +++ b/helm/values-prod.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always livenessProbe: httpGet: @@ -98,7 +98,7 @@ microservice-chart: create: true image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always envConfig: {} envSecret: {} diff --git a/helm/values-uat.yaml b/helm/values-uat.yaml index aa4f866b..b5d9edac 100644 --- a/helm/values-uat.yaml +++ b/helm/values-uat.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always livenessProbe: httpGet: @@ -98,7 +98,7 @@ microservice-chart: create: true image: repository: ghcr.io/pagopa/pagopa-afm-marketplace-be - tag: "0.13.2" + tag: "0.13.3" pullPolicy: Always envConfig: {} envSecret: {} diff --git a/openapi/openapi.json b/openapi/openapi.json index 3917bb3a..b068d26b 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -1,5820 +1,5808 @@ { - "openapi": "3.0.1", - "info": { - "title": "Marketplace API for PagoPA AFM", - "description": "marketplace-be", - "termsOfService": "https://www.pagopa.gov.it/", - "version": "0.13.2" - }, - "servers": [ - { - "url": "http://127.0.0.1:8585", - "description": "Generated server url" - } - ], - "tags": [ - { - "name": "CI", - "description": "Everything about CI" + "openapi": "3.0.1", + "info": { + "title": "Marketplace API for PagoPA AFM", + "description": "marketplace-be", + "termsOfService": "https://www.pagopa.gov.it/", + "version": "0.13.3" }, - { - "name": "PSP", - "description": "Everything about PSP" - } - ], - "paths": { - "/bundles": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get bundles by type", - "operationId": "getGlobalBundles", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - }, - { - "name": "types", - "in": "query", - "description": "Bundle type. Default = GLOBAL", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GLOBAL", - "PUBLIC", - "PRIVATE" + "servers": [ + { + "url": "http://127.0.0.1:8585", + "description": "Generated server url" + } + ], + "tags": [ + { + "name": "CI", + "description": "Everything about CI" + }, + { + "name": "PSP", + "description": "Everything about PSP" + } + ], + "paths": { + "/bundles": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get bundles by type", + "operationId": "getGlobalBundles", + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "types", + "in": "query", + "description": "Bundle type. Default = GLOBAL", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GLOBAL", + "PUBLIC", + "PRIVATE" + ] + }, + "default": [ + "GLOBAL" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Bundles" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } ] - }, - "default": [ - "GLOBAL" - ] - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Bundles" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + ] + }, + "/cis/{cifiscalcode}/bundles": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get paginated list of bundles of a CI", + "operationId": "getBundlesByFiscalCode", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundles" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/cis/{cifiscalcode}/bundles/{idbundle}": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get a bundle of a CI", + "operationId": "getBundleByFiscalCode", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleDetailsForCi" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/bundles": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get paginated list of bundles of a CI", - "operationId": "getBundlesByFiscalCode", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + "/cis/{cifiscalcode}/bundles/{idbundle}/attributes": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get attributes of a bundle of a CI", + "operationId": "getBundleAttributesByFiscalCode", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleDetailsAttributes" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundles" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + "post": { + "tags": [ + "CI" + ], + "summary": "Create a new bundle attribute", + "operationId": "createBundleAttributesByCi", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleAttributeModel" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleAttributeResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + ] + }, + "/cis/{cifiscalcode}/bundles/{idbundle}/attributes/{idattribute}": { + "put": { + "tags": [ + "CI" + ], + "summary": "Update an attribute of a bundle", + "operationId": "updateBundleAttributesByCi", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idattribute", + "in": "path", + "description": "Attribute identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleAttributeModel" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "delete": { + "tags": [ + "CI" + ], + "summary": "Delete an attribute of a bundle", + "operationId": "removeBundleAttributesByCi", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idattribute", + "in": "path", + "description": "Attribute identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/bundles/{idbundle}": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get a bundle of a CI", - "operationId": "getBundleByFiscalCode", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + "/cis/{cifiscalcode}/bundles/{idcibundle}": { + "delete": { + "tags": [ + "CI" + ], + "summary": "Remove a bundle of a CI", + "operationId": "removeBundleByFiscalCode", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idcibundle", + "in": "path", + "description": "CIBundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleDetailsForCi" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + ] + }, + "/cis/{cifiscalcode}/offers": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get paginated list of PSP offers to the CI regarding private bundles", + "operationId": "getOffersByCI", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "size", + "in": "query", + "description": "Number of elements for one page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "cursor", + "in": "query", + "description": "Starting cursor", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "idPsp", + "in": "query", + "description": "Filter by psp", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleCiOffers" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/cis/{cifiscalcode}/offers/{idbundleoffer}/accept": { + "post": { + "tags": [ + "CI" + ], + "summary": "The CI accepts an offer of a PSP", + "operationId": "acceptOffer", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundleoffer", + "in": "path", + "description": "Bundle offer identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleId" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/bundles/{idbundle}/attributes": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get attributes of a bundle of a CI", - "operationId": "getBundleAttributesByFiscalCode", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "/cis/{cifiscalcode}/offers/{idbundleoffer}/reject": { + "post": { + "tags": [ + "CI" + ], + "summary": "The CI rejects the offer of the PSP", + "operationId": "rejectOffer", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundleoffer", + "in": "path", + "description": "Bundle offer identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/cis/{cifiscalcode}/requests": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get paginated list of CI request to the PSP regarding public bundles", + "operationId": "getRequestsByCI", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "size", + "in": "query", + "description": "Number of elements for one page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "cursor", + "in": "query", + "description": "Starting cursor", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "idPsp", + "in": "query", + "description": "Filter by psp", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiRequests" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleDetailsAttributes" + "post": { + "tags": [ + "CI" + ], + "summary": "Create CI request to the PSP regarding public bundles", + "operationId": "createRequest", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleSubscriptionRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleRequestId" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/cis/{cifiscalcode}/requests/{idbundlerequest}": { + "delete": { + "tags": [ + "CI" + ], + "summary": "Delete CI request regarding a public bundles", + "operationId": "removeRequest", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundlerequest", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/configuration": { + "get": { + "tags": [ + "Home" + ], + "summary": "Generate the configuration", + "operationId": "getConfiguration", + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/info": { + "get": { + "tags": [ + "Home" + ], + "summary": "Return OK if application is started", + "operationId": "healthCheck", + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Forbidden", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/paymenttypes": { + "get": { + "tags": [ + "Payment Type" + ], + "summary": "Get payment types", + "operationId": "getPaymentTypes", + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 0", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentTypes" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "post": { + "tags": [ + "Payment Type" + ], + "summary": "Sync payment types", + "operationId": "syncPaymentTypes", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentType" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/paymenttypes/{id}": { + "get": { + "tags": [ + "Payment Type" + ], + "summary": "Get payment types", + "operationId": "getPaymentType", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Payment type name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentType" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/bundles": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get paginated list of bundles of a PSP", + "operationId": "getBundles", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Bundles" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "post": { + "tags": [ + "PSP" + ], + "summary": "Create a new bundle", + "operationId": "createBundle", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/psps/{idpsp}/bundles/massive": { + "post": { + "tags": [ + "PSP" + ], + "summary": "Create new bundles by list", + "operationId": "createBundleByList", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BundleRequest" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "post": { - "tags": [ - "CI" - ], - "summary": "Create a new bundle attribute", - "operationId": "createBundleAttributesByCi", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleAttributeModel" - } - } - }, - "required": true + "/psps/{idpsp}/bundles/{idbundle}": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get a bundle", + "operationId": "getBundle", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PspBundleDetails" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "put": { + "tags": [ + "PSP" + ], + "summary": "Update a bundle", + "operationId": "updateBundle", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "delete": { + "tags": [ + "PSP" + ], + "summary": "Delete the bundle with the given id", + "operationId": "removeBundle", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } + } + ] }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "/psps/{idpsp}/bundles/{idbundle}/creditorInstitutions": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get paginated list of CI subscribed to a bundle", + "operationId": "getBundleCreditorInstitutions", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiFiscalCodeList" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/psps/{idpsp}/bundles/{idbundle}/creditorInstitutions/{cifiscalcode}": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get details of a relationship between a bundle and a creditor institution", + "operationId": "getBundleCreditorInstitutionDetails", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cifiscalcode", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleDetails" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleAttributeResponse" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/bundles/{idbundle}/offers": { + "post": { + "tags": [ + "PSP" + ], + "summary": "PSP offers a private bundle to a creditor institution", + "operationId": "sendBundleOffer", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiFiscalCodeList" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiFiscalCodeList" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/psps/{idpsp}/bundles/{idbundle}/offers/{idbundleoffer}": { + "delete": { + "tags": [ + "PSP" + ], + "summary": "PSP deletes a private bundle offered", + "operationId": "removeBundleOffer", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundleoffer", + "in": "path", + "description": "Bundle offer identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiFiscalCodeList" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/offers": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get paginated list of PSP offers regarding private bundles", + "operationId": "getOffers", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleOffers" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/requests": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get paginated list of CI request to the PSP regarding public bundles", + "operationId": "getRequestsByPsp", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "cursor", + "in": "query", + "description": "Cursor", + "required": false, + "schema": { + "minimum": 0, + "type": "string" + } + }, + { + "name": "ciFiscalCode", + "in": "query", + "description": "Filter by creditor institution", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PspRequests" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/requests/{idBundleRequest}/accept": { + "post": { + "tags": [ + "PSP" + ], + "summary": "the PSP accepts a request of a CI", + "operationId": "acceptRequest", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idBundleRequest", + "in": "path", + "description": "Bundle Request identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/requests/{idBundleRequest}/reject": { + "post": { + "tags": [ + "PSP" + ], + "summary": "the PSP rejects a request of a CI", + "operationId": "rejectRequest", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idBundleRequest", + "in": "path", + "description": "Bundle Request identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/touchpoints": { + "get": { + "tags": [ + "Touchpoint" + ], + "summary": "Get touchpoints", + "operationId": "getTouchpoints", + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 0", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Touchpoints" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "post": { + "tags": [ + "Touchpoint" + ], + "summary": "Create touchpoint", + "operationId": "createTouchpoint", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TouchpointRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Touchpoint" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "/touchpoints/{id}": { + "get": { + "tags": [ + "Touchpoint" + ], + "summary": "Get touchpoint", + "operationId": "getTouchpoint", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Touchpoint identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Touchpoint" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Touchpoint" + ], + "summary": "Delete touchpoint", + "operationId": "deleteTouchpoint", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Touchpoint identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } + } + ] } - ] }, - "/cis/{cifiscalcode}/bundles/{idbundle}/attributes/{idattribute}": { - "put": { - "tags": [ - "CI" - ], - "summary": "Update an attribute of a bundle", - "operationId": "updateBundleAttributesByCi", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idattribute", - "in": "path", - "description": "Attribute identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleAttributeModel" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "components": { + "schemas": { + "BundleRequest": { + "required": [ + "abi", + "idBrokerPsp", + "idChannel", + "pspBusinessName" + ], + "type": "object", + "properties": { + "idChannel": { + "type": "string" + }, + "idBrokerPsp": { + "type": "string" + }, + "idCdi": { + "type": "string" + }, + "abi": { + "type": "string" + }, + "name": { + "type": "string" + }, + "pspBusinessName": { + "type": "string" + }, + "description": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "paymentType": { + "type": "string" + }, + "digitalStamp": { + "type": "boolean" + }, + "digitalStampRestriction": { + "type": "boolean" + }, + "touchpoint": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "GLOBAL", + "PUBLIC", + "PRIVATE" + ] + }, + "transferCategoryList": { + "type": "array", + "items": { + "type": "string" + } + }, + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + } } - } }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "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" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "CiBundleAttributeModel": { + "type": "object", + "properties": { + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "transferCategory": { + "type": "string" + }, + "transferCategoryRelation": { + "type": "string", + "enum": [ + "EQUAL", + "NOT_EQUAL" + ] + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "TouchpointRequest": { + "type": "object", + "properties": { + "name": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "Touchpoint": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "createdDate": { + "type": "string", + "format": "date-time" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "BundleResponse": { + "type": "object", + "properties": { + "idBundle": { + "type": "string" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiFiscalCodeList": { + "type": "object", + "properties": { + "ciFiscalCodeList": { + "type": "array", + "items": { + "type": "string" + } + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "PaymentType": { + "required": [ + "paymentType", + "used" + ], + "type": "object", + "properties": { + "used": { + "type": "boolean" + }, + "paymentType": { + "type": "string" + } } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "delete": { - "tags": [ - "CI" - ], - "summary": "Delete an attribute of a bundle", - "operationId": "removeBundleAttributesByCi", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idattribute", - "in": "path", - "description": "Attribute identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleSubscriptionRequest": { + "required": [ + "idBundle" + ], + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleAttributeModel" + } + } } - } }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "BundleRequestId": { + "type": "object", + "properties": { + "idBundleRequest": { + "type": "string" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "CiBundleId": { + "type": "object", + "properties": { + "idCiBundle": { + "type": "string" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "BundleAttributeResponse": { + "type": "object", + "properties": { + "idBundleAttribute": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "PageInfo": { + "required": [ + "itemsFound", + "limit", + "page", + "totalPages" + ], + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Page number", + "format": "int32" + }, + "limit": { + "type": "integer", + "description": "Required number of items per page", + "format": "int32" + }, + "itemsFound": { + "type": "integer", + "description": "Number of items found. (The last page may have fewer elements than required)", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages", + "format": "int32" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "Touchpoints": { + "required": [ + "pageInfo", + "touchpoints" + ], + "type": "object", + "properties": { + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + }, + "touchpoints": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Touchpoint" + } + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "PspBundleRequest": { + "required": [ + "ciFiscalCode", + "idBundle", + "idBundleRequest" + ], + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "ciFiscalCode": { + "type": "string" + }, + "acceptedDate": { + "type": "string", + "format": "date-time" + }, + "rejectionDate": { + "type": "string", + "format": "date-time" + }, + "ciBundleAttributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PspCiBundleAttribute" + } + }, + "idBundleRequest": { + "type": "string" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "PspCiBundleAttribute": { + "type": "object", + "properties": { + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "transferCategory": { + "type": "string" + }, + "transferCategoryRelation": { + "type": "string", + "enum": [ + "EQUAL", + "NOT_EQUAL" + ] + } } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/bundles/{idcibundle}": { - "delete": { - "tags": [ - "CI" - ], - "summary": "Remove a bundle of a CI", - "operationId": "removeBundleByFiscalCode", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idcibundle", - "in": "path", - "description": "CIBundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "PspRequests": { + "required": [ + "pageInfo", + "requests" + ], + "type": "object", + "properties": { + "requests": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PspBundleRequest" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + } } - } }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "BundleOffers": { + "required": [ + "offers", + "pageInfo" + ], + "type": "object", + "properties": { + "offers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PspBundleOffer" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "PspBundleOffer": { + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "ciFiscalCode": { + "type": "string" + }, + "acceptedDate": { + "type": "string", + "format": "date-time" + }, + "rejectionDate": { + "type": "string", + "format": "date-time" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "idBundleOffer": { + "type": "string" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "Bundles": { + "required": [ + "bundles", + "pageInfo" + ], + "type": "object", + "properties": { + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + }, + "bundles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PspBundleDetails" + } + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "PspBundleDetails": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "paymentType": { + "type": "string" + }, + "touchpoint": { + "type": "string" + }, + "type": { + "type": "string" + }, + "transferCategoryList": { + "type": "array", + "items": { + "type": "string" + } + }, + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "lastUpdatedDate": { + "type": "string", + "format": "date-time" + }, + "idChannel": { + "type": "string" + }, + "idBrokerPsp": { + "type": "string" + }, + "digitalStamp": { + "type": "boolean" + }, + "digitalStampRestriction": { + "type": "boolean" + }, + "idBundle": { + "type": "string" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleAttribute": { + "type": "object", + "properties": { + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "transferCategory": { + "type": "string" + }, + "transferCategoryRelation": { + "type": "string", + "enum": [ + "EQUAL", + "NOT_EQUAL" + ] + }, + "insertedDate": { + "type": "string", + "format": "date-time" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleDetails": { + "type": "object", + "properties": { + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "attributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleAttribute" + } + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "PaymentTypes": { + "required": [ + "pageInfo", + "paymentTypes" + ], + "type": "object", + "properties": { + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + }, + "paymentTypes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentType" + } + } } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/offers": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get paginated list of PSP offers to the CI regarding private bundles", - "operationId": "getOffersByCI", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Number of elements for one page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "cursor", - "in": "query", - "description": "Starting cursor", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "idPsp", - "in": "query", - "description": "Filter by psp", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "AppInfo": { + "required": [ + "environment", + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "string" + }, + "environment": { + "type": "string" + }, + "dbConnection": { + "type": "string" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleCiOffers" + "CiBundleRequest": { + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "idPsp": { + "type": "string" + }, + "acceptedDate": { + "type": "string", + "format": "date-time" + }, + "rejectionDate": { + "type": "string", + "format": "date-time" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "ciBundleAttributeModels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleAttributeModel" + } + }, + "idBundleRequest": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiRequests": { + "required": [ + "pageInfo", + "requests" + ], + "type": "object", + "properties": { + "requests": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleRequest" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "BundleCiOffers": { + "required": [ + "offers", + "pageInfo" + ], + "type": "object", + "properties": { + "offers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleOffer" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleOffer": { + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "idPsp": { + "type": "string" + }, + "acceptedDate": { + "type": "string", + "format": "date-time" + }, + "rejectionDate": { + "type": "string", + "format": "date-time" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "idBundleOffer": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleInfo": { + "type": "object", + "properties": { + "idCiBundle": { + "type": "string" + }, + "idPsp": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "paymentType": { + "type": "string" + }, + "touchpoint": { + "type": "string" + }, + "type": { + "type": "string" + }, + "transferCategoryList": { + "type": "array", + "items": { + "type": "string" + } + }, + "validityDateFrom": { + "type": "string", + "format": "date-time" + }, + "validityDateTo": { + "type": "string", + "format": "date-time" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "lastUpdatedDate": { + "type": "string", + "format": "date-time" + }, + "idBundle": { + "type": "string" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundles": { + "required": [ + "bundles", + "pageInfo" + ], + "type": "object", + "properties": { + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + }, + "bundles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleInfo" + } + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "BundleDetailsForCi": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "paymentType": { + "type": "string" + }, + "touchpoint": { + "type": "string" + }, + "type": { + "type": "string" + }, + "transferCategoryList": { + "type": "array", + "items": { + "type": "string" + } + }, + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "lastUpdatedDate": { + "type": "string", + "format": "date-time" + }, + "idChannel": { + "type": "string" + }, + "idBrokerPsp": { + "type": "string" + }, + "digitalStamp": { + "type": "boolean" + }, + "digitalStampRestriction": { + "type": "boolean" + }, + "idPsp": { + "type": "string" + }, + "idBundle": { + "type": "string" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "BundleAttribute": { + "required": [ + "idBundleAttribute", + "insertedDate" + ], + "type": "object", + "properties": { + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "transferCategory": { + "type": "string" + }, + "transferCategoryRelation": { + "type": "string", + "enum": [ + "EQUAL", + "NOT_EQUAL" + ] + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "insertedDate": { + "type": "string", + "format": "date" + }, + "idBundleAttribute": { + "type": "string" + } } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/offers/{idbundleoffer}/accept": { - "post": { - "tags": [ - "CI" - ], - "summary": "The CI accepts an offer of a PSP", - "operationId": "acceptOffer", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundleoffer", - "in": "path", - "description": "Bundle offer identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleId" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/offers/{idbundleoffer}/reject": { - "post": { - "tags": [ - "CI" - ], - "summary": "The CI rejects the offer of the PSP", - "operationId": "rejectOffer", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundleoffer", - "in": "path", - "description": "Bundle offer identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/requests": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get paginated list of CI request to the PSP regarding public bundles", - "operationId": "getRequestsByCI", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Number of elements for one page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "cursor", - "in": "query", - "description": "Starting cursor", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "idPsp", - "in": "query", - "description": "Filter by psp", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiRequests" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "post": { - "tags": [ - "CI" - ], - "summary": "Create CI request to the PSP regarding public bundles", - "operationId": "createRequest", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleSubscriptionRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleRequestId" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/requests/{idbundlerequest}": { - "delete": { - "tags": [ - "CI" - ], - "summary": "Delete CI request regarding a public bundles", - "operationId": "removeRequest", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundlerequest", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/configuration": { - "get": { - "tags": [ - "Home" - ], - "summary": "Generate the configuration", - "operationId": "getConfiguration", - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/info": { - "get": { - "tags": [ - "Home" - ], - "summary": "Return OK if application is started", - "operationId": "healthCheck", - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppInfo" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/paymenttypes": { - "get": { - "tags": [ - "Payment Type" - ], - "summary": "Get payment types", - "operationId": "getPaymentTypes", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 0", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentTypes" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/paymenttypes/upload": { - "post": { - "tags": [ - "Payment Type" - ], - "summary": "Upload a set of payment types by list", - "operationId": "uploadPaymentTypeByList", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentType" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/paymenttypes/{id}": { - "get": { - "tags": [ - "Payment Type" - ], - "summary": "Get payment types", - "operationId": "getPaymentType", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Payment type name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentType" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get paginated list of bundles of a PSP", - "operationId": "getBundles", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Bundles" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "post": { - "tags": [ - "PSP" - ], - "summary": "Create a new bundle", - "operationId": "createBundle", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/massive": { - "post": { - "tags": [ - "PSP" - ], - "summary": "Create new bundles by list", - "operationId": "createBundleByList", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BundleRequest" - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get a bundle", - "operationId": "getBundle", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PspBundleDetails" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "put": { - "tags": [ - "PSP" - ], - "summary": "Update a bundle", - "operationId": "updateBundle", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "delete": { - "tags": [ - "PSP" - ], - "summary": "Delete the bundle with the given id", - "operationId": "removeBundle", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}/creditorInstitutions": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get paginated list of CI subscribed to a bundle", - "operationId": "getBundleCreditorInstitutions", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiFiscalCodeList" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}/creditorInstitutions/{cifiscalcode}": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get details of a relationship between a bundle and a creditor institution", - "operationId": "getBundleCreditorInstitutionDetails", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cifiscalcode", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleDetails" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}/offers": { - "post": { - "tags": [ - "PSP" - ], - "summary": "PSP offers a private bundle to a creditor institution", - "operationId": "sendBundleOffer", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiFiscalCodeList" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiFiscalCodeList" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}/offers/{idbundleoffer}": { - "delete": { - "tags": [ - "PSP" - ], - "summary": "PSP deletes a private bundle offered", - "operationId": "removeBundleOffer", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundleoffer", - "in": "path", - "description": "Bundle offer identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiFiscalCodeList" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/offers": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get paginated list of PSP offers regarding private bundles", - "operationId": "getOffers", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleOffers" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/requests": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get paginated list of CI request to the PSP regarding public bundles", - "operationId": "getRequestsByPsp", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - }, - { - "name": "cursor", - "in": "query", - "description": "Cursor", - "required": false, - "schema": { - "minimum": 0, - "type": "string" - } - }, - { - "name": "ciFiscalCode", - "in": "query", - "description": "Filter by creditor institution", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PspRequests" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/requests/{idBundleRequest}/accept": { - "post": { - "tags": [ - "PSP" - ], - "summary": "the PSP accepts a request of a CI", - "operationId": "acceptRequest", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idBundleRequest", - "in": "path", - "description": "Bundle Request identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/requests/{idBundleRequest}/reject": { - "post": { - "tags": [ - "PSP" - ], - "summary": "the PSP rejects a request of a CI", - "operationId": "rejectRequest", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idBundleRequest", - "in": "path", - "description": "Bundle Request identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/touchpoints": { - "get": { - "tags": [ - "Touchpoint" - ], - "summary": "Get touchpoints", - "operationId": "getTouchpoints", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 0", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Touchpoints" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "post": { - "tags": [ - "Touchpoint" - ], - "summary": "Create touchpoint", - "operationId": "createTouchpoint", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TouchpointRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Touchpoint" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/touchpoints/{id}": { - "get": { - "tags": [ - "Touchpoint" - ], - "summary": "Get touchpoint", - "operationId": "getTouchpoint", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Touchpoint identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Touchpoint" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Touchpoint" - ], - "summary": "Delete touchpoint", - "operationId": "deleteTouchpoint", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Touchpoint identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "BundleDetailsAttributes": { + "required": [ + "attributes", + "insertedDate" + ], + "type": "object", + "properties": { + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "attributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BundleAttribute" + } + } } - } } - } }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - } - }, - "components": { - "schemas": { - "BundleRequest": { - "required": [ - "idBrokerPsp", - "idCdi", - "idChannel" - ], - "type": "object", - "properties": { - "idChannel": { - "type": "string" - }, - "idBrokerPsp": { - "type": "string" - }, - "idCdi": { - "type": "string" - }, - "abi": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "paymentAmount": { - "type": "integer", - "format": "int64" - }, - "minPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "paymentType": { - "type": "string" - }, - "digitalStamp": { - "type": "boolean" - }, - "digitalStampRestriction": { - "type": "boolean" - }, - "touchpoint": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "GLOBAL", - "PUBLIC", - "PRIVATE" - ] - }, - "transferCategoryList": { - "type": "array", - "items": { - "type": "string" - } - }, - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - } - } - }, - "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" - } - } - }, - "CiBundleAttributeModel": { - "type": "object", - "properties": { - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "transferCategory": { - "type": "string" - }, - "transferCategoryRelation": { - "type": "string", - "enum": [ - "EQUAL", - "NOT_EQUAL" - ] - } - } - }, - "TouchpointRequest": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - }, - "Touchpoint": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "createdDate": { - "type": "string", - "format": "date-time" - } - } - }, - "BundleResponse": { - "type": "object", - "properties": { - "idBundle": { - "type": "string" - } - } - }, - "CiFiscalCodeList": { - "type": "object", - "properties": { - "ciFiscalCodeList": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PaymentType": { - "required": [ - "paymentType", - "used" - ], - "type": "object", - "properties": { - "used": { - "type": "boolean" - }, - "paymentType": { - "type": "string" - } - } - }, - "CiBundleSubscriptionRequest": { - "required": [ - "idBundle" - ], - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleAttributeModel" - } - } - } - }, - "BundleRequestId": { - "type": "object", - "properties": { - "idBundleRequest": { - "type": "string" - } - } - }, - "CiBundleId": { - "type": "object", - "properties": { - "idCiBundle": { - "type": "string" - } - } - }, - "BundleAttributeResponse": { - "type": "object", - "properties": { - "idBundleAttribute": { - "type": "string" - } - } - }, - "PageInfo": { - "required": [ - "itemsFound", - "limit", - "page", - "totalPages" - ], - "type": "object", - "properties": { - "page": { - "type": "integer", - "description": "Page number", - "format": "int32" - }, - "limit": { - "type": "integer", - "description": "Required number of items per page", - "format": "int32" - }, - "itemsFound": { - "type": "integer", - "description": "Number of items found. (The last page may have fewer elements than required)", - "format": "int32" - }, - "totalPages": { - "type": "integer", - "description": "Total number of pages", - "format": "int32" - } - } - }, - "Touchpoints": { - "required": [ - "pageInfo", - "touchpoints" - ], - "type": "object", - "properties": { - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - }, - "touchpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Touchpoint" - } - } - } - }, - "PspBundleRequest": { - "required": [ - "ciFiscalCode", - "idBundle", - "idBundleRequest" - ], - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "ciFiscalCode": { - "type": "string" - }, - "acceptedDate": { - "type": "string", - "format": "date-time" - }, - "rejectionDate": { - "type": "string", - "format": "date-time" - }, - "ciBundleAttributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PspCiBundleAttribute" - } - }, - "idBundleRequest": { - "type": "string" - } - } - }, - "PspCiBundleAttribute": { - "type": "object", - "properties": { - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "transferCategory": { - "type": "string" - }, - "transferCategoryRelation": { - "type": "string", - "enum": [ - "EQUAL", - "NOT_EQUAL" - ] - } - } - }, - "PspRequests": { - "required": [ - "pageInfo", - "requests" - ], - "type": "object", - "properties": { - "requests": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PspBundleRequest" + "securitySchemes": { + "ApiKey": { + "type": "apiKey", + "description": "The API key to access this function app.", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" } - }, - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - } } - }, - "BundleOffers": { - "required": [ - "offers", - "pageInfo" - ], - "type": "object", - "properties": { - "offers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PspBundleOffer" - } - }, - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - } - } - }, - "PspBundleOffer": { - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "ciFiscalCode": { - "type": "string" - }, - "acceptedDate": { - "type": "string", - "format": "date-time" - }, - "rejectionDate": { - "type": "string", - "format": "date-time" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "idBundleOffer": { - "type": "string" - } - } - }, - "Bundles": { - "required": [ - "bundles", - "pageInfo" - ], - "type": "object", - "properties": { - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - }, - "bundles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PspBundleDetails" - } - } - } - }, - "PspBundleDetails": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "paymentAmount": { - "type": "integer", - "format": "int64" - }, - "minPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "paymentType": { - "type": "string" - }, - "touchpoint": { - "type": "string" - }, - "type": { - "type": "string" - }, - "transferCategoryList": { - "type": "array", - "items": { - "type": "string" - } - }, - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "lastUpdatedDate": { - "type": "string", - "format": "date-time" - }, - "idChannel": { - "type": "string" - }, - "idBrokerPsp": { - "type": "string" - }, - "digitalStamp": { - "type": "boolean" - }, - "digitalStampRestriction": { - "type": "boolean" - }, - "idBundle": { - "type": "string" - } - } - }, - "CiBundleAttribute": { - "type": "object", - "properties": { - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "transferCategory": { - "type": "string" - }, - "transferCategoryRelation": { - "type": "string", - "enum": [ - "EQUAL", - "NOT_EQUAL" - ] - }, - "insertedDate": { - "type": "string", - "format": "date-time" - } - } - }, - "CiBundleDetails": { - "type": "object", - "properties": { - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "attributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleAttribute" - } - } - } - }, - "PaymentTypes": { - "required": [ - "pageInfo", - "paymentTypes" - ], - "type": "object", - "properties": { - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - }, - "paymentTypes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PaymentType" - } - } - } - }, - "AppInfo": { - "required": [ - "environment", - "name", - "version" - ], - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "version": { - "type": "string" - }, - "environment": { - "type": "string" - }, - "dbConnection": { - "type": "string" - } - } - }, - "CiBundleRequest": { - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "idPsp": { - "type": "string" - }, - "acceptedDate": { - "type": "string", - "format": "date-time" - }, - "rejectionDate": { - "type": "string", - "format": "date-time" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "ciBundleAttributeModels": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleAttributeModel" - } - }, - "idBundleRequest": { - "type": "string" - } - } - }, - "CiRequests": { - "required": [ - "pageInfo", - "requests" - ], - "type": "object", - "properties": { - "requests": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleRequest" - } - }, - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - } - } - }, - "BundleCiOffers": { - "required": [ - "offers", - "pageInfo" - ], - "type": "object", - "properties": { - "offers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleOffer" - } - }, - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - } - } - }, - "CiBundleOffer": { - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "idPsp": { - "type": "string" - }, - "acceptedDate": { - "type": "string", - "format": "date-time" - }, - "rejectionDate": { - "type": "string", - "format": "date-time" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "idBundleOffer": { - "type": "string" - } - } - }, - "CiBundleInfo": { - "type": "object", - "properties": { - "idCiBundle": { - "type": "string" - }, - "idPsp": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "paymentAmount": { - "type": "integer", - "format": "int64" - }, - "minPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "paymentType": { - "type": "string" - }, - "touchpoint": { - "type": "string" - }, - "type": { - "type": "string" - }, - "transferCategoryList": { - "type": "array", - "items": { - "type": "string" - } - }, - "validityDateFrom": { - "type": "string", - "format": "date-time" - }, - "validityDateTo": { - "type": "string", - "format": "date-time" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "lastUpdatedDate": { - "type": "string", - "format": "date-time" - }, - "idBundle": { - "type": "string" - } - } - }, - "CiBundles": { - "required": [ - "bundles", - "pageInfo" - ], - "type": "object", - "properties": { - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - }, - "bundles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleInfo" - } - } - } - }, - "BundleDetailsForCi": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "paymentAmount": { - "type": "integer", - "format": "int64" - }, - "minPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "paymentType": { - "type": "string" - }, - "touchpoint": { - "type": "string" - }, - "type": { - "type": "string" - }, - "transferCategoryList": { - "type": "array", - "items": { - "type": "string" - } - }, - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "lastUpdatedDate": { - "type": "string", - "format": "date-time" - }, - "idChannel": { - "type": "string" - }, - "idBrokerPsp": { - "type": "string" - }, - "digitalStamp": { - "type": "boolean" - }, - "digitalStampRestriction": { - "type": "boolean" - }, - "idPsp": { - "type": "string" - }, - "idBundle": { - "type": "string" - } - } - }, - "BundleAttribute": { - "required": [ - "idBundleAttribute", - "insertedDate" - ], - "type": "object", - "properties": { - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "transferCategory": { - "type": "string" - }, - "transferCategoryRelation": { - "type": "string", - "enum": [ - "EQUAL", - "NOT_EQUAL" - ] - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "insertedDate": { - "type": "string", - "format": "date" - }, - "idBundleAttribute": { - "type": "string" - } - } - }, - "BundleDetailsAttributes": { - "required": [ - "attributes", - "insertedDate" - ], - "type": "object", - "properties": { - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "attributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BundleAttribute" - } - } - } - } - }, - "securitySchemes": { - "ApiKey": { - "type": "apiKey", - "description": "The API key to access this function app.", - "name": "Ocp-Apim-Subscription-Key", - "in": "header" - } } - } } diff --git a/pom.xml b/pom.xml index 0d4a2652..430334a8 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ it.pagopa.afm marketplace-be - 0.13.2 + 0.13.3 marketplace-be Marketplace API for PagoPA AFM diff --git a/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java b/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java index 094e123e..49c7a7b6 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java @@ -45,6 +45,9 @@ public class Bundle { @NotNull private String abi; + + @NotNull + private String pspBusinessName; private Boolean digitalStamp; diff --git a/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java b/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java index 0db2ea72..c99c1adb 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java @@ -26,6 +26,8 @@ public class BundleRequest { @NotNull private String abi; private String name; + @NotNull + private String pspBusinessName; private String description; private Long paymentAmount; private Long minPaymentAmount; diff --git a/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java b/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java index d7df2996..4c5d2030 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java @@ -191,6 +191,7 @@ private Bundle generateBundle(String idPsp, BundleRequest bundleRequest) { .idCdi(bundleRequest.getIdCdi()) .abi(bundleRequest.getAbi()) .name(bundleRequest.getName()) + .pspBusinessName(bundleRequest.getPspBusinessName()) .description(bundleRequest.getDescription()) .paymentAmount(bundleRequest.getPaymentAmount()) .minPaymentAmount(bundleRequest.getMinPaymentAmount()) @@ -235,6 +236,7 @@ public Bundle updateBundle(String idPsp, String idBundle, BundleRequest bundleRe bundle.setIdCdi(bundleRequest.getIdCdi()); bundle.setAbi(bundleRequest.getAbi()); bundle.setName(bundleRequest.getName()); + bundle.setPspBusinessName(bundleRequest.getPspBusinessName()); bundle.setDescription(bundleRequest.getDescription()); bundle.setPaymentAmount(bundleRequest.getPaymentAmount()); bundle.setMinPaymentAmount(bundleRequest.getMinPaymentAmount()); diff --git a/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java b/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java index 271820a3..21515ec9 100644 --- a/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java +++ b/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java @@ -101,6 +101,7 @@ public static BundleRequest getMockBundleRequest() { .idCdi(null) .abi("abi") .name("name") + .pspBusinessName("business name") .description("description") .paymentAmount(100L) .minPaymentAmount(0L) @@ -152,6 +153,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 0") .description("description") .paymentAmount(100L) .minPaymentAmount(0L) @@ -171,6 +173,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 1") .description("description") .paymentAmount(200L) .minPaymentAmount(0L) @@ -190,6 +193,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 2") .description("description") .paymentAmount(300L) .minPaymentAmount(0L) diff --git a/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java b/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java index f72ee342..03d84a82 100644 --- a/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java +++ b/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java @@ -19,6 +19,7 @@ import java.time.LocalDate; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; import java.util.Optional; import java.util.UUID; @@ -190,6 +191,7 @@ void shouldCreateBundle() { Mockito.verify(bundleRepository, times(1)).save(Mockito.any()); assertEquals(bundleRequest.getName(), bundleArgumentCaptor.getValue().getName()); + assertEquals(bundleRequest.getPspBusinessName(), bundleArgumentCaptor.getValue().getPspBusinessName()); } @Test @@ -1161,6 +1163,7 @@ void updateBundle_ok_1() { Bundle result = bundleService.updateBundle(TestUtil.getMockIdPsp(), bundle.getId(), TestUtil.getMockBundleRequest()); assertNotNull(result); + assertEquals(result.getPspBusinessName(), TestUtil.getMockBundleRequest().getPspBusinessName()); } @Test @@ -1286,10 +1289,19 @@ void createBundleByList_ok() { when(touchpointRepository.findByName(anyString())).thenReturn(Optional.of(TestUtil.getMockTouchpoint())); when(paymentTypeRepository.findByName(anyString())) .thenReturn(Optional.of(TestUtil.getMockPaymentType())); - + List result = bundleService.createBundleByList(TestUtil.getMockIdPsp(), TestUtil.getMockBundleRequestList()); assertNotNull(result); assertEquals(3,result.size()); + + @SuppressWarnings("unchecked") + ArgumentCaptor> captor = ArgumentCaptor.forClass(Iterable.class); + verify(bundleRepository, times(1)).saveAll(captor.capture()); + + Iterator iter = captor.getAllValues().get(0).iterator(); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(0).getPspBusinessName()); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(1).getPspBusinessName()); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(2).getPspBusinessName()); } @Test From 63d8c35d4c3a69be9defe860659cdaaa3fe1a778 Mon Sep 17 00:00:00 2001 From: aacitelli Date: Wed, 23 Aug 2023 16:49:03 +0200 Subject: [PATCH 3/3] rebase --- openapi/openapi.json | 11418 ++++++++-------- .../afm/marketplacebe/entity/Bundle.java | 3 + .../model/bundle/BundleRequest.java | 2 + .../marketplacebe/service/BundleService.java | 2 + .../it/pagopa/afm/marketplacebe/TestUtil.java | 4 + .../service/BundleServiceTest.java | 14 +- 6 files changed, 5727 insertions(+), 5716 deletions(-) diff --git a/openapi/openapi.json b/openapi/openapi.json index 39a19d52..b068d26b 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -1,5820 +1,5808 @@ { - "openapi": "3.0.1", - "info": { - "title": "Marketplace API for PagoPA AFM", - "description": "marketplace-be", - "termsOfService": "https://www.pagopa.gov.it/", - "version": "0.13.3" - }, - "servers": [ - { - "url": "http://127.0.0.1:8585", - "description": "Generated server url" - } - ], - "tags": [ - { - "name": "CI", - "description": "Everything about CI" + "openapi": "3.0.1", + "info": { + "title": "Marketplace API for PagoPA AFM", + "description": "marketplace-be", + "termsOfService": "https://www.pagopa.gov.it/", + "version": "0.13.3" }, - { - "name": "PSP", - "description": "Everything about PSP" - } - ], - "paths": { - "/bundles": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get bundles by type", - "operationId": "getGlobalBundles", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - }, - { - "name": "types", - "in": "query", - "description": "Bundle type. Default = GLOBAL", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GLOBAL", - "PUBLIC", - "PRIVATE" + "servers": [ + { + "url": "http://127.0.0.1:8585", + "description": "Generated server url" + } + ], + "tags": [ + { + "name": "CI", + "description": "Everything about CI" + }, + { + "name": "PSP", + "description": "Everything about PSP" + } + ], + "paths": { + "/bundles": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get bundles by type", + "operationId": "getGlobalBundles", + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "types", + "in": "query", + "description": "Bundle type. Default = GLOBAL", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GLOBAL", + "PUBLIC", + "PRIVATE" + ] + }, + "default": [ + "GLOBAL" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Bundles" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } ] - }, - "default": [ - "GLOBAL" - ] - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Bundles" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + ] + }, + "/cis/{cifiscalcode}/bundles": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get paginated list of bundles of a CI", + "operationId": "getBundlesByFiscalCode", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundles" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/cis/{cifiscalcode}/bundles/{idbundle}": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get a bundle of a CI", + "operationId": "getBundleByFiscalCode", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleDetailsForCi" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/bundles": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get paginated list of bundles of a CI", - "operationId": "getBundlesByFiscalCode", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + "/cis/{cifiscalcode}/bundles/{idbundle}/attributes": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get attributes of a bundle of a CI", + "operationId": "getBundleAttributesByFiscalCode", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleDetailsAttributes" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundles" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + "post": { + "tags": [ + "CI" + ], + "summary": "Create a new bundle attribute", + "operationId": "createBundleAttributesByCi", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleAttributeModel" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleAttributeResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + ] + }, + "/cis/{cifiscalcode}/bundles/{idbundle}/attributes/{idattribute}": { + "put": { + "tags": [ + "CI" + ], + "summary": "Update an attribute of a bundle", + "operationId": "updateBundleAttributesByCi", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idattribute", + "in": "path", + "description": "Attribute identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleAttributeModel" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "delete": { + "tags": [ + "CI" + ], + "summary": "Delete an attribute of a bundle", + "operationId": "removeBundleAttributesByCi", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idattribute", + "in": "path", + "description": "Attribute identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/bundles/{idbundle}": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get a bundle of a CI", - "operationId": "getBundleByFiscalCode", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + "/cis/{cifiscalcode}/bundles/{idcibundle}": { + "delete": { + "tags": [ + "CI" + ], + "summary": "Remove a bundle of a CI", + "operationId": "removeBundleByFiscalCode", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idcibundle", + "in": "path", + "description": "CIBundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleDetailsForCi" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } + ] + }, + "/cis/{cifiscalcode}/offers": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get paginated list of PSP offers to the CI regarding private bundles", + "operationId": "getOffersByCI", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "size", + "in": "query", + "description": "Number of elements for one page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "cursor", + "in": "query", + "description": "Starting cursor", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "idPsp", + "in": "query", + "description": "Filter by psp", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleCiOffers" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/cis/{cifiscalcode}/offers/{idbundleoffer}/accept": { + "post": { + "tags": [ + "CI" + ], + "summary": "The CI accepts an offer of a PSP", + "operationId": "acceptOffer", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundleoffer", + "in": "path", + "description": "Bundle offer identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleId" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/bundles/{idbundle}/attributes": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get attributes of a bundle of a CI", - "operationId": "getBundleAttributesByFiscalCode", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "/cis/{cifiscalcode}/offers/{idbundleoffer}/reject": { + "post": { + "tags": [ + "CI" + ], + "summary": "The CI rejects the offer of the PSP", + "operationId": "rejectOffer", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundleoffer", + "in": "path", + "description": "Bundle offer identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/cis/{cifiscalcode}/requests": { + "get": { + "tags": [ + "CI" + ], + "summary": "Get paginated list of CI request to the PSP regarding public bundles", + "operationId": "getRequestsByCI", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "size", + "in": "query", + "description": "Number of elements for one page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "cursor", + "in": "query", + "description": "Starting cursor", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "idPsp", + "in": "query", + "description": "Filter by psp", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiRequests" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleDetailsAttributes" + "post": { + "tags": [ + "CI" + ], + "summary": "Create CI request to the PSP regarding public bundles", + "operationId": "createRequest", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleSubscriptionRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleRequestId" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/cis/{cifiscalcode}/requests/{idbundlerequest}": { + "delete": { + "tags": [ + "CI" + ], + "summary": "Delete CI request regarding a public bundles", + "operationId": "removeRequest", + "parameters": [ + { + "name": "cifiscalcode", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundlerequest", + "in": "path", + "description": "CI identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/configuration": { + "get": { + "tags": [ + "Home" + ], + "summary": "Generate the configuration", + "operationId": "getConfiguration", + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/info": { + "get": { + "tags": [ + "Home" + ], + "summary": "Return OK if application is started", + "operationId": "healthCheck", + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Forbidden", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/paymenttypes": { + "get": { + "tags": [ + "Payment Type" + ], + "summary": "Get payment types", + "operationId": "getPaymentTypes", + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 0", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentTypes" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "post": { + "tags": [ + "Payment Type" + ], + "summary": "Sync payment types", + "operationId": "syncPaymentTypes", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentType" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/paymenttypes/{id}": { + "get": { + "tags": [ + "Payment Type" + ], + "summary": "Get payment types", + "operationId": "getPaymentType", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Payment type name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentType" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/bundles": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get paginated list of bundles of a PSP", + "operationId": "getBundles", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Bundles" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "post": { + "tags": [ + "PSP" + ], + "summary": "Create a new bundle", + "operationId": "createBundle", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/psps/{idpsp}/bundles/massive": { + "post": { + "tags": [ + "PSP" + ], + "summary": "Create new bundles by list", + "operationId": "createBundleByList", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BundleRequest" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "post": { - "tags": [ - "CI" - ], - "summary": "Create a new bundle attribute", - "operationId": "createBundleAttributesByCi", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleAttributeModel" - } - } - }, - "required": true + "/psps/{idpsp}/bundles/{idbundle}": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get a bundle", + "operationId": "getBundle", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PspBundleDetails" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "put": { + "tags": [ + "PSP" + ], + "summary": "Update a bundle", + "operationId": "updateBundle", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "delete": { + "tags": [ + "PSP" + ], + "summary": "Delete the bundle with the given id", + "operationId": "removeBundle", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } + } + ] }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "/psps/{idpsp}/bundles/{idbundle}/creditorInstitutions": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get paginated list of CI subscribed to a bundle", + "operationId": "getBundleCreditorInstitutions", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiFiscalCodeList" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/psps/{idpsp}/bundles/{idbundle}/creditorInstitutions/{cifiscalcode}": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get details of a relationship between a bundle and a creditor institution", + "operationId": "getBundleCreditorInstitutionDetails", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cifiscalcode", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiBundleDetails" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleAttributeResponse" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/bundles/{idbundle}/offers": { + "post": { + "tags": [ + "PSP" + ], + "summary": "PSP offers a private bundle to a creditor institution", + "operationId": "sendBundleOffer", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiFiscalCodeList" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiFiscalCodeList" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/psps/{idpsp}/bundles/{idbundle}/offers/{idbundleoffer}": { + "delete": { + "tags": [ + "PSP" + ], + "summary": "PSP deletes a private bundle offered", + "operationId": "removeBundleOffer", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idbundle", + "in": "path", + "description": "Bundle identifier", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "idbundleoffer", + "in": "path", + "description": "Bundle offer identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CiFiscalCodeList" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/offers": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get paginated list of PSP offers regarding private bundles", + "operationId": "getOffers", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleOffers" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/requests": { + "get": { + "tags": [ + "PSP" + ], + "summary": "Get paginated list of CI request to the PSP regarding public bundles", + "operationId": "getRequestsByPsp", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 1", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "cursor", + "in": "query", + "description": "Cursor", + "required": false, + "schema": { + "minimum": 0, + "type": "string" + } + }, + { + "name": "ciFiscalCode", + "in": "query", + "description": "Filter by creditor institution", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PspRequests" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/requests/{idBundleRequest}/accept": { + "post": { + "tags": [ + "PSP" + ], + "summary": "the PSP accepts a request of a CI", + "operationId": "acceptRequest", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idBundleRequest", + "in": "path", + "description": "Bundle Request identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + ] + }, + "/psps/{idpsp}/requests/{idBundleRequest}/reject": { + "post": { + "tags": [ + "PSP" + ], + "summary": "the PSP rejects a request of a CI", + "operationId": "rejectRequest", + "parameters": [ + { + "name": "idpsp", + "in": "path", + "description": "PSP identifier", + "required": true, + "schema": { + "maxLength": 35, + "minLength": 0, + "type": "string" + } + }, + { + "name": "idBundleRequest", + "in": "path", + "description": "Bundle Request identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } + ] + }, + "/touchpoints": { + "get": { + "tags": [ + "Touchpoint" + ], + "summary": "Get touchpoints", + "operationId": "getTouchpoints", + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "Number of items for page. Default = 50", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number. Page number value starts from 0. Default = 0", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Touchpoints" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "post": { + "tags": [ + "Touchpoint" + ], + "summary": "Create touchpoint", + "operationId": "createTouchpoint", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TouchpointRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Touchpoint" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } } - } - } - } + ] }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "/touchpoints/{id}": { + "get": { + "tags": [ + "Touchpoint" + ], + "summary": "Get touchpoint", + "operationId": "getTouchpoint", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Touchpoint identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Touchpoint" + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Touchpoint" + ], + "summary": "Delete touchpoint", + "operationId": "deleteTouchpoint", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Touchpoint identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": {} + } + }, + "400": { + "description": "Bad Request", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Too many requests", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Service unavailable", + "headers": { + "X-Request-Id": { + "description": "This header identifies the call", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemJson" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "parameters": [ + { + "name": "X-Request-Id", + "in": "header", + "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema": { + "type": "string" + } + } + ] } - ] }, - "/cis/{cifiscalcode}/bundles/{idbundle}/attributes/{idattribute}": { - "put": { - "tags": [ - "CI" - ], - "summary": "Update an attribute of a bundle", - "operationId": "updateBundleAttributesByCi", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idattribute", - "in": "path", - "description": "Attribute identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleAttributeModel" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "components": { + "schemas": { + "BundleRequest": { + "required": [ + "abi", + "idBrokerPsp", + "idChannel", + "pspBusinessName" + ], + "type": "object", + "properties": { + "idChannel": { + "type": "string" + }, + "idBrokerPsp": { + "type": "string" + }, + "idCdi": { + "type": "string" + }, + "abi": { + "type": "string" + }, + "name": { + "type": "string" + }, + "pspBusinessName": { + "type": "string" + }, + "description": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "paymentType": { + "type": "string" + }, + "digitalStamp": { + "type": "boolean" + }, + "digitalStampRestriction": { + "type": "boolean" + }, + "touchpoint": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "GLOBAL", + "PUBLIC", + "PRIVATE" + ] + }, + "transferCategoryList": { + "type": "array", + "items": { + "type": "string" + } + }, + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + } } - } }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "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" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "CiBundleAttributeModel": { + "type": "object", + "properties": { + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "transferCategory": { + "type": "string" + }, + "transferCategoryRelation": { + "type": "string", + "enum": [ + "EQUAL", + "NOT_EQUAL" + ] + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "TouchpointRequest": { + "type": "object", + "properties": { + "name": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "Touchpoint": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "createdDate": { + "type": "string", + "format": "date-time" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "BundleResponse": { + "type": "object", + "properties": { + "idBundle": { + "type": "string" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiFiscalCodeList": { + "type": "object", + "properties": { + "ciFiscalCodeList": { + "type": "array", + "items": { + "type": "string" + } + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "PaymentType": { + "required": [ + "paymentType", + "used" + ], + "type": "object", + "properties": { + "used": { + "type": "boolean" + }, + "paymentType": { + "type": "string" + } } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "delete": { - "tags": [ - "CI" - ], - "summary": "Delete an attribute of a bundle", - "operationId": "removeBundleAttributesByCi", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idattribute", - "in": "path", - "description": "Attribute identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleSubscriptionRequest": { + "required": [ + "idBundle" + ], + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleAttributeModel" + } + } } - } }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "BundleRequestId": { + "type": "object", + "properties": { + "idBundleRequest": { + "type": "string" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "CiBundleId": { + "type": "object", + "properties": { + "idCiBundle": { + "type": "string" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "BundleAttributeResponse": { + "type": "object", + "properties": { + "idBundleAttribute": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "PageInfo": { + "required": [ + "itemsFound", + "limit", + "page", + "totalPages" + ], + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Page number", + "format": "int32" + }, + "limit": { + "type": "integer", + "description": "Required number of items per page", + "format": "int32" + }, + "itemsFound": { + "type": "integer", + "description": "Number of items found. (The last page may have fewer elements than required)", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages", + "format": "int32" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "Touchpoints": { + "required": [ + "pageInfo", + "touchpoints" + ], + "type": "object", + "properties": { + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + }, + "touchpoints": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Touchpoint" + } + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "PspBundleRequest": { + "required": [ + "ciFiscalCode", + "idBundle", + "idBundleRequest" + ], + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "ciFiscalCode": { + "type": "string" + }, + "acceptedDate": { + "type": "string", + "format": "date-time" + }, + "rejectionDate": { + "type": "string", + "format": "date-time" + }, + "ciBundleAttributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PspCiBundleAttribute" + } + }, + "idBundleRequest": { + "type": "string" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "PspCiBundleAttribute": { + "type": "object", + "properties": { + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "transferCategory": { + "type": "string" + }, + "transferCategoryRelation": { + "type": "string", + "enum": [ + "EQUAL", + "NOT_EQUAL" + ] + } } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/bundles/{idcibundle}": { - "delete": { - "tags": [ - "CI" - ], - "summary": "Remove a bundle of a CI", - "operationId": "removeBundleByFiscalCode", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idcibundle", - "in": "path", - "description": "CIBundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "PspRequests": { + "required": [ + "pageInfo", + "requests" + ], + "type": "object", + "properties": { + "requests": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PspBundleRequest" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + } } - } }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "BundleOffers": { + "required": [ + "offers", + "pageInfo" + ], + "type": "object", + "properties": { + "offers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PspBundleOffer" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "PspBundleOffer": { + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "ciFiscalCode": { + "type": "string" + }, + "acceptedDate": { + "type": "string", + "format": "date-time" + }, + "rejectionDate": { + "type": "string", + "format": "date-time" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "idBundleOffer": { + "type": "string" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "Bundles": { + "required": [ + "bundles", + "pageInfo" + ], + "type": "object", + "properties": { + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + }, + "bundles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PspBundleDetails" + } + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "PspBundleDetails": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "paymentType": { + "type": "string" + }, + "touchpoint": { + "type": "string" + }, + "type": { + "type": "string" + }, + "transferCategoryList": { + "type": "array", + "items": { + "type": "string" + } + }, + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "lastUpdatedDate": { + "type": "string", + "format": "date-time" + }, + "idChannel": { + "type": "string" + }, + "idBrokerPsp": { + "type": "string" + }, + "digitalStamp": { + "type": "boolean" + }, + "digitalStampRestriction": { + "type": "boolean" + }, + "idBundle": { + "type": "string" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleAttribute": { + "type": "object", + "properties": { + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "transferCategory": { + "type": "string" + }, + "transferCategoryRelation": { + "type": "string", + "enum": [ + "EQUAL", + "NOT_EQUAL" + ] + }, + "insertedDate": { + "type": "string", + "format": "date-time" + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleDetails": { + "type": "object", + "properties": { + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "attributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleAttribute" + } + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "PaymentTypes": { + "required": [ + "pageInfo", + "paymentTypes" + ], + "type": "object", + "properties": { + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + }, + "paymentTypes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentType" + } + } } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/offers": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get paginated list of PSP offers to the CI regarding private bundles", - "operationId": "getOffersByCI", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Number of elements for one page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "cursor", - "in": "query", - "description": "Starting cursor", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "idPsp", - "in": "query", - "description": "Filter by psp", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "AppInfo": { + "required": [ + "environment", + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "string" + }, + "environment": { + "type": "string" + }, + "dbConnection": { + "type": "string" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleCiOffers" + "CiBundleRequest": { + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "idPsp": { + "type": "string" + }, + "acceptedDate": { + "type": "string", + "format": "date-time" + }, + "rejectionDate": { + "type": "string", + "format": "date-time" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "ciBundleAttributeModels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleAttributeModel" + } + }, + "idBundleRequest": { + "type": "string" + } } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiRequests": { + "required": [ + "pageInfo", + "requests" + ], + "type": "object", + "properties": { + "requests": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleRequest" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "BundleCiOffers": { + "required": [ + "offers", + "pageInfo" + ], + "type": "object", + "properties": { + "offers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleOffer" + } + }, + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + } } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleOffer": { + "type": "object", + "properties": { + "idBundle": { + "type": "string" + }, + "idPsp": { + "type": "string" + }, + "acceptedDate": { + "type": "string", + "format": "date-time" + }, + "rejectionDate": { + "type": "string", + "format": "date-time" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "idBundleOffer": { + "type": "string" + } } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundleInfo": { + "type": "object", + "properties": { + "idCiBundle": { + "type": "string" + }, + "idPsp": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "paymentType": { + "type": "string" + }, + "touchpoint": { + "type": "string" + }, + "type": { + "type": "string" + }, + "transferCategoryList": { + "type": "array", + "items": { + "type": "string" + } + }, + "validityDateFrom": { + "type": "string", + "format": "date-time" + }, + "validityDateTo": { + "type": "string", + "format": "date-time" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "lastUpdatedDate": { + "type": "string", + "format": "date-time" + }, + "idBundle": { + "type": "string" + } } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "CiBundles": { + "required": [ + "bundles", + "pageInfo" + ], + "type": "object", + "properties": { + "pageInfo": { + "$ref": "#/components/schemas/PageInfo" + }, + "bundles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CiBundleInfo" + } + } } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "BundleDetailsForCi": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "paymentAmount": { + "type": "integer", + "format": "int64" + }, + "minPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "paymentType": { + "type": "string" + }, + "touchpoint": { + "type": "string" + }, + "type": { + "type": "string" + }, + "transferCategoryList": { + "type": "array", + "items": { + "type": "string" + } + }, + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "lastUpdatedDate": { + "type": "string", + "format": "date-time" + }, + "idChannel": { + "type": "string" + }, + "idBrokerPsp": { + "type": "string" + }, + "digitalStamp": { + "type": "boolean" + }, + "digitalStampRestriction": { + "type": "boolean" + }, + "idPsp": { + "type": "string" + }, + "idBundle": { + "type": "string" + } } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "BundleAttribute": { + "required": [ + "idBundleAttribute", + "insertedDate" + ], + "type": "object", + "properties": { + "maxPaymentAmount": { + "type": "integer", + "format": "int64" + }, + "transferCategory": { + "type": "string" + }, + "transferCategoryRelation": { + "type": "string", + "enum": [ + "EQUAL", + "NOT_EQUAL" + ] + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "insertedDate": { + "type": "string", + "format": "date" + }, + "idBundleAttribute": { + "type": "string" + } } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/offers/{idbundleoffer}/accept": { - "post": { - "tags": [ - "CI" - ], - "summary": "The CI accepts an offer of a PSP", - "operationId": "acceptOffer", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundleoffer", - "in": "path", - "description": "Bundle offer identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleId" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/offers/{idbundleoffer}/reject": { - "post": { - "tags": [ - "CI" - ], - "summary": "The CI rejects the offer of the PSP", - "operationId": "rejectOffer", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundleoffer", - "in": "path", - "description": "Bundle offer identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/requests": { - "get": { - "tags": [ - "CI" - ], - "summary": "Get paginated list of CI request to the PSP regarding public bundles", - "operationId": "getRequestsByCI", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "description": "Number of elements for one page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "cursor", - "in": "query", - "description": "Starting cursor", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "idPsp", - "in": "query", - "description": "Filter by psp", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiRequests" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "post": { - "tags": [ - "CI" - ], - "summary": "Create CI request to the PSP regarding public bundles", - "operationId": "createRequest", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleSubscriptionRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleRequestId" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/cis/{cifiscalcode}/requests/{idbundlerequest}": { - "delete": { - "tags": [ - "CI" - ], - "summary": "Delete CI request regarding a public bundles", - "operationId": "removeRequest", - "parameters": [ - { - "name": "cifiscalcode", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundlerequest", - "in": "path", - "description": "CI identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/configuration": { - "get": { - "tags": [ - "Home" - ], - "summary": "Generate the configuration", - "operationId": "getConfiguration", - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/info": { - "get": { - "tags": [ - "Home" - ], - "summary": "Return OK if application is started", - "operationId": "healthCheck", - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppInfo" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/paymenttypes": { - "get": { - "tags": [ - "Payment Type" - ], - "summary": "Get payment types", - "operationId": "getPaymentTypes", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 0", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentTypes" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/paymenttypes/upload": { - "post": { - "tags": [ - "Payment Type" - ], - "summary": "Upload a set of payment types by list", - "operationId": "uploadPaymentTypeByList", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentType" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/paymenttypes/{id}": { - "get": { - "tags": [ - "Payment Type" - ], - "summary": "Get payment types", - "operationId": "getPaymentType", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Payment type name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentType" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get paginated list of bundles of a PSP", - "operationId": "getBundles", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Bundles" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "post": { - "tags": [ - "PSP" - ], - "summary": "Create a new bundle", - "operationId": "createBundle", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/massive": { - "post": { - "tags": [ - "PSP" - ], - "summary": "Create new bundles by list", - "operationId": "createBundleByList", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BundleRequest" - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get a bundle", - "operationId": "getBundle", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PspBundleDetails" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "put": { - "tags": [ - "PSP" - ], - "summary": "Update a bundle", - "operationId": "updateBundle", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "delete": { - "tags": [ - "PSP" - ], - "summary": "Delete the bundle with the given id", - "operationId": "removeBundle", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}/creditorInstitutions": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get paginated list of CI subscribed to a bundle", - "operationId": "getBundleCreditorInstitutions", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiFiscalCodeList" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}/creditorInstitutions/{cifiscalcode}": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get details of a relationship between a bundle and a creditor institution", - "operationId": "getBundleCreditorInstitutionDetails", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cifiscalcode", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiBundleDetails" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}/offers": { - "post": { - "tags": [ - "PSP" - ], - "summary": "PSP offers a private bundle to a creditor institution", - "operationId": "sendBundleOffer", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiFiscalCodeList" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiFiscalCodeList" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/bundles/{idbundle}/offers/{idbundleoffer}": { - "delete": { - "tags": [ - "PSP" - ], - "summary": "PSP deletes a private bundle offered", - "operationId": "removeBundleOffer", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idbundle", - "in": "path", - "description": "Bundle identifier", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "idbundleoffer", - "in": "path", - "description": "Bundle offer identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CiFiscalCodeList" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/offers": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get paginated list of PSP offers regarding private bundles", - "operationId": "getOffers", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BundleOffers" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/requests": { - "get": { - "tags": [ - "PSP" - ], - "summary": "Get paginated list of CI request to the PSP regarding public bundles", - "operationId": "getRequestsByPsp", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 1", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 1 - } - }, - { - "name": "cursor", - "in": "query", - "description": "Cursor", - "required": false, - "schema": { - "minimum": 0, - "type": "string" - } - }, - { - "name": "ciFiscalCode", - "in": "query", - "description": "Filter by creditor institution", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PspRequests" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/requests/{idBundleRequest}/accept": { - "post": { - "tags": [ - "PSP" - ], - "summary": "the PSP accepts a request of a CI", - "operationId": "acceptRequest", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idBundleRequest", - "in": "path", - "description": "Bundle Request identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/psps/{idpsp}/requests/{idBundleRequest}/reject": { - "post": { - "tags": [ - "PSP" - ], - "summary": "the PSP rejects a request of a CI", - "operationId": "rejectRequest", - "parameters": [ - { - "name": "idpsp", - "in": "path", - "description": "PSP identifier", - "required": true, - "schema": { - "maxLength": 35, - "minLength": 0, - "type": "string" - } - }, - { - "name": "idBundleRequest", - "in": "path", - "description": "Bundle Request identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/touchpoints": { - "get": { - "tags": [ - "Touchpoint" - ], - "summary": "Get touchpoints", - "operationId": "getTouchpoints", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "Number of items for page. Default = 50", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number. Page number value starts from 0. Default = 0", - "required": false, - "schema": { - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 0 - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Touchpoints" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "post": { - "tags": [ - "Touchpoint" - ], - "summary": "Create touchpoint", - "operationId": "createTouchpoint", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TouchpointRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Touchpoint" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - }, - "/touchpoints/{id}": { - "get": { - "tags": [ - "Touchpoint" - ], - "summary": "Get touchpoint", - "operationId": "getTouchpoint", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Touchpoint identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Touchpoint" - } - } - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Touchpoint" - ], - "summary": "Delete touchpoint", - "operationId": "deleteTouchpoint", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Touchpoint identifier", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": {} - } - }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "404": { - "description": "Not Found", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "BundleDetailsAttributes": { + "required": [ + "attributes", + "insertedDate" + ], + "type": "object", + "properties": { + "validityDateFrom": { + "type": "string", + "format": "date" + }, + "validityDateTo": { + "type": "string", + "format": "date" + }, + "insertedDate": { + "type": "string", + "format": "date-time" + }, + "attributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BundleAttribute" + } + } } - } } - } }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } - } - ] - } - }, - "components": { - "schemas": { - "BundleRequest": { - "required": [ - "idBrokerPsp", - "idCdi", - "idChannel" - ], - "type": "object", - "properties": { - "idChannel": { - "type": "string" - }, - "idBrokerPsp": { - "type": "string" - }, - "idCdi": { - "type": "string" - }, - "abi": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "paymentAmount": { - "type": "integer", - "format": "int64" - }, - "minPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "paymentType": { - "type": "string" - }, - "digitalStamp": { - "type": "boolean" - }, - "digitalStampRestriction": { - "type": "boolean" - }, - "touchpoint": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "GLOBAL", - "PUBLIC", - "PRIVATE" - ] - }, - "transferCategoryList": { - "type": "array", - "items": { - "type": "string" - } - }, - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - } - } - }, - "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" - } - } - }, - "CiBundleAttributeModel": { - "type": "object", - "properties": { - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "transferCategory": { - "type": "string" - }, - "transferCategoryRelation": { - "type": "string", - "enum": [ - "EQUAL", - "NOT_EQUAL" - ] - } - } - }, - "TouchpointRequest": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - }, - "Touchpoint": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "createdDate": { - "type": "string", - "format": "date-time" - } - } - }, - "BundleResponse": { - "type": "object", - "properties": { - "idBundle": { - "type": "string" - } - } - }, - "CiFiscalCodeList": { - "type": "object", - "properties": { - "ciFiscalCodeList": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PaymentType": { - "required": [ - "paymentType", - "used" - ], - "type": "object", - "properties": { - "used": { - "type": "boolean" - }, - "paymentType": { - "type": "string" - } - } - }, - "CiBundleSubscriptionRequest": { - "required": [ - "idBundle" - ], - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleAttributeModel" - } - } - } - }, - "BundleRequestId": { - "type": "object", - "properties": { - "idBundleRequest": { - "type": "string" - } - } - }, - "CiBundleId": { - "type": "object", - "properties": { - "idCiBundle": { - "type": "string" - } - } - }, - "BundleAttributeResponse": { - "type": "object", - "properties": { - "idBundleAttribute": { - "type": "string" - } - } - }, - "PageInfo": { - "required": [ - "itemsFound", - "limit", - "page", - "totalPages" - ], - "type": "object", - "properties": { - "page": { - "type": "integer", - "description": "Page number", - "format": "int32" - }, - "limit": { - "type": "integer", - "description": "Required number of items per page", - "format": "int32" - }, - "itemsFound": { - "type": "integer", - "description": "Number of items found. (The last page may have fewer elements than required)", - "format": "int32" - }, - "totalPages": { - "type": "integer", - "description": "Total number of pages", - "format": "int32" - } - } - }, - "Touchpoints": { - "required": [ - "pageInfo", - "touchpoints" - ], - "type": "object", - "properties": { - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - }, - "touchpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Touchpoint" - } - } - } - }, - "PspBundleRequest": { - "required": [ - "ciFiscalCode", - "idBundle", - "idBundleRequest" - ], - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "ciFiscalCode": { - "type": "string" - }, - "acceptedDate": { - "type": "string", - "format": "date-time" - }, - "rejectionDate": { - "type": "string", - "format": "date-time" - }, - "ciBundleAttributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PspCiBundleAttribute" - } - }, - "idBundleRequest": { - "type": "string" - } - } - }, - "PspCiBundleAttribute": { - "type": "object", - "properties": { - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "transferCategory": { - "type": "string" - }, - "transferCategoryRelation": { - "type": "string", - "enum": [ - "EQUAL", - "NOT_EQUAL" - ] - } - } - }, - "PspRequests": { - "required": [ - "pageInfo", - "requests" - ], - "type": "object", - "properties": { - "requests": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PspBundleRequest" + "securitySchemes": { + "ApiKey": { + "type": "apiKey", + "description": "The API key to access this function app.", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" } - }, - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - } } - }, - "BundleOffers": { - "required": [ - "offers", - "pageInfo" - ], - "type": "object", - "properties": { - "offers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PspBundleOffer" - } - }, - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - } - } - }, - "PspBundleOffer": { - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "ciFiscalCode": { - "type": "string" - }, - "acceptedDate": { - "type": "string", - "format": "date-time" - }, - "rejectionDate": { - "type": "string", - "format": "date-time" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "idBundleOffer": { - "type": "string" - } - } - }, - "Bundles": { - "required": [ - "bundles", - "pageInfo" - ], - "type": "object", - "properties": { - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - }, - "bundles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PspBundleDetails" - } - } - } - }, - "PspBundleDetails": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "paymentAmount": { - "type": "integer", - "format": "int64" - }, - "minPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "paymentType": { - "type": "string" - }, - "touchpoint": { - "type": "string" - }, - "type": { - "type": "string" - }, - "transferCategoryList": { - "type": "array", - "items": { - "type": "string" - } - }, - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "lastUpdatedDate": { - "type": "string", - "format": "date-time" - }, - "idChannel": { - "type": "string" - }, - "idBrokerPsp": { - "type": "string" - }, - "digitalStamp": { - "type": "boolean" - }, - "digitalStampRestriction": { - "type": "boolean" - }, - "idBundle": { - "type": "string" - } - } - }, - "CiBundleAttribute": { - "type": "object", - "properties": { - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "transferCategory": { - "type": "string" - }, - "transferCategoryRelation": { - "type": "string", - "enum": [ - "EQUAL", - "NOT_EQUAL" - ] - }, - "insertedDate": { - "type": "string", - "format": "date-time" - } - } - }, - "CiBundleDetails": { - "type": "object", - "properties": { - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "attributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleAttribute" - } - } - } - }, - "PaymentTypes": { - "required": [ - "pageInfo", - "paymentTypes" - ], - "type": "object", - "properties": { - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - }, - "paymentTypes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PaymentType" - } - } - } - }, - "AppInfo": { - "required": [ - "environment", - "name", - "version" - ], - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "version": { - "type": "string" - }, - "environment": { - "type": "string" - }, - "dbConnection": { - "type": "string" - } - } - }, - "CiBundleRequest": { - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "idPsp": { - "type": "string" - }, - "acceptedDate": { - "type": "string", - "format": "date-time" - }, - "rejectionDate": { - "type": "string", - "format": "date-time" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "ciBundleAttributeModels": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleAttributeModel" - } - }, - "idBundleRequest": { - "type": "string" - } - } - }, - "CiRequests": { - "required": [ - "pageInfo", - "requests" - ], - "type": "object", - "properties": { - "requests": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleRequest" - } - }, - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - } - } - }, - "BundleCiOffers": { - "required": [ - "offers", - "pageInfo" - ], - "type": "object", - "properties": { - "offers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleOffer" - } - }, - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - } - } - }, - "CiBundleOffer": { - "type": "object", - "properties": { - "idBundle": { - "type": "string" - }, - "idPsp": { - "type": "string" - }, - "acceptedDate": { - "type": "string", - "format": "date-time" - }, - "rejectionDate": { - "type": "string", - "format": "date-time" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "idBundleOffer": { - "type": "string" - } - } - }, - "CiBundleInfo": { - "type": "object", - "properties": { - "idCiBundle": { - "type": "string" - }, - "idPsp": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "paymentAmount": { - "type": "integer", - "format": "int64" - }, - "minPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "paymentType": { - "type": "string" - }, - "touchpoint": { - "type": "string" - }, - "type": { - "type": "string" - }, - "transferCategoryList": { - "type": "array", - "items": { - "type": "string" - } - }, - "validityDateFrom": { - "type": "string", - "format": "date-time" - }, - "validityDateTo": { - "type": "string", - "format": "date-time" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "lastUpdatedDate": { - "type": "string", - "format": "date-time" - }, - "idBundle": { - "type": "string" - } - } - }, - "CiBundles": { - "required": [ - "bundles", - "pageInfo" - ], - "type": "object", - "properties": { - "pageInfo": { - "$ref": "#/components/schemas/PageInfo" - }, - "bundles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CiBundleInfo" - } - } - } - }, - "BundleDetailsForCi": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "paymentAmount": { - "type": "integer", - "format": "int64" - }, - "minPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "paymentType": { - "type": "string" - }, - "touchpoint": { - "type": "string" - }, - "type": { - "type": "string" - }, - "transferCategoryList": { - "type": "array", - "items": { - "type": "string" - } - }, - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "lastUpdatedDate": { - "type": "string", - "format": "date-time" - }, - "idChannel": { - "type": "string" - }, - "idBrokerPsp": { - "type": "string" - }, - "digitalStamp": { - "type": "boolean" - }, - "digitalStampRestriction": { - "type": "boolean" - }, - "idPsp": { - "type": "string" - }, - "idBundle": { - "type": "string" - } - } - }, - "BundleAttribute": { - "required": [ - "idBundleAttribute", - "insertedDate" - ], - "type": "object", - "properties": { - "maxPaymentAmount": { - "type": "integer", - "format": "int64" - }, - "transferCategory": { - "type": "string" - }, - "transferCategoryRelation": { - "type": "string", - "enum": [ - "EQUAL", - "NOT_EQUAL" - ] - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "insertedDate": { - "type": "string", - "format": "date" - }, - "idBundleAttribute": { - "type": "string" - } - } - }, - "BundleDetailsAttributes": { - "required": [ - "attributes", - "insertedDate" - ], - "type": "object", - "properties": { - "validityDateFrom": { - "type": "string", - "format": "date" - }, - "validityDateTo": { - "type": "string", - "format": "date" - }, - "insertedDate": { - "type": "string", - "format": "date-time" - }, - "attributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BundleAttribute" - } - } - } - } - }, - "securitySchemes": { - "ApiKey": { - "type": "apiKey", - "description": "The API key to access this function app.", - "name": "Ocp-Apim-Subscription-Key", - "in": "header" - } } - } } diff --git a/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java b/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java index 094e123e..49c7a7b6 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/entity/Bundle.java @@ -45,6 +45,9 @@ public class Bundle { @NotNull private String abi; + + @NotNull + private String pspBusinessName; private Boolean digitalStamp; diff --git a/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java b/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java index 0db2ea72..c99c1adb 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/model/bundle/BundleRequest.java @@ -26,6 +26,8 @@ public class BundleRequest { @NotNull private String abi; private String name; + @NotNull + private String pspBusinessName; private String description; private Long paymentAmount; private Long minPaymentAmount; diff --git a/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java b/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java index d7df2996..4c5d2030 100644 --- a/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java +++ b/src/main/java/it/pagopa/afm/marketplacebe/service/BundleService.java @@ -191,6 +191,7 @@ private Bundle generateBundle(String idPsp, BundleRequest bundleRequest) { .idCdi(bundleRequest.getIdCdi()) .abi(bundleRequest.getAbi()) .name(bundleRequest.getName()) + .pspBusinessName(bundleRequest.getPspBusinessName()) .description(bundleRequest.getDescription()) .paymentAmount(bundleRequest.getPaymentAmount()) .minPaymentAmount(bundleRequest.getMinPaymentAmount()) @@ -235,6 +236,7 @@ public Bundle updateBundle(String idPsp, String idBundle, BundleRequest bundleRe bundle.setIdCdi(bundleRequest.getIdCdi()); bundle.setAbi(bundleRequest.getAbi()); bundle.setName(bundleRequest.getName()); + bundle.setPspBusinessName(bundleRequest.getPspBusinessName()); bundle.setDescription(bundleRequest.getDescription()); bundle.setPaymentAmount(bundleRequest.getPaymentAmount()); bundle.setMinPaymentAmount(bundleRequest.getMinPaymentAmount()); diff --git a/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java b/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java index 271820a3..21515ec9 100644 --- a/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java +++ b/src/test/java/it/pagopa/afm/marketplacebe/TestUtil.java @@ -101,6 +101,7 @@ public static BundleRequest getMockBundleRequest() { .idCdi(null) .abi("abi") .name("name") + .pspBusinessName("business name") .description("description") .paymentAmount(100L) .minPaymentAmount(0L) @@ -152,6 +153,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 0") .description("description") .paymentAmount(100L) .minPaymentAmount(0L) @@ -171,6 +173,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 1") .description("description") .paymentAmount(200L) .minPaymentAmount(0L) @@ -190,6 +193,7 @@ public static List getMockBundleRequestList() { .idCdi("idCdi") .abi("abi") .name("name") + .pspBusinessName("business name 2") .description("description") .paymentAmount(300L) .minPaymentAmount(0L) diff --git a/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java b/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java index f72ee342..03d84a82 100644 --- a/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java +++ b/src/test/java/it/pagopa/afm/marketplacebe/service/BundleServiceTest.java @@ -19,6 +19,7 @@ import java.time.LocalDate; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; import java.util.Optional; import java.util.UUID; @@ -190,6 +191,7 @@ void shouldCreateBundle() { Mockito.verify(bundleRepository, times(1)).save(Mockito.any()); assertEquals(bundleRequest.getName(), bundleArgumentCaptor.getValue().getName()); + assertEquals(bundleRequest.getPspBusinessName(), bundleArgumentCaptor.getValue().getPspBusinessName()); } @Test @@ -1161,6 +1163,7 @@ void updateBundle_ok_1() { Bundle result = bundleService.updateBundle(TestUtil.getMockIdPsp(), bundle.getId(), TestUtil.getMockBundleRequest()); assertNotNull(result); + assertEquals(result.getPspBusinessName(), TestUtil.getMockBundleRequest().getPspBusinessName()); } @Test @@ -1286,10 +1289,19 @@ void createBundleByList_ok() { when(touchpointRepository.findByName(anyString())).thenReturn(Optional.of(TestUtil.getMockTouchpoint())); when(paymentTypeRepository.findByName(anyString())) .thenReturn(Optional.of(TestUtil.getMockPaymentType())); - + List result = bundleService.createBundleByList(TestUtil.getMockIdPsp(), TestUtil.getMockBundleRequestList()); assertNotNull(result); assertEquals(3,result.size()); + + @SuppressWarnings("unchecked") + ArgumentCaptor> captor = ArgumentCaptor.forClass(Iterable.class); + verify(bundleRepository, times(1)).saveAll(captor.capture()); + + Iterator iter = captor.getAllValues().get(0).iterator(); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(0).getPspBusinessName()); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(1).getPspBusinessName()); + assertEquals(iter.next().getPspBusinessName(), TestUtil.getMockBundleRequestList().get(2).getPspBusinessName()); } @Test