type: object
description: |
    Public-facing screen — `PublicScreen` from
    [`cloud/src/Schemas.ts`](../../../../cloud/src/Schemas.ts). Returned
    by every cloud-api screen endpoint that exposes screen state to a VR
    client (`/screen`, `/screen/{id}`, `/screens`,
    `/room/{roomId}/screens`). `localScreenId` is only populated for the
    screen's owner.
required: [id, name]
properties:
    id: { type: string }
    name: { type: string }
    createdAt: { type: string, format: date-time }
    updatedAt: { type: string, format: date-time }
    screenType:
        type: string
        description: "`ScreenType` — the screen's role in its room (`Movie`, `Monitor`, etc.)."
    visibility:
        type: string
        description: "`ScreenVisibility` enum."
    mediaServer:
        type: object
        description: "`PublicMediaServer` for the host serving this screen."
        additionalProperties: true
    mediaPeer:
        type: object
        description: "`MediaPeer` payload — peer-connection metadata for the active publisher / subscriber."
        additionalProperties: true
    sharedMediaSession:
        type: object
        description: "`SharedMediaSession` — currently-playing media on the screen."
        additionalProperties: true
    legacyContentString:
        type: string
        description: |
            Pre-`SharedMediaSession` content descriptor. Old clients
            still parse this; new clients should prefer
            `sharedMediaSession`.
    ownerUserSessionId: { type: string }
    isMonitor: { type: boolean }
    isPresenting: { type: boolean }
    isSimulated: { type: boolean }
    localScreenId:
        type: string
        description: |
            The owner's local screen id — only included when the
            requesting user owns the screen.
    format:
        type: string
        description: "`ScreenFormat` (e.g. `2D`, `3D_SBS`, `3D_TB`)."
    aspectRatio: { type: number, format: float }
    brightness: { type: number, format: float }
    channel:
        description: Legacy channel descriptor when the screen is showing channel content.
        additionalProperties: true
    mediaProduct:
        description: Legacy media-product descriptor when the screen is showing a `MediaProduct`.
        additionalProperties: true
example:
    id: "scr_01HZP01234"
    name: "Main Screen"
    createdAt: "2026-04-22T10:14:00.000Z"
    updatedAt: "2026-05-06T19:14:00.000Z"
    screenType: "Movie"
    visibility: "Public"
    mediaServer:
        id: "ms-us-west-2-04"
        url: "wss://ms-us-west-2-04.bigscreencloud.com"
    sharedMediaSession: {}
    legacyContentString: ""
    ownerUserSessionId: "sess_01HZP12345"
    isMonitor: false
    isPresenting: true
    isSimulated: false
    format: "2D"
    aspectRatio: 1.778
    brightness: 1.0
