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
| Kind | query |
|---|---|
| Authority | staff.tempomusic.app |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "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).",
"errors": [
{
"description": "Caller is not an active moderator.",
"name": "Forbidden"
},
{
"description": "Neither subjectUri nor subjectDid was provided, or both were provided.",
"name": "InvalidSubject"
},
{
"description": "No row exists for the subject: never indexed, or already hard-deleted.",
"name": "SubjectNotFound"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cid": {
"format": "cid",
"type": "string"
},
"deletedAt": {
"description": "Set when the row is soft-deleted (user delete or account cascade).",
"format": "datetime",
"type": "string"
},
"did": {
"description": "Author DID for post/reply subjects (null once tombstoned), account DID for account subjects.",
"format": "did",
"type": "string"
},
"indexedAt": {
"type": "integer"
},
"isTombstone": {
"type": "boolean"
},
"moderationStatus": {
"knownValues": [
"live",
"reported",
"tagged",
"legalHold"
],
"maxLength": 100,
"type": "string"
},
"record": {
"description": "The stored record verbatim. Null when tombstonification already destroyed it — render a 'content destroyed by retention' banner.",
"type": "unknown"
},
"subjectType": {
"knownValues": [
"post",
"reply",
"account"
],
"maxLength": 100,
"type": "string"
},
"uri": {
"format": "at-uri",
"type": "string"
}
},
"required": [
"subjectType",
"moderationStatus",
"isTombstone",
"indexedAt"
],
"type": "object"
}
},
"parameters": {
"properties": {
"subjectDid": {
"description": "Actor DID for an account subject (profile record). Mutually exclusive with subjectUri.",
"format": "did",
"type": "string"
},
"subjectUri": {
"description": "AT-URI of a post or reply subject. Probed as a post first, then a reply. Mutually exclusive with subjectDid.",
"format": "at-uri",
"type": "string"
}
},
"type": "params"
},
"type": "query"
}
},
"id": "app.tempomusic.staff.getSubjectContent",
"lexicon": 1
}