Retire a plan on a date
Early access. Not yet turned on for every account: until it is, this answers 404 not_found. Build against it now and ask us to turn it on.
Discontinues the plan. From now on its prices can’t start or be switched onto a subscription. Each subscriber moves off it at their first renewal on or after retiresAt, so nobody loses paid time: to a plan change or cancellation they scheduled, else to successorPlanId on its price with the same currency, interval and usage type. With neither, the subscription pauses (pauseReason: plan_retired) and nothing is billed until it’s moved to another plan and resumed.
Authorizations
Use a Bouclay secret key (sk_test_..., sk_live_...) or restricted key
(rk_test_..., rk_live_...).
A secret key can call every endpoint. A restricted key can only call the
endpoints its scopes cover. A scope is {resource}:{access}, for example
customers:read or refunds:write, and write includes read. GET
requests need read access and everything else needs write, except
POST /subscriptions/{id}/items/{item}/preview, which only needs
subscriptions:read. A request outside the key's scopes gets 403 permission_denied naming the missing scope, and its Idempotency-Key
is not used up.
Publishable keys (pk_...) are rejected by server-side API endpoints. A
key's mode scopes what it can see and charge: a test key can never reach
a live card.
Headers
Required for POST and PATCH requests. Replays identical method + path + body requests and rejects mismatched re-use.
1 - 255