Transfers
Transfer Failed
Sent to participating accounts when an existing transfer enters failed. The payload includes failure_code, failure_reason, and failed_at; a retry may later succeed under the same transfer ID.
Required permissions:
- webhook_receive:transfers
postWebhooktransfer.failed
Headers
webhook-idstring required
A unique identifier for this webhook request
Example:msg_xxxxxxxxxxxxxxxxxxxxxxxx
webhook-signaturestring required
The signature of the webhook request with the webhook version prepended
Example:v1,BASE64ENCODEDSIGNATURE
webhook-timestampstring required
The timestamp in seconds since the Unix epoch that the webhook was sent at on the server
Example:1727606400
Payload
Example payload
{
"account_id": "biz_xxxxxxxxxxxxxx",
"api_version": "v1",
"api_version_date": "2026-07-20",
"data": {
"amount": {
"amount": "-1234.56",
"currency": "usd",
"decimals": 2,
"display_decimals": 2
},
"created_at": "2026-01-01T12:00:00.000Z",
"destination": {
"id": "user_xxxxxxxxxxxxxx",
"name": "Dana Whitfield",
"object": "user"
},
"fee": {
"amount": "-1234.56",
"currency": "usd",
"decimals": 2,
"display_decimals": 2
},
"id": "ctt_xxxxxxxxxxxxxx",
"metadata": {
"order_id": "SHINE-1042"
},
"notes": "Refund for the rescheduled interior detail",
"object": "transfer",
"origin": {
"id": "biz_xxxxxxxxxxxxxx",
"logo_url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/shine-time-logo",
"name": "Shine Time Auto Detailing",
"object": "account"
},
"status": "succeeded",
"tracking_url": "https://whop.com/ctt_xxxxxxxxxxxxxx/"
},
"id": "msg_xxxxxxxxxxxxxxxxxxxxxxxx",
"timestamp": "2025-01-01T00:00:00.000Z",
"type": "transfer.failed"
}Response
Return a 200 status to indicate that the data was received successfully
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.