---
title: "Get billing status"
method: GET
path: "/organization/{id}/billing"
tags: ["Organizations"]
---

# Get billing status

`GET /organization/{id}/billing`

## Request

- Base URL: `https://api.elaichi.ai`
- URL: `https://api.elaichi.ai/organization/{id}/billing`
- Auth: HTTP bearer

Returns the organization's subscription and seat state. Requires the `billing:view` permission. For what the org may actually use, prefer `GET /organization/{id}/entitlements`.

## Path parameters

- `id` string, required

## Response `200`

OK

- object
  - `plan` string: Stored plan on the row: `gold`, `black`, or `none` once locked.
  - `effective_plan` 'gold' | 'black' | 'null', nullable: 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`.
  - `trial_ends_at` string, date-time, nullable
  - `trial_active` boolean: The Gold trial before a subscription starts. A Stripe `trialing` subscription is not this flag.
  - `stripe_customer_id` string, nullable
  - `stripe_subscription_id` string, nullable
  - `stripe_subscription_status` string, nullable
  - `stripe_price_id` string, nullable
  - `has_customer` boolean
  - `billing_configured` boolean: False when billing is not enabled for the service.
  - `seat_count` integer: Billable memberships, with the paid-subscription minimum of one. This is the quantity billed.
  - `available_plans` object: Which plans and billing intervals can be purchased.
    - `gold` boolean
    - `gold_monthly` boolean
    - `gold_yearly` boolean
    - `black` boolean
  - `pricing` object: What this org's next Gold purchase charges: the tier from its first purchase if it has one, otherwise the tier for the country the request comes from.
    - `country` string, nullable, required: ISO 3166-1 alpha-2 the price is based on, or null when unknown (which prices as list).
    - `tier` string, required: Tier id: `t0` (list) to `t4` by GDP band, or a country tier such as `in` (India). Compare by `discount_pct`.
    - `discount_pct` integer, required: Discount off list, 0–60.
    - `regional` boolean, required: `tier !== "t0"`.
    - `available` boolean, required: False only for a country Elaichi cannot sell to; a purchase from there is refused with `region_unavailable`.
    - `currency` string, required: Lowercase ISO 4217 the `gold` amounts are in.
    - `gold` object, required: Per-seat price for one cycle in `currency` minor units, exactly what is charged. `year` is the year total.
      - `month` object
        - `unit_amount` integer
      - `year` object
        - `unit_amount` integer
    - `list` object, required: List (t0) price to show the discount against: in `currency` when list price is set in it, else USD. Display only.
      - `currency` string
      - `gold` object
        - `month` object
          - `unit_amount` integer
        - `year` object
          - `unit_amount` integer

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited

---

[API](https://skmtc.dev/elaichi/apis/elaichi-api.md) · [All operations](https://skmtc.dev/elaichi/apis/elaichi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/elaichi/apis/elaichi-api/revisions/b22cfb7b6d15?raw)
