openapi: 3.1.0 info: title: FlowPay API version: 2.0.0-alpha.4 description: $ref: docs/general.md termsOfService: https://developer.flowpay.it/tos license: name: FlowPay SRL url: https://developer.flowpay.it/tos x-logo: url: https://images.flowpay.it/logo altText: FlowPay contact: name: API Support url: https://developer.flowpay.it email: api-support@flowpay.it x-json-schema-faker: locale: it-IT omitNulls: true fillProperties: true reuseProperties: true x-api-evangelist: method: searched fetched: '2026-09-17' source: https://raw.githubusercontent.com/FlowPay/client-openapi/main/openapi.json via: 'https://github.com/FlowPay/client-openapi (org profile: "FlowPay — a Bancomat company")' original: openapi/_original/bancomat-flowpay-api-v2-openapi.json ownership: 'FlowPay S.r.l. (flowpay.it) is a BANCOMAT S.p.A. subsidiary: the acquisition closed 2025-07-22 per https://bancomat.it/en/press-releases/bancomat-acquires-flowpay-closing-finalized and the FlowPay GitHub org describes itself as "a Bancomat company"; the spec self-identifies as FlowPay (servers, contact) and is saved unmodified.' 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: securitySchemes: 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 schemas: Address: type: object properties: city: type: string description: Name of the city where the property is located. street: type: string description: This field contains the name of the street where the property is located. It must include the name with a type (e.g., Avenue, Street, Road, etc.) but not the number or any other information. number: type: string description: This field refers to the numeric or alphanumeric value assigned to a property on a street. unitNumber: type: string description: his field is used when a single property has multiple units, such as apartments or office suites. It differentiates one unit from another within the same property. postalCode: type: string description: Also known as ZIP code (or CAP in Italy) province: type: string description: It refers to the name of the state or province where the property is located. country: type: string description: The name of the country where the property is located. required: - city - street - postalCode - province - country Bank: type: object properties: name: type: string description: Name of the bank example: Intesa Sanpaolo x-faker: Company.companyName nationalID: type: string description: National identifier of the bank example: 03999 x-faker: finance.bic id: type: string description: Unique identifier of the bank example: intesa_sanpaolo countries: type: array items: type: string description: Countries where the bank operates in ISO 3166-1 alpha-2 format example: IT x-faker: address.countryCode logo: type: string description: URL of the bank logo example: https://flowpayproduction.blob.core.windows.net/img/84036981-d004-40c4-a872-c81dd37e4acc.png x-faker: image.imageUrl features: type: object description: Features supported by the bank properties: futurePayments: type: boolean description: True if the bank supports future payments example: true sct: type: array description: List of SCT payment types supported by the bank items: type: string enum: - standard - instant description: SCT payment type recurringPayments: type: array description: List of recurring payment types supported by the bank items: type: string enum: - monthly - everyTwoMonths - quarterly - semiAnnual - daily - everyFourMonths - weekly - everyTwoWeeks - annual description: Recurring payment frequency BankAccount: type: object properties: owner: type: string format: uuid description: Identifier of the owner of the bank account iban: type: string description: International Bank Account Number x-faker: finance.iban example: IT60X0542811101000000123456 currencies: type: array items: type: string description: Currencies supported by the bank account x-faker: finance.currencyCode example: - EUR - CHF - GBP bankName: type: string description: Identifier of the bank example: intesa_sanpaolo owners: type: array description: List of owners of the bank account items: type: string description: Name of the owner of the bank account x-faker: person.fullName example: - Maria Fumagalli - Luigi Verdi consentStatus: $ref: '#/components/schemas/ConsentStatusEnum' Bulk: type: object properties: fingerprint: $ref: '#/components/schemas/Fingerprint' 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' Chain: description: Chain of documents type: object properties: fingerprint: $ref: '#/components/schemas/Fingerprint' targetType: $ref: '#/components/schemas/DocumentKindEnum' targetFingerprint: $ref: '#/components/schemas/Fingerprint' triggerType: $ref: '#/components/schemas/DocumentKindEnum' triggerFingerprint: $ref: '#/components/schemas/Fingerprint' Checkout: type: object properties: code: type: string pattern: ^[a-zA-Z\d]{8}$ description: Unique identifier of the checkout session. This code is secret and should never be shared with anyone who is not the payer. fingerprint: $ref: '#/components/schemas/Fingerprint' type: $ref: '#/components/schemas/DocumentKindEnum' creditor: type: string format: uuid description: Identifier of the creditor x-faker: datatype.uuid debtor: type: string format: uuid description: Identifier of the debtor x-faker: datatype.uuid collectionMethods: type: array items: $ref: '#/components/schemas/CollectionMethodEnum' description: Collection methods enabled for the payment.
Note that collection methods are the intersection of the collection methods techologies enabled for the creditor and the collection methods allowed by the client for checkout. payments: type: array items: $ref: '#/components/schemas/Payment' description: List of payments related to the checkout required: - code - fingerprint - type - creditor - debtor - collectionMethods ConsentStatusEnum: type: string enum: - not_granted - granted - revoked - expired - all default: all description: 'Status of the account information service (AIS) consent granted by account owner to FlowPay.
- `not_granted`: owner has never granted a consent
- `granted`: consent granted by account owner
- `revoked`: consent revoked by account owner
- `expired`: consent expired
- `all`: all types of consent' CollectionMethodEnum: type: string enum: - sct - sct-inst - sdd - card - custom/