BillingStanding
Where a tenant stands with billing now (plan W9): its plan and its state, its balance, whether it can start work, any plan change on its way, and how much of each allowance it has used this billing period.
Kind: an object, used in responses.
Fields
Section titled “Fields”Every field is present in a response; empty ones are null.
| Field | Type | Description |
|---|---|---|
tier | SkuTier | |
cadence | BillingCadence | |
status | ContractStatus | Frozen after a failed renewal payment (see BillingStanding.FrozenUntilUtc). |
currency | string | |
balance | number | What’s left to spend on work beyond the allowances. |
lastTopUpAmount | number | null | The last top-up’s amount, which a low-balance alert is a share of. |
lowBalance | boolean | The balance is low: above zero but below the alert’s share of the last top-up (20% when the email is off), and the tenant shows a banner for it. False when it has never topped up, or has turned the banner off. |
canTopUp | boolean | The plan can buy credit (top-ups and automatic top-ups). |
minimumTopUp | number | The smallest top-up (and automatic top-up) that can be bought, in BillingStanding.Currency. |
maximumTopUp | number | The largest top-up (and automatic top-up) that can be bought, in BillingStanding.Currency. |
outOfCredit | boolean | Nothing new can start: the balance can’t pay for more work. |
stoppedMeters | BillingMeter[] | On a plan without top-ups, the allowances used up this period: that work can’t run until the next. |
premiumExecution | boolean | The plan includes sandboxes (capsules) and code pipelines. |
frozenUntilUtc | datetime | null | After a failed renewal payment: when, if it’s still unpaid, Free’s limits apply in full (UTC). |
frozenFromTier | SkuTier| null | The plan it had before a failed renewal payment, and goes back to when the renewal is paid. |
scheduledChange | BillingScheduledChange| null | A downgrade or cancellation booked for the renewal. |
pendingChange | BillingPendingChange| null | An upgrade waiting for its prorated payment. |
hasBillingAccount | boolean | The tenant has an account at the payment provider (cards and invoices can be managed). |
hasSubscription | boolean | The tenant pays for its plan by subscription. |
termEndsAtUtc | datetime | null | When the subscription renews: the end of its current term, a month on a monthly plan and a year on an annual one. A cancellation or a booked downgrade takes effect then. Null without a subscription. |
periodStartUtc | datetime | When the current billing month began, which is when this month’s allowances started. |
periodEndUtc | datetime | When the current billing month ends and the allowances reset. Every plan’s allowances reset monthly. |
meters | BillingMeterStanding[] | This period’s use of each allowance. |
Example
Section titled “Example”{ "tier": "Free", "cadence": "Monthly", "status": "Active", "currency": "...", "balance": 0, "lastTopUpAmount": 0, "lowBalance": false, "canTopUp": false, "minimumTopUp": 0, "maximumTopUp": 0, "outOfCredit": false, "stoppedMeters": [ "Standard" ], "premiumExecution": false, "frozenUntilUtc": "2026-10-26T12:00:00.0000000Z", "frozenFromTier": "Free", "scheduledChange": { "kind": "Downgrade", "targetTier": "Free", "targetCadence": "Monthly", "targetLaneAddOns": [ {} ], "effectiveAtUtc": "2026-10-26T12:00:00.0000000Z" }, "pendingChange": { "targetTier": "Free", "targetCadence": "Monthly", "targetLaneAddOns": [ {} ], "paymentUrl": "...", "expiresAtUtc": "2026-10-26T12:00:00.0000000Z" }, "hasBillingAccount": false, "hasSubscription": false, "termEndsAtUtc": "2026-10-26T12:00:00.0000000Z", "periodStartUtc": "2026-10-26T12:00:00.0000000Z", "periodEndUtc": "2026-10-26T12:00:00.0000000Z", "meters": [ { "meter": "Standard", "used": 0, "allowance": 0 } ]}Where it’s used
Section titled “Where it’s used”billing.standing(GET /billing/standing)