type: object
description: |
    A report filed against a specific room (rather than a specific user).
    Mirrors `Schemas.RoomReport`. The `Admin*` variant returned to admin
    endpoints additionally embeds `targetAccount` (the room's creator) as an
    `AdminAccount`.
required: [id, reporterBigscreenAccountId, roomId, reason]
properties:
    id: { type: string }
    createdAt: { type: string, format: date-time }
    reporterBigscreenAccountId:
        type: string
        description: Account that filed the report.
    roomId:
        type: string
        description: Room being reported.
    reason:
        type: string
        description: Reporter-supplied reason / category.
    roomName: { type: string }
    roomDescription: { type: string }
    roomAdminUsername: { type: string }
    roomCreatorBigscreenAccountId: { type: string }
    roomType: { type: string }
    roomSnapshot:
        type: object
        additionalProperties: true
        description: Snapshot of the room state at the time of the report.
    targetAccount:
        $ref: "./AdminAccount.yaml"
        description: Embedded `AdminAccount` for the room creator — present on `/admin/*` responses.
example:
    id: "rrpt_01HZL12345ABC678DEF90GHJKM"
    createdAt: "2026-04-22T10:14:00.000Z"
    reporterBigscreenAccountId: "acct_01HXJ4Q12345"
    roomId: "room_alpha"
    reason: "inappropriate-content"
    roomName: "Movie Night"
    roomDescription: "Friday-night feature"
    roomAdminUsername: "alice"
    roomCreatorBigscreenAccountId: "acct_01HXJ4Q12345"
    roomType: "private"
    roomSnapshot: {}
