openapi: 3.2.0 info: version: v1 title: Weavr Embedded Payment Run Linked Accounts 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: Linked Accounts Webhooks description: Notification that the status of a Linked Account has been updated. x-displayName: Linked Accounts paths: {} webhooks: linkedAccountWatch: post: description: Notification of the status update for a linked Account. summary: Linked Account Update operationId: webhookLinkedAccountWatch security: [] tags: - Linked Accounts 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 required: true content: application/json: schema: type: object required: - type - payload properties: type: type: string enum: - linkedAccountWatch payload: type: object title: Linked Account Status oneOf: - type: object required: - id - accountIdentification - currency - institution - consent - status - buyerId - userId properties: id: description: The unique identifier of the linked account type: string pattern: ^[0-9a-fA-F]{24}$ example: 652d25b73541d8084a88a38d accountIdentification: description: The bank details that uniquely identify the account on the banking systems. 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. currency: type: string description: The primary currency associated with the account maxLength: 3 minLength: 3 enum: - GBP - EUR institution: type: object required: - countries properties: displayName: description: The name to be used when displaying the institution to users on user interfaces type: string countries: type: array description: The institution's supported countries items: type: string maxLength: 2 minLength: 2 pattern: ^[A-Z]+$ enum: - GB - AT - BE - BG - HR - CY - CZ - DK - EE - FI - FR - DE - GI - GR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE images: type: object description: The images that should be used when displaying the institution properties: icon: type: string logo: type: string info: type: object properties: loginUrl: type: string helplinePhoneNumber: type: string consent: type: object required: - expiresAt - expiresIn - status properties: expiresAt: type: string format: date-time expiresIn: type: integer status: type: string enum: - ACTIVE - EXPIRED - REVOKED status: type: string description: 'The status of the linked account. The status can be one of the following: - `PENDING_CHALLENGE`: The Linked Account is pending challenge - `PENDING_VERIFICATION`: The Linked Account is pending the completion of the required verification steps - `PENDING_FUNDING`: Awaiting a wire transfer as part of the verification process when adding an account without Open Banking - `REJECTED`: The Linked Account did not pass one or more verification steps and is not eligible for use - `LINKED`: The linked account is linked and ready for use - `UNLINKED`: The linked account is not linked and cannot be used ' enum: - LINKED - UNLINKED - PENDING_CHALLENGE - PENDING_FUNDING - PENDING_VERIFICATION - REJECTED friendlyName: type: string maxLength: 80 description: A user-friendly name for the linked account buyerId: description: The id of the buyer that this linked account belongs to. type: string userId: description: The id of the user who initially created this linked account. type: string - title: StatusErrorDuplicatedAccount type: object required: - status allOf: - type: object title: Linked Account Info required: - accountIdentification - currency - institution properties: accountIdentification: description: The bank details that uniquely identify the account on the banking systems. 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. currency: type: string description: The primary currency associated with the account maxLength: 3 minLength: 3 enum: - GBP - EUR institution: type: object required: - countries properties: displayName: description: The name to be used when displaying the institution to users on user interfaces type: string countries: type: array description: The institution's supported countries items: type: string maxLength: 2 minLength: 2 pattern: ^[A-Z]+$ enum: - GB - AT - BE - BG - HR - CY - CZ - DK - EE - FI - FR - DE - GI - GR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE images: type: object description: The images that should be used when displaying the institution properties: icon: type: string logo: type: string info: type: object properties: loginUrl: type: string helplinePhoneNumber: type: string - type: object properties: status: type: string enum: - ERROR_DUPLICATED_ACCOUNT - title: StatusRejected type: object required: - status - consent properties: status: type: string enum: - REJECTED consent: type: object required: - status properties: status: type: string enum: - REJECTED - type: object title: StatusRejectedMultipleLinkedAccounts required: - status - consent properties: status: type: string enum: - CANNOT_LINK_MULTIPLE_ACCOUNTS consent: type: object required: - status properties: status: type: string enum: - REJECTED responses: '200': description: Return a 200 status to indicate that the data was received successfully linkedAccountExpiringSoonWatch: post: description: Notification when a linked account is expiring soon. summary: Linked Account Expiring Soon operationId: linkedAccountExpiringSoonWatch security: [] tags: - Linked Accounts 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 required: true content: application/json: schema: type: object required: - type - payload properties: type: type: string enum: - linkedAccountExpiringSoonWatch payload: type: object title: Linked Account Status oneOf: - type: object required: - id - accountIdentification - currency - institution - consent - status - buyerId - userId properties: id: description: The unique identifier of the linked account type: string pattern: ^[0-9a-fA-F]{24}$ example: 652d25b73541d8084a88a38d accountIdentification: description: The bank details that uniquely identify the account on the banking systems. 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. currency: type: string description: The primary currency associated with the account maxLength: 3 minLength: 3 enum: - GBP - EUR institution: type: object required: - countries properties: displayName: description: The name to be used when displaying the institution to users on user interfaces type: string countries: type: array description: The institution's supported countries items: type: string maxLength: 2 minLength: 2 pattern: ^[A-Z]+$ enum: - GB - AT - BE - BG - HR - CY - CZ - DK - EE - FI - FR - DE - GI - GR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE images: type: object description: The images that should be used when displaying the institution properties: icon: type: string logo: type: string info: type: object properties: loginUrl: type: string helplinePhoneNumber: type: string consent: type: object required: - expiresAt - expiresIn - status properties: expiresAt: type: string format: date-time expiresIn: type: integer status: type: string enum: - ACTIVE - EXPIRED - REVOKED status: type: string description: 'The status of the linked account. The status can be one of the following: - `PENDING_CHALLENGE`: The Linked Account is pending challenge - `PENDING_VERIFICATION`: The Linked Account is pending the completion of the required verification steps - `PENDING_FUNDING`: Awaiting a wire transfer as part of the verification process when adding an account without Open Banking - `REJECTED`: The Linked Account did not pass one or more verification steps and is not eligible for use - `LINKED`: The linked account is linked and ready for use - `UNLINKED`: The linked account is not linked and cannot be used ' enum: - LINKED - UNLINKED - PENDING_CHALLENGE - PENDING_FUNDING - PENDING_VERIFICATION - REJECTED friendlyName: type: string maxLength: 80 description: A user-friendly name for the linked account buyerId: description: The id of the buyer that this linked account belongs to. type: string userId: description: The id of the user who initially created this linked account. type: string - title: StatusErrorDuplicatedAccount type: object required: - status allOf: - type: object title: Linked Account Info required: - accountIdentification - currency - institution properties: accountIdentification: description: The bank details that uniquely identify the account on the banking systems. 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. currency: type: string description: The primary currency associated with the account maxLength: 3 minLength: 3 enum: - GBP - EUR institution: type: object required: - countries properties: displayName: description: The name to be used when displaying the institution to users on user interfaces type: string countries: type: array description: The institution's supported countries items: type: string maxLength: 2 minLength: 2 pattern: ^[A-Z]+$ enum: - GB - AT - BE - BG - HR - CY - CZ - DK - EE - FI - FR - DE - GI - GR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE images: type: object description: The images that should be used when displaying the institution properties: icon: type: string logo: type: string info: type: object properties: loginUrl: type: string helplinePhoneNumber: type: string - type: object properties: status: type: string enum: - ERROR_DUPLICATED_ACCOUNT - title: StatusRejected type: object required: - status - consent properties: status: type: string enum: - REJECTED consent: type: object required: - status properties: status: type: string enum: - REJECTED - type: object title: StatusRejectedMultipleLinkedAccounts required: - status - consent properties: status: type: string enum: - CANNOT_LINK_MULTIPLE_ACCOUNTS consent: type: object required: - status properties: status: type: string enum: - REJECTED 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