Current plan, subscription and display prices
curl --request GET \
--url https://app.hookie.ai/admin/api/billing/status \
--cookie hookie_session=const options = {method: 'GET', headers: {cookie: 'hookie_session='}};
fetch('https://app.hookie.ai/admin/api/billing/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hookie.ai/admin/api/billing/status"
headers = {"cookie": "hookie_session="}
response = requests.get(url, headers=headers)
print(response.text){
"plan": "free",
"subscription": {
"id": "<string>",
"status": "<string>",
"plan": "standard",
"quantity": 123,
"current_period_end": "<string>",
"cancel_at_period_end": 0
},
"prices": {
"pro": "9.99",
"team": "19.99"
},
"trial": {
"ends_at": "<string>"
},
"portal_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}Billing
Current plan, subscription and display prices
GET
/
admin
/
api
/
billing
/
status
Current plan, subscription and display prices
curl --request GET \
--url https://app.hookie.ai/admin/api/billing/status \
--cookie hookie_session=const options = {method: 'GET', headers: {cookie: 'hookie_session='}};
fetch('https://app.hookie.ai/admin/api/billing/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hookie.ai/admin/api/billing/status"
headers = {"cookie": "hookie_session="}
response = requests.get(url, headers=headers)
print(response.text){
"plan": "free",
"subscription": {
"id": "<string>",
"status": "<string>",
"plan": "standard",
"quantity": 123,
"current_period_end": "<string>",
"cancel_at_period_end": 0
},
"prices": {
"pro": "9.99",
"team": "19.99"
},
"trial": {
"ends_at": "<string>"
},
"portal_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}Authorizations
sessionbearerAuth
The console's sealed session cookie, set by WorkOS AuthKit. Mutating requests also require the X-Requested-With CSRF header.
Response
Readable by ANY workspace member — the owner-only gate starts after this branch.
'standard' is the internal id of the Pro plan.
Available options:
free, standard, team Show child attributes
Show child attributes
Display only, overridable from platform_settings. What Stripe charges is fixed by the price ids.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Stripe's hosted Customer Portal link. Non-null only on the standard/team plans and only when STRIPE_PORTAL_URL is configured. Cancel/update-payment-method happen there, not in this API.