Get a subscription
/v1/subscriptions/{subscription} in the Subscriptions API.
One subscription with its grants embedded.
payment_status is one of trialing, active, incomplete, expired, past_due, canceled, unpaid, paused, processing, succeeded, capturable or failed (the subscriby://enums/subscription-status MCP resource lists them).
compensation_seconds is the outage time Outage Compensation has banked on the purchase, 0 for almost every subscription. ends_at already includes it: a one-time purchase simply ends later, while a recurring plan's ends_at runs that many seconds past the period the member last paid for, so the renewal the gateway bills is ends_at minus compensation_seconds.
Requires ability
The token must hold this ability, or the call is refused with 403.
MCP tool
Runs the same action from an agent, behind the same ability.
Authorization
bearerToken A personal access token minted on the dashboard under Settings, then Tokens, sent as Authorization: Bearer sbt_live_…. The token carries the abilities each endpoint lists under Requires ability and is frozen to one team.
In: header
Path Parameters
The subscription, resolved by the route binder.
uuidResponses
200OKapplication/json
The subscription, its access grants embedded.
401UnauthorizedAUTHENTICATION_REQUIREDapplication/json
The request carries no bearer token, or one that is revoked, malformed, or minted for another environment (an sbt_test_ token on production).
403ForbiddenTOKEN_MISSING_ABILITYapplication/json
The token is valid but does not carry the ability this endpoint requires; error.context.required_ability names the one to grant. An endpoint that also checks who owns a row or which tier the account is on answers FORBIDDEN, TEAM_TIER_REQUIRED or CONNECTOR_TIER_REQUIRED with the same status, and says so in its own description.
404Not foundRESOURCE_NOT_FOUNDapplication/json
An id in the path names nothing the token can see. TENANT_MISMATCH: the project sits outside the token's scope:project: allow-list, or the token carries no team scope. Both answer 404 rather than 403 so that existence outside the token's scope cannot be inferred.
429Too many requestsRATE_LIMITEDapplication/json
The token has spent its 300 requests a minute or 10,000 an hour; Retry-After says when the next one is accepted.
How is this guide?
Last updated on