openapi: 3.2.0 info: version: v1 title: Weavr Embedded Payment Run Payment runs Webhooks API license: name: private url: https://weavr.io x-logo: url: https://weavr-cdn.s3.eu-central-1.amazonaws.com/weavr-payment-run-logo.png backgroundColor: '#FFFFFF' altText: Weavr description: "Weavr Payment Run Plug-in API provides a simple and flexible way for Embedders to add payment execution capabilities in their application.\n\nBy integrating Weavr Payment Run plug-in API in your application, you can embed banking and payment capabilities within your app to boost productivity for your users in a seamless experience.\n\n# Authentication\nEach request to the API must include an `api_key` that represents your account. You can obtain an API Key by registering for a Embedder account [here](https://portal.weavr.io/register/?plugin=payment-run).\n\nAlmost all endpoints require a secondary authentication token `auth_token` that represents the user for whom the request is being executed.\n\n# Postman Collection\nTo help you get started with your integration, you can download the [Postman](https://postman.com) collection [here](https://sandbox.weavr.io/payment-run/v1/postman). The collection includes the steps you’ll need to follow to integrate Embedded Payment Run within your app. \n\nThe collection makes use of environment variables to pre-fill details associated with your Sandbox account, such as your account’s API Key. You can download your Sandbox Account environment file from the [Sandbox Portal](https://portal.weavr.io/register/?plugin=payment-run).\n" servers: - url: https://sandbox.weavr.io/payment-run description: Sandbox security: - apiKey: [] authToken: [] tags: - name: Payment runs Webhooks description: Notification that the Payment Run and payment statuses have been updated. x-displayName: Payment runs paths: {} webhooks: paymentRunWatch: post: description: Notification that the status of a Payment Run has been updated. summary: Payment Run Update operationId: webhookPaymentRunWatch security: [] tags: - Payment runs Webhooks parameters: - name: call-ref in: header description: 'A call reference generated by the caller and unique to the caller to provide correlation between the caller and system with a maximum length of 255 ' required: false style: simple explode: false schema: type: string - name: published-timestamp in: header description: The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published. required: true style: simple explode: false schema: type: integer format: int64 - name: signature in: header description: The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the `published-timestamp` using your API key. required: true style: simple explode: false schema: type: string - name: signature-v2 in: header description: The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the `call-ref` header, the request body, and the `published-timestamp` header, all concatenated without spaces, and signed using your API key. required: true style: simple explode: false schema: type: string requestBody: description: Payment run event triggered when the status changes content: application/json: schema: type: object properties: type: type: string enum: - paymentRunWatch payload: type: object required: - payments - id - status - createdAt - buyerId - createdBy title: PaymentRun properties: id: type: string pattern: ^[0-9a-fA-F]{24}$ readOnly: true paymentRunRef: type: string description: A unique identifier by which you identify the payment run with on your system. example: 94fddfb2-297d-423d-9157-4200b7beb834 tag: type: string description: The tag field is a custom field that can be used to search and filter. maxLength: 50 pattern: ^[a-zA-Z0-9_-]+$ description: type: string description: The long form description of the payment run example: September payment run 01 createdBy: type: string pattern: ^[0-9]+$ example: '110747174434373672' readOnly: true status: type: string enum: - QUEUED - CANCELLED - COMPLETED - COMPLETED_WITH_ERRORS - EXECUTING - INVALID - PENDING_CHALLENGE - PENDING_CONFIRMATION - PENDING_FUNDING - SCA_FAILED example: PENDING_CONFIRMATION description: 'The current status of the payment run. - `QUEUED`: The payment run creation is an asynchronous process. This status indicates that the payment run is currently being validated - `CANCELLED`: Payment run was manually cancelled - `COMPLETED`: All payments have been executed successfully - `COMPLETED_WITH_ERRORS`: All payments have been executed and some failed - `EXECUTING`: Funds received, executing payments - `INVALID`: Payment run is invalid - `PENDING_CHALLENGE`: Waiting for the payment run to complete the SCA challenge - `PENDING_CONFIRMATION`: Payment run is pending confirmation by a `CONTROLLER` user - `PENDING_FUNDING`: Pending until the necessary funds are initiated. Initiate the funding process via the `/payment_runs/{id}/fund` endpoint - `SCA_FAILED`: Payment run failed due to SCA either expiring or max attempts reached. You can restart the payment run by calling the `/payment_runs/{id}/restart` endpoint ' readOnly: true statusReason: type: string payments: type: array items: type: object title: Payment required: - id - status allOf: - type: object properties: id: type: string description: The unique identifier of the payment line readOnly: true status: type: string enum: - QUEUED - CANCELLED - COMPLETED - FAILED - PENDING_CHALLENGE - PENDING_CONFIRMATION - PENDING_FUNDING - RETURNED - AWAITING_FUNDS - EXECUTING - SCA_FAILED description: 'The status of the payment - `QUEUED`: The payment run creation is an asynchronous process. This status indicates that the payment run is currently being validated - `PENDING_CHALLENGE`: Waiting for the payment run to complete the SCA challenge - `PENDING_FUNDING`: Pending until the necessary funds are initiated. Initiate the funding process via the `/payment_runs/{id}/fund` endpoint - `AWAITING_FUNDS`: Waiting for the required funds to be available to execute payment - `EXECUTING`: Payment is being executed and awaiting final status confirmation - `COMPLETED`: Payment executed successfully - `FAILED`: Payment executed, but failed - `CANCELLED`: Payment cancelled, because payment run was cancelled - `PENDING_CONFIRMATION`: Payment run is pending confirmation by a `CONTROLLER` user - `RETURNED`: Payment sent, but was returned back - `SCA_FAILED`: Payment run failed due to SCA either expiring or max attempts reached. You can restart the payment run by calling the /payment_runs/{id}/restart endpoint ' readOnly: true - type: object title: Payment required: - amount - currency - reference - payee - paymentAmount - supplier properties: externalRef: type: string example: c99cd66c-82fc-4a01-977b-61a2f5a247a1 description: The unique identifier by which you identify the associated payable on your system. paymentRef: type: string example: c99cd66c-82fc-4a01-977b-61a2f5a247a1 description: The unique identifier by which you identify this payment on your system. paymentAmount: description: The currency and amount to be paid to the supplier. allOf: - description: The object representing a monetary amount in a particular currency required: - currency - amount type: object properties: currency: type: string description: The currency expressed in ISO-4217 code. maxLength: 3 minLength: 3 enum: - GBP - EUR amount: type: integer format: int64 example: 454321 description: 'The monetary amount, scaled to the lowest denomination of the currency. Example, an amount of 1000 for a GBP currency is actually 1000 pennies or GBP 10.00. ' - type: object properties: amount: type: integer minimum: 1 reference: type: string maxLength: 18 minLength: 1 pattern: ^[0-9a-zA-Z.-]{1,18}$ description: 'The long form description of the payment. This information is also shared with the supplier. The allowed length is dependent on the payment type: `SEPA` and `SWIFT` <= 35 characters `Faster Payments` <= 18 characters ' supplier: required: - bankAccountDetails - name type: object description: Represent the supplier bank account typically used in Outgoing Wire Transfer transactions. properties: name: type: string minLength: 1 maxLength: 140 pattern: ^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;{@\r\n]*$ description: 'The supplier name. The allowed length and pattern is dependent on the `bankAccountDetails` type: * with `SepaBankDetails`: >= `1` character and <= `150` characters * with `FasterPaymentsBankDetails`: >= `1` character and <= `140` characters with a pattern of `^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;{@\r\n]*$` (please note that the `’` symbol is the unicode value U+2019 (right single quotation mark) and not the unicode value U+0027 (apostrophe)) ' address: maxLength: 150 minLength: 1 type: string description: The supplier's address. bankName: type: string description: The supplier's bank name. bankAddress: maxLength: 150 minLength: 1 type: string description: The supplier's bank address. bankCountry: type: string description: The supplier's bank country in ISO 3166 alpha-2 format. maxLength: 2 minLength: 2 pattern: ^[A-Z]{2}$ type: type: string description: The type of supplier account. Required only when FasterPaymentsBankDetails are specified. enum: - PERSONAL - BUSINESS bankAccountDetails: description: Details of the supplier bank account, depending on the type of transfer chosen. oneOf: - title: FasterPaymentsBankDetails required: - accountNumber - sortCode type: object description: Bank details used in case the wire transfer is executed over Faster Payments. properties: accountNumber: type: string minLength: 8 maxLength: 8 pattern: ^[0-9]{8}$ description: Account number, required for wire transfer over Faster Payments. sortCode: type: string minLength: 6 maxLength: 6 pattern: ^[0-9]{6}$ description: Sort code, required for wire transfer over Faster Payments. secondaryReference: type: string description: Secondary reference data if applicable. - title: SepaBankDetails required: - iban type: object description: Bank details used in case the wire transfer is executed over SEPA. properties: iban: type: string minLength: 15 maxLength: 34 pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$ description: International Bank Account Number, required for wire transfer over SEPA. bankIdentifierCode: type: string minLength: 8 maxLength: 11 pattern: ^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA-Z0-9]{0,3}$ description: BIC, for wire transfer over SEPA. validationOutcomes: type: array items: type: object properties: category: type: string enum: - UK_CONFIRMATION_OF_PAYEE categoryResult: type: object properties: match: type: string description: The result of matching performed by the UK Confirmation of Payee responder enum: - EXACT_MATCH - CLOSE_MATCH - NO_MATCH reasonCode: type: string description: "The reason why the matching failed at the UK Confirmation of Payee responder:\n\n - ANNM: The CoP responder confirms that the account `name` provided does not match;\n - MBAM: The CoP responder indicates that the account `name` provided closely matches the actual account in its records, the actual account name is returned in the `accountName` field;\n - BANM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that the actual account matching the `name` provided is actually BUSINESS;\n - PANM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that the actual account matching the `name` provided is actually PERSONAL;\n - BAMM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that an account closely matching the `name` provided is BUSINESS;\n - PAMM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that an account closely matching the `name` provided is PERSONAL;\n - AC01: The account does not exist in the CoP responders books, the `accountNumber` specified is likely incorrect; \n - IVCR: The CoP responder was unable to locate an account based on the `secondaryReference` field;\n - ACNS: The account is not supported for CoP by the CoP responder;\n - OPTO: The owner of the account has opted out of CoP service by the CoP responder;\n - CASS: The account has been switched using the Current Account Switch Service;\n - SCNS: The `sortCode` provided is not supported at endpoint;\n" enum: - ANNM - MBAM - BANM - PANM - BAMM - PAMM - AC01 - IVCR - ACNS - OPTO - CASS - SCNS accountName: type: string description: Returned when there is `match` is a `CLOSE_MATCH` and the `reasonCode` is MBAM, BAMM or PAMM createdAt: type: string format: date-time readOnly: true required: true responses: '200': description: Return a 200 status to indicate that the data was received successfully paymentRunPaymentWatch: post: description: Notification that the status of a payment in the Payment Run has been updated. summary: Payment Update operationId: webhookPaymentRunPaymentWatch security: [] tags: - Payment runs Webhooks parameters: - name: call-ref in: header description: 'A call reference generated by the caller and unique to the caller to provide correlation between the caller and system with a maximum length of 255 ' required: false style: simple explode: false schema: type: string - name: published-timestamp in: header description: The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published. required: true style: simple explode: false schema: type: integer format: int64 - name: signature in: header description: The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the `published-timestamp` using your API key. required: true style: simple explode: false schema: type: string - name: signature-v2 in: header description: The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the `call-ref` header, the request body, and the `published-timestamp` header, all concatenated without spaces, and signed using your API key. required: true style: simple explode: false schema: type: string requestBody: description: Event triggered when the status of a payment run payment changes content: application/json: schema: type: object properties: type: type: string enum: - paymentRunPaymentWatch payload: allOf: - type: object properties: paymentRunId: type: string - type: object title: Payment required: - id - status allOf: - type: object properties: id: type: string description: The unique identifier of the payment line readOnly: true status: type: string enum: - QUEUED - CANCELLED - COMPLETED - FAILED - PENDING_CHALLENGE - PENDING_CONFIRMATION - PENDING_FUNDING - RETURNED - AWAITING_FUNDS - EXECUTING - SCA_FAILED description: 'The status of the payment - `QUEUED`: The payment run creation is an asynchronous process. This status indicates that the payment run is currently being validated - `PENDING_CHALLENGE`: Waiting for the payment run to complete the SCA challenge - `PENDING_FUNDING`: Pending until the necessary funds are initiated. Initiate the funding process via the `/payment_runs/{id}/fund` endpoint - `AWAITING_FUNDS`: Waiting for the required funds to be available to execute payment - `EXECUTING`: Payment is being executed and awaiting final status confirmation - `COMPLETED`: Payment executed successfully - `FAILED`: Payment executed, but failed - `CANCELLED`: Payment cancelled, because payment run was cancelled - `PENDING_CONFIRMATION`: Payment run is pending confirmation by a `CONTROLLER` user - `RETURNED`: Payment sent, but was returned back - `SCA_FAILED`: Payment run failed due to SCA either expiring or max attempts reached. You can restart the payment run by calling the /payment_runs/{id}/restart endpoint ' readOnly: true - type: object title: Payment required: - amount - currency - reference - payee - paymentAmount - supplier properties: externalRef: type: string example: c99cd66c-82fc-4a01-977b-61a2f5a247a1 description: The unique identifier by which you identify the associated payable on your system. paymentRef: type: string example: c99cd66c-82fc-4a01-977b-61a2f5a247a1 description: The unique identifier by which you identify this payment on your system. paymentAmount: description: The currency and amount to be paid to the supplier. allOf: - description: The object representing a monetary amount in a particular currency required: - currency - amount type: object properties: currency: type: string description: The currency expressed in ISO-4217 code. maxLength: 3 minLength: 3 enum: - GBP - EUR amount: type: integer format: int64 example: 454321 description: 'The monetary amount, scaled to the lowest denomination of the currency. Example, an amount of 1000 for a GBP currency is actually 1000 pennies or GBP 10.00. ' - type: object properties: amount: type: integer minimum: 1 reference: type: string maxLength: 18 minLength: 1 pattern: ^[0-9a-zA-Z.-]{1,18}$ description: 'The long form description of the payment. This information is also shared with the supplier. The allowed length is dependent on the payment type: `SEPA` and `SWIFT` <= 35 characters `Faster Payments` <= 18 characters ' supplier: required: - bankAccountDetails - name type: object description: Represent the supplier bank account typically used in Outgoing Wire Transfer transactions. properties: name: type: string minLength: 1 maxLength: 140 pattern: ^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;{@\r\n]*$ description: 'The supplier name. The allowed length and pattern is dependent on the `bankAccountDetails` type: * with `SepaBankDetails`: >= `1` character and <= `150` characters * with `FasterPaymentsBankDetails`: >= `1` character and <= `140` characters with a pattern of `^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;{@\r\n]*$` (please note that the `’` symbol is the unicode value U+2019 (right single quotation mark) and not the unicode value U+0027 (apostrophe)) ' address: maxLength: 150 minLength: 1 type: string description: The supplier's address. bankName: type: string description: The supplier's bank name. bankAddress: maxLength: 150 minLength: 1 type: string description: The supplier's bank address. bankCountry: type: string description: The supplier's bank country in ISO 3166 alpha-2 format. maxLength: 2 minLength: 2 pattern: ^[A-Z]{2}$ type: type: string description: The type of supplier account. Required only when FasterPaymentsBankDetails are specified. enum: - PERSONAL - BUSINESS bankAccountDetails: description: Details of the supplier bank account, depending on the type of transfer chosen. oneOf: - title: FasterPaymentsBankDetails required: - accountNumber - sortCode type: object description: Bank details used in case the wire transfer is executed over Faster Payments. properties: accountNumber: type: string minLength: 8 maxLength: 8 pattern: ^[0-9]{8}$ description: Account number, required for wire transfer over Faster Payments. sortCode: type: string minLength: 6 maxLength: 6 pattern: ^[0-9]{6}$ description: Sort code, required for wire transfer over Faster Payments. secondaryReference: type: string description: Secondary reference data if applicable. - title: SepaBankDetails required: - iban type: object description: Bank details used in case the wire transfer is executed over SEPA. properties: iban: type: string minLength: 15 maxLength: 34 pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$ description: International Bank Account Number, required for wire transfer over SEPA. bankIdentifierCode: type: string minLength: 8 maxLength: 11 pattern: ^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA-Z0-9]{0,3}$ description: BIC, for wire transfer over SEPA. validationOutcomes: type: array items: type: object properties: category: type: string enum: - UK_CONFIRMATION_OF_PAYEE categoryResult: type: object properties: match: type: string description: The result of matching performed by the UK Confirmation of Payee responder enum: - EXACT_MATCH - CLOSE_MATCH - NO_MATCH reasonCode: type: string description: "The reason why the matching failed at the UK Confirmation of Payee responder:\n\n - ANNM: The CoP responder confirms that the account `name` provided does not match;\n - MBAM: The CoP responder indicates that the account `name` provided closely matches the actual account in its records, the actual account name is returned in the `accountName` field;\n - BANM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that the actual account matching the `name` provided is actually BUSINESS;\n - PANM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that the actual account matching the `name` provided is actually PERSONAL;\n - BAMM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that an account closely matching the `name` provided is BUSINESS;\n - PAMM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that an account closely matching the `name` provided is PERSONAL;\n - AC01: The account does not exist in the CoP responders books, the `accountNumber` specified is likely incorrect; \n - IVCR: The CoP responder was unable to locate an account based on the `secondaryReference` field;\n - ACNS: The account is not supported for CoP by the CoP responder;\n - OPTO: The owner of the account has opted out of CoP service by the CoP responder;\n - CASS: The account has been switched using the Current Account Switch Service;\n - SCNS: The `sortCode` provided is not supported at endpoint;\n" enum: - ANNM - MBAM - BANM - PANM - BAMM - PAMM - AC01 - IVCR - ACNS - OPTO - CASS - SCNS accountName: type: string description: Returned when there is `match` is a `CLOSE_MATCH` and the `reasonCode` is MBAM, BAMM or PAMM required: true responses: '200': description: Return a 200 status to indicate that the data was received successfully paymentRunGroupNotFunded: post: description: Notification that a group expecting funds has not been funded. summary: Payment Run Group Not Funded operationId: webhookpaymentRunGroupNotFunded security: [] tags: - Payment runs Webhooks parameters: - name: call-ref in: header description: 'A call reference generated by the caller and unique to the caller to provide correlation between the caller and system with a maximum length of 255 ' required: false style: simple explode: false schema: type: string - name: published-timestamp in: header description: The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published. required: true style: simple explode: false schema: type: integer format: int64 - name: signature in: header description: The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the `published-timestamp` using your API key. required: true style: simple explode: false schema: type: string - name: signature-v2 in: header description: The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the `call-ref` header, the request body, and the `published-timestamp` header, all concatenated without spaces, and signed using your API key. required: true style: simple explode: false schema: type: string requestBody: description: Event triggered when the status of a payment run payment changes content: application/json: schema: type: object properties: type: type: string enum: - paymentRunGroupNotFunded payload: allOf: - type: object properties: paymentRunId: type: string - type: object required: - reference - totalAmount - status - payments properties: reference: type: string description: The reference to be used to initialise the PIS UX Component totalAmount: description: The total amount of the group of payments in the currency of the group. required: - currency - amount type: object properties: currency: type: string description: The currency expressed in ISO-4217 code. maxLength: 3 minLength: 3 enum: - GBP - EUR amount: type: integer format: int64 example: 454321 description: 'The monetary amount, scaled to the lowest denomination of the currency. Example, an amount of 1000 for a GBP currency is actually 1000 pennies or GBP 10.00. ' status: type: string description: The status of the funding instruction enum: - PENDING_FUNDING - AWAITING_FUNDS - CANCELLED - EXECUTING - COMPLETED - COMPLETED_WITH_ERRORS fundingDate: type: string format: date-time description: The date of when the group was funded payments: type: array description: The group of payments within the payment run that are funded with this funding instruction items: type: object title: Payment required: - id - status allOf: - type: object properties: id: type: string description: The unique identifier of the payment line readOnly: true status: type: string enum: - QUEUED - CANCELLED - COMPLETED - FAILED - PENDING_CHALLENGE - PENDING_CONFIRMATION - PENDING_FUNDING - RETURNED - AWAITING_FUNDS - EXECUTING - SCA_FAILED description: 'The status of the payment - `QUEUED`: The payment run creation is an asynchronous process. This status indicates that the payment run is currently being validated - `PENDING_CHALLENGE`: Waiting for the payment run to complete the SCA challenge - `PENDING_FUNDING`: Pending until the necessary funds are initiated. Initiate the funding process via the `/payment_runs/{id}/fund` endpoint - `AWAITING_FUNDS`: Waiting for the required funds to be available to execute payment - `EXECUTING`: Payment is being executed and awaiting final status confirmation - `COMPLETED`: Payment executed successfully - `FAILED`: Payment executed, but failed - `CANCELLED`: Payment cancelled, because payment run was cancelled - `PENDING_CONFIRMATION`: Payment run is pending confirmation by a `CONTROLLER` user - `RETURNED`: Payment sent, but was returned back - `SCA_FAILED`: Payment run failed due to SCA either expiring or max attempts reached. You can restart the payment run by calling the /payment_runs/{id}/restart endpoint ' readOnly: true - type: object title: Payment required: - amount - currency - reference - payee - paymentAmount - supplier properties: externalRef: type: string example: c99cd66c-82fc-4a01-977b-61a2f5a247a1 description: The unique identifier by which you identify the associated payable on your system. paymentRef: type: string example: c99cd66c-82fc-4a01-977b-61a2f5a247a1 description: The unique identifier by which you identify this payment on your system. paymentAmount: description: The currency and amount to be paid to the supplier. allOf: - description: The object representing a monetary amount in a particular currency required: - currency - amount type: object properties: currency: type: string description: The currency expressed in ISO-4217 code. maxLength: 3 minLength: 3 enum: - GBP - EUR amount: type: integer format: int64 example: 454321 description: 'The monetary amount, scaled to the lowest denomination of the currency. Example, an amount of 1000 for a GBP currency is actually 1000 pennies or GBP 10.00. ' - type: object properties: amount: type: integer minimum: 1 reference: type: string maxLength: 18 minLength: 1 pattern: ^[0-9a-zA-Z.-]{1,18}$ description: 'The long form description of the payment. This information is also shared with the supplier. The allowed length is dependent on the payment type: `SEPA` and `SWIFT` <= 35 characters `Faster Payments` <= 18 characters ' supplier: required: - bankAccountDetails - name type: object description: Represent the supplier bank account typically used in Outgoing Wire Transfer transactions. properties: name: type: string minLength: 1 maxLength: 140 pattern: ^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;{@\r\n]*$ description: 'The supplier name. The allowed length and pattern is dependent on the `bankAccountDetails` type: * with `SepaBankDetails`: >= `1` character and <= `150` characters * with `FasterPaymentsBankDetails`: >= `1` character and <= `140` characters with a pattern of `^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;{@\r\n]*$` (please note that the `’` symbol is the unicode value U+2019 (right single quotation mark) and not the unicode value U+0027 (apostrophe)) ' address: maxLength: 150 minLength: 1 type: string description: The supplier's address. bankName: type: string description: The supplier's bank name. bankAddress: maxLength: 150 minLength: 1 type: string description: The supplier's bank address. bankCountry: type: string description: The supplier's bank country in ISO 3166 alpha-2 format. maxLength: 2 minLength: 2 pattern: ^[A-Z]{2}$ type: type: string description: The type of supplier account. Required only when FasterPaymentsBankDetails are specified. enum: - PERSONAL - BUSINESS bankAccountDetails: description: Details of the supplier bank account, depending on the type of transfer chosen. oneOf: - title: FasterPaymentsBankDetails required: - accountNumber - sortCode type: object description: Bank details used in case the wire transfer is executed over Faster Payments. properties: accountNumber: type: string minLength: 8 maxLength: 8 pattern: ^[0-9]{8}$ description: Account number, required for wire transfer over Faster Payments. sortCode: type: string minLength: 6 maxLength: 6 pattern: ^[0-9]{6}$ description: Sort code, required for wire transfer over Faster Payments. secondaryReference: type: string description: Secondary reference data if applicable. - title: SepaBankDetails required: - iban type: object description: Bank details used in case the wire transfer is executed over SEPA. properties: iban: type: string minLength: 15 maxLength: 34 pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$ description: International Bank Account Number, required for wire transfer over SEPA. bankIdentifierCode: type: string minLength: 8 maxLength: 11 pattern: ^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA-Z0-9]{0,3}$ description: BIC, for wire transfer over SEPA. validationOutcomes: type: array items: type: object properties: category: type: string enum: - UK_CONFIRMATION_OF_PAYEE categoryResult: type: object properties: match: type: string description: The result of matching performed by the UK Confirmation of Payee responder enum: - EXACT_MATCH - CLOSE_MATCH - NO_MATCH reasonCode: type: string description: "The reason why the matching failed at the UK Confirmation of Payee responder:\n\n - ANNM: The CoP responder confirms that the account `name` provided does not match;\n - MBAM: The CoP responder indicates that the account `name` provided closely matches the actual account in its records, the actual account name is returned in the `accountName` field;\n - BANM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that the actual account matching the `name` provided is actually BUSINESS;\n - PANM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that the actual account matching the `name` provided is actually PERSONAL;\n - BAMM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that an account closely matching the `name` provided is BUSINESS;\n - PAMM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that an account closely matching the `name` provided is PERSONAL;\n - AC01: The account does not exist in the CoP responders books, the `accountNumber` specified is likely incorrect; \n - IVCR: The CoP responder was unable to locate an account based on the `secondaryReference` field;\n - ACNS: The account is not supported for CoP by the CoP responder;\n - OPTO: The owner of the account has opted out of CoP service by the CoP responder;\n - CASS: The account has been switched using the Current Account Switch Service;\n - SCNS: The `sortCode` provided is not supported at endpoint;\n" enum: - ANNM - MBAM - BANM - PANM - BAMM - PAMM - AC01 - IVCR - ACNS - OPTO - CASS - SCNS accountName: type: string description: Returned when there is `match` is a `CLOSE_MATCH` and the `reasonCode` is MBAM, BAMM or PAMM required: true responses: '200': description: Return a 200 status to indicate that the data was received successfully components: securitySchemes: apiKey: name: api-key type: apiKey in: header description: The API Key representing your Weavr account. You can find your API Key in your Weavr Portal in the API Credentials page. authToken: type: http description: The authentication token representing the user. This will be included in the login response object. scheme: bearer bearerFormat: JWT x-tagGroups: - name: Authentication tags: - Tokens - Passwords - name: Authorisation tags: - Additional Factors - Step up - name: Identities tags: - Buyers - Buyer Authorised Users - name: Payment runs tags: - Payment runs - name: Instruments tags: - Linked Accounts - name: Institutions tags: - Institutions - name: Simulators tags: - Simulator - name: Events tags: - Buyers Webhooks - Payment runs Webhooks - Linked Accounts Webhooks - Tokens Webhooks - Stepup Webhooks - Authentication Factors Webhooks - Transactions Webhooks