Billing
Read the account's plan
The plan the account gets right now, the status of its subscription, when the period paid for ends, whether it is set to end then, and whether the account has billing details at Stripe.
GET
/user/billingTL;DR
| Question | Answer |
|---|---|
| What does it do? | Read the account's plan. |
| What does it take? | Nothing. |
| What does it return? | Status 200 with a body of type BillingState. |
| What can go wrong? | 401 not signed in; 429 too many requests. Every failure uses the one error envelope. |
What it does
The plan the account gets right now, the status of its subscription, when the period paid for ends, whether it is set to end then, and whether the account has billing details at Stripe. Reads the account's own record and does not call Stripe.
Responses
| Status | Meaning | Body |
|---|---|---|
| 200 | The account's plan. | BillingState |
| 401 | Not signed in. | ErrorResponse |
| 429 | Too many requests. | ErrorResponse |
Response body
A 200 answer has the type BillingState.
| Field | Type | Required | Description |
|---|---|---|---|
plan | "free" | "pro" | yes | The plan the account gets right now. It is the free plan whenever the subscription is not paying, whatever plan was bought. |
status | string | yes | Stripe's status for the subscription (active, trialing, past_due, canceled, unpaid, incomplete, and so on), or none when the account never started one. |
currentPeriodEnd | integer | null | yes | When the period paid for ends, in milliseconds since the epoch, or null when there is no subscription. |
cancelAtPeriodEnd | boolean | yes | True while the subscription is scheduled to end at the close of the period already paid for. |
hasCustomer | boolean | yes | True once the account has billing details at Stripe, which is when the billing portal can be opened. |
See also
| Doc | Why |
|---|---|
| API reference | Every endpoint, and the error envelope |
| Schemas | Every request and response type |
| Tool reference | The operations as callable tools |