Billing API
Billing covers a subaccount’s subscription, metered usage, and the agency’s rate card and
rebilling. Endpoints are under /api/v1/billing. Agency-only endpoints are restricted to the
agency org.
Endpoints
Section titled “Endpoints”| Method | Path | Description |
|---|---|---|
GET |
/billing/summary |
Billing summary for the acting org. |
POST |
/billing/checkout |
Start a checkout. |
GET |
/billing/usage |
Per-meter daily usage series and totals (reads usage rollups). |
GET |
/billing/rate-card |
Get the rate card (agency-only; stored on the agency org settings). |
PUT |
/billing/rate-card |
Update the rate card (agency-only). |
POST |
/billing/orgs/{org_id}/subscription |
Create a subscription for a client org (agency-only, test-mode gated). |
DELETE |
/billing/orgs/{org_id}/subscription |
Cancel at period end (agency-only). |
POST |
/billing/test-clock-run |
Run a Stripe test-clock cycle (agency-only; refuses a non-test key). |
POST |
/billing/signup-trial |
Start a card-required trial. |
GET |
/billing/trial-status |
Trial status, including whether access is blocked. |
POST |
/billing/webhooks/stripe |
Stripe webhook (lifecycle + rebilling events). |
Pricing and trials
Section titled “Pricing and trials”The decided pricing is a single flat plan ($297/mo, with a quarterly prepay) plus metered
usage rebilling. A trial is card-required; a 30-day trial that doesn’t convert is lapsed by a
daily sweep, and the per-request billing gate then returns 402 for a lapsed/past-due client
org. The agency org is always exempt. See the Rebilling Money Model.
The trial-lifecycle state machine (none / trialing / active / past_due / lapsed /
canceled) is driven by Stripe webhooks plus a daily trial-expiry beat.