Version and capability boundary
The reviewed newer source adds two narrow installation-owner token routes: POST /admin/v1/integrations/accounts/{id}/suspend and /reactivate. Earlier integration releases expose inventory only. Use these actions only when your exact installed version advertises the dedicated scopes and the release's native account lifecycle has been accepted. A documentation update does not install this API on your server.
Create a dedicated token
As the local installation owner with fresh full authentication, issue hosting:accounts:suspend, hosting:accounts:reactivate, or both. These action scopes cannot be combined with hosting inventory, generic resources or operation scopes in the same token. Customer identities cannot receive them. Store the one-time secret privately and retain a separately scoped read token if your integration needs inventory.
Request contract
Use verified HTTPS to your own Panel origin, Authorization: Bearer <token>, Content-Type: application/json and a stable Idempotency-Key for the reviewed attempt. The ID is the exact 32-character lowercase hexadecimal account ID, and the body contains only revision, a positive current integer. Unknown fields, query parameters, package overrides and termination fields are rejected; the body limit is 1024 bytes.
Obtain the latest account revision first. The current local token owner, epoch, expiry, dedicated action scope and account admission are rechecked under reservation locks before side effects. A token with suspend cannot reactivate unless that separate scope was granted.
Interpret delivery
A new accepted action returns 202 with api_version, account, operation and replayed: false; a recognized identical replay returns 200. Retain the operation ID/Location and inspect its actual final state. A timeout is not permission to send a new idempotency key immediately. A stale revision or conflicting delivery must be reviewed before another attempt.
Verify and limits
On a disposable accepted installation, test the authorized action, wrong scope, Customer token, stale revision, unknown fields, expired/revoked token and identical replay. Confirm service effects and unrelated-account continuity. This interface still does not create accounts, modify packages, terminate accounts, perform payment collection or grant a WHM-compatible billing API. Account creation/package changes/termination remain separate local workflows. Existing recovery/license boundaries still apply, and production hosting acceptance remains blocked for the candidate.

