Skip to content

Billing & subscriptions

import { Aside } from ‘@astrojs/starlight/components’;

ShareOut billing is workspace-scoped: each workspace can have its own subscription. The workspace owner’s account tier is derived from the highest active plan across workspaces they own — that tier gates Teams-only features (subdomains, connectors, publish governance, and more).

  1. Sign up with Google. You land on the Free plan with a personal workspace and starter examples — no card.
  2. Start a plan. Pick Pro or Teams at pricing → checkout. A 15-day free trial begins immediately, no card required.
  3. Add a card any time on /billing (embedded Rebill checkout). With a card saved, the trial converts to paid automatically when it ends.
  4. Active. You’re billed each period — Pro a flat price, Teams per active member.
  5. Add teammates → upgrade Pro → Teams. A Pro workspace is single-user; upgrading to Teams unlocks members immediately (billing catches up at renewal).
  6. Renewals. Teams recomputes the charge from your live member count before each renewal (seat true-up). Pro is flat.
  7. If a charge fails the plan goes past_due; update the card on /billing to retry and restore access.
  8. Cancel any time — you keep access until the period end. Admins can issue refunds.

Each step is detailed below.

Plan IDNamePriceMin seatsTier unlocked
plan_pro_monthlyPro$12/mo1pro
plan_pro_annualPro$100/yr (~$8.33/mo)1pro
plan_teams_monthlyTeams$15/active member/mo2 (minimum billed)team
plan_teams_annualTeams$120/active member/yr (~$10/mo)2 (minimum billed)team

List available plans (public):

GET /v1/billing/plans
  1. Open shareout.site/teams/pricing and pick a plan.
  2. Checkout at /checkout?plan={plan_id} — choose the workspace (Teams bills per active member; see below).
  3. 15-day free trial starts immediately. No credit card required on day one.
  4. Manage billing at /billing?workspace_id={id} — add a card via embedded Rebill checkout, view invoices, cancel.

Workspace owners and admins can subscribe and manage payment methods.

POST /v1/billing/subscribe
Authorization: Bearer {token}
Content-Type: application/json
{
"workspace_id": "ws_abc123",
"plan_id": "plan_teams_monthly",
"seats": 3
}

Response includes subscription_id, status (trialing), trial_ends_at, and has_card.

Trial rules:

  • One free trial per workspace, ever — a cancelled or expired subscription still counts.
  • After the trial, a saved card is charged automatically. Without a card, paid access lapses until you add one.

Add or update a card on /billing. ShareOut uses Rebill v3 embedded checkout in the browser — the <rebill-checkout> web component for new subscriptions and <rebill-save-card> during trial. Card data stays on Rebill’s PCI scope; ShareOut only stores Rebill customer/subscription IDs.

The billing page calls these session endpoints after a successful checkout:

POST /v1/billing/rebill-activate
{ "subscription_id": "sub_xyz789", "rebill_subscription_id": "", "rebill_customer_id": "" }
POST /v1/billing/rebill-save-card
{ "subscription_id": "sub_xyz789", "rebill_card_id": "", "rebill_customer_id": "" }

A legacy POST /v1/billing/card token path remains for older dLocal subscriptions being migrated off.

Once a card is on file, the billing page shows the saved brand and last four digits.

StatusMeaning
trialingFree trial active. Card optional until trial ends.
activePaid and current.
past_dueLast charge failed — update the card to restore access.
cancelledCancelled; access continues until current_period_end.
expiredTrial or subscription ended without payment.

Check status:

GET /v1/billing/subscription?workspace_id={id}
Authorization: Bearer {token}

Teams is billed per active workspace member, not a fixed seat pool you pre-purchase:

  • Checkout and the billing page show the current member count (minimum 2).
  • Add or remove members anytime — each renewal charges the live headcount.
  • Before renewal, Rebill adjusts the recurring amount to match (seat true-up).

Pro is always one seat. The seats field on POST /v1/billing/subscribe is still accepted for API compatibility but Teams billing follows member count.

External members are free. People you invite as Clients (external sharing) never count toward seats or renewal charges. The billing page shows them on a separate “External members — included” line. See External sharing.

A Pro workspace is single-user. To bring teammates in, upgrade the workspace to Teams. On /billing, the Change plan section shows the other tiers at your current billing interval:

  • Upgrade (Pro → Teams) applies immediately — members, the workspace subdomain, and governance unlock the moment it succeeds. Your next renewal bills the new plan (Teams: active members × per-seat price); the current partial period is not prorated.
  • Switch (Teams → Pro, a downgrade) is deferred to your next renewal, so you keep what you paid for until the period ends.
PATCH /v1/billing/subscription/plan
{ "subscription_id": "sub_xyz789", "plan_id": "plan_teams_monthly" }

The response says which path was taken: { "applied": "immediate" } for an upgrade, or { "applied": "next_renewal", "pending_plan_id": "…" } for a deferred downgrade. Enterprise is sales-led — contact us.

Manual seat changes take effect at the next billing cycle (stored as pending_seats). For Teams, add/remove members instead — the renewal true-up bills the live headcount automatically.

PATCH /v1/billing/subscription/seats
{ "subscription_id": "sub_xyz789", "seats": 5 }

If a renewal charge fails, the subscription becomes past_due and paid features are held. The /billing page then shows an Update payment method form — even with a card already on file — so the owner can enter a fresh card. A successful checkout retries the charge and restores active.

DELETE /v1/billing/subscription
{ "subscription_id": "sub_xyz789" }

Returns access_until — the date paid features remain available.

GET /v1/billing/invoices?workspace_id={id}
Authorization: Bearer {token}

Returns payment history (amount_cents, currency, status, invoice_number, paid_at).

A ShareOut admin can refund a paid invoice (full or partial). The refund is issued on the payment processor and the invoice status becomes refunded; refunded invoices are excluded from revenue. Refunds made directly in the processor reconcile back automatically (via the payment.updatedrefunded webhook). There is no self-serve refund endpoint — contact support.

ShareOut admins can grant a workspace a complimentary paid plan — full Pro or Teams access with no card or charges. The billing page shows a complimentary badge instead of payment controls.

GET /v1/account/tier still returns the user’s effective tier and feature flags (driven by active subscriptions). For production upgrades, use checkout or POST /v1/billing/subscribe — not the legacy POST /v1/account/upgrade endpoint (dev/testing only).

See Teams overview for how tier maps to feature gates.

Platform-key AI usage (workspace assistant, in-artifact visitor chat, Page Pilot, crew runs on ShareOut’s key) draws from a monthly included credit per workspace, reset each UTC calendar month. BYO provider keys are unlimited and do not consume this pool.

TierIncluded credit
Free$0.50 / month
Pro$5 / month
Teams$10 × active members / month
Complimentary / EnterpriseUnlimited (exempt)

When credit is exhausted, new AI sessions return HTTP 402 with code AI_CREDIT_EXHAUSTED until the next month, you upgrade, or you add a bring-your-own provider key under workspace AI settings. Continuing an already-open conversation is still allowed.

Spend and remaining balance appear on the workspace Usage page (GET /v1/workspaces/{id}/llm-config includes aiCreditUsd, aiCreditRemainingUsd, aiCreditAllowed).