Skip to Content
splashify CLISubscription

Subscription

The subscription command mirrors Settings → Subscriptions — the active plan, add-ons, and the list of plans available for upgrade.

Read-only by design. No upgrade, no payment, no coupon validation. To change a plan, use the web app.

Quick start

splashify subscription # consolidated view splashify subscription status # current plan + add-ons splashify subscription plans # available plans you can upgrade to splashify subscription addons # add-ons on the current plan

Command reference

SubcommandBacked by
(none — default)Merges three reads: /app/plans/subscription, /app/developer/cli-eligibility, /plans
status / currentGET /api/v1/app/plans/subscription
plans / availableGET /api/v1/plans
addonsProjection of addons[] from /app/plans/subscription

Subscription gate at connect

splashify connect calls /api/v1/app/developer/cli-eligibility after the token is validated. The endpoint refuses with reason: "subscription_expired" when:

  • The user has no active paid plan (plan_status != "active" or the plan has expired), AND
  • The trial has ended (trial_ends_at is in the past or missing).

In that case the CLI prints:

your trial has ended and there is no active paid plan on this account. The splashify CLI requires an active subscription (paid plan OR unexpired trial). Upgrade your plan: https://app.splashifypro.com/settings/subscriptions Run "splashify subscription" once a plan is active to confirm, then re-run "splashify connect".

Free-trial users continue to work normally — the gate only fires when both trial and paid plan are unavailable.

Per-feature upgrade prompts

If a backend endpoint refuses a CLI command because the user’s plan is below the tier required for that feature, the response is:

{ "success": false, "error": "plan_required", "required_plan":"GROWTH", "current_plan": "STARTER", "feature": "broadcasts.create", "upgrade_url": "https://app.splashifypro.com/settings/subscriptions" }

The CLI auto-detects this shape on any HTTP 402/403 and prints:

error: this feature requires a higher plan (you are on STARTER, needed: GROWTH) Feature: broadcasts.create Upgrade your plan: https://app.splashifypro.com/settings/subscriptions

The CLI never invents tier rules — the backend stays the source of truth. Adding a new tier gate only requires the backend to return this shape; the CLI displays it correctly without a new release.

Common patterns

# Just the current plan name + expiry splashify subscription status | \ jq '{plan: .user.plan_name, status: .user.plan_status, expires: .user.plan_expires_at}' # Is the IP allowlist add-on active? splashify subscription addons | \ jq '.addons[] | select(.feature == "allowed_ips") | .is_active' # Pretty list of upgrade options splashify subscription plans | \ jq -r '.plans[] | "\(.name)\t\(.base_price) \(.currency)/\(.billing_cycle)"'