billing_account_availableboolean
Whether payment-method and invoice management is available.
plan'free' | 'hobbyist' | 'developer' | 'startup' | 'enterprise' required
statusstring nullable
Stripe subscription status (active, past_due, ...) or None on Free.
cancel_at_period_endboolean
Whether the subscription is set to cancel at the period boundary.
current_period_endinteger nullable
Unix seconds when the current monthly usage cycle ends, if subscribed. Allowances reset and usage is billed at this boundary.
billing_interval'month' | 'year'
plan_period_endinteger nullable
Unix seconds when the plan fee next renews. Equals current_period_end on monthly plans; up to a year out on yearly plans.
pending_plan'free' | 'hobbyist' | 'developer' | 'startup' | 'enterprise'
pending_change_dateinteger nullable
Unix seconds when the pending plan change / cancellation takes effect.
pending_startup_variant'outbound' | 'inbound'
pending_billing_interval'month' | 'year'
legacy_developer_priceboolean
True when the subscription's flat price is the retired $25 Developer price (sunset migration pending); the console surfaces the phase-out banner from this.
stripe_configuredboolean required
False when Stripe isn't configured server-side; the UI hides upgrade actions.
annual_billing_availableboolean
Whether yearly plan billing can be selected.
balanceinteger nullable
Stripe customer account balance in cents (negative = credit available, positive = amount owed). None on Free with no customer yet, or if the read failed.
estimated_next_billinteger nullable
Amount due in cents on the upcoming invoice (plan fee + metered overage accrued so far this cycle), net of any account credit. None when there's no subscription (Free) or the preview read failed.
mail_custom_signatures_enabledboolean
Whether custom email signatures are available to this organization, including account-specific overrides, regardless of subscription status.