---
title: "Balance low event"
method: POST
path: "balance.low"
tags: ["Webhook Events"]
---

# Balance low event

`POST balance.low` (webhook)

Balance billing only. The balance dropped below the low-balance alert set on auto top-up (`alertBelowCents` on `GET /v1/balance/auto-recharge`).

### When it fires

Once per drop below the threshold; a balance back at or above it re-arms the next one. It does not fire when an auto top-up is already covering the drop, and never when no alert is set.

### Who receives it

It belongs to the billing owner, not to a profile or account: endpoints scoped with `profileIds` or `accountIds` do not receive it. Restricted keys need the `money` resource group.

### How to act

Send the user to `fundingUrl` (Billing with the Add funds drawer open), or add funds through the API.

## Payload

- WebhookPayloadBalanceLow
  - `id` string, required: Stable webhook event ID: the dedupe key, also sent as the X-Zernio-Event-Id header and identical on every retry and redelivery. It identifies the event only, never an account or other resource.
  - `test` boolean: Always true when present: only a sample sent by POST /v1/webhooks/test with an event carries it. Real deliveries never do.
  - `event` 'balance.low', required
  - `balance` object, required
    - `spendableCents` integer, required: What pay-per-use can spend, in USD cents: available plus promo, less usage not posted yet.
    - `alertBelowCents` integer, required: The low-balance alert threshold it dropped below, in USD cents.
  - `fundingUrl` string, uri, required: Dashboard link that opens the Add funds drawer in Billing.
  - `timestamp` string, date-time, required: UTC time at which Zernio generated this event. Retries and redeliveries keep the original value.

## Acknowledgement `200`

Webhook received successfully

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) - [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/a79c233ebf22?raw)
