app.tempomusic.staff.restoreSubject

lexicons.tempomusic.fan

Documentation

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.

main procedure

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.

Input

Encodingapplication/json
reason string Required

No description available.

maxLength: 1000 bytes
subject union Required

No description available.

Output

Encodingapplication/json
auditEntryId integer Required

No description available.

Errors

Forbidden Caller is not an active moderator.
SubjectNotFound
NotTakenDown The subject is not currently under a moderation hold; nothing to restore.
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "type": "procedure",
  "input": {
    "schema": {
      "type": "object",
      "required": [
        "subject",
        "reason"
      ],
      "properties": {
        "reason": {
          "type": "string",
          "maxLength": 1000
        },
        "subject": {
          "refs": [
            "app.tempomusic.moderation.defs#postSubject",
            "app.tempomusic.moderation.defs#replySubject",
            "app.tempomusic.moderation.defs#accountSubject"
          ],
          "type": "union"
        }
      }
    },
    "encoding": "application/json"
  },
  "errors": [
    {
      "name": "Forbidden",
      "description": "Caller is not an active moderator."
    },
    {
      "name": "SubjectNotFound"
    },
    {
      "name": "NotTakenDown",
      "description": "The subject is not currently under a moderation hold; nothing to restore."
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "auditEntryId"
      ],
      "properties": {
        "auditEntryId": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    "encoding": "application/json"
  },
  "description": "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."
}

Lexicon Garden

@