Skip to content

Weavr Webhook (v2)

For Verification, create a base64 hash using HmacSHA256 using Published-Timestamp header as message and your API key as secret. The result should match the Signature header.

Download OpenAPI description
Overview
Languages
Servers
https://api.weavr.io/""
Mock server
https://api.weavr.io/_mock/products/webhooks/openapi

Corporates

Webhooks

Consumers

Webhooks

Managed Cards

Webhooks

Managed Accounts

Webhooks

Linked Accounts

Webhooks

Transfers

Webhooks

Send

Webhooks

Outgoing Wire Transfers

Webhooks

Correspondent Bank Transfers

Webhooks

Correspondent Bank Transfer transactionWebhook

Request

Notification that a Correspondent Bank Transfer has been processed.

Headers
call-refstring

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

published-timestampinteger(int64)required

The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published.

signature-v2stringrequired

The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the call-ref + payload + published-timestamp using your API key.

signaturestringDeprecatedrequired

The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the published-timestamp using your API key.

Bodyapplication/jsonrequired
ownerobject(StringWrappedTypeId)required
owner.​typestring<= 50 characters^[a-zA-Z0-9_-]+$required
owner.​idstring^[0-9]+$required
transferobject(CorrespondentBankingOwt)required
transfer.​idstring^[0-9]+$required

The unique identifier of the Correspondent Banking OWT.

transfer.​profileIdstring(ProfileId)^[0-9]+$required

The profile Id which a specific identity, instrument or transaction type is linked to.

Profiles contain configuration and determine behavioral aspects of the newly created transaction, for example, fees that may apply.

You can have one or more profiles linked to your application, and these can be used to drive different behaviors according to your product's needs.

Profile Ids can be found in the Multi Portal, in the API Credentials page.

transfer.​tagstring(Tag)<= 50 characters^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

transfer.​sourceInstrumentobjectrequired

The source managed account from where the funds were taken.

transfer.​sourceInstrument.​typestringrequired
Value"managed_accounts"
transfer.​sourceInstrument.​idstring^[0-9]+$required
transfer.​amountobject(CurrencyAmount)required

The amount transferred.

transfer.​amount.​currencystring(Currency)= 3 characters^[A-Z]*$required

The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

transfer.​amount.​amountinteger(int64)required

The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

transfer.​originatorCorrespondentBankingIndividualOriginator (object) or CorrespondentBankingBusinessOriginator (object)required
One of:

An individual (natural person) originator of the transfer.

Travel Rule Requirements:

  • Mandatory: Full name and account number (via bankAccountDetails)
  • Mandatory: At least one supplementary information type (address + birth details, or address + official ID)
transfer.​originator.​tagstring(Tag)<= 50 characters^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

transfer.​originator.​namestring<= 140 charactersrequired

Full name of the individual as documented on official ID.

transfer.​originator.​addressstring<= 255 charactersrequired

Full residential address of the individual.

transfer.​originator.​countrystring= 2 characters^[A-Z]{2}$required

ISO 3166-1 alpha-2 country code.

transfer.​originator.​bankAccountDetailsobject(CorrespondentBankingBankAccountDetails)required

Account and financial institution details of the originator (travel rule mandatory).

transfer.​originator.​bankAccountDetails.​accountstring[ 1 .. 34 ] characters^[a-zA-Z0-9]{1,34}$required

Can be either an account number or an International Bank Account Number (IBAN).

transfer.​originator.​bankAccountDetails.​financialInstitutionstring[ 8 .. 11 ] characters^[a-zA-Z0-9]{8,11}$required

Bank Identifier Code (BIC) of the originator's financial institution.

transfer.​originator.​supplementaryInformationCorrespondentBankingIndividualAddressAndIdInfo (object) or CorrespondentBankingIndividualAddressAndBirthInfo (object)
One of:

Personal identification for an individual originator.

transfer.​beneficiaryCorrespondentBankingSEPABeneficiary (object) or CorrespondentBankingRIXBeneficiary (object) or CorrespondentBankingFasterPaymentsBeneficiary (object)required
One of:

CBT-specific beneficiary details for SEPA/IBAN wire transfers with Banking Circle FI-to-FI field limits.

transfer.​beneficiary.​namestring[ 1 .. 35 ] charactersrequired

The beneficiary's full name. >= 1 character and <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

transfer.​beneficiary.​ibanstring[ 15 .. 34 ] characters^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$required

International Bank Account Number, required for wire transfer over SEPA.

transfer.​beneficiary.​bankIdentifierCodestring[ 8 .. 11 ] characters^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA...

BIC (Bank Identifier Code) for wire transfer over SEPA.

transfer.​beneficiary.​addressstring[ 1 .. 105 ] charactersrequired

The beneficiary's address. Required for correspondent banking transfers. Maximum 105 characters (split into 3x35-char lines by the provider).

transfer.​beneficiary.​bankNamestring<= 150 characters

The beneficiary's bank name.

transfer.​beneficiary.​bankAddressstring[ 1 .. 150 ] characters

The beneficiary's bank address.

transfer.​beneficiary.​bankCountrystring= 2 characters^[A-Z]{2}$

The beneficiary's bank country in ISO 3166 alpha-2 format.

transfer.​beneficiary.​nationalitystring(Nationality)= 2 characters^[A-Z]+$

Nationality of the user - using ISO 3166 alpha-2.

transfer.​beneficiary.​dateOfBirthstring(date)(DateOfBirth)

The date of birth in ISO 8601 format (YYYY-MM-DD).

transfer.​purposestring<= 255 charactersrequired

The purpose of the payment.

transfer.​descriptionstring<= 35 characters

These details are passed to the beneficiary as the reference. This field is mandatory for wire transfers executed over SEPA. The allowed length is dependent on the payment type:

SEPA <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

Faster Payments <= 18 characters

transfer.​externalDataArray of objects(CorrespondentBankingExternalData)

Additional external data as key-value pairs.

transfer.​statestring(CorrespondentBankingOwtState)required

The state of the correspondent bank transfer transaction, as follows:

  • INVALID: The transfer has failed initial validation checks.
  • PENDING_CHALLENGE: The transfer requires the completion of a transaction confirmation challenge before it can be submitted.
  • SUBMITTED: The transfer has been submitted to the sending financial institution for processing.
  • REJECTED: The transfer that was submitted was rejected.
  • APPROVED: The transfer that was submitted has been approved and is being processed by the sending financial institution.
  • FAILED: There was an issue with the transfer, and the transaction has failed.
  • COMPLETED: The requested funds have been sent from the source instrument.
  • RETURNED: The transfer has been returned to the sender.
  • SCHEDULED: The transfer will be executed at the scheduled time.
  • CANCELLED: The scheduled transfer has been cancelled.
  • PENDING_CONFIRMATION: The transfer requires a manual confirmation by the user before proceeding.
Enum"INVALID""PENDING_CHALLENGE""SUBMITTED""REJECTED""APPROVED""FAILED""COMPLETED""RETURNED""SCHEDULED""CANCELLED"
transfer.​creationTimestampinteger(int64)required

The time when the transaction was created, expressed in Epoch timestamp using millisecond precision.

transfer.​scheduledTimestampstring(ScheduledTimestamp)^[0-9]+$

The epoch timestamp at which the transaction is scheduled to be executed.

transfer.​cancellationReasonstring(TransactionCancellationReason)<= 50 characters^[ a-zA-Z0-9_-]+$

The reason the scheduled transaction was cancelled.

transfer.​validationOutcomesArray of objects(CorrespondentBankingOwtValidationOutcome)
publishedTimestampstring^[0-9]+$required

Epoch timestamp using millisecond precision.

eventTypestring(CorrespondentBankTransferEventType)required
Enum"PENDING_CHALLENGE""SUBMITTED""APPROVED""REJECTED""FAILED""COMPLETED""RETURNED""INVALID""SCHEDULED""CANCELLED"
application/json
{ "owner": { "type": "string", "id": "string" }, "transfer": { "id": "string", "profileId": "string", "tag": "string", "sourceInstrument": { … }, "amount": { … }, "originator": { … }, "beneficiary": { … }, "purpose": "string", "description": "string", "externalData": [ … ], "state": "INVALID", "creationTimestamp": 0, "scheduledTimestamp": "string", "cancellationReason": "string", "validationOutcomes": [ … ] }, "publishedTimestamp": "string", "eventType": "PENDING_CHALLENGE" }

Responses

Success - No Content

Manual Transactions

Webhooks

Fees

Webhooks

Login

Webhooks

Stepup

Webhooks

Authentication Factors

Webhooks

Beneficiaries

Webhooks

Bulk Operations

Webhooks

Auth Users

Webhooks