Skip to content

Get org billing state and plan entitlements

GET
/v1/admin/orgs/{org_id}/billing
org_id
required
string
month
string
Example
2026-06

Ok

object
gift
object
id
required
string
campaign_id
required
string
code_id
string
intent_id
string
root_org_id
required
string
plan_tier
string
duration_days
integer
status
required
string
created_at
string format: date-time
starts_at
string format: date-time
ends_at
string format: date-time
error
string
renewal_state
required
string
Allowed values: off pending arranged revoked
renewal_version
required
integer format: int64
resources
object
inboxes
required
integer
custom_domains
required
integer
webhooks
required
integer
projects
required
integer
members
required

Distinct joined people across active organizations under the billing root.

integer
org_id
required
string
customer_id
required
string
billing_owner_id
required

The org id used for plan and monthly usage enforcement.

string
stripe_mode
required
string
Allowed values: test live
stripe_configured
required
boolean
plan_tier
required
string
Allowed values: free developer startup enterprise
entitlements
required
object
tier
required
string
Allowed values: free developer startup enterprise
name
required
string
monthly_price_cents
required
integer format: int64
domain_annual_com_reference_cents
required

Reference annual managed-domain price for .com; other TLDs are quoted from live registrar cost at checkout.

integer format: int64
included_messages_monthly
required

Combined inbound plus outbound recipient/message quota.

integer format: int64
daily_message_cap
integer format: int64
inbox_limit
required
integer format: int64
custom_domain_limit
required
integer format: int64
storage_bytes
required

Decimal GB converted to bytes.

integer format: int64
pod_limit
required
integer format: int64
webhook_limit
required
integer format: int64
member_limit
required
integer format: int64
custom
boolean
checkout_available
boolean
subscription
object
org_id
required
string
customer_id
required
string
plan_tier
required
string
Allowed values: free developer startup enterprise
status
required
string
stripe_customer_id
string
stripe_subscription_id
string
stripe_subscription_item_id
string
stripe_price_id
string
current_period_start
string format: date-time
current_period_end
string format: date-time
cancel_at_period_end
required
boolean
usage
required
object
daily_sent_recipients
integer format: int64
daily_reserved_recipients
integer format: int64
monthly_reserved_recipients
integer format: int64
daily_message_limit

Outbound daily ceiling; -1 means explicitly unlimited.

integer format: int64
daily_reset_at
string format: date-time
recipient_metrics
object
daily_unique
integer format: int64
monthly_unique
integer format: int64
since_ms

First observed metered recipient in this period; zero means none observed.

integer format: int64
billing_owner_id
required
string
customer_id
required
string
month
required
string
Example
2026-06
sent_messages
required
integer format: int64
sent_recipients
required
integer format: int64
received_messages
required
integer format: int64
received_recipients
required
integer format: int64
storage_bytes
required

Compatibility alias for storage_used_bytes.

integer format: int64
storage_used_bytes
required

Current owner-level storage gauge from latest mailbox snapshots.

integer format: int64
storage_peak_used_bytes
required

Billing-month high-water mark

integer format: int64
storage_included_bytes
required

Included storage bytes for the effective plan; -1 means unlimited/custom.

integer format: int64
storage_over_limit_bytes
required
integer format: int64
storage_peak_over_limit_bytes
required
integer format: int64
storage_mailbox_count
required
integer
storage_captured_at
string format: date-time
storage_measurement_status
string
Allowed values: available unavailable
storage_quota_exceeded
required
boolean
total_messages
required
integer format: int64
message_quota_limit
required

Combined monthly inbound plus outbound message quota for the effective plan; -1 means unlimited/custom.

integer format: int64
message_quota_remaining
required

Remaining included messages this month; -1 means unlimited/custom.

integer format: int64
message_quota_exceeded
required
boolean
plans
required
Array<object>
object
tier
required
string
Allowed values: free developer startup enterprise
name
required
string
monthly_price_cents
required
integer format: int64
domain_annual_com_reference_cents
required

Reference annual managed-domain price for .com; other TLDs are quoted from live registrar cost at checkout.

integer format: int64
included_messages_monthly
required

Combined inbound plus outbound recipient/message quota.

integer format: int64
daily_message_cap
integer format: int64
inbox_limit
required
integer format: int64
custom_domain_limit
required
integer format: int64
storage_bytes
required

Decimal GB converted to bytes.

integer format: int64
pod_limit
required
integer format: int64
webhook_limit
required
integer format: int64
member_limit
required
integer format: int64
custom
boolean
checkout_available
boolean

Missing or invalid credential.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope
reason

Machine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.

string
used

Consumed plus reserved units.

integer format: int64
delta

Requested additional units.

integer format: int64
limit
integer format: int64
remaining
integer format: int64
consumed
integer format: int64
reserved
integer format: int64
next_reset_at

Next UTC usage-period boundary; pending reservations survive this boundary.

string format: date-time
upgrade_required
boolean

Authenticated but lacking the required scope, or out of quota.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope
reason

Machine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.

string
used

Consumed plus reserved units.

integer format: int64
delta

Requested additional units.

integer format: int64
limit
integer format: int64
remaining
integer format: int64
consumed
integer format: int64
reserved
integer format: int64
next_reset_at

Next UTC usage-period boundary; pending reservations survive this boundary.

string format: date-time
upgrade_required
boolean