staqlydocs
REST APIAPI referenceBilling

Subscription status

Subscription status (admin)

Every request sends Authorization: Bearer ...: the access token in local mode, an API key stk_... in cloud mode. Use Send to try it against your cloud instance with your API key.

GET
/v1/billing

Whether billing is enabled on this instance (cloud mode with Stripe configured), the plan, Stripe's subscription status and the end of the trial or paid period.

Authorization

headerAuthorizationBearer <token>

API key (stk_...), or in the Community Edition the access token (stk_local_...)

Response Body

Billing status

application/json
  1. response
enabled*boolean

Billing is configured on this instance

plan*string

starter, plus, pro or business (cloud; an operator may also set a plan of their own), unlocked (Community Edition)

subscription_status*|

Stripe's status (active, trialing, past_due, canceled, unpaid, incomplete); null when never subscribed

plan_expires_at*|

End of the trial or paid period, plus a 3-day payment grace when Stripe bills it (null = no end)

trial_ends_at*|

When the free trial ends (Stripe's trial_end, or the server-side trial's end without billing); null when not in a trial

Formatdate-time
suspended*boolean

The period ended unpaid; the workspace is read-only

has_customer*boolean

A Stripe customer exists (the portal is available)

seats*integer

People billed: every workspace member, whatever the role (plans are priced per user). Open invitations are billed once accepted; the subscription's quantity follows the members

trial*string

Whether choosing Starter now starts its 7-day trial (card required): available; used (this workspace had a subscription before); other_workspace (another workspace of the account is in its trial, so this one is charged today); none (billing off, or the workspace already pays). Each workspace gets the trial once, one workspace of an account at a time

Value in"available""used""other_workspace""none"
curl -X GET 'https://staqly.example.com/v1/billing'
{  "enabled": true,  "plan": "plus",  "subscription_status": "active",  "plan_expires_at": "string",  "trial_ends_at": "2019-08-24T14:15:22Z",  "suspended": true,  "has_customer": true,  "seats": 3,  "trial": "available"}