app.tempomusic.staff.restoreSubject

Flip `moderation_status` back to 0 on a previously taken-down subject row. Writes a `subjectRestore` audit row. Trivially symmetric with takedownSubject — both act on the subject row only; lifting an account-wide sanction is unsuspendAccount's job (bans are permanent). Requires the caller to be an active moderator.

Details · procedure
Kindprocedure
Authoritystaff.tempomusic.app
Indexed

Procedure

procedure · POST

Output

application/json

auditEntryId

requiredinteger
  • minimum: 1

Errors

Forbidden

Caller is not an active moderator.

SubjectNotFound

No description in schema.

NotTakenDown

The subject is not currently under a moderation hold; nothing to restore.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Lift 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.

  • Flip `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

  • Mark a moderator row as revoked. The DID can no longer pass the moderator gate (latency = the moderator-cache TTL, default 30s). Requires the caller to have the `superAdmin` role. A super-admin cannot revoke themselves. Writes a `moderatorRevoked` audit row only when an active row was actually revoked. Idempotent: revoking a DID that is not currently an active moderator returns 200 with `revoked: false` and no audit row.

  • Suspend 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.