Transfers

Transfer state change

Sent each time a transfer between two of an identity's own instruments changes state.

A transfer normally reports PENDING then COMPLETED. On FAILED, transfer.conflict carries the reason.

Enable and configure webhooks in the Embedder Portal; recent events are listed on its Webhook Logs page. Weavr sends this event to {Webhook URL}/transfers/watch.

postWebhook/transfers/watch

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

eventType'PENDING' | 'COMPLETED' | 'FAILED' | 'SCHEDULED' | 'CANCELLED' required

The state the transfer has reached:

  • SCHEDULED: the transfer is scheduled for a future date.
  • PENDING: the transfer is being processed.
  • COMPLETED: the funds have moved. This is a final state.
  • FAILED: the transfer could not be completed. conflict says why. This is a final state.
  • CANCELLED: a scheduled transfer was canceled before execution. This is a final state.
publishedTimestampinteger required

When the event was published. Epoch timestamp using millisecond precision.

Example payload

{
  "transfer": {
    "id": "2468013579",
    "profileId": "10001",
    "tag": "invoice-2026-0042",
    "source": {
      "type": "managed_accounts",
      "id": "123456789"
    },
    "destination": {
      "type": "managed_accounts",
      "id": "987654321"
    },
    "destinationAmount": {
      "currency": "GBP",
      "amount": 1250
    },
    "description": "Invoice 2026-0042",
    "state": "COMPLETED",
    "creationTimestamp": 1786118400000,
    "executionTimestamp": "1786118401250"
  },
  "publishedTimestamp": 1786118400000
}

Response

Event received.

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.