# `account.insufficient_balance` — Insufficient wallet balance

**HTTP status:** 402  
**Retryable:** no — change the request or the flow first

## When it happens

The wallet balance does not cover the amount due. `context` carries `required`, `available` and `shortfall`. The booking hold is kept until it expires.

## What to do

Top up the wallet (panel → Finance) and call the same endpoint again before the hold expires. Check `GET /account/balance` before issuing to avoid this.

## Example response

```json
{
  "type": "https://quickota.com/developers/errors/account.insufficient_balance",
  "title": "Insufficient wallet balance",
  "status": 402,
  "code": "account.insufficient_balance",
  "detail": "The wallet balance does not cover the amount due. \u0060context\u0060 carries \u0060required\u0060, \u0060available\u0060 and \u0060shortfall\u0060. The booking hold is kept until it expires.",
  "suggestion": "Top up the wallet (panel \u2192 Finance) and call the same endpoint again before the hold expires. Check \u0060GET /account/balance\u0060 before issuing to avoid this.",
  "retryable": false,
  "requestId": "req_7f3a2c9e41d0b8a6c5e21f90"
}
```

See [Errors](https://quickota.com/developers/guides/errors) for how to handle errors in general.
