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

account_idstring nullable

The account ID that this webhook event is associated with

api_version'v1' required

The API version for this webhook

api_version_datestring nullable required

The dated API version (Api-Version-Date) the payload is serialized to

idstring required

A unique ID for every single webhook request

previous_attributesobject

For some .updated events, the old values of the payload fields that changed, keyed by field name. Omitted when no capture is available for the event

timestampstring date-time required

The timestamp in ISO 8601 format that the webhook was sent at on the server

type'ledger_account.funds_available' required

The webhook event type

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.