asksteps: read the account's plan and what is used of it
asksteps_get_subscriptionReturns the connected account's plan, its trial state and every quota with how much of it is used. Requires "billing:read". Call this whenever something was refused for a limit — it answers 'why can I not do this' in one call. Read capability questions from effectivePlanCode and the quotas, NOT from planCode: during a trial the two differ on purpose. It also tells you whether an agent may change this plan at all (field "mandate").
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | One sentence for the user. | |
| quotas | No | Every quota of the account with its limit and what is used of it. | |
| status | Yes | Outcome. One of: "ok", "not_connected", "error". Authorisation can also refuse before the tool runs: "plan_required" (the account's plan does not include agent access), "not_enabled" (the account owner has not switched agent access on), "owner_required" (only the account owner may do this), "mandate_required" (the owner has not granted a mandate for this). The note then says what the user has to do. | |
| mandate | No | Whether an agent may change this account's plan, and within which limits. When mandate is absent, use asksteps_start_checkout and let the user finish it. | |
| interval | No | Billing interval: "month" or "year". | |
| planCode | No | Plan code of the booked subscription: "free", "starter", "professional", "business". | |
| planName | No | Display name of that plan. | |
| trialEndsAt | No | When a running trial ends, ISO 8601. Empty when there is no trial. | |
| effectivePlanCode | No | The plan whose limits actually apply right now. During the trial this DIFFERS from planCode: the customer is billed for the trial plan but entitled to a higher one. Answer "can I do X" from this field, not from planCode. | |
| subscriptionStatus | No | Subscription state: "trialing", "active", "past_due", "canceled", "incomplete". |