{ "openapi": "3.1.0", "info": { "title": "PagoPA API Debt Position", "description": "Progetto Gestione Posizioni Debitorie", "termsOfService": "https://www.pagopa.gov.it/", "version": "1.1.17" }, "servers": [ { "url": "https://api.uat.platform.pagopa.it/gpd/debt-positions-service/v1", "description": "GPD Test environment" }, { "url": "https://api.platform.pagopa.it/gpd/debt-positions-service/v1", "description": "GPD Production Environment" } ], "paths": { "/organizations/{organizationfiscalcode}/debtpositions": { "get": { "tags": [ "Debt Positions API" ], "summary": "Return the list of the organization debt positions. The due dates interval is mutually exclusive with the payment dates interval.", "operationId": "getOrganizationDebtPositions", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "description": "Number of elements on one page. Default = 50", "required": false, "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 50 } }, { "name": "page", "in": "query", "description": "Page number. Page value starts from 0", "required": false, "schema": { "type": "integer", "format": "int32", "default": 0, "minimum": 0 } }, { "name": "due_date_from", "in": "query", "description": "Filter from due_date (if provided use the format yyyy-MM-dd). If not provided will be set to 30 days before the due_date_to.", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "due_date_to", "in": "query", "description": "Filter to due_date (if provided use the format yyyy-MM-dd). If not provided will be set to 30 days after the due_date_from.", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "payment_date_from", "in": "query", "description": "Filter from payment_date (if provided use the format yyyy-MM-dd). If not provided will be set to 30 days before the payment_date_to.", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "payment_date_to", "in": "query", "description": "Filter to payment_date (if provided use the format yyyy-MM-dd). If not provided will be set to 30 days after the payment_date_from", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "status", "in": "query", "description": "Filter by debt position status", "required": false, "schema": { "type": "string", "enum": [ "DRAFT", "PUBLISHED", "VALID", "INVALID", "EXPIRED", "PARTIALLY_PAID", "PAID", "REPORTED" ] } }, { "name": "orderby", "in": "query", "description": "Order by INSERTED_DATE, COMPANY_NAME, IUPD or STATUS", "required": false, "schema": { "type": "string", "default": "INSERTED_DATE", "enum": [ "INSERTED_DATE", "IUPD", "STATUS", "COMPANY_NAME" ] } }, { "name": "ordering", "in": "query", "description": "Direction of ordering", "required": false, "schema": { "type": "string", "default": "DESC", "enum": [ "ASC", "DESC" ] } } ], "responses": { "200": { "description": "Obtained all organization payment positions.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentPositionsInfo" } } } }, "400": { "description": "Malformed request.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "401": { "description": "Wrong or missing function key.", "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" } } }, "content": { "application/json": { "example": { "statusCode": 403, "message": "You are not allowed to access this resource." } } } }, "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": [ "Debt Positions API" ], "summary": "The Organization creates a debt Position.", "operationId": "createPosition", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string" } }, { "name": "toPublish", "in": "query", "required": false, "schema": { "type": "boolean", "default": false } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentPositionModel" } } }, "required": true }, "responses": { "201": { "description": "Request created.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentPositionModel" } } } }, "400": { "description": "Malformed request.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "401": { "description": "Wrong or missing function key.", "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" } } }, "content": { "application/json": { "example": { "statusCode": 403, "message": "You are not allowed to access this resource." } } } }, "409": { "description": "Conflict: duplicate debt position found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "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" } } ] }, "/organizations/{organizationfiscalcode}/debtpositions/transfers": { "patch": { "tags": [ "Debt Positions API" ], "summary": "The Organization updates the IBANs of every updatable payment option's transfers", "operationId": "updateTransferIbanMassive", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string" } }, { "name": "oldIban", "in": "query", "description": "The old iban to replace", "required": true, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "description": "Number of Transfer to update (max = 1000, default = 1000)", "required": false, "schema": { "type": "integer", "format": "int32", "default": 1000, "maximum": 1000 } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTransferIbanMassiveModel" } } }, "required": true }, "responses": { "200": { "description": "IBANs updated", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTransferIbanMassiveResponse" } } } }, "400": { "description": "Malformed request.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "401": { "description": "Wrong or missing function key.", "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" } } }, "content": { "application/json": { "example": { "statusCode": 403, "message": "You are not allowed to access this resource." } } } }, "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" } } ] }, "/organizations/{organizationfiscalcode}/debtpositions/{iupd}": { "get": { "tags": [ "Debt Positions API" ], "summary": "Return the details of a specific debt position.", "operationId": "getOrganizationDebtPositionByIUPD", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string", "pattern": "[\\w*\\h-]+" } }, { "name": "iupd", "in": "path", "description": "IUPD (Unique identifier of the debt position). Format could be `` this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is `true` and if not, notify the EC.", "required": true, "schema": { "type": "string", "pattern": "[\\w*\\h-]+" } } ], "responses": { "200": { "description": "Obtained debt position details.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentPositionModelBaseResponse" } } } }, "401": { "description": "Wrong or missing function key.", "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" } } }, "content": { "application/json": { "example": { "statusCode": 403, "message": "You are not allowed to access this resource." } } } }, "404": { "description": "No debt position found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "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": [ "Debt Positions API" ], "summary": "The Organization updates a debt position ", "operationId": "updatePosition", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string" } }, { "name": "iupd", "in": "path", "description": "IUPD (Unique identifier of the debt position). Format could be `` this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is `true` and if not, notify the EC.", "required": true, "schema": { "type": "string" } }, { "name": "toPublish", "in": "query", "required": false, "schema": { "type": "boolean", "default": false } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentPositionModel" } } }, "required": true }, "responses": { "200": { "description": "Debt Position updated.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentPositionModel" } } } }, "400": { "description": "Malformed request.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "401": { "description": "Wrong or missing function key.", "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" } } }, "content": { "application/json": { "example": { "statusCode": 403, "message": "You are not allowed to access this resource." } } } }, "404": { "description": "No debt position found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "409": { "description": "Conflict: existing related payment found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "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": [ "Debt Positions API" ], "summary": "The Organization deletes a debt position", "operationId": "deletePosition", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string", "pattern": "[\\w*\\h-]+" } }, { "name": "iupd", "in": "path", "description": "IUPD (Unique identifier of the debt position). Format could be `` this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is `true` and if not, notify the EC.", "required": true, "schema": { "type": "string", "pattern": "[\\w*\\h-]+" } } ], "responses": { "200": { "description": "Operation completed successfully.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "string" } } } }, "401": { "description": "Wrong or missing function key.", "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" } } }, "content": { "application/json": { "example": { "statusCode": 403, "message": "You are not allowed to access this resource." } } } }, "404": { "description": "No debt position position found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "409": { "description": "Conflict: existing related payment found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "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" } } ] }, "/organizations/{organizationfiscalcode}/debtpositions/{iupd}/invalidate": { "post": { "tags": [ "Debt Position Actions API" ], "summary": "The Organization invalidate a debt Position.", "operationId": "invalidatePosition", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string" } }, { "name": "iupd", "in": "path", "description": "IUPD (Unique identifier of the debt position). Format could be `` this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is `true` and if not, notify the EC.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Request published.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentPositionModel" } } } }, "401": { "description": "Wrong or missing function key.", "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" } } }, "content": { "application/json": { "example": { "statusCode": 403, "message": "You are not allowed to access this resource." } } } }, "404": { "description": "No debt position found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "409": { "description": "Conflict: debt position is not in invalidable state.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "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" } } ] }, "/organizations/{organizationfiscalcode}/debtpositions/{iupd}/publish": { "post": { "tags": [ "Debt Position Actions API" ], "summary": "The Organization publish a debt Position.", "operationId": "publishPosition", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string" } }, { "name": "iupd", "in": "path", "description": "IUPD (Unique identifier of the debt position). Format could be `` this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is `true` and if not, notify the EC.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Request published.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentPositionModel" } } } }, "401": { "description": "Wrong or missing function key.", "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" } } }, "content": { "application/json": { "example": { "statusCode": 403, "message": "You are not allowed to access this resource." } } } }, "404": { "description": "No debt position found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "409": { "description": "Conflict: debt position is not in publishable state.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "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" } } ] }, "/organizations/{organizationfiscalcode}/paymentoptions/paids/{nav}": { "post": { "tags": [ "Payments API" ], "summary": "The Organization mark a payment option as already paid.", "operationId": "setPaymentOptionAsAlreadyPaid", "parameters": [ { "name": "organizationfiscalcode", "in": "path", "description": "Organization fiscal code, the fiscal code of the Organization.", "required": true, "schema": { "type": "string" } }, { "name": "nav", "in": "path", "description": "NAV (notice number) is the unique reference assigned to the payment by a creditor institution.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlreadyPaidPaymentOptionModel" } } }, "required": true }, "responses": { "200": { "description": "Request set as paid.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentsModelResponse" } } } }, "400": { "description": "Malformed request.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "401": { "description": "Wrong or missing function key.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } } }, "404": { "description": "No payment option found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "409": { "description": "Conflict: existing related payment found.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "422": { "description": "Unprocessable: not in payable state.", "headers": { "X-Request-Id": { "description": "This header identifies the call", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemJson" } } } }, "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" } } ] } }, "components": { "schemas": { "PaymentOptionMetadataModel": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 140, "minLength": 0 }, "value": { "type": "string", "maxLength": 140, "minLength": 0 } }, "required": [ "key", "value" ] }, "PaymentOptionModel": { "type": "object", "properties": { "nav": { "type": "string" }, "iuv": { "type": "string" }, "amount": { "type": "integer", "format": "int64", "minimum": 1 }, "description": { "type": "string", "maxLength": 140, "minLength": 0 }, "isPartialPayment": { "type": "boolean" }, "dueDate": { "type": "string", "format": "date-time" }, "retentionDate": { "type": "string", "format": "date-time" }, "fee": { "type": "integer", "format": "int64", "readOnly": true }, "notificationFee": { "type": "integer", "format": "int64", "readOnly": true }, "transfer": { "type": "array", "items": { "$ref": "#/components/schemas/TransferModel" } }, "paymentOptionMetadata": { "type": "array", "description": "it can added a maximum of 10 key-value pairs for metadata", "items": { "$ref": "#/components/schemas/PaymentOptionMetadataModel" }, "maxItems": 10, "minItems": 0 } }, "required": [ "amount", "description", "dueDate", "isPartialPayment", "iuv" ] }, "PaymentPositionModel": { "type": "object", "properties": { "iupd": { "type": "string" }, "type": { "type": "string", "enum": [ "F", "G" ] }, "payStandIn": { "type": "boolean", "default": "true", "description": "feature flag to enable a debt position in stand-in mode", "example": true }, "fiscalCode": { "type": "string" }, "fullName": { "type": "string" }, "streetName": { "type": "string" }, "civicNumber": { "type": "string" }, "postalCode": { "type": "string" }, "city": { "type": "string" }, "province": { "type": "string" }, "region": { "type": "string" }, "country": { "type": "string", "example": "IT", "pattern": "[A-Z]{2}" }, "email": { "type": "string", "example": "email@domain.com" }, "phone": { "type": "string" }, "switchToExpired": { "type": "boolean", "default": "false", "description": "feature flag to enable the debt position to expire after the due date", "example": false }, "companyName": { "type": "string", "maxLength": 140, "minLength": 0 }, "officeName": { "type": "string", "maxLength": 140, "minLength": 0 }, "validityDate": { "type": "string", "format": "date-time" }, "paymentDate": { "type": "string", "format": "date-time", "readOnly": true }, "status": { "type": "string", "enum": [ "DRAFT", "PUBLISHED", "VALID", "INVALID", "EXPIRED", "PARTIALLY_PAID", "PAID", "REPORTED" ], "readOnly": true }, "paymentOption": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentOptionModel" } } }, "required": [ "companyName", "fiscalCode", "fullName", "iupd", "switchToExpired", "type" ] }, "Stamp": { "type": "object", "properties": { "hashDocument": { "type": "string", "description": "Document hash type is stBase64Binary72 as described in https://github.com/pagopa/pagopa-api.", "maxLength": 72, "minLength": 0 }, "stampType": { "type": "string", "description": "The type of the stamp", "maxLength": 2, "minLength": 2 }, "provincialResidence": { "type": "string", "description": "The provincial of the residence", "example": "RM", "pattern": "[A-Z]{2}" } }, "required": [ "hashDocument", "provincialResidence", "stampType" ] }, "TransferMetadataModel": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 140, "minLength": 0 }, "value": { "type": "string", "maxLength": 140, "minLength": 0 } }, "required": [ "key", "value" ] }, "TransferModel": { "type": "object", "properties": { "idTransfer": { "type": "string", "enum": [ "1", "2", "3", "4", "5" ] }, "amount": { "type": "integer", "format": "int64", "minimum": 1 }, "organizationFiscalCode": { "type": "string", "description": "Fiscal code related to the organization targeted by this transfer.", "example": "00000000000" }, "remittanceInformation": { "type": "string", "maxLength": 140, "minLength": 0 }, "category": { "type": "string" }, "iban": { "type": "string", "description": "mutual exclusive with stamp", "example": "IT0000000000000000000000000", "maxLength": 35, "minLength": 1, "pattern": "^[A-Za-z0-9]{1,35}$" }, "postalIban": { "type": "string", "description": "optional - can be combined with iban but not with stamp", "example": "IT0000000000000000000000000", "maxLength": 35, "minLength": 1, "pattern": "^$|^[A-Za-z0-9]{1,35}$" }, "stamp": { "$ref": "#/components/schemas/Stamp", "description": "mutual exclusive with iban and postalIban" }, "companyName": { "type": "string", "maxLength": 140, "minLength": 0 }, "transferMetadata": { "type": "array", "description": "it can added a maximum of 10 key-value pairs for metadata", "items": { "$ref": "#/components/schemas/TransferMetadataModel" }, "maxItems": 10, "minItems": 0 } }, "required": [ "amount", "category", "idTransfer", "remittanceInformation" ] }, "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": { "type": "integer", "format": "int32", "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", "example": 200, "maximum": 600, "minimum": 100 }, "detail": { "type": "string", "description": "A human readable explanation specific to this occurrence of the problem.", "example": "There was an error processing the request" } } }, "AlreadyPaidPaymentOptionModel": { "type": "object", "properties": { "paymentDate": { "type": "string", "format": "date-time" } } }, "PaymentOptionMetadataModelResponse": { "type": "object", "properties": { "key": { "type": "string" }, "value": { "type": "string" } } }, "PaymentsModelResponse": { "type": "object", "properties": { "nav": { "type": "string" }, "iuv": { "type": "string" }, "organizationFiscalCode": { "type": "string" }, "amount": { "type": "integer", "format": "int64" }, "description": { "type": "string" }, "isPartialPayment": { "type": "boolean" }, "dueDate": { "type": "string", "format": "date-time" }, "retentionDate": { "type": "string", "format": "date-time" }, "paymentDate": { "type": "string", "format": "date-time" }, "reportingDate": { "type": "string", "format": "date-time" }, "insertedDate": { "type": "string", "format": "date-time" }, "paymentMethod": { "type": "string" }, "fee": { "type": "integer", "format": "int64" }, "notificationFee": { "type": "integer", "format": "int64" }, "pspCompany": { "type": "string" }, "idReceipt": { "type": "string" }, "idFlowReporting": { "type": "string" }, "status": { "type": "string", "enum": [ "PO_UNPAID", "PO_PAID", "PO_PARTIALLY_REPORTED", "PO_REPORTED" ] }, "lastUpdatedDate": { "type": "string", "format": "date-time" }, "lastUpdatedDateNotificationFee": { "type": "string", "format": "date-time" }, "paymentOptionMetadata": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentOptionMetadataModelResponse" } }, "transfer": { "type": "array", "items": { "$ref": "#/components/schemas/TransferModelResponse" } }, "serviceType": { "type": "string" } } }, "TransferMetadataModelResponse": { "type": "object", "properties": { "key": { "type": "string" }, "value": { "type": "string" } } }, "TransferModelResponse": { "type": "object", "properties": { "organizationFiscalCode": { "type": "string" }, "companyName": { "type": "string" }, "idTransfer": { "type": "string" }, "amount": { "type": "integer", "format": "int64" }, "remittanceInformation": { "type": "string" }, "category": { "type": "string" }, "iban": { "type": "string" }, "postalIban": { "type": "string" }, "stamp": { "$ref": "#/components/schemas/Stamp" }, "insertedDate": { "type": "string", "format": "date-time" }, "status": { "type": "string", "enum": [ "T_UNREPORTED", "T_REPORTED" ] }, "lastUpdatedDate": { "type": "string", "format": "date-time" }, "transferMetadata": { "type": "array", "items": { "$ref": "#/components/schemas/TransferMetadataModelResponse" } } } }, "UpdateTransferIbanMassiveModel": { "type": "object", "properties": { "newIban": { "type": "string" } }, "required": [ "newIban" ] }, "UpdateTransferIbanMassiveResponse": { "type": "object", "properties": { "description": { "type": "string" }, "updatedTransfers": { "type": "integer", "format": "int32" } } }, "PageInfo": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "description": "Page number" }, "limit": { "type": "integer", "format": "int32", "description": "Required number of items per page" }, "items_found": { "type": "integer", "format": "int32", "description": "Number of items found. (The last page may have fewer elements than required)" }, "total_pages": { "type": "integer", "format": "int32", "description": "Total number of pages" } }, "required": [ "items_found", "limit", "page", "total_pages" ] }, "PaymentOptionModelResponse": { "type": "object", "properties": { "nav": { "type": "string" }, "iuv": { "type": "string" }, "organizationFiscalCode": { "type": "string" }, "amount": { "type": "integer", "format": "int64" }, "description": { "type": "string" }, "isPartialPayment": { "type": "boolean" }, "dueDate": { "type": "string", "format": "date-time" }, "retentionDate": { "type": "string", "format": "date-time" }, "paymentDate": { "type": "string", "format": "date-time" }, "reportingDate": { "type": "string", "format": "date-time" }, "insertedDate": { "type": "string", "format": "date-time" }, "paymentMethod": { "type": "string" }, "fee": { "type": "integer", "format": "int64" }, "notificationFee": { "type": "integer", "format": "int64" }, "pspCompany": { "type": "string" }, "idReceipt": { "type": "string" }, "idFlowReporting": { "type": "string" }, "status": { "type": "string", "enum": [ "PO_UNPAID", "PO_PAID", "PO_PARTIALLY_REPORTED", "PO_REPORTED" ] }, "lastUpdatedDate": { "type": "string", "format": "date-time" }, "paymentOptionMetadata": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentOptionMetadataModelResponse" } }, "transfer": { "type": "array", "items": { "$ref": "#/components/schemas/TransferModelResponse" } } } }, "PaymentPositionModelBaseResponse": { "type": "object", "properties": { "iupd": { "type": "string" }, "organizationFiscalCode": { "type": "string" }, "type": { "type": "string", "enum": [ "F", "G" ] }, "companyName": { "type": "string" }, "officeName": { "type": "string" }, "insertedDate": { "type": "string", "format": "date-time" }, "publishDate": { "type": "string", "format": "date-time" }, "validityDate": { "type": "string", "format": "date-time" }, "paymentDate": { "type": "string", "format": "date-time" }, "status": { "type": "string", "enum": [ "DRAFT", "PUBLISHED", "VALID", "INVALID", "EXPIRED", "PARTIALLY_PAID", "PAID", "REPORTED" ] }, "lastUpdatedDate": { "type": "string", "format": "date-time" }, "paymentOption": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentOptionModelResponse" } } } }, "PaymentPositionsInfo": { "type": "object", "properties": { "payment_position_list": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentPositionModelBaseResponse" } }, "page_info": { "$ref": "#/components/schemas/PageInfo" } }, "required": [ "page_info", "payment_position_list" ] }, "AppInfo": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "environment": { "type": "string" } } } }, "securitySchemes": { "ApiKey": { "type": "apiKey", "description": "The API key to access this function app.", "name": "Ocp-Apim-Subscription-Key", "in": "header" } } } }