> Documentation index: https://docs.kiste.run/llms.txt, a list of every page in this documentation.

# B: Billing

> Every B error code: what it means, when it happens and how to fix it.

17 codes. Each one is part of an error answer as `code`; `type` is the stable name that scripts branch on. The CLI shows the code at the end of its message, for example `(code: B01)`. Words in braces, such as `{name}`, are filled in with the actual value.

## B01

`billing_past_due` · HTTP 403

> Your last payment failed. (code: B01)

**When it happens.** Creating or starting a Kiste was refused because the last payment failed.

**How to fix it.** Update your payment method in Billing to create or start Kisten again.

**Retry.** No. Retrying the same request gives the same answer.

## B02

`wallet_empty` · HTTP 403

> Your credit is used up. (code: B02)

**When it happens.** Creating or starting a Kiste was refused because the account has no credit left.

**How to fix it.** Buy credit or choose a plan in Billing to run Kisten again.

**Retry.** No. Retrying the same request gives the same answer.

## B03

`plan_shape_not_included` · HTTP 403

> The {plan} plan doesn't include {shape} Kisten. (code: B03)

**When it happens.** The requested Kiste size is not part of the account's plan.

**How to fix it.** Choose another size, or upgrade in Billing.

**Retry.** No. Retrying the same request gives the same answer.

## B04

`plan_machine_limit` · HTTP 403

> The {plan} plan's Kiste limit is {limit}. (code: B04)

**When it happens.** Creating a Kiste would exceed the number of Kisten the plan allows.

**How to fix it.** Delete a Kiste, or upgrade in Billing.

**Retry.** No. Retrying the same request gives the same answer.

## B05

`plan_running_limit` · HTTP 403

> The {plan} plan's limit of running Kisten at once is {limit}. (code: B05)

**When it happens.** Starting or creating a Kiste would exceed the running Kisten the plan allows.

**How to fix it.** Stop a Kiste, or upgrade in Billing.

**Retry.** No. Retrying the same request gives the same answer.

## B06

`unknown_plan` · HTTP 400

> Please choose one of the offered paid plans. (code: B06)

**When it happens.** A checkout named a plan that does not exist or is free.

**How to fix it.** Pick a plan in Billing.

**Retry.** No. Retrying the same request gives the same answer.

## B07

`unknown_pack` · HTTP 400

> Please choose one of the offered credit packs. (code: B07)

**When it happens.** A credit purchase or auto-refill named a pack that does not exist.

**How to fix it.** Pick a credit pack in Billing.

**Retry.** No. Retrying the same request gives the same answer.

## B08

`no_payment_method` · HTTP 409

> There is no saved card for auto-refill yet. (code: B08)

**When it happens.** Auto-refill was turned on before any card was saved.

**How to fix it.** Buy credit or a plan once so a card is saved.

**Retry.** No. Retrying the same request gives the same answer.

## B09

`no_customer` · HTTP 409

> There is nothing to manage before your first purchase. (code: B09)

**When it happens.** The payment portal was opened before the first checkout.

**How to fix it.** Buy credit or a plan first.

**Retry.** No. Retrying the same request gives the same answer.

## B10

`billing_unavailable` · HTTP 503

> Payments aren't available right now. (code: B10)

**When it happens.** Payments are switched off or not set up, or this plan cannot be bought yet.

**How to fix it.** Try again later.

**Retry.** No. Retrying the same request gives the same answer.

## B11

`payment_provider_unavailable` · HTTP 502

> The payment service isn't answering right now. (code: B11)

**When it happens.** The payment service could not be reached or did not complete the request.

**How to fix it.** Try again in a moment.

**Retry.** Yes, with backoff: wait a moment and try again, waiting longer each time.

## B12

`invalid_billing_request` · HTTP 400

> That billing request isn't valid: {detail}. (code: B12)

**When it happens.** A billing request had an invalid value.

**How to fix it.** Correct it and try again.

**Retry.** No. Retrying the same request gives the same answer.

## B13

`invalid_payment_event` · HTTP 400

> This payment event was refused. (code: B13)

**When it happens.** A payment webhook had an invalid signature, was not an event, or was a live-mode event on a test setup.

**How to fix it.** Payment events come only from the payment service.

**Retry.** No. Retrying the same request gives the same answer.

## B14

`payment_event_failed` · HTTP 500

> This payment event couldn't be processed yet. (code: B14)

**When it happens.** A payment webhook could not be applied; the payment service will deliver it again.

**How to fix it.** The payment service retries it automatically.

**Retry.** No. Retrying the same request gives the same answer.

## B15

`already_subscribed` · HTTP 409

> You're already on the {plan} plan. (code: B15)

**When it happens.** A checkout was started for the plan the account already has.

**How to fix it.** Manage your plan in Billing.

**Retry.** No. Retrying the same request gives the same answer.

## B16

`plan_change_in_portal` · HTTP 409

> You already have a plan. Change it in the payment portal. (code: B16)

**When it happens.** A checkout for another plan was started while a subscription is active; plan changes happen in the payment portal.

**How to fix it.** Open Manage billing to switch plans.

**Retry.** No. Retrying the same request gives the same answer.

## B17

`api_key_cannot_change_billing` · HTTP 403

> An API key can't change payments or billing settings. (code: B17)

**When it happens.** An API key called a route that starts a payment or changes how the account pays (checkout, credit, auto-refill, payment portal).

**How to fix it.** Change billing in the console at kiste.run/app/billing.

**Retry.** No. Retrying the same request gives the same answer.

## Related topics

- [Overview](https://docs.kiste.run/errors.md)
- [K: Kisten (machines, snapshots, images, environments, commands)](https://docs.kiste.run/errors/k.md)
- [N: Network and connections](https://docs.kiste.run/errors/n.md)
- [D: Desktop and browser links](https://docs.kiste.run/errors/d.md)
- [S: Kiste Stream (published apps on kiste.stream)](https://docs.kiste.run/errors/s.md)
- [A: Account and sign-in](https://docs.kiste.run/errors/a.md)
- [L: Limits and capacity](https://docs.kiste.run/errors/l.md)
- [C: The kiste command-line tool](https://docs.kiste.run/errors/c.md)
- [P: Platform](https://docs.kiste.run/errors/p.md)
- Previous: [A: Account and sign-in](https://docs.kiste.run/errors/a.md)
- Next: [L: Limits and capacity](https://docs.kiste.run/errors/l.md)
