latestOpenAPI 3.1.02026-08-211061591.1 MB

69a962f1578f

Billing

Reactivate Plan

Reactivate a previously canceled subscription.

Returns the fresh SubscriptionInfo after reactivation so callers can avoid a follow-up fetch. Raises NO_CANCELABLE_SUBSCRIPTION if there is no active subscription to reactivate.

post/api/v1/payments/reactivate_plan

Response

Successful Response

status'none' | 'autorenew' | 'canceled' | 'expired' | 'trial' | 'trial_canceled' required

Current subscription status. none = never subscribed, autorenew = active and renewing, canceled = active until period end, expired = no longer active, trial = in free trial, trial_canceled = trial that will not convert.

plan'free' | 'pro' | 'pro_gifted' | 'pro_legacy' required

Plan tier the user is currently on.

expiration_datestring nullable required

Date the current paid period ends, in YYYY-MM-DD format.

activation_method'stripe' | 'appstore' | 'playstore' | 'teams' | 'manual' required

How the active subscription was purchased.

billing_portal_urlstring nullable required

One-time URL to the Stripe customer portal, if available.

billing_portal_switch_to_annual_urlstring nullable required

One-time URL to a Stripe portal flow for switching from monthly to annual billing, if eligible.

has_billing_portalboolean required

true when the user has a Stripe customer with a portal session.

has_billing_portal_switch_to_annualboolean required

true when a switch-to-annual flow is available in Stripe.

invoice_credit_balanceobject nullable required

Stripe customer credit balance, keyed by ISO 4217 currency code, with values in the smallest currency unit (e.g. cents).

has_switch_legacy_to_currentboolean required

true when the user is eligible to switch from a legacy Pro price to the current one.

Example response

{
  "status": "autorenew",
  "plan": "pro",
  "expiration_date": "2026-12-31",
  "activation_method": "stripe",
  "plan_price": {
    "amount": "600",
    "raw_amount": 600,
    "currency": "USD",
    "billing_cycle": "monthly",
    "tax_behavior": "exclusive"
  },
  "has_billing_portal": true,
  "invoice_credit_balance": {
    "usd": 0
  }
}