Workflow
Customer cancellation and paid recovery (disabled by default)
Follow the sequence below, then use API Reference for payload schema and response details.
Steps
Read `operationId`: `billing.cancellation.get` for the current revision and
Submit `operationId`: `billing.cancellation.request` with the expected revision
Read delivered notices with `operationId`: `billing.cancellation.notices`,
Download translation data with `operationId`: `sites.export`, selecting one
Read `operationId`: `billing.reactivation.get` to recover the current owner-bound
Operation IDs:
billing.reactivation.requestA terminal `finalizedAt` closes product recovery permanently. It does not mean
Read delivered purchased-price correction notices with
Operation IDs:
billing.priceCorrection.notices
Notes
Only the current customer workspace owner may request these transitions; agency
access does not confer billing ownership. Checked-in billing and final-deletion
gates remain disabled.
authoritative paid-through, grace and retention deadlines. Preserve access to
this read-only recovery surface when ordinary product mutations are suspended.
and a stable `Idempotency-Key`. Reuse both after an uncertain response. The
backend reconciles dependent subscriptions before scheduling SaaS non-renewal;
a pending request is not proof of provider confirmation.
following its cursor. Service continues through the paid-through boundary,
followed by 14 days of last-good serving and 90 days of read-only retention.
configured `targetLang` and following `nextAfterSegmentId` until null. Each
authenticated page rechecks retained-read authority. The JSON includes source
text, stored translations, customer overrides and glossary entries; it is not a
deployable website archive. Do not describe a failed or partial download as
complete. It does not create translations or change customer data.
pending intent after a reload. A failed read is unavailable authority, not proof
that no intent exists; retry it before creating another intent. During the
with the expected revision and a fresh stable
retry key. Pass its owner-bound intent to `billing.checkout.create`. Only an
authoritative paid event restores the same workspace; browser redirects and
later unrelated renewal events do not authorize reactivation.
every bounded artifact-cleanup page has finished. Billing/audit records remain
retained, and payment recovery never reopens an ended agency relationship.
`nextCursor.createdAt` and `nextCursor.id` as `beforeCreatedAt` and
`beforeId` until null; each page rechecks current billing-owner authority.
This owner-scoped in-app surface preserves earlier delivered notices even
if a later provider failure puts the case on hold. It does not itself
perform a provider refund or restore a subscription.