Ledger accounts
LedgerAccount Funds available
Sent when a ledger account is funds available
Required permissions:
- company:balance:read
- payout:account:read
- webhook_receive:ledger_accounts
postWebhookledger_account.funds_available
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": {
"balances": [
{
"balance": 6.9,
"currency": "usd",
"pending_balance": 6.9,
"reserve_balance": 6.9
}
],
"id": "ldgr_xxxxxxxxxxxxx",
"owner": {
"id": "user_xxxxxxxxxxxxx",
"name": "John Doe",
"username": "johndoe42"
},
"payout_account_details": {
"id": "poact_xxxxxxxxxxxx",
"latest_verification": {
"id": "verf_xxxxxxxxxxxxx",
"last_error_reason": "Document image was too blurry to read."
}
},
"settlement_time_at": "2023-12-01T05:00:00.401Z",
"transfer_fee": 6.9,
"treasury_balance": {
"balance": 6.9,
"balance_usd": 6.9,
"currency": "usd",
"pending_balance": 6.9,
"reserve_balance": 6.9,
"total_withdrawable_balance": 6.9
}
},
"id": "msg_xxxxxxxxxxxxxxxxxxxxxxxx",
"timestamp": "2025-01-01T00:00:00.000Z",
"type": "ledger_account.funds_available"
}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.