Weavr Payment runs Webhooks API
Notification that the Payment Run and payment statuses have been updated.
Notification that the Payment Run and payment statuses have been updated.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/weavr-payment-runs-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/weavr/refs/heads/main/openapi/weavr-payment-runs-webhooks-api-openapi.yml