Subscription Not Found
subscription_not_found404
No active subscription exists for this account. The account is on the Sandbox tier.
What this means
A dashboard request to cancel, resume or change a subscription found no matching subscription for the signed-in account. This usually means the account is on the free Sandbox tier (which has no formal subscription object) — but it also fires when a previously-active subscription was cancelled and the cycle has ended.
When you'll see this
- A dashboard tried to load subscription details for a Sandbox-tier account.
- A cancel/upgrade flow ran against an account whose subscription was already cancelled and expired.
- A reactivation flow was attempted but no cancelled subscription exists to reactivate.
Learn more about how this works
Asterwise represents free-tier (Sandbox) accounts without an explicit subscription row — they're "no subscription" rather than "Sandbox subscription." This keeps the billing layer cleanly separated: the absence of a subscription is itself a meaningful state, not a special-case row. Paid subscriptions create explicit records; cancelling them transitions to "cancelled" (still queryable for grace period and reactivation), and after expiry they become unfindable.
The most common gotcha: this error is often correct behavior. If your code is asking "what's this account's subscription" and the account is on Sandbox, this is the right answer — not an error to fix.
Example response
{
"success": false,
"error": "subscription_not_found",
"message": "No active plan found.",
"details": [],
"retry_after": null,
"doc_url": "https://docs.asterwise.com/reference/errors/subscription_not_found/",
"request_id": "req_01HXYZABCDEFGH",
"timestamp": "2026-05-25T12:34:56Z"
}
- If you expected the account to have an active subscription, sign in at asterwise.com/dashboard and check the billing section.
- If the account is on Sandbox and you wanted a paid plan, subscribe through the dashboard.
- If you cancelled and the plan has already ended, subscribe again. Until it ends, Resume plan keeps it with no new charge.
Only the dashboard receives this error: subscriptions are managed with a dashboard sign-in, and an API key sent to those endpoints gets session_required instead. Code that calls the API with a key never sees subscription_not_found. To know an account's plan from code, call GET /v1/keys/me/usage with its key: the tier field is the plan the key's account is on now.
Production handler
No code example provided.
Avoid this error by
- Always check current subscription state before showing "Cancel" or "Upgrade" buttons. The right CTA for a Sandbox account is "Subscribe," not "Cancel."
- In multi-account tooling, store each account's plan locally so you don't hit this error every time you render a dashboard.
- Treat
subscription_not_foundand "Sandbox tier" as the same state in your UI. They mean the same thing functionally. - A cancelled plan can be resumed until its paid period ends, at no charge. After that, the user subscribes again.