Skip to main content
WEBHOOK
billing.auto_topup_succeeded
{
  "type": "billing.auto_topup_succeeded",
  "data": {
    "customer_id": "cus_123",
    "feature_id": "messages",
    "quantity_granted": 100,
    "threshold": 20,
    "balance_after": 115,
    "invoice_mode": false,
    "invoice": {
      "stripe_id": "in_1A2B3C4D5E6F7G8H",
      "status": "paid",
      "total": 1000,
      "currency": "usd",
      "hosted_invoice_url": "https://invoice.stripe.com/i/acct_123/test_456"
    }
  }
}

Payload Fields

customer_id
string
required
The ID of the customer whose balance was topped up.
feature_id
string
required
The feature ID that was automatically topped up.
quantity_granted
number
required
The normalized amount of balance granted by the top-up.
threshold
number
required
The configured balance threshold that triggered the top-up.
balance_after
number
required
The customer’s remaining balance for the feature after the top-up.
invoice_mode
boolean
required
Whether the auto top-up created a send_invoice invoice instead of auto-charging.
invoice
object
required
The invoice created for the auto top-up.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
type
string
required

The webhook event type.

Allowed value: "billing.auto_topup_succeeded"
data
object
required
Example:
{
"customer_id": "cus_123",
"feature_id": "messages",
"quantity_granted": 100,
"threshold": 20,
"balance_after": 115,
"invoice_mode": false,
"invoice": {
"stripe_id": "in_1A2B3C4D5E6F7G8H",
"status": "paid",
"total": 1000,
"currency": "usd",
"hosted_invoice_url": "https://invoice.stripe.com/i/acct_123/test_456"
}
}

Response

200

Webhook received successfully.