subscription_required (403)
subscription_required
HTTP status: 403
Retryable: No — retrying without changes will fail the same way.
The wallet balance is frozen after a subscription cancellation.
When it fires
A request hit a billing-gated endpoint while the org's subscription has reached `canceled`, or `past_due` beyond the dunning grace window. The remaining wallet balance is preserved but frozen — not spendable until the org re-subscribes (PLG two-bucket billing design §3). A never-subscribed, top-up-funded org is NOT frozen and does not see this code. (The same code is reserved for premium-feature gating, which is not enabled yet.)
How to handle it
Re-subscribe from the console, then retry. The frozen balance becomes spendable again the moment the subscription is active. Retrying without re-subscribing will produce the same response.
Example response
{
"error": {
"type": "https://docs-dev.autohost-dev.uk/api/errors/subscription_required",
"code": "subscription_required",
"message": "Wallet frozen after cancellation. Re-subscribe to continue.",
"request_id": "req_01HEXAMPLE0000000000000000",
"doc_url": "https://docs-dev.autohost-dev.uk/api/errors/subscription_required"
}
}