Approve or reject incoming wire transfers
Receive incoming wire transfer authorization events and reply with APPROVED or DENIED.
To receive these events, enable Incoming Wire Transfer Forwarding and configure the Authorization Forwarding URL in the Embedder Portal. Weavr sends this event to {Authorization Forwarding URL}/bank_transfers_in/authorisation_request.
A response is expected within 1.5 seconds. If no valid response is received, the transfer is denied.
Headers
A unique call reference included in every call, that enables the receiver to avoid duplicate handling of a webhook request (e.g. webhook was resent).
The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published.
The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the published-timestamp using your API key.
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.
Payload
Example payload
{
"id": "123456789",
"source": {
"instrument": {
"instrument": {
"id": "123456789",
"profileId": "10001",
"tag": "customer-123",
"friendlyName": "Personal current account",
"name": "Alex Smith",
"currency": "GBP",
"country": "GB",
"accountReference": {
"accountNumber": "31926819",
"sortCode": "601613",
"secondaryReference": "0012345678"
},
"creationTimestamp": 1786118400000,
"owner": {
"type": "example",
"id": "123456789"
}
},
"reference": "Invoice 1042"
}
},
"destination": {
"instrument": {
"instrument": {
"id": "123456789",
"profileId": "10001",
"tag": "customer-123",
"friendlyName": "Main GBP account",
"currency": "GBP",
"balances": {
"availableBalance": 120000,
"actualBalance": 125000
},
"creationTimestamp": 1786118400000,
"lowBalanceThreshold": 10000
}
},
"owner": {
"owner": {
"id": {
"type": "CONSUMER",
"id": "123456789"
},
"profileId": "10001",
"tag": "customer-123",
"rootUser": {
"id": {
"type": "CONSUMER",
"id": "123456789"
},
"name": "Alex",
"surname": "Smith",
"email": "alex@example.com",
"mobile": {
"countryCode": "+44",
"number": "7700900123"
},
"active": true,
"emailVerified": true,
"mobileNumberVerified": true,
"dateOfBirth": {
"year": 1990,
"month": 1,
"day": 1
},
"tag": "customer-123",
"locale": "en-GB",
"brand": "Acme"
},
"company": {
"name": "Acme Ltd",
"registrationNumber": "12345678",
"registeredAddress": {
"addressLine1": "1 High Street",
"addressLine2": "Flat 2",
"city": "London",
"postCode": "W1A 1AA",
"state": "Greater London",
"country": "GB"
},
"businessAddress": {
"addressLine1": "1 High Street",
"addressLine2": "Flat 2",
"city": "London",
"postCode": "W1A 1AA",
"state": "Greater London",
"country": "GB"
},
"countryOfRegistration": "GB",
"incorporatedOn": {
"year": 1990,
"month": 1,
"day": 1
}
},
"sourceOfFundsOther": "Inheritance",
"acceptedTerms": true,
"ipAddress": "203.0.113.10",
"baseCurrency": "GBP",
"feeGroup": "DEFAULT",
"creationTimestamp": 1786118400000
}
}
},
"amount": {
"currency": "GBP",
"amount": 1250
},
"timestamp": 1786118400000
}Response
Authorization event received with an APPROVED or DENIED decision.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.