openapi: 3.0.0 info: title: RealityHub REST API version: 2.1.0 servers: - url: http://127.0.0.1 security: - ApiKeyAuth: [] tags: - name: Engine Control - name: Graph Control description: Reality Engine 5 - name: Projects Control - name: Launcher Control - name: Lino Rundown Control - name: Batch Requests components: schemas: Graph: type: object properties: id: type: integer name: type: string required: - id - name GraphLong: type: object properties: id: type: integer name: type: string content: type: string required: - id - name - content example: id: 1 name: test graph content: |- { "id": "084fb56c-494c-4c94-81ac-f35be72b... } Rgraph: type: object properties: id: type: integer name: type: string required: - id - name RgraphLong: type: object properties: id: type: integer name: type: string xmlContent: type: string required: - id - name - xmlContent example: id: 1 name: test rgraph xmlContent: "\r " Error: type: object properties: error: type: string required: - error EngineHostId: type: object properties: engineHostId: type: number required: - engineHostId example: engineHostId: 1 Instance: type: object properties: id: type: integer projectTag: type: string maxLength: 32 nullable: true streaming: type: string maxLength: 255 nullable: true status: type: string enum: - Idle - Caching - Loading - Loaded - Error - Checking description: "Enum: ['Idle', 'Caching', 'Loading', 'Loaded', 'Error', 'Checking']" pid: type: integer nullable: true engineHostId: type: integer engineRoleId: type: integer nullable: true projectId: type: integer nullable: true projectMapId: type: integer nullable: true editorPath: type: string engineType: type: string enum: - RE - RE5 - UE description: "Enum: ['RE', 'RE5', 'UE']" engineVersion: type: string statusDescription: type: string nullable: true required: - id - projectTag - streaming - status - pid - engineHostId - engineRoleId - projectId - projectMapId - editorPath - engineType - engineVersion - statusDescription Engine: type: object properties: id: type: integer name: type: string ip: type: string format: ipv4 role: type: string enum: - Broadcast - Preview description: "Enum: ['Broadcast', 'Preview']" status: type: string enum: - connected - ready - disconnected - reconnecting description: "Enum: ['connected', 'ready', 'disconnected', 'reconnecting']" cacheDir: type: string minimumFreeSpace: type: integer usedSpace: type: integer diskSpace: type: integer displayName: type: string re_enabled: type: boolean port: type: integer format: port rgraphId: type: integer nullable: true ownerStudioId: type: integer nullable: true ustateId: type: integer nullable: true ue_enabled: type: boolean instances: type: array items: $ref: "#/components/schemas/Instance" required: - id - name - ip - role - status - cacheDir - minimumFreeSpace - usedSpace - diskSpace - displayName - re_enabled - port - rgraphId - ownerStudioId - ustateId - ue_enabled - instances NodeShort: type: object properties: NodePath: type: string NodeName: type: string required: - NodePath - NodeName Property: type: object properties: PropertyPath: type: string DisplayName: type: string Value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - PropertyPath - DisplayName - Value PropertyUpdate: type: object properties: Interpolation: type: string enum: - Constant - Linear - EaseIn - EaseOut - EaseInOut description: "Enum: ['Constant', 'Linear', 'EaseIn', 'EaseOut', 'EaseInOut']" default: Constant Duration: type: number default: 0 description: The duration of the interpolation in seconds. Must be a positive number. Delay: type: number default: 0 description: The delay of the interpolation in seconds. Must be a positive number. Value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - Value FunctionShort: type: object properties: FunctionPath: type: string FunctionName: type: string required: - FunctionPath - FunctionName FunctionLong: type: object properties: FunctionPath: type: string FunctionName: type: string Properties: type: object additionalProperties: $ref: "#/components/schemas/Property" required: - FunctionPath - FunctionName - Properties FunctionTriggerRequestParameter: type: object properties: PropertyPath: type: string payload: type: object properties: value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - value required: - PropertyPath - payload FunctionTriggerRequest: type: object properties: Parameters: type: array items: $ref: "#/components/schemas/FunctionTriggerRequestParameter" ServerSuccessResponse: type: object properties: success: type: boolean required: - success example: success: true PlayoutRundown: type: object properties: id: type: integer name: type: string required: - id - name Project: type: object properties: projectId: type: integer format: int32 example: 10 name: type: string example: RE Test version: type: string maxLength: 20 example: "4.27" sharedFolderName: type: string maxLength: 100 example: projects maps: type: array items: type: string example: - Main - Advanced_Lighting - Minimal_Default createdAt: type: integer example: 76213541238 updatedAt: type: integer example: 76213541238 required: - projectId - version - sharedFolderName - maps - createdAt - updatedAt LaunchConfig: type: object properties: id: type: integer example: 44 name: type: string example: Studio 44 renderers: type: array items: type: integer example: - 2 - 4 LaunchConfigCreateRequestBody: type: object properties: name: type: string example: Launch config 1 renderers: type: array items: type: integer example: - 2 - 4 required: - name - renderers LaunchConfigCreateResponse: type: object properties: id: type: integer example: 15 renderers: type: array items: type: integer example: - 11 - 12 required: - id - renderers RedenererDetails: type: object properties: launchConfigId: type: integer example: 11 engineId: type: integer nullable: true example: 1 projectId: type: integer nullable: true example: 4 projectMapId: type: integer nullable: true example: 14 engineType: type: string enum: - RE - RE5 - UE description: "Enum: ['RE', 'RE5', 'UE']" example: RE5 stateId: type: integer description: For RE it will be assumed as rgraph id, for ue ustate and for re5 graph id example: 1 LinoRundownEngineDevice: type: object properties: id: type: integer example: 1 profileId: type: integer example: 2 LinoRundownEngineRenderer: type: object properties: id: type: integer example: 1 pollLevelsEnabled: type: boolean example: true rundownServerPort: type: integer example: 30030 remoteControlPort: type: integer example: 30020 devices: type: array items: $ref: "#/components/schemas/LinoRundownEngineDevice" LinoRundownEngine: type: object properties: id: type: integer example: 1 name: type: string example: Engine 1 started: type: boolean example: true loadedRundownInfo: type: array items: type: object properties: id: type: integer example: 102 engines: type: array items: $ref: "#/components/schemas/LinoRundownEngineRenderer" required: - id - name LinoRundownItem: type: object properties: id: type: integer itemNo: type: integer name: type: string template: type: string templateId: type: integer itemType: type: string enum: [vs, md] description: The type of the rundown item. 'vs' for Nodos/VS items, 'md' for Motion Design items. data: type: object buttons: type: object status: type: object properties: preview: type: string enum: [Available, Playing, Unavailable] description: The preview status of the item program: type: string enum: [Available, Playing, Unavailable] description: The program status of the item activeIn: type: array items: type: string enum: [preview, program] description: Array indicating which channels the item is active in. Only present when item is active (preview or program is Playing). online: type: boolean description: Whether the item is online (loaded and ready) on any engine host required: - preview - program - online required: - id - name - templateId - itemType - data - status LinoRundownItemCreateBody: type: object properties: name: type: string templateId: type: integer insertAfter: type: integer data: type: object required: - name - templateId - data LinoTemplate: type: object properties: templateId: type: integer name: type: string data: type: object example: StateName 1: STATE NAME StateVotesPercentage 2: 100 GFX01_Name 3: NAME GFX01_VotesCount 4: 000,000 required: - templateId - name - data Show: type: object properties: id: type: integer example: 1 name: type: string example: My Show channels: type: array items: $ref: "#/components/schemas/Channel" running: type: boolean example: false linoeditingmode: type: boolean example: false required: - id - name - channels - running - linoeditingmode Channel: type: object properties: id: type: integer example: 1 name: type: string example: My Channel project: type: object nullable: true properties: id: type: integer example: 1 name: type: string example: My Project engines: type: array items: $ref: "#/components/schemas/EngineInChannel" required: - id - name - project - engines EngineInChannel: type: object properties: id: type: integer example: 1 hostname: type: string example: ZDHQ-IERD displayName: type: string example: Local Engine role: type: string example: Program order: type: integer example: 1 required: - id - hostname - displayName - role - order ShowCreateRequest: type: object properties: name: type: string example: My New Show boothId: type: integer example: 1 description: Booth ID (ignored, always uses 1) required: - name ShowCreateResponse: type: object properties: success: type: boolean example: true show: type: object properties: id: type: integer example: 1 name: type: string example: My New Show running: type: boolean example: false offlineMode: type: boolean example: false order: type: integer example: 1 boothId: type: integer example: 1 created_at: type: string format: date-time updated_at: type: string format: date-time message: type: string example: Show "My New Show" created successfully required: - success - show - message ErrorResponse: type: object properties: success: type: boolean example: false message: type: string example: Error message error: type: string example: Detailed error information required: - success - message BatchRequest: type: object required: - id - url - verb properties: id: oneOf: - type: integer - type: string url: type: string verb: type: string enum: - GET - PATCH - PUT - POST body: type: object description: POST request body payload additionalProperties: true example: id: 1 url: /lino/rundowns verb: GET BatchResponse: type: object required: - id properties: id: oneOf: - type: integer - type: string responseCode: type: integer responseMessage: type: string responseBody: type: object additionalProperties: true example: id: 1 responseCode: 200 responseBody: - id: 20 name: rt template template: rt Position data: mzproperty1: x: 0 y: 0 z: 0 AuthenticationRequiredError: type: object properties: error: type: string example: Authentication required message: type: string example: REST API access requires API key authentication. Please provide a valid API key. code: type: string example: AUTHENTICATION_REQUIRED suggestion: type: string example: Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key= as query parameter. required: - error - message - code InvalidApiKeyError: type: object properties: error: type: string example: Invalid API key message: type: string example: The provided API key is invalid. code: type: string example: INVALID_API_KEY required: - error - message - code securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: | API Key authentication for REST API access. Generate an API key from User Management in the web interface. Include the API key in the X-API-Key header or as api_key query parameter. responses: Unauthorized: description: | Unauthorized. Either no API key was provided, or the provided API key is invalid. content: application/json: schema: oneOf: - $ref: "#/components/schemas/AuthenticationRequiredError" - $ref: "#/components/schemas/InvalidApiKeyError" examples: authenticationRequired: summary: Authentication required value: error: Authentication required message: REST API access requires API key authentication. Please provide a valid API key. code: AUTHENTICATION_REQUIRED suggestion: Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key= as query parameter. invalidApiKey: summary: Invalid API key value: error: Invalid API key message: The provided API key is invalid. code: INVALID_API_KEY InvalidApiKey: description: | Invalid API key provided. The API key was provided but is invalid, expired, or does not exist in the system. content: application/json: schema: type: object properties: error: type: string example: Invalid API key message: type: string example: The provided API key is invalid. code: type: string example: INVALID_API_KEY Forbidden: description: | Access denied. The API key is valid but does not have permission to access the requested resource. The authenticated API key lacks the required module permissions for this endpoint. content: application/json: schema: type: object properties: error: type: string example: Access denied message: type: string example: API key 'MyAPIKey' does not have permission to access the module required for this endpoint. Please contact your administrator to request access. code: type: string example: INSUFFICIENT_PERMISSIONS requiredModuleResource: type: string example: a.hub.timeline.nodegraph apiKeyName: type: string example: MyAPIKey InternalServerError: description: | Internal server error occurred during authentication or request processing. content: application/json: schema: type: object properties: error: type: string example: Authentication error message: type: string example: Failed to validate API key. code: type: string example: AUTH_ERROR paths: /api/rest/v1/engines: get: tags: - Engine Control summary: Get Engines responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Engine" example: - id: 1 name: ZDHQ-MBAK2 ip: 127.0.0.1 role: Broadcast status: connected cacheDir: c:\cache minimumFreeSpace: 209715200 usedSpace: 245037633536 diskSpace: 255382777856 displayName: Local Engine re_enabled: true port: 6666 rgraphId: null ownerStudioId: null ustateId: null ue_enabled: true instances: - id: 1 projectTag: null streaming: null status: Idle pid: null engineHostId: 1 engineRoleId: null projectId: null projectMapId: null editorPath: C:\Program Files\Zero Density\Reality\4.26\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: "4.26" statusDescription: null - id: 2 name: ZDHQ-HUB ip: 172.16.0.59 role: Broadcast status: connected cacheDir: c:\cache minimumFreeSpace: 209715200 usedSpace: 198288896000 diskSpace: 239379410944 displayName: ZDHQ-HUB re_enabled: true port: 6666 rgraphId: 13 ownerStudioId: 1 ustateId: null ue_enabled: true instances: - id: 2 projectTag: null streaming: null status: Idle pid: null engineHostId: 2 engineRoleId: 1 projectId: null projectMapId: null editorPath: C:\Program Files\Zero Density\Reality\4.26\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: "4.26" statusDescription: null - id: 4 projectTag: null streaming: null status: Idle pid: null engineHostId: 2 engineRoleId: 1 projectId: null projectMapId: null editorPath: C:\Program Files\Zero Density\Reality\4.27\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: "4.27" statusDescription: null - id: 3 projectTag: null streaming: null status: Loaded pid: "4488" engineHostId: 2 engineRoleId: 1 projectId: 41 projectMapId: 194 editorPath: C:\Program Files\Zero Density\Reality\4.25\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: "4.25" statusDescription: null engineType: RE "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}": get: tags: - Engine Control summary: Get a Single Engine parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Engine" example: id: 2 name: ZDHQ-HUB ip: 172.16.0.59 role: Broadcast status: connected cacheDir: c:\cache minimumFreeSpace: 209715200 usedSpace: 198289190912 diskSpace: 239379410944 displayName: ZDHQ-HUB re_enabled: true port: 6666 rgraphId: 13 ownerStudioId: 1 ustateId: null ue_enabled: true instances: - id: 2 projectTag: null streaming: null status: Idle pid: null engineHostId: 2 engineRoleId: 1 projectId: null projectMapId: null editorPath: C:\Program Files\Zero Density\Reality\4.26\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: "4.26" statusDescription: null - id: 4 projectTag: null streaming: null status: Idle pid: null engineHostId: 2 engineRoleId: 1 projectId: null projectMapId: null editorPath: C:\Program Files\Zero Density\Reality\4.27\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: "4.27" statusDescription: null - id: 3 projectTag: null streaming: null status: Loaded pid: "4488" engineHostId: 2 engineRoleId: 1 projectId: 41 projectMapId: 194 editorPath: C:\Program Files\Zero Density\Reality\4.25\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: "4.25" statusDescription: null engineType: RE "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes": get: tags: - Engine Control summary: Get Nodes of an Engine parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/NodeShort" example: - NodePath: f0f8ae55-fe2e-482b-ac69-1febb1b52a0c NodeName: U32ToString - NodePath: 15f34237-9fa1-405c-89e6-4eacade51456 NodeName: Cyclorama - NodePath: 0168d90c-571b-471e-8519-3d6eed8bbe9c NodeName: AJAOut "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}": get: tags: - Engine Control summary: Get a Single Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 15f34237-9fa1-405c-89e6-4eacade51456 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/NodeShort" example: NodePath: 15f34237-9fa1-405c-89e6-4eacade51456 NodeName: Cyclorama "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties": get: tags: - Engine Control summary: Get Properties of a Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 15f34237-9fa1-405c-89e6-4eacade51456 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Property" example: - PropertyPath: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 DisplayName: CycloramaColor Value: x: 0.5 y: 1 z: 0 w: 1 - PropertyPath: 2a14a32e-e296-4ec7-b065-c71c33eee54b DisplayName: MaskColor Value: x: 1 y: 0 z: 0 w: 1 - PropertyPath: 5715a460-8aca-4562-a92f-2713b004c53e DisplayName: Wireframe Value: false - PropertyPath: 898ee690-9505-443d-ae51-c85a8f85d3bd DisplayName: HasLeftWing Value: true - PropertyPath: 73336226-2538-4a25-8d8e-bb7457a6ace9 DisplayName: LeftWingAngle Value: 90 - PropertyPath: 13fd35a4-653c-47af-b1ef-53534cea542a DisplayName: LeftWingLength Value: 200 - PropertyPath: 68b96c3a-e961-4d97-b245-c8a36f9a9733 DisplayName: HasRightWing Value: true - PropertyPath: 3a8aff48-1228-4ab7-a88d-2d95eeec11c6 DisplayName: RightWingAngle Value: 90 - PropertyPath: e9db7fee-8ca4-4b57-98d3-3aca16a69ce2 DisplayName: RightWingLength Value: 200 - PropertyPath: 6df387ac-ae0f-490b-b6c0-c4300389740f DisplayName: Width Value: 200 - PropertyPath: fe966973-5463-4711-98f1-308b161da3e6 DisplayName: Height Value: 200 - PropertyPath: e49f01d1-4009-4f3a-ac07-61cb298cc96d DisplayName: EdgeRoundness Value: 30 - PropertyPath: eb4c59c0-1ba5-46b8-865c-547ea006d69f DisplayName: SharpEdges Value: false - PropertyPath: 4c55bc12-45e2-43bc-9263-f93d612adab1 DisplayName: BottomSmoothness Value: 0 - PropertyPath: ea34b860-af8f-4aac-941d-c117556b548b DisplayName: LeftSmoothness Value: 0 - PropertyPath: f13cf328-ce07-49d2-accf-c3db8db5a22e DisplayName: RightSmoothness Value: 0 - PropertyPath: ddbd4537-2990-4375-aa06-f66ad00f8bab DisplayName: TopSmoothness Value: 0 - PropertyPath: e954b954-2167-440d-8b3f-38ce532aab15 DisplayName: BottomCrop Value: 0 - PropertyPath: 8e665964-80b4-4436-9f40-ce80aed8779c DisplayName: LeftCrop Value: 0 - PropertyPath: 83a2b8ef-b0c7-4771-b5de-bf69205f4b6f DisplayName: RightCrop Value: 0 - PropertyPath: e553a34f-5fd9-4c37-aa5b-7713408524b5 DisplayName: TopCrop Value: 0 - PropertyPath: 7f975515-004f-4915-a1b3-e01e8c1cebb6 DisplayName: DiagonalCrop Value: 0 - PropertyPath: e4697081-ecd9-4d80-bf46-bcd64545c9ca DisplayName: DiagonalSmoothness Value: 0 - PropertyPath: 7df9049b-262e-4191-b85a-161c48e0ddfa DisplayName: SmoothnessCurve Value: 1 - PropertyPath: 578aa1d7-5225-4b2f-8703-99cec26c2105 DisplayName: OriginPreset Value: 0 - PropertyPath: a3f6bf88-782c-431f-8249-3ab03322bbff DisplayName: Position Value: x: 0 y: 0 z: 0 - PropertyPath: 7de78c08-1896-43f3-9168-ce2781a7a387 DisplayName: Rotation Value: x: 0 y: 0 z: 0 - PropertyPath: fa648c93-f9f6-4010-92e6-f6f2f28a7eaa DisplayName: Track Value: location: x: 600 y: 50 z: 100 rotation: x: 0 y: 0 z: 180 fov: 74 focus: 0 centerShift: x: 0 y: 0 zoom: 0 k1k2: x: 0 y: 0 renderRatio: 1 distortionScale: 1 sensorSize: x: 9.59 y: 5.394 pixelAspectRatio: 1 nodalOffset: 0 focusDistance: 0 - PropertyPath: 57edb85f-b65b-4a69-9e12-d9050d045538 DisplayName: Render Value: handle: "2298947338016" pid: "46696" memory: "2224" offset: "5242880" type: 2 size: 0 width: 1920 height: 1080 format: 97 usage: 31 filtering: 0 unscaled: false unmanaged: false fieldType: 3 - PropertyPath: d6e3f431-c4e2-4a25-b50b-9aab4dbad877 DisplayName: Mask Value: handle: "2298947338656" pid: "46696" memory: "2224" offset: "22937600" type: 2 size: 0 width: 1920 height: 1080 format: 97 usage: 31 filtering: 0 unscaled: false unmanaged: false fieldType: 3 - PropertyPath: c290097d-5f1c-443c-8bcf-9d827e6b003d DisplayName: Video Value: handle: "2298945412432" pid: "46696" memory: "2224" offset: "40632320" type: 2 size: 0 width: 1920 height: 1080 format: 97 usage: 6 filtering: 1 unscaled: false unmanaged: false fieldType: 3 - PropertyPath: d57f1dc8-ad40-4f7a-9c7b-7a6fcba5fe8c DisplayName: CleanPlates Value: data: [] - PropertyPath: 9f7d2705-1b74-4cc7-a864-7517a4c6cc38 DisplayName: CaptureFolder Value: R:/Reality/Assets/CleanPlates/ "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties/{propertyPath}": get: tags: - Engine Control summary: Get a Single Property parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 15f34237-9fa1-405c-89e6-4eacade51456 - name: propertyPath in: path schema: type: string required: true description: The path of the property. (The ID of the pin if the engine is RE5) example: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Property" example: PropertyPath: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 DisplayName: CycloramaColor Value: x: 0.5 y: 1 z: 0 w: 1 "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" patch: tags: - Engine Control summary: Update a Property's Value requestBody: content: application/json: schema: $ref: "#/components/schemas/PropertyUpdate" example: Value: x: 0.2 y: 0.3 z: 0.4 w: 0.5 parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 15f34237-9fa1-405c-89e6-4eacade51456 - name: propertyPath in: path schema: type: string required: true description: |- The path of the property. (The ID of the pin if the engine is RE5) Reality Engine 5 (1.1) supports partial pin update. In order to perform a partial update you need to construct the property path accordingly. Assume we have a mat4 pin and want to update the 'z' attribute of mat4's 'w' field. Then the property path should be ".w.z" The path bits should be delimited by a dot (.) and should be append to the original property path (after a dot). example: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Property" example: PropertyPath: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 DisplayName: CycloramaColor Value: x: 0.20000000298023224 y: 0.30000001192092896 z: 0.4000000059604645 w: 0.5 "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions": get: tags: - Engine Control summary: Get Functions of a Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/FunctionShort" example: - FunctionPath: d6f7914f-94d2-4a76-8874-f58399b83c8c FunctionName: Sample_Func "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions/{functionPath}": get: tags: - Engine Control summary: Get a Single Function parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b - name: functionPath in: path schema: type: string required: true description: The path of the function. (The ID of the function if the engine is RE5) example: d6f7914f-94d2-4a76-8874-f58399b83c8c responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/FunctionLong" example: FunctionPath: d6f7914f-94d2-4a76-8874-f58399b83c8c FunctionName: Sample_Func Properties: d405ae7e-04f0-41ad-bcf5-6a0c03041b97: PropertyPath: d405ae7e-04f0-41ad-bcf5-6a0c03041b97 DisplayName: A Value: 5 2d762d6c-7c25-4cfc-a22c-5d188a7463d5: PropertyPath: 2d762d6c-7c25-4cfc-a22c-5d188a7463d5 DisplayName: B Value: 4 "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" post: tags: - Engine Control summary: Call a Node's Function requestBody: content: application/json: schema: $ref: "#/components/schemas/FunctionTriggerRequest" example: Parameters: - PropertyPath: d405ae7e-04f0-41ad-bcf5-6a0c03041b97 payload: value: 50 - PropertyPath: 2d762d6c-7c25-4cfc-a22c-5d188a7463d5 payload: value: 200 parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "3" - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b - name: functionPath in: path schema: type: string required: true description: The path of the function. (The ID of the function if the engine is RE5) example: d6f7914f-94d2-4a76-8874-f58399b83c8c responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ServerSuccessResponse" "401": description: | Unauthorized. Either no API key was provided, or the provided API key is invalid. content: application/json: schema: oneOf: - $ref: "#/components/schemas/AuthenticationRequiredError" - $ref: "#/components/schemas/InvalidApiKeyError" examples: authenticationRequired: summary: Authentication required value: error: Authentication required message: REST API access requires API key authentication. Please provide a valid API key. code: AUTHENTICATION_REQUIRED suggestion: Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key= as query parameter. invalidApiKey: summary: Invalid API key value: error: Invalid API key message: The provided API key is invalid. code: INVALID_API_KEY "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" /api/rest/v1/graphs: get: summary: Get Graphs responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Graph" example: - id: 1 name: first graph - id: 2 name: secomd graph - id: 3 name: third graph "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" tags: - Graph Control "/api/rest/v1/graphs/{graphId}": get: summary: Get a Single Graph parameters: - name: graphId in: path schema: type: integer required: true description: The ID of the graph. example: 1 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/GraphLong" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Error" example: error: Graph not found. tags: - Graph Control "/api/rest/v1/graphs/{graphId}/channels": get: summary: Get Graph Channels description: Returns the list of channels defined in the specified graph. parameters: - in: path name: graphId schema: type: integer required: true description: The ID of the graph. example: 1 responses: "200": description: OK content: application/json: schema: type: array items: type: object properties: name: type: string category: type: string enum: [dynamic, viewport] example: - name: Channel1 category: dynamic - name: Viewport1 category: viewport "400": description: Bad Request content: application/json: schema: $ref: "#/components/schemas/Error" example: error: graphId is required. "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Error" example: error: Graph not found. "422": description: Unprocessable Entity content: application/json: schema: $ref: "#/components/schemas/Error" example: error: graphId must be numeric. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" tags: - Graph Control "/api/rest/v1/graphs/{graphId}/load": post: summary: Load a Graph parameters: - in: path name: graphId schema: type: integer required: true description: The ID of the graph. example: 1 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/EngineHostId" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ServerSuccessResponse" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" tags: - Graph Control /api/rest/v1/projects: get: summary: List all projects responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Project" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" tags: - Projects Control "/api/rest/v1/projects/{projectId}/channels": get: summary: Get Project Channels description: Returns the list of channels defined in the specified project. parameters: - in: path name: projectId schema: type: integer required: true description: The ID of the project. example: 1 responses: "200": description: OK content: application/json: schema: type: array items: type: object properties: name: type: string id: type: string example: - name: ProjectChannel1 id: "ch-001" - name: ProjectChannel2 id: "ch-002" "400": description: Bad Request content: application/json: schema: $ref: "#/components/schemas/Error" example: error: projectId is required. "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Error" example: error: Project not found. "422": description: Unprocessable Entity content: application/json: schema: $ref: "#/components/schemas/Error" example: error: projectId must be numeric. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" tags: - Projects Control "/api/rest/v1/launcher/shows/{showId}/engines/{rendererId}/channels": get: tags: - Launcher Control summary: Get Engine Channels description: Returns the list of channels for a specific engine/renderer within a show. Includes nodos, project, dynamic/graph, and viewport channels grouped by category. parameters: - in: path name: showId schema: type: integer required: true description: The ID of the show. example: 1 - in: path name: rendererId schema: type: integer required: true description: The ID of the renderer/engine. example: 1 responses: "200": description: OK content: application/json: schema: type: object properties: nodos: type: array items: type: object properties: name: type: string source: type: string enum: [static, live] project: type: array items: type: object properties: name: type: string source: type: string enum: [static, live] dynamic: type: array description: Present when show is running items: type: object properties: name: type: string category: type: string source: type: string enum: [static, live] graph: type: array description: Present when show is not running items: type: object properties: name: type: string category: type: string source: type: string enum: [static, live] viewport: type: array items: type: object properties: name: type: string category: type: string source: type: string enum: [static, live] example: nodos: - name: NodosChannel1 source: static project: - name: ProjectChannel1 source: static dynamic: - name: DynamicChannel1 category: dynamic source: live viewport: - name: Viewport1 category: viewport source: live "400": description: Bad Request content: application/json: schema: $ref: "#/components/schemas/Error" example: error: showId and rendererId are required. "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Error" example: error: Renderer not found. "422": description: Unprocessable Entity content: application/json: schema: $ref: "#/components/schemas/Error" example: error: showId and rendererId must be numeric. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" /api/rest/v1/launcher: get: tags: - Launcher Control summary: List all shows description: Get all shows with their channels and engines responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Show" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "/api/rest/v1/launcher/{showId}": get: tags: - Launcher Control summary: Get specific show description: Get detailed information for a specific show including channels and engines parameters: - in: path name: showId schema: type: integer required: true description: Show ID to retrieve example: 1 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Show" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Show not found content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "422": description: Invalid show ID content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "/api/rest/v1/launcher/{showId}/launch": put: tags: - Launcher Control summary: Start show description: Start a show with validation for project assignments parameters: - in: path name: showId schema: type: integer required: true description: Show ID to start example: 1 responses: "200": description: Show started successfully content: application/json: schema: type: object properties: success: type: boolean example: true message: type: string example: Show started successfully "207": description: Show started with warnings content: application/json: schema: type: object properties: success: type: boolean example: true message: type: string example: Show started with warnings warnings: type: array items: type: string "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Show not found content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "422": description: Invalid show ID or channels without projects content: application/json: schema: type: object properties: success: type: boolean example: false message: type: string example: 'Show "My Show" cannot be started. The following channels do not have projects assigned: Channel 1, Channel 2' details: type: object properties: showId: type: integer example: 1 showName: type: string example: My Show channelsWithoutProjects: type: array items: type: object properties: id: type: integer example: 1 name: type: string example: Channel 1 "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "/api/rest/v1/launcher/{showId}/stop": put: tags: - Launcher Control summary: Stop show description: Stop a running show parameters: - in: path name: showId schema: type: integer required: true description: Show ID to stop example: 1 responses: "200": description: Show stopped successfully content: application/json: schema: type: object properties: success: type: boolean example: true message: type: string example: Show stopped successfully "207": description: Show stopped with warnings content: application/json: schema: type: object properties: success: type: boolean example: true message: type: string example: Show stopped with warnings warnings: type: array items: type: string "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Show not found content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "422": description: Invalid show ID or show already stopped content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" /api/rest/v1/lino/shows: get: tags: - Lino Rundown Control description: Get list of Lino shows responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/LinoRundownEngine" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/shows/{showId}": get: tags: - Lino Rundown Control description: Get a Single Lino show parameters: - name: showId in: path schema: type: integer required: true description: The ID of the show example: 2 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LinoRundownEngine" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Show not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundowns": get: tags: - Lino Rundown Control summary: List all Lino rundowns description: Get list of all Lino rundowns across all shows. This endpoint returns all available rundowns in the Lino system. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PlayoutRundown" example: - id: 1 name: News Rundown - id: 2 name: Sports Rundown "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{rundownId}": get: tags: - Lino Rundown Control summary: Get a single Lino rundown description: Get details of a specific Lino rundown by its ID. This endpoint returns information about a single rundown. parameters: - in: path name: rundownId description: The ID of the rundown required: true schema: type: integer example: 1 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PlayoutRundown" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Rundown not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundowns/{showId}": get: tags: - Lino Rundown Control summary: Get Rundowns by Show description: Get list of rundowns for a specific show. If showId is not provided, returns all rundowns. parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PlayoutRundown" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" /api/rest/v1/lino/templates: get: tags: - Lino Rundown Control description: Get rundown templates responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/LinoTemplate" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/{rundownId}/items/": get: tags: - Lino Rundown Control description: Get items of a rundown that belongs to the specified show parameters: - in: path name: showId description: The ID of the show. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown that belongs to the specified show. required: true schema: type: integer example: 2 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/LinoRundownItem" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: "Cannot get rundown show for rundownShowId: 4, action: loadRundown, please check the server logs for details." "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" post: tags: - Lino Rundown Control description: Add rundown item requestBody: description: Item parameters content: application/json: schema: $ref: "#/components/schemas/LinoRundownItemCreateBody" parameters: - in: path name: showId description: The ID of the show. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 responses: "201": description: OK headers: location: schema: type: string content: application/json: schema: $ref: "#/components/schemas/LinoRundownItem" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: "Cannot get rundown show for rundownShowId: 4, action: loadRundown, please check the server logs for details." "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/{rundownId}/items/{itemId}": patch: tags: - Lino Rundown Control description: Update rundown item data parameters: - in: path name: showId description: The ID of the show. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 - in: path name: itemId description: The ID of the item. required: true schema: type: integer example: 72 requestBody: description: Item parameters content: application/json: schema: $ref: "#/components/schemas/LinoRundownItemCreateBody" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LinoRundownItem" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" delete: tags: - Lino Rundown Control description: Update rundown item data parameters: - in: path name: showId description: The ID of the show. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 - in: path name: itemId description: The ID of the item. required: true schema: type: integer example: 72 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/{rundownId}/items/{itemId}/buttons": get: tags: - Lino Rundown Control description: Get rundown item buttons summary: Get Rundown Item Buttons parameters: - in: path name: showId description: The ID of the show. required: true schema: type: integer example: 77 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 110 - in: path name: itemId description: The ID of the item. required: true schema: type: integer example: 784 responses: "200": description: OK content: application/json: schema: type: object additionalProperties: type: string description: Object where keys are button labels (e.g., "Load Files", "Play", "DoTransition") and values are empty strings example: "Load Files": "" "Play": "" "Next": "" "Previous": "" "Pause": "" "Rewind": "" "DoTransition": "" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: "Not found" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/{rundownId}/items/{itemId}/buttons/{buttonKey}": post: tags: - Lino Rundown Control description: Trigger a button action on a rundown item (e.g., "Load Files", "Play", "DoTransition") summary: Trigger Rundown Item Button parameters: - in: path name: showId description: The ID of the show. required: true schema: type: integer example: 77 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 110 - in: path name: itemId description: The ID of the item. required: true schema: type: integer example: 784 - in: path name: buttonKey description: The key of the button to trigger. This should match one of the keys from the buttons object returned in the rundown items response (e.g., "Load Files", "Play", "DoTransition"). required: true schema: type: string example: "DoTransition" responses: "200": description: OK content: text/plain: schema: type: string example: "OK" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: "Item not found in the specified rundown" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/{rundownId}": delete: tags: - Lino Rundown Control description: Delete rundown parameters: - in: path name: showId description: The ID of the show. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: Rundown not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" post: tags: - Lino Rundown Control description: Create rundown item parameters: - in: path name: showId description: The ID of the show. required: true schema: type: integer example: 1 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 1 requestBody: description: Item description content: application/json: schema: $ref: "#/components/schemas/LinoRundownItemCreateBody" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LinoRundownItem" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: "Cannot get rundown show for rundownShowId: 4, action: loadRundown, please check the server logs for details." "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/{rundownId}/load": put: tags: - Lino Rundown Control description: Load rundown parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown required: true schema: type: integer example: 2 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PlayoutRundown" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: Rundown not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/{rundownId}/append/{newRundownId}": put: tags: - Lino Rundown Control description: Append rundown parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown required: true schema: type: integer example: 2 - in: path name: newRundownId description: The ID of the new rundown required: true schema: type: integer example: 3 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: Rundown not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/{rundownId}/unload": put: tags: - Lino Rundown Control description: Unload rundown parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown required: true schema: type: integer example: 2 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/play/{itemId}/{preview}": put: tags: - Lino Rundown Control description: Play rundown item parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 - in: path name: itemId description: The ID of the item required: true schema: type: integer example: 88 - in: path name: preview description: "Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation." required: true schema: type: integer enum: - 0 - 1 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: Not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/playnext/{preview}": put: tags: - Lino Rundown Control description: Playnext rundown item parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 - in: path name: preview description: "Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation." required: true schema: type: integer enum: - 0 - 1 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: Not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/continue/{itemId}/{preview}": put: tags: - Lino Rundown Control description: Continue play rundown item parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 - in: path name: itemId description: The ID of the item required: true schema: type: integer example: 88 - in: path name: preview description: "Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation." required: true schema: type: integer enum: - 0 - 1 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: Not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/out/{itemId}/{preview}": put: tags: - Lino Rundown Control description: Out rundown item parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 - in: path name: itemId description: The ID of the item required: true schema: type: integer example: 88 - in: path name: preview description: "Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation." required: true schema: type: integer enum: - 0 - 1 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: Not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/lino/rundown/{showId}/clear/{preview}": put: tags: - Lino Rundown Control summary: Clear Output description: Clears the output channel (program or preview). parameters: - in: path name: showId description: The ID of the show required: true schema: type: integer example: 4 - in: path name: preview description: "Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to clear the main program output. Use 1 to clear the preview output." required: true schema: type: integer enum: - 0 - 1 responses: "200": description: OK content: text/plain: schema: type: string example: OK "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": description: Not found content: text/plain: schema: type: string example: Not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" /api/rest/v1/batch: put: tags: - Batch Requests description: Multiple request in single call requestBody: content: application/json: schema: type: array items: $ref: "#/components/schemas/BatchRequest" responses: "200": description: array of responses content: application/json: schema: type: array items: $ref: "#/components/schemas/BatchResponse" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden"