Skip to content

StudioPreviewStreamDto

Endpoints · All schemas

FieldRequiredDescription
boundsYesSee definition below
closeReasonYesSee definition below
currentRevisionYesThe stored head, when the session closed as stale
expiresAtYesThe hard end of this session
idYesStream session ID
keepaliveMsYesPoll at least this often, or the session is closed
negotiationYesThe offer/answer round; an answer must name it
offerYesThe worker's offer for this round, while it waits for an answer
projectIdYesstring
revisionYesThe stored project revision this session plays
startYesWhere playback starts
stateYesSee definition below

Complete definition

required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.

Field definitions: StudioPreviewStreamBoundsDto, StudioPreviewStreamCloseReason, StudioPreviewTimeDto, StudioPreviewStreamState

{
  "properties": {
    "bounds": {
      "$ref": "#/components/schemas/StudioPreviewStreamBoundsDto"
    },
    "closeReason": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StudioPreviewStreamCloseReason"
        }
      ],
      "nullable": true
    },
    "currentRevision": {
      "description": "The stored head, when the session closed as stale",
      "maximum": 9007199254740991,
      "minimum": 0,
      "nullable": true,
      "type": "integer"
    },
    "expiresAt": {
      "description": "The hard end of this session",
      "format": "date-time",
      "type": "string"
    },
    "id": {
      "description": "Stream session ID",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "keepaliveMs": {
      "description": "Poll at least this often, or the session is closed",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "type": "integer"
    },
    "negotiation": {
      "description": "The offer/answer round; an answer must name it",
      "maximum": 9007199254740991,
      "minimum": 0,
      "type": "integer"
    },
    "offer": {
      "description": "The worker's offer for this round, while it waits for an answer",
      "maxLength": 65536,
      "minLength": 1,
      "nullable": true,
      "type": "string"
    },
    "projectId": {
      "type": "string"
    },
    "revision": {
      "description": "The stored project revision this session plays",
      "maximum": 9007199254740991,
      "minimum": 1,
      "type": "integer"
    },
    "start": {
      "$ref": "#/components/schemas/StudioPreviewTimeDto",
      "description": "Where playback starts"
    },
    "state": {
      "$ref": "#/components/schemas/StudioPreviewStreamState"
    }
  },
  "required": [
    "bounds",
    "closeReason",
    "currentRevision",
    "expiresAt",
    "id",
    "keepaliveMs",
    "negotiation",
    "offer",
    "projectId",
    "revision",
    "start",
    "state"
  ],
  "type": "object"
}