openapi: 3.2.0 info: title: Bancomat Bulk API x-refined-note: - x-json-schema-faker differs across the merged source definitions and was not carried - x-logo differs across the merged source definitions and was not carried version: '1.0' description: 'Operations tagged Bulk across 2 of this provider''s published API definitions: bancomat-flowpay-api-v1-openapi.json, bancomat-flowpay-api-v2-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: https://app.flowpay.it/api variables: {} - url: https://api.flowpay.it/v2 description: Production server (Not implementend) - url: https://mock.flowpay.it/v2 description: Mock server - url: https://sandbox.{customerID}.flowpay.it/v2 description: Customer-assigned sandbox server variables: customerID: default: 00000000-00000000-00000000-00000000 description: Unique customer identifier assigned after contract signature - url: http://localhost:5002 description: Debug tags: - description: Questo endpoint consente di effettuare pagamenti bulk di documenti di diversi tipi. name: Bulk paths: /{tenantID}/bulk: get: description: Recupera la lista dei documenti di tipo bulk. parameters: - description: ID dell'owner della richiesta example: 84461172-4326-4D6B-AEA7-840ED1372200 in: path name: tenantID required: true schema: example: 84461172-4326-4D6B-AEA7-840ED1372200 format: uuid type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/Bulk' type: array description: Bulk payments list '400': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta non è corretta sintatticamente, body, headers, path o query params non conformi alla documentazione '401': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: Le credenziali fornite non sono sufficienti a completare la richiesta '403': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta non è autorizzata a procedere con le credenziali fornite '404': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta fa riferimento ad una risorsa inesistente security: - ThirdPartyClientCredential: [] - ThirdPartyAuthorizationCode: [] summary: List bulk documents tags: - Bulk operationId: getByTenantIDBulk x-operation-id-source: derived post: description: 'Crea un nuvo document Bulk. L''endpoint permette di collegare le fingerprint, presenti nel corpo della richiesta, (i campi indicano la tipologia di documento), in un unico documento bulk. Restituisce il documento bulk creato con una nuova fingerprint.' parameters: - description: ID dell'owner della richiesta example: 84461172-4326-4D6B-AEA7-840ED1372200 in: path name: tenantID required: true schema: example: 84461172-4326-4D6B-AEA7-840ED1372200 format: uuid type: string requestBody: content: application/json: schema: example: documents: invoice: - d41d8cd98f00b204e9800998ecf8427e - GskefcByhlsgCSUODJPWTRFaOVsPGDdq pagopa: - RXi4PrrsOTiPxUVsbo12TAAD9kmTH2cM minProperties: 1 properties: documents: additionalProperties: description: List of fingerprints to be linked to the bulk payment. I nomi delle proprieta sono le tipologie dei documenti. items: $ref: '#/components/schemas/Fingerprint' minItems: 1 type: array uniqueItems: true description: Dizionario delle fingerprint che saranno collegate al pagemento bulk, i nomi delle proprieta sono le tipologie dei documenti. type: object propertyNames: $ref: '#/components/schemas/DocumentKindEnum' required: - additionalProperties type: object description: Preferenze e fingerprints che faranno parte del bulk. responses: '201': content: application/json: schema: $ref: '#/components/schemas/Bulk' description: Bulk payment created '400': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta non è corretta sintatticamente, body, headers, path o query params non conformi alla documentazione '401': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: Le credenziali fornite non sono sufficienti a completare la richiesta '403': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta non è autorizzata a procedere con le credenziali fornite '404': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta fa riferimento ad una risorsa inesistente security: - ThirdPartyClientCredential: [] - ThirdPartyAuthorizationCode: [] tags: - Bulk summary: Create by tenant id bulk x-summary-source: derived operationId: postByTenantIDBulk x-operation-id-source: derived servers: - url: https://app.flowpay.it/api variables: {} /{tenantID}/bulk/{fingerprint}: delete: description: 'Elimina un bulk payment con la fingerprint. Non avrà effetto sui documenti collegati (non verranno eliminati).' parameters: - description: ID dell'owner della richiesta example: 84461172-4326-4D6B-AEA7-840ED1372200 in: path name: tenantID required: true schema: example: 84461172-4326-4D6B-AEA7-840ED1372200 format: uuid type: string - in: path name: fingerprint required: true schema: type: string responses: '204': description: Bulk payment deleted '400': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta non è corretta sintatticamente, body, headers, path o query params non conformi alla documentazione '401': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: Le credenziali fornite non sono sufficienti a completare la richiesta '403': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta non è autorizzata a procedere con le credenziali fornite '404': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta fa riferimento ad una risorsa inesistente security: - ThirdPartyClientCredential: [] - ThirdPartyAuthorizationCode: [] tags: - Bulk summary: Delete by tenant id bulk by fingerprint x-summary-source: derived operationId: deleteByTenantIDBulkByFingerprint x-operation-id-source: derived get: description: Restituisce le informazioni relative a uno specifico documento di tipo bulk parameters: - description: ID dell'owner della richiesta example: 84461172-4326-4D6B-AEA7-840ED1372200 in: path name: tenantID required: true schema: example: 84461172-4326-4D6B-AEA7-840ED1372200 format: uuid type: string - in: path name: fingerprint required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Bulk' description: Bulk payment details '400': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta non è corretta sintatticamente, body, headers, path o query params non conformi alla documentazione '401': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: Le credenziali fornite non sono sufficienti a completare la richiesta '403': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta non è autorizzata a procedere con le credenziali fornite '404': content: application/json; charset=utf-8: example: code: 12345678 errorDescription: hello errorURI: null expectedType: null field: null requestID: null service: 12345678 statusCode: 12345678 schema: $ref: '#/components/schemas/ErrorDTO' description: La richiesta fa riferimento ad una risorsa inesistente security: - ThirdPartyClientCredential: [] - ThirdPartyAuthorizationCode: [] tags: - Bulk summary: Get by tenant id bulk by fingerprint x-summary-source: derived operationId: getByTenantIDBulkByFingerprint x-operation-id-source: derived servers: - url: https://app.flowpay.it/api variables: {} /bulk: post: summary: Create bulk document description: 'Create a new bulk document. This endpoint allows to specificy a dictionary of fingerprints to be linked to the bulk payment, each property name is the document type. Returns the bulk document created with a new fingerprint.' operationId: createBulkPayment security: - oAuth2: [] tags: - Bulk requestBody: description: Preferences and fingerprints that will be part of the bulk payment. content: application/json: schema: type: object minProperties: 1 propertyNames: $ref: '#/components/schemas/DocumentKindEnum_2' properties: allowWireTranfersAggregation: type: boolean description: If true, wire transfers to the same beneficiary will be aggregated, this determines a saving. If false, wire transfer to the same beneficiary will not be aggregated, this allows beneficiary to have a more detailed view of the payments and keeps the payment remittance information. default: true documents: type: object description: Dictionary of fingerprints to be linked to the bulk payment, each property name is the document type. additionalProperties: type: array items: $ref: '#/components/schemas/Fingerprint_2' minItems: 1 uniqueItems: true description: List of fingerprints to be linked to the bulk payment. Property name is the document type. example: allowWireTranfersAggregation: true documents: invoice: - d41d8cd98f00b204e9800998ecf8427e - GskefcByhlsgCSUODJPWTRFaOVsPGDdq pagopa: - RXi4PrrsOTiPxUVsbo12TAAD9kmTH2cM required: - additionalProperties responses: '201': description: Bulk payment created content: application/json: schema: $ref: '#/components/schemas/Bulk_2' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' get: summary: List bulk documents description: 'List all bulk documents according to the specified filters. Returns a paginated list of bulk documents.' operationId: listBulkPayments security: - oAuth2: [] tags: - Bulk parameters: - name: page in: query description: Page number required: false schema: type: integer format: int32 minimum: 1 x-faker: random.number x-fakerParams: - min: 1 - name: pageSize in: query description: Page size required: false schema: type: integer format: int32 minimum: 1 maximum: 100 x-faker: random.number x-fakerParams: - min: 1 max: 100 responses: '200': description: Bulk payments list content: application/json: schema: allOf: - $ref: '#/components/schemas/PaginatedResult' - type: object properties: items: type: array items: $ref: '#/components/schemas/Bulk_2' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' servers: - url: https://api.flowpay.it/v2 description: Production server (Not implementend) - url: https://mock.flowpay.it/v2 description: Mock server - url: https://sandbox.{customerID}.flowpay.it/v2 description: Customer-assigned sandbox server variables: customerID: default: 00000000-00000000-00000000-00000000 description: Unique customer identifier assigned after contract signature - url: http://localhost:5002 description: Debug /bulk/{fingerprint}: get: summary: Get document details description: Get bulk document details by ID operationId: getBulkPayment security: - oAuth2: [] tags: - Bulk parameters: - name: fingerprint in: path description: Bulk payment fingerprint required: true schema: $ref: '#/components/schemas/Fingerprint_2' x-faker: datatype.uuid responses: '200': description: Bulk payment details content: application/json: schema: $ref: '#/components/schemas/Bulk_2' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete bulk payment description: 'Delete bulk payment by ID. Deleting a bulk payment will not delete the linked documents.' operationId: deleteBulkPayment security: - oAuth2: [] tags: - Bulk parameters: - name: fingerprint in: path description: Bulk payment fingerprint required: true schema: $ref: '#/components/schemas/Fingerprint_2' x-faker: datatype.uuid responses: '204': description: Bulk payment deleted '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' servers: - url: https://api.flowpay.it/v2 description: Production server (Not implementend) - url: https://mock.flowpay.it/v2 description: Mock server - url: https://sandbox.{customerID}.flowpay.it/v2 description: Customer-assigned sandbox server variables: customerID: default: 00000000-00000000-00000000-00000000 description: Unique customer identifier assigned after contract signature - url: http://localhost:5002 description: Debug components: schemas: DocumentKindEnum: enum: - bill - bulk - chain - construction - invoice - pagopa - transfer type: string ErrorDTO: description: "Formato errore standard\n \nLista dei possibili codici di errore:\n\n| codice | descrizione |\n| ------ | ----------- |\n| 401 | Errore generale di codifica |\n| 402 | Campo necessario mancante |\n| 403 | Valore di un campo del tipo sbagliato |\n| 404 | Valore di un campo assente |\n| 405 | Errore di codifica sconosciuto |\n| 406 | Null pointer exception |\n| 407 | Campo necessario mancante |\n| 408 | Errore di connessione |\n| 409 | Errore di input output |\n| 410 - 428 | Errore generico con il database |\n| 429, 432, 433 | Errore di logica con il database |\n| 430 | Campo invalido |\n| 431 | Campo assente |\n| 434 | Risultati non trovati |\n| 500 | Errore generico |\n| 2000 | Tenant non specificato |\n| 2001 | Non autorizzato ad operare su questa risorsa |\n| 2002 | Impossibile eliminare il documento poiché sono presente dei pagamenti collegati |\n| 2003 | Non autorizzato a creare la risorsa |\n| 2004 | Non autorizzato ad operare su questa risorsa |\n| 2005 | Si sta provando a modificare un termine non di questo documento |\n| 2006 | Codice istant scaduto |\n| 2007 | Non autorizzato generare un codice instant |\n| 2008 | Codice instant inesistente o non autorizzato a leggerlo |\n| 2012 | Si sta provando a caricare un documento già esistente |\n| 3001 | Tenant non specificato |\n| 4001 | Tenant non specificato |\n| 5001 | Corpo richiesta mancante |\n| 5002 | Corpo richiesta non valido |\n| 5003 | Vatcode del ricevente fattura mancante |\n| 6001 | Tenant non specificato |\n| 6002 | Ricevuta non trovata |\n| 8005 | Non puoi modificare questo conto |\n| 8010 | Troppi risultati ottenuti |\n| 11001 | Non autorizzato ad accedere a questa risorsa |\n| 11002 | Si sta provando a caricare un documento già esistente |\n| 13001 | Azienda non trovata |\n| 13003 | vatcode non è valido |" properties: code: description: Codice errore example: '12345678' format: int64 type: integer errorDescription: description: Descrizione errore example: string type: string errorURI: description: URI dell'errore se presente example: string type: string expectedType: description: Nel caso di un errore di codifica indica il tipo di dato che non si è riuscito a decodificare example: string type: string field: description: Nel caso di un errore di codifica indica il campo che non si è riuscito a decodificare example: string type: string requestID: description: ID della richiesta da comunicare per poter fornire un supporto example: string type: string service: description: ID interno del servizio example: '12345678' format: int64 type: integer statusCode: description: Codice di stato HTTP example: '12345678' format: int64 type: integer required: - service - code - errorDescription - statusCode type: object Bulk: properties: amount: description: Importo totale del bulk example: 48223.07 format: double type: number documents: additionalProperties: items: $ref: '#/components/schemas/Fingerprint' type: array description: Dizionario dei documenti relativi a bulk, con chiave il tipo di documento e con valore le fingerprint dei documenti type: object fingerprint: $ref: '#/components/schemas/Fingerprint' type: object Fingerprint: description: Fingerprint del documento example: d41d8cd98f00b204e9800998ecf8427e type: string DocumentKindEnum_2: type: string enum: - bill - bulk - chain - construction - invoice - pagopa - transfer description: $ref: types/DocumentKind.md Bulk_2: type: object properties: fingerprint: $ref: '#/components/schemas/Fingerprint_2' amount: type: number format: double example: 48223.07 description: Total amount of the bulk allowWireTranfersAggregation: type: boolean example: true description: Indicate if the wire transfers to the same beneficiary can be aggregated documents: type: object description: Dictionary of documents related to the bulk. Keys are the document type, values are the fingerprints of the documents. additionalProperties: type: array items: $ref: '#/components/schemas/Fingerprint_2' PaginatedResult: type: object properties: page: type: integer description: Current page number pageSize: type: integer description: Number of items per page total: type: integer description: Total number of items items: type: array description: List of items items: {} RequestID: type: string description: Unique identifier of the request.
It is helpful to identify the request in case of errors, providing it to the support team. Please submit it in the support ticket. format: uuid x-faker: random.uuid StatusCode: type: integer description: HTTP status code example: 404 Fingerprint_2: type: string description: Fingerprint of the document example: d41d8cd98f00b204e9800998ecf8427e responses: InternalServerError: description: Server encountered an unexpected condition that prevented it from fulfilling the request content: application/json: schema: type: object properties: statusCode: $ref: '#/components/schemas/StatusCode' requestID: $ref: '#/components/schemas/RequestID' required: - statusCode - requestID NotFound: description: The requested resource was not found content: application/json: schema: type: object properties: statusCode: $ref: '#/components/schemas/StatusCode' requestID: $ref: '#/components/schemas/RequestID' message: type: string description: Error message example: Invoice not found required: - statusCode - requestID - message Unauthorized: description: Client has not provided valid credentials to access the requested resource content: application/json: schema: type: object properties: statusCode: $ref: '#/components/schemas/StatusCode' requestID: $ref: '#/components/schemas/RequestID' message: type: string description: Error message example: You must provide a valid access token required: - statusCode - requestID - message BadRequest: description: Client has provided invalid data content: application/json: schema: type: object properties: statusCode: $ref: '#/components/schemas/StatusCode' requestID: $ref: '#/components/schemas/RequestID' message: type: string description: Error message example: Proforma invoice can not have a due date later than the invoice date additionalInfo: type: object description: Additional information about the error properties: path: type: string description: JSON path of the field that caused the error example: .dueDate key: type: string description: JSON key of the field that caused the error example: dueDate type: type: string description: Expected type of the field that caused the error example: string required: - path required: - statusCode - requestID - message - additionalInfo Forbidden: description: Client is not authorized to access the requested resource content: application/json: schema: type: object properties: statusCode: $ref: '#/components/schemas/StatusCode' requestID: $ref: '#/components/schemas/RequestID' message: type: string description: Error message example: You can't create a new invoice for this tenant required: - statusCode - requestID - message securitySchemes: ThirdPartyAuthorizationCode: description: Autorizzazione oauth ottenuta da terze parti con un authorization flow flows: authorizationCode: authorizationUrl: https://core.flowpay.it/api/openid/authenticate refreshUrl: https://core.flowpay.it/api/oauth/token scopes: account:read: Operazioni di lettura sui conti bill:write: Creazione e gestione di ricevute business:read: Operazioni di lettura sulle informazioni della azienda contacts:read: Operazioni di lettura sulla rete aziendale invoice:read: Operazioni di lettura sulle fatture invoice:write: Operazioni di scrittura sulle fatture payment:read: Operazioni di lettura sui pagamenti salary:read: Operazioni di lettura sulle buste paga salary:write: Operazioni di scrittura sui salary statistic:read: Lettura dei dati statistici raggruppati transfer:read: Operazioni di lettura sui trasferimenti transfer:write: Operazioni di scrittura sui trasferimenti tokenUrl: https://core.flowpay.it/api/oauth/token type: oauth2 ThirdPartyClientCredential: description: Autorizzazione oauth ottenuta da terze parti con client credential flow flows: clientCredentials: refreshUrl: https://core.flowpay.it/api/oauth/token scopes: account:read: Operazioni di lettura sui conti account:write: Operazione di modifica sui conti authorization_intent: Creazione di intenti a consensi relativi a risorse di un utente bill: Gestione di ricevute business:read: Operazioni di lettura sulle informazioni della azienda invoice:read: Operazioni di lettura sulle fatture invoice:write: Operazioni di scrittura sulle fatture pagopa: '' payment:read: Operazioni di lettura sui pagamenti salary:read: Operazioni di lettura sulle buste paga salary:write: Operazioni di scrittura sui salary statistic:read: Lettura dei dati statistici raggruppati transfer:read: '' transfer:write: '' tokenUrl: https://core.flowpay.it/api/oauth/token type: oauth2 oAuth2: type: oauth2 description: OAuth2 flow flows: authorizationCode: authorizationUrl: /openid/authenticate tokenUrl: /oauth/token refreshUrl: /oauth/token scopes: accounts:read: Allow to read accounts accounts:write: Allow to mediate accounts creation and open banking consent renewal invoices:read: Allow to read invoices invoices:write: Allow to create invoices and manage lifecycle bills:read: Allow to read bills bills:write: Allow to create bills and manage lifecycle constructions:read: Allow to read information about construction sites constructions:write: Allow to create construction sites and manage the lifecycle openid: Allow to read user profile pagopa:read: Allow to retrieve users' PagoPA payment notices pagopa:write: Allow to create PagoPA payment notices transfers:read: Allow to read transfers transfers:write: Allow to create transfers and manage lifecycle wallet:`document_type`: Allow to manage wallet for the specified use case clientCredentials: tokenUrl: /oauth/token scopes: ade: Allow to interact with Agenzia delle Entrate services accounts:read: Allow to read accounts accounts:write: Allow to mediate accounts creation and open banking consent renewal invoices:read: Allow to read invoices invoices:write: Allow to create invoices and manage lifecycle bills:read: Allow to read bills bills:write: Allow to create bills and manage lifecycle constructions:read: Allow to read information about construction sites constructions:write: Allow to create construction sites and manage the lifecycle openid: Allow to read user profile pagopa:read: Allow to retrieve users' PagoPA payment notices pagopa:write: Allow to create PagoPA payment notices transfers:read: Allow to read transfers transfers:write: Allow to create transfers and manage lifecycle wallet:`document_type`: Allow to manage wallet for the specified use case x-refined-from: - bancomat-flowpay-api-v1-openapi.json - bancomat-flowpay-api-v2-openapi.json