app.tempomusic.staff.getSubjectContent

Moderator-grade fetch of a report subject's stored record and lifecycle state, INCLUDING rows the public read surface hides: taken-down content, soft-deleted rows inside the 30-day evidence window, and tombstoned rows (record is then null — 'purged' — and the console shows a banner instead of content). ADR-009 future-work item 'expose retained content through the moderation surface'. Requires the caller to be an active moderator. When media attachments ship, CSAM-quarantined blobs are NEVER rendered through this endpoint (metadata only — plan invariant).

Details · query
Kindquery
Authoritystaff.tempomusic.app
Indexed

Query

query · GET

Parameters

query string

subjectDid

string · did

Actor DID for an account subject (profile record). Mutually exclusive with subjectUri.

subjectUri

string · at-uri

AT-URI of a post or reply subject. Probed as a post first, then a reply. Mutually exclusive with subjectDid.

Output

application/json

cid

string · cid

deletedAt

string · datetime

Set when the row is soft-deleted (user delete or account cascade).

did

string · did

Author DID for post/reply subjects (null once tombstoned), account DID for account subjects.

indexedAt

requiredinteger

isTombstone

requiredboolean

moderationStatus

requiredstring
  • maxLength: 100
  • knownValues: live | reported | tagged | legalHold

record

unknown

The stored record verbatim. Null when tombstonification already destroyed it — render a 'content destroyed by retention' banner.

subjectType

requiredstring
  • maxLength: 100
  • knownValues: post | reply | account

uri

string · at-uri

Errors

Forbidden

Caller is not an active moderator.

InvalidSubject

Neither subjectUri nor subjectDid was provided, or both were provided.

SubjectNotFound

No row exists for the subject: never indexed, or already hard-deleted.

Similar lexicons

semantic match

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

  • Audit timeline for a single subject (post URI, reply URI, or account DID). Returns every moderation_audit row referencing the subject, in reverse-chronological order. Used by the moderator UI to answer 'what has ever happened to this content/account'. Requires the caller to be an active moderator.

  • Get the actor + post + comment + message bundle for a report/appeal subject.

  • 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

  • Get a post or comment's moderation state and labels.

  • Get a subject belonging to the authenticated account, including its moderation action history from this moderation service.