Incoming wire transfers

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.

postWebhook/bank_transfers_in/authorisation_request

Headers

request-refstring
Example:req-7f3e2b1a

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).

published-timestampinteger required

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

signaturestring required

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

signature-v2string required

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

idstring required

The unique identifier of the bank transfer.

timestampinteger required

Transaction timestamp, in epoch milliseconds.

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.

result'APPROVED' | 'DENIED'

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.