Webhook Payloads
Credit-Based Billing
The payload sent to your webhook endpoint when credit-based billing events occur — virtual credits (API calls, tokens, compute hours) granted, consumed, expired, rolled over, or balance alerts. These webhooks are not related to Customer Wallets (monetary balances).
Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
Credit-Based Billing Webhook Events
The following webhook events are available for tracking credit-based billing lifecycle changes. These events apply to virtual credit entitlements (API calls, tokens, compute hours), not to Customer Wallets (monetary balances).| Event | Description |
|---|---|
credit.added | Credits are granted to a customer (via subscription, one-time purchase, add-on, or API) |
credit.deducted | Credits are consumed through usage or manual debit |
credit.expired | Unused credits expired after the configured expiry period |
credit.rolled_over | Unused credits are carried forward to a new grant at cycle end |
credit.rollover_forfeited | Credits forfeited because the max rollover count was reached |
credit.overage_charged | Overage charges applied when usage continues beyond zero balance |
credit.overage_reset | Accumulated overage charges are reset (for example, at the start of a new billing cycle) |
credit.manual_adjustment | Manual credit or debit adjustment made via dashboard or API |
credit.balance_low | Credit balance drops below the configured low balance threshold |
Ledger Events
All ledger events (credit.added through credit.manual_adjustment) share the same CreditLedgerEntryResponse payload documented in the schema below.
Balance Low Event (credit.balance_low)
Thecredit.balance_low event uses a different payload (CreditBalanceLowPayload) focused on threshold alerting:
The customer whose credit balance triggered the alert.
The subscription associated with this credit entitlement.
The credit entitlement that has a low balance.
Display name of the credit entitlement.
Current credit balance at the time of the alert.
Total credits issued per billing cycle for this subscription.
The configured low balance threshold percentage.
The absolute credit amount that the threshold corresponds to.
Using credit.balance_low for Proactive Alerts
Use the credit.balance_low webhook to notify customers before they run out of credits:
Get Customer Balance
Check a customer’s current balance via API.
Create Ledger Entry
Manually credit or debit a customer’s balance.
Webhook Payload Schema
Response for a ledger entry
Available options:
credit_added, credit_deducted, credit_expired, credit_rolled_over, rollover_forfeited, overage_charged, overage_reset, auto_top_up, manual_adjustment, refund Last modified on May 19, 2026