---
title: "Update low balance settings"
method: PUT
path: "/api/space/low_balance_setting"
tags: ["Space Balance"]
---

# Update low balance settings

`PUT /api/space/low_balance_setting`

Replaces the low balance notification and auto top-up settings. The update writes the
whole setting, so send every field you want to keep; omitted fields take their
defaults.

When `send_topup` is `true`, `topup_amount_in_microdollars` and
`topup_payment_method_id` are required. The threshold must be a whole number of cents
between 5,000,000 and 1,000,000,000,000 microdollars, and the top-up amount a whole
number of cents of at least 10,000,000 microdollars (10.00 USD). Some spaces are
required to keep auto top-up on; disabling it there is rejected with
`send_topup_cannot_be_disabled`.

#### Permissions

Authenticate with a [Personal access token](/docs/apis/authorization#personal-access-tokens) whose holder is an owner or admin of the space. A project API token is not accepted on this endpoint, and a Personal access token has no scopes: the holder's role in the space is the whole authorization decision.

## Request body

- SpaceUpdateLowBalanceSettingRequest — Request body for updating low balance notifications and auto top-up. The update writes the whole setting, so omitted fields take their defaults.
  - `threshold_in_microdollars` integer — The balance, in microdollars, below which notifications and auto top-up trigger. A whole number of cents, at least 5,000,000 (5.00 USD) and at most 1,000,000,000,000 (1,000,000 USD). Defaults to the platform default when omitted.
  - `send_email` boolean — Whether to send an email when the balance falls below the threshold.
  - `send_webhook` boolean — Whether to send a webhook when the balance falls below the threshold.
  - `webhook_url` string — The URL to send the low balance webhook to. Required when `send_webhook` is `true` (`webhook_url_missing`).
  - `webhook_method` 'GET' | 'POST' — The HTTP method used to deliver the low balance webhook.
  - `send_topup` boolean — Whether to top the balance up automatically when it falls below the threshold. Some spaces are required to keep auto top-up on; disabling it there is rejected with `send_topup_cannot_be_disabled`.
  - `topup_amount_in_microdollars` integer — The amount, in microdollars, to deposit on each auto top-up. Required when `send_topup` is `true` (`topup_amount_missing`). A whole number of cents and at least 10,000,000 (10.00 USD).
  - `topup_payment_method_id` string, uuid — Universal Unique Identifier.

## Response `200`

The request has succeeded.

- SpaceLowBalanceSetting — How the space is notified when its balance falls below the threshold, and whether it tops itself up automatically.
  - `type` 'low_balance_setting', required — The object type. Always `low_balance_setting`.
  - `threshold_in_microdollars` integer, required — The balance, in microdollars, below which notifications and auto top-up trigger. Falls back to the platform default when never configured.
  - `threshold` number, double, required — The threshold in US dollars. The same value as `threshold_in_microdollars`.
  - `send_email` boolean, required — Whether an email is sent when the balance falls below the threshold.
  - `send_webhook` boolean, required — Whether a webhook is sent when the balance falls below the threshold.
  - `webhook_url` string, nullable, required — The URL the low balance webhook is sent to, or `null` when none is set.
  - `webhook_method` 'GET' | 'POST', required — The HTTP method used to deliver the low balance webhook.
  - `send_topup` boolean, required — Whether auto top-up is enabled.
  - `topup_amount_in_microdollars` integer, nullable, required — The amount, in microdollars, deposited by each auto top-up. Can be `null`.
  - `topup_amount` number, double, nullable, required — The auto top-up amount in US dollars. The same value as `topup_amount_in_microdollars`.
  - `topup_payment_method_id` string, uuid, required — Universal Unique Identifier.

## Other responses

- `400` — The request body is not valid JSON.
- `401` — The credential is missing, unknown, or revoked; its holder is not a member of the space in the subdomain; or the member is not an owner or admin. The body is the plain text `Unauthorized`. An unverified space instead receives the JSON body `{"message": "Please validate a phone number to access your account."}` on every endpoint under `/api/space`.
- `422` — The request failed validation. Threshold codes: `threshold_not_whole_cents`, `threshold_below_minimum`, `threshold_above_maximum`. Auto top-up codes: `topup_amount_missing`, `topup_amount_not_whole_cents`, `topup_amount_below_minimum`, `topup_payment_method_missing`, `topup_payment_method_invalid`, `send_topup_cannot_be_disabled`. Webhook codes: `webhook_url_missing`, `webhook_method_invalid`.
- `500` — An internal server error occurred.
- `502` — An upstream billing or usage reporting service was unavailable. The body is empty; retry later.

## Changes

> 161 revisions in range; 3 could not be searched.

- **2026-09-15** `45bac4fd93ab` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/signalwire/apis/signalwire-rest-api/changes/api/space/low_balance_setting/put.md)

---

[API](https://skmtc.dev/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.dev/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signalwire/apis/signalwire-rest-api/revisions/20ee0f568ece?raw)
