Billing
post/api/v1/billing/change-plan

Request

  • Base URL
    https://api.inkbox.ai (the document declares no server; this is the origin it was published from)
  • URL
    https://api.inkbox.ai/api/v1/billing/change-plan
  • Auth
    • HTTP bearer
    • or API key in header X-API-Key

Request body

plan'free' | 'hobbyist' | 'developer' | 'startup' | 'enterprise' required
startup_variant'outbound' nullable

Startup only: pass the fixed value 'outbound' when selecting the supported $200 plan. Omit or pass null while keeping the current Startup subscription to clear a pending change without changing its legacy price.

interval'month' | 'year'

Response

Successful Response

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.

Changes

    • info

      added the optional property to the response with the status

    • info

      added to the response body allOf list for the response status

    • info

      removed subschema #1 from the response body allOf list for the response status