openapi: 3.0.0 info: title: RealityHub REST API version: 1.0.0 servers: - url: http://127.0.0.1 tags: - name: Engine Control - name: Rundown Control - name: Newsroom Control components: schemas: 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', 'Cooking'] 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 cookedProjectId: type: integer nullable: true cookedMapId: type: integer nullable: true cookedId: type: integer nullable: true engineType: type: string enum: ['RE', 'RE5', 'UE'] engineVersion: type: string statusDescription: type: string nullable: true required: - id - projectTag - streaming - status - pid - engineHostId - engineRoleId - projectId - projectMapId - editorPath - cookedProjectId - cookedMapId - cookedId - engineType - engineVersion - statusDescription Engine: type: object properties: id: type: integer name: type: string ip: type: string format: ipv4 role: type: string enum: ['Broadcast', 'Preview'] status: type: string enum: ['connected', 'ready', 'disconnected', 'reconnecting'] cacheDir: type: string minimumFreeSpace: type: integer usedSpace: type: integer diskSpace: type: integer canCook: type: boolean 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 - canCook - 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: 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 PlayoutRundown: type: object properties: id: type: integer name: type: string required: - id - name RundownItemButton: type: object properties: id: type: string key: type: string label: type: string required: - id - key - label PlayoutRundownCreateRenameRequestBody: type: object properties: name: type: string required: - name PlayoutRundownItem: type: object properties: id: type: integer name: type: string template: type: string data: type: object additionalProperties: true buttons: type: array items: $ref: '#/components/schemas/RundownItemButton' required: - id - name - template - data - buttons PlayoutRundownItemCreateBody: type: object properties: name: type: string template: type: string order: type: integer data: type: object additionalProperties: true required: - name - template - data PlayoutRundownItemShort: type: object properties: id: type: integer name: type: string template: type: string data: type: object additionalProperties: true required: - id - name - template - data PlayoutRundownItemUpdateBody: type: object properties: name: type: string template: type: string order: type: integer data: type: object additionalProperties: true overriddenChannels: type: array items: type: integer Template: type: object properties: id: type: integer name: type: string required: - id - name MosObject: type: object properties: objID: type: string format: uuid objSlug: type: string mosAbstract: type: string objGroup: type: string maxLength: 128 nullable: true objTB: type: string maxLength: 10 pattern: '^\d+$' objRev: type: integer objDur: type: integer status: type: string enum: ['NEW', 'UPDATED', 'MOVED', 'BUSY', 'DELETED', 'NCS CTRL', 'MANUAL CTRL', 'READY', 'NOT READY', 'PLAY', 'STOP'] objAir: type: string enum: ['READY', 'NOT READY'] objPaths: type: string nullable: true mosExternalMetadata: type: string nullable: true createdBy: type: string created: type: string format: date-time changedBy: type: string changed: type: string format: date-time description: type: string objType: type: string enum: ['STILL', 'VIDEO', 'AUDIO'] template: type: string data: type: object additionalProperties: true buttons: type: array items: $ref: '#/components/schemas/RundownItemButton' required: - objID - objSlug - mosAbstract - objGroup - objTB - objRev - objDur - status - objAir - objPaths - mosExternalMetadata - createdBy - created - changedBy - changed - description - objType - template - data - buttons NewsroomRundownItem: type: object properties: storyID: type: string itemID: type: string storySlug: type: string itemSlug: type: string mosObject: $ref: '#/components/schemas/MosObject' required: - storyID - itemID - storySlug - itemSlug - mosObject NewsroomRundownShort: type: object properties: ncsID: type: string roID: type: string roSlug: type: string status: type: string enum: ['NEW', 'UPDATED', 'MOVED', 'BUSY', 'DELETED', 'NCS CTRL', 'MANUAL CTRL', 'READY', 'NOT READY', 'PLAY', 'STOP'] createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - ncsID - roID - roSlug - status - createdAt - updatedAt NewsroomRundownLong: type: object properties: ncsID: type: string roID: type: string roSlug: type: string roChannel: type: string maxLength: 128 roEdStart: type: string format: date-time roEdDur: type: string format: partial-time roTrigger: type: string maxLength: 128 nullable: true macroIn: type: string maxLength: 128 nullable: true macroOut: type: string maxLength: 128 nullable: true mosExternalMetadata: type: string readyToAir: type: boolean status: type: string enum: ['NEW', 'UPDATED', 'MOVED', 'BUSY', 'DELETED', 'NCS CTRL', 'MANUAL CTRL', 'READY', 'NOT READY', 'PLAY', 'STOP'] createdAt: type: string format: date-time updatedAt: type: string format: date-time items: type: array items: $ref: '#/components/schemas/NewsroomRundownItem' required: - ncsID - roID - roSlug - roChannel - roEdStart - roEdDur - roTrigger - macroIn - macroOut - mosExternalMetadata - readyToAir - status - createdAt - updatedAt - items NewsroomMosObjectUpdateBody: type: object properties: description: type: string data: type: object additionalProperties: true required: - data NewsroomMosObjectUpdateResult: type: object properties: objID: type: string format: uuid objSlug: type: string mosAbstract: type: string objGroup: type: string maxLength: 128 nullable: true objTB: type: string maxLength: 10 pattern: '^\d+$' objRev: type: integer objDur: type: integer status: type: string enum: ['NEW', 'UPDATED', 'MOVED', 'BUSY', 'DELETED', 'NCS CTRL', 'MANUAL CTRL', 'READY', 'NOT READY', 'PLAY', 'STOP'] objAir: type: string enum: ['READY', 'NOT READY'] objPaths: type: string nullable: true mosExternalMetadata: type: string nullable: true createdBy: type: string created: type: string format: date-time changedBy: type: string changed: type: string format: date-time description: type: string objType: type: string enum: ['STILL', 'VIDEO', 'AUDIO'] template: type: string data: type: object additionalProperties: true required: - objID - objSlug - mosAbstract - objGroup - objTB - objRev - objDur - status - objAir - objPaths - mosExternalMetadata - createdBy - created - changedBy - changed - description - objType - template - data 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 canCook: false 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 cookedProjectId: null cookedMapId: null cookedId: null 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 canCook: true 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 cookedProjectId: null cookedMapId: null cookedId: null 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 cookedProjectId: null cookedMapId: null cookedId: null 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 cookedProjectId: null cookedMapId: null cookedId: null engineType: RE engineVersion: '4.25' statusDescription: null engineType: RE '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 canCook: true 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 cookedProjectId: null cookedMapId: null cookedId: null 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 cookedProjectId: null cookedMapId: null cookedId: null 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 cookedProjectId: null cookedMapId: null cookedId: null engineType: RE engineVersion: '4.25' statusDescription: null engineType: RE '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 '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 '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/ '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 '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 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 '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 '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 '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' example: success: true '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/playout/rundowns: get: tags: - Rundown Control summary: List Rundowns responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlayoutRundown' example: - id: 1 name: Evening Rundown '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' post: tags: - Rundown Control summary: Create a New Rundown requestBody: content: application/json: schema: $ref: '#/components/schemas/PlayoutRundownCreateRenameRequestBody' example: name: My New Rundown responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/PlayoutRundown' example: id: 2 name: My New Rundown '422': description: Missing rundown name error. content: application/json: schema: type: object properties: error: type: string required: - error example: error: 'Rundown name is required.' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/playout/rundowns/{rundownId}: get: tags: - Rundown Control summary: Get a Single Rundown parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: 5 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PlayoutRundown' example: id: 1 name: Evening Rundown '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' patch: tags: - Rundown Control summary: Rename a Rundown parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: 6 requestBody: content: application/json: schema: $ref: '#/components/schemas/PlayoutRundownCreateRenameRequestBody' example: name: My Updated Rundown responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PlayoutRundown' example: id: 2 name: My Updated Rundown '422': description: Missing rundown name error. content: application/json: schema: type: object properties: error: type: string required: - error example: error: 'Rundown name is required.' '404': description: Playout rundown not found. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' delete: tags: - Rundown Control summary: Delete a Rundown parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: 6 responses: '204': description: Successful response (no content) '404': description: Playout rundown not found. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/playout/rundowns/{rundownId}/items: get: tags: - Rundown Control summary: List Rundown Items parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: 1 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlayoutRundownItem' example: - id: 1 name: Name Band template: Name Band data: realitystring1: Default Value buttons: - id: 567ab4b8-1d0b-449f-ae28-685557d312cb label: Update '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' post: tags: - Rundown Control summary: Create a New Rundown Item requestBody: content: application/json: schema: $ref: '#/components/schemas/PlayoutRundownItemCreateBody' example: name: My New Rundown Item template: My Ticker order: 2 data: pos: 1250 responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/PlayoutRundownItemShort' example: id: 2 name: My New Rundown Item template: My Ticker data: pos: 1250 '404': description: Playout rundown not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/playout/templates: get: tags: - Rundown Control summary: List All Templates responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Template' example: - id: 1 name: CLOCK_BUG_0 - id: 2 name: Ticker_0 - id: 3 name: WeatherTransition_0 - id: 4 name: Transition_0 - id: 5 name: Headlines_0 - id: 6 name: NameBand_0 - id: 7 name: LowerThird_0 - id: 8 name: FullScreen02_0 - id: 9 name: FullScreen01_0 - id: 10 name: 2WINDOWS_0 - id: 11 name: OTS_0 - id: 12 name: Business_Transition_0 - id: 13 name: ArrayExample_0 - id: 14 name: Weather_0 - id: 15 name: Forex_0 - id: 16 name: Name Band - id: 17 name: My Ticker '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId}: get: tags: - Rundown Control summary: Get a Single Rundown Item parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: 1 - name: itemId in: path schema: type: integer required: true description: The ID of the item. example: 2 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PlayoutRundownItem' example: - id: 2 name: My New Rundown Item template: My Ticker data: pos: 1250 buttons: - id: bcca6de0-adaf-4265-9b37-4788b6b50eda label: Update '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' patch: tags: - Rundown Control summary: Update a Rundown Item parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: 1 - name: itemId in: path schema: type: integer required: true description: The ID of the item. example: 2 requestBody: content: application/json: schema: $ref: '#/components/schemas/PlayoutRundownItemUpdateBody' example: name: Updated Rundown Item Name order: 0 data: pos: 700 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PlayoutRundownItemShort' example: id: 2 name: Updated Rundown Item Name template: My Ticker data: {} '404': description: Playout rundown item not found. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' delete: tags: - Rundown Control summary: Delete a Rundown Item parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: 1 - name: itemId in: path schema: type: integer required: true description: The ID of the item. example: 2 responses: '204': description: Successful response (no content) '404': description: Playout rundown item not found. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId}/{buttonKey}: post: tags: - Rundown Control summary: Trigger a Rundown Item Button parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: 1 - name: itemId in: path schema: type: integer required: true description: The ID of the item. example: 3 - name: buttonKey in: path schema: type: string required: true description: The key of the form button. example: 'c2f0df19-a147-4976-ba86-2e27156b2eab' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServerSuccessResponse' example: success: true '404': description: 'Newsroom rundown item not found.' content: application/json: schema: type: object properties: error: type: string required: - error example: error: Rundown item not found. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/newsroom/rundowns: get: tags: - Newsroom Control summary: List Newsroom Rundowns responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/NewsroomRundownShort' example: - ncsID: OCTOPUS2 roID: '69425946' roSlug: EVENING NEWS 6/4/2023 19:00 status: MANUAL CTRL createdAt: '2023-06-02T18:47:21.659Z' updatedAt: '2023-06-02T18:47:21.659Z' - ncsID: OCTOPUS2 roID: '63356849' roSlug: EVENING NEWS 3/2/2023 19:00 status: MANUAL CTRL createdAt: '2023-03-01T11:52:51.083Z' updatedAt: '2023-03-01T11:52:51.083Z' - ncsID: OCTOPUS2 roID: '63356832' roSlug: BUSINESS NEWS 2/21/2023 20:00 status: MANUAL CTRL createdAt: '2023-02-21T12:04:49.306Z' updatedAt: '2023-02-21T12:04:49.306Z' - ncsID: OCTOPUS2 roID: '63356823' roSlug: EVENING NEWS 2/17/2023 19:00 status: MANUAL CTRL createdAt: '2023-02-17T12:33:07.112Z' updatedAt: '2023-02-17T12:33:07.112Z' - ncsID: OCTOPUS2 roID: '63356821' roSlug: EVENING NEWS 2/16/2023 19:00 status: MANUAL CTRL createdAt: '2023-02-15T09:37:43.704Z' updatedAt: '2023-02-15T09:37:43.704Z' - ncsID: OCTOPUS2 roID: '63356819' roSlug: EVENING NEWS 2/15/2023 19:00 status: MANUAL CTRL createdAt: '2023-02-14T14:19:58.913Z' updatedAt: '2023-02-14T14:19:58.913Z' - ncsID: 2016ENPS9VM001 roID: >- 2016ENPS9VM001;P_ENPSNEWS\W;38387985-142E-409A-AD00-A500F856B3C3 roSlug: Phltest0910 status: MANUAL CTRL createdAt: '2023-02-09T14:13:01.344Z' updatedAt: '2023-02-09T14:13:01.344Z' - ncsID: OCTOPUS2 roID: '60424189' roSlug: EVENING NEWS 1/31/2023 19:00 status: MANUAL CTRL createdAt: '2023-01-30T16:16:39.591Z' updatedAt: '2023-01-30T16:16:39.591Z' - ncsID: OCTOPUS2 roID: '60424171' roSlug: Mehmet Test RO status: MANUAL CTRL createdAt: '2023-01-19T16:15:10.443Z' updatedAt: '2023-01-19T16:15:10.443Z' - ncsID: OCTOPUS2 roID: '60424164' roSlug: EVENING NEWS 1/19/2023 19:00 status: MANUAL CTRL createdAt: '2023-01-18T16:29:04.036Z' updatedAt: '2023-01-18T16:29:04.036Z' - ncsID: OCTOPUS2 roID: '68843309' roSlug: BUSINESS NEWS 8/28/2022 20:00 status: MANUAL CTRL createdAt: '2022-08-26T13:33:54.268Z' updatedAt: '2022-08-26T13:33:54.268Z' - ncsID: OCTOPUS2 roID: '68843304' roSlug: EVENING NEWS 8/26/2022 19:00 status: MANUAL CTRL createdAt: '2022-08-26T13:31:49.157Z' updatedAt: '2022-08-26T13:31:49.157Z' - ncsID: OCTOPUS2 roID: '68843306' roSlug: EVENING NEWS 8/27/2022 19:00 status: MANUAL CTRL createdAt: '2022-08-26T13:31:49.088Z' updatedAt: '2022-08-26T13:31:49.088Z' - ncsID: 2012R2ENPS8VM roID: 2012R2ENPS8VM;P_SYSTEM\W;91A93EBA-08C8-40B0-83ABA5A255DD6C7D roSlug: rundown 2 status: MANUAL CTRL createdAt: '2022-07-29T07:14:39.959Z' updatedAt: '2022-07-29T07:14:39.959Z' - ncsID: 2012R2ENPS8VM roID: 2012R2ENPS8VM;P_SYSTEM\W;B2AA0459-16AD-4BEA-990F10EBFEE70DB3 roSlug: ro-1 status: MANUAL CTRL createdAt: '2022-07-29T06:52:44.384Z' updatedAt: '2022-07-29T06:52:44.384Z' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/newsroom/rundowns/{ncsID}: get: tags: - Newsroom Control summary: List Newsroom Rundowns of a Single NCS Device parameters: - name: ncsID in: path schema: type: string required: true description: >- The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration) example: OCTOPUS2 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/NewsroomRundownShort' example: - ncsID: OCTOPUS2 roID: '69425946' roSlug: EVENING NEWS 6/4/2023 19:00 status: MANUAL CTRL createdAt: '2023-06-02T18:47:21.659Z' updatedAt: '2023-06-02T18:47:21.659Z' - ncsID: OCTOPUS2 roID: '63356849' roSlug: EVENING NEWS 3/2/2023 19:00 status: MANUAL CTRL createdAt: '2023-03-01T11:52:51.083Z' updatedAt: '2023-03-01T11:52:51.083Z' - ncsID: OCTOPUS2 roID: '63356832' roSlug: BUSINESS NEWS 2/21/2023 20:00 status: MANUAL CTRL createdAt: '2023-02-21T12:04:49.306Z' updatedAt: '2023-02-21T12:04:49.306Z' - ncsID: OCTOPUS2 roID: '63356823' roSlug: EVENING NEWS 2/17/2023 19:00 status: MANUAL CTRL createdAt: '2023-02-17T12:33:07.112Z' updatedAt: '2023-02-17T12:33:07.112Z' - ncsID: OCTOPUS2 roID: '63356821' roSlug: EVENING NEWS 2/16/2023 19:00 status: MANUAL CTRL createdAt: '2023-02-15T09:37:43.704Z' updatedAt: '2023-02-15T09:37:43.704Z' - ncsID: OCTOPUS2 roID: '63356819' roSlug: EVENING NEWS 2/15/2023 19:00 status: MANUAL CTRL createdAt: '2023-02-14T14:19:58.913Z' updatedAt: '2023-02-14T14:19:58.913Z' - ncsID: OCTOPUS2 roID: '60424189' roSlug: EVENING NEWS 1/31/2023 19:00 status: MANUAL CTRL createdAt: '2023-01-30T16:16:39.591Z' updatedAt: '2023-01-30T16:16:39.591Z' - ncsID: OCTOPUS2 roID: '60424171' roSlug: Mehmet Test RO status: MANUAL CTRL createdAt: '2023-01-19T16:15:10.443Z' updatedAt: '2023-01-19T16:15:10.443Z' - ncsID: OCTOPUS2 roID: '60424164' roSlug: EVENING NEWS 1/19/2023 19:00 status: MANUAL CTRL createdAt: '2023-01-18T16:29:04.036Z' updatedAt: '2023-01-18T16:29:04.036Z' - ncsID: OCTOPUS2 roID: '68843309' roSlug: BUSINESS NEWS 8/28/2022 20:00 status: MANUAL CTRL createdAt: '2022-08-26T13:33:54.268Z' updatedAt: '2022-08-26T13:33:54.268Z' - ncsID: OCTOPUS2 roID: '68843304' roSlug: EVENING NEWS 8/26/2022 19:00 status: MANUAL CTRL createdAt: '2022-08-26T13:31:49.157Z' updatedAt: '2022-08-26T13:31:49.157Z' - ncsID: OCTOPUS2 roID: '68843306' roSlug: EVENING NEWS 8/27/2022 19:00 status: MANUAL CTRL createdAt: '2022-08-26T13:31:49.088Z' updatedAt: '2022-08-26T13:31:49.088Z' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/newsroom/rundowns/{ncsID}/{roID}: get: tags: - Newsroom Control summary: Get a Single Rundown parameters: - name: ncsID in: path schema: type: string required: true description: >- The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration) example: OCTOPUS2 - name: roID in: path schema: type: integer required: true description: Rundown ID (given by the NCS Device) example: '69425946' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NewsroomRundownLong' example: ncsID: OCTOPUS2 roID: '69425946' roSlug: EVENING NEWS 6/4/2023 19:00 roChannel: OCTOPUS NEWS roEdStart: '2023-06-04T16:00:00.000Z' roEdDur: '00:06:03' roTrigger: TIMED macroIn: null macroOut: null mosExternalMetadata: >- [{"mosScope":"PLAYLIST","mosSchema":"octopus://PLAYLIST/EXTRA","mosPayload":"\n\t\n\t\t\n\t\n\n"}] readyToAir: true status: MANUAL CTRL updatedAt: '2023-06-02T18:47:21.659Z' createdAt: '2023-06-02T18:47:21.659Z' items: - storyID: '71755601' itemID: 2-1 storySlug: 8 die in Japan snowstorm itemSlug: Newsroom REST - Test 1 mosObject: objID: 048c0b52-0c5c-47a6-9f23-b375ea6d9feb objSlug: Newsroom REST - Test 1 mosAbstract: Newsroom REST - Test 1 objGroup: null objTB: '50' objRev: 1 objDur: 0 status: NEW objAir: READY objPaths: null mosExternalMetadata: null createdBy: mehmet created: '2023-06-02T18:47:00.612Z' changedBy: hub.newsroom changed: '2023-06-02T18:47:00.612Z' description: '' objType: VIDEO template: Newsroom REST - Test 1 data: realityarray1: - Deneme 1000 - Deneme 2000 - Deneme 3000 - Deneme 4000 button1: '' buttons: - id: button1 key: button1 label: Button '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/newsroom/mosObjects/{objID}: patch: tags: - Newsroom Control summary: Update a MOS Object's Data requestBody: content: application/json: schema: $ref: '#/components/schemas/NewsroomMosObjectUpdateBody' example: description: Updated description data: realityarray1: - Test 1 - Test 2 - Test 3 parameters: - name: objID in: path schema: type: string required: true description: The ID of the MOS object to update. example: 048c0b52-0c5c-47a6-9f23-b375ea6d9feb responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NewsroomMosObjectUpdateResult' example: objID: 048c0b52-0c5c-47a6-9f23-b375ea6d9feb objSlug: Newsroom REST - Test 1 mosAbstract: Newsroom REST - Test 1 objGroup: null objTB: '50' objRev: 1 objDur: 0 status: NEW objAir: READY objPaths: null mosExternalMetadata: null createdBy: mehmet created: '2023-06-02T18:47:00.612Z' changedBy: REST API changed: '2023-06-02T18:47:00.612Z' description: Updated description objType: VIDEO template: Newsroom REST - Test 1 data: realityarray1: - Test 1 - Test 2 - Test 3 '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/newsroom/rundowns/{ncsID}/{roID}/{storyID}/{itemID}/{buttonKey}: post: tags: - Newsroom Control summary: Trigger a MOS Object's Button (Newsroom Rundown Item Button) parameters: - name: ncsID in: path schema: type: string required: true description: >- The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration) example: OCTOPUS2 - name: roID in: path schema: type: integer required: true description: Rundown ID example: '69425946' - name: storyID in: path schema: type: integer required: true description: Story ID example: '71755601' - name: itemID in: path schema: type: string required: true description: Item ID example: 2-1 - name: buttonKey in: path schema: type: string required: true description: The key of the button to be triggered. example: button1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServerSuccessResponse' '404': description: 'Newsroom rundown item not found.' content: application/json: schema: type: object properties: error: type: string required: - error example: error: Rundown item not found. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error'