Skip to content
GET /organization/{id}/billing

Subscription and seat state for the plan screen. Requires the `billing:view` permission. For what the org may actually *use*, prefer `GET /organization/{id}/entitlements`.

Path Parameters

idstring
required·

Organization id (org_…).

Response Body

pricingobject
required·

What this org's next Gold checkout charges: its sticky tier from its first checkout if it has one, otherwise the tier for the country the request comes from.

availableboolean

False only for a country Elaichi cannot sell to — Checkout refuses it with region_unavailable.

countrystring,null

ISO 3166-1 alpha-2 the price is based on, or null when unknown (which prices as list).

currencystring

Lowercase ISO 4217 the gold amounts are in.

discount_pctinteger

Discount off list, 0–60.

goldobject

Per-seat price for one cycle in currency minor units — exactly what Checkout charges. year is the year total.

2 properties
monthobject
1 property
unit_amountinteger
yearobject
1 property
unit_amountinteger
listobject

List (t0) price to show the discount against: in currency when list price is set in it, else USD. Display only.

2 properties
currencystring
goldobject
2 properties
monthobject
1 property
unit_amountinteger
yearobject
1 property
unit_amountinteger
regionalboolean

tier !== "t0".

tierstring

Tier id: t0 (list) to t4 by GDP band, or a country tier such as in (India). Compare by discount_pct.

available_plansobject

Which prices this deployment has configured.

blackboolean
goldboolean
gold_monthlyboolean
gold_yearlyboolean
billing_configuredboolean

False when this deployment has no Stripe key configured.

effective_planstring,null

What the org is actually entitled to right now, after trial and Stripe subscription status are taken into account. null means locked — gated features refuse with subscription_required.

Possible values:
goldblacknull
has_customerboolean
planstring

Stored plan on the row: gold, black, or none once locked.

seat_countinteger

Billable memberships, with the paid-subscription minimum of one. This is the Checkout quantity.

stripe_customer_idstring,null
stripe_price_idstring,null
stripe_subscription_idstring,null
stripe_subscription_statusstring,null
trial_activeboolean

The local pre-Checkout Gold trial only. A Stripe trialing subscription is not this flag.

trial_ends_atstring,null · date-time
curl -X GET 'https://api.elaichi.ai/organization/<id>/billing' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json'
const response = await fetch('https://api.elaichi.ai/organization/<id>/billing', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import os
import requests

url = "https://api.elaichi.ai/organization/<id>/billing"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}

response = requests.get(url, headers=headers)
print(response.json())