app.tempomusic.staff.banAccount
Permanently ban an account: all of its content disappears from the public read surface and no surface can lift the state. Escalating an active suspension replaces it. Requires the `superAdmin` role. Writes an `accountBanned` audit row. Federation caveat: the ban blocks this DID — re-registration under a fresh DID is structurally possible in AT Protocol.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | staff.tempomusic.app |
| Indexed |
Procedure
procedure · POSTInput
application/jsoncloseAttachedReports
booleanSame semantics as suspendAccount: closes `open`/`underReview` reports against the ACCOUNT subject in the same transaction, with linked `reportClosedByCascade` audit rows. Reports against individual posts/replies stay open.
default: false
notifyUser
booleanWhen true, persist a moderation notice addressed to the affected user (content author or account holder). Delivery is out of scope.
default: false
minLength: 1maxLength: 2000
Output
application/jsonNumber of account-subject reports auto-closed in this transaction. Zero when closeAttachedReports=false or none were open.
minimum: 0
minimum: 1
Errors
Forbidden
The caller is not a super-admin.
AccountAlreadyBanned
The account is already banned.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
app.tempomusic.staff.suspendAccount
procedureSuspend an account: all of its content disappears from the public read surface (feeds, single fetches, threads, notifications) while the row is active. Reversible via unsuspendAccount; optionally time-boxed via `until` (evaluated at read time — a lapsed suspension readmits content with no further action). Re-suspending replaces the current suspension (new reason/expiry, new audit row). Requires the `moderator` role. Writes an `accountSuspended` audit row.
-
app.tempomusic.staff.takedownSubject
procedureFlip `moderation_status` on a subject row to a non-zero takedown class. Read paths immediately refuse to serve the subject (404 on getPost / getReply / actor reads). Re-takedown against an already-taken-down subject is permitted as a severity escalation (e.g. `reported` → `legalHold`) or to amend the reason; each call writes a new audit row. Scoped to the subject row ONLY: an account takedown flips the profile row (offensive avatar/bio case) and does not touch the account's content — hiding ever
-
app.tempomusic.staff.unsuspendAccount
procedureLift an account suspension: deletes the current state row (history stays in the audit log) and instantly readmits the account's content on the public surface. Also accepts a LAPSED suspension (removes the stale row). Cannot lift a ban. Requires the `moderator` role. Writes an `accountUnsuspended` audit row.
-
Current account-level moderation state of a DID (suspension or ban), or an empty object when the account is unrestricted. A lapsed suspension is reported with its (past) `until` — interpretation is the caller's. Requires the `moderator` role.
-
App-wide suspension: the subject account cannot submit native Questions on Askimut.