REST API
A REST API is an architectural style for an application program interface (API) that uses HTTP requests to access and use data. That data can be used to GET, POST, PATCH, and DELETE data types, referring to the reading, updating, creating, changing, and deleting operations concerning resources.
Base URL: Your current RealityHub address and port (ex:
http://localhost
)Endpoint: Communication channel that you want to do various processes (
/api/rest/v1/engines/1/nodes
)
GET /api/rest/v1/engines HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"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"
}
]
The ID of the engine.
3
GET /api/rest/v1/engines/{engineId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"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"
}
The ID of the engine.
3
GET /api/rest/v1/engines/{engineId}/nodes HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"NodePath": "f0f8ae55-fe2e-482b-ac69-1febb1b52a0c",
"NodeName": "U32ToString"
},
{
"NodePath": "15f34237-9fa1-405c-89e6-4eacade51456",
"NodeName": "Cyclorama"
},
{
"NodePath": "0168d90c-571b-471e-8519-3d6eed8bbe9c",
"NodeName": "AJAOut"
}
]
The ID of the engine.
3
The path of the node. (The ID of the node if the engine is RE5)
15f34237-9fa1-405c-89e6-4eacade51456
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"NodePath": "15f34237-9fa1-405c-89e6-4eacade51456",
"NodeName": "Cyclorama"
}
The ID of the engine.
3
The path of the node. (The ID of the node if the engine is RE5)
15f34237-9fa1-405c-89e6-4eacade51456
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"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/"
}
]
The ID of the engine.
3
The path of the node. (The ID of the node if the engine is RE5)
15f34237-9fa1-405c-89e6-4eacade51456
The path of the property. (The ID of the pin if the engine is RE5)
5ec1e795-f3c2-4834-b84b-d97cdd7f3464
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties/{propertyPath} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"PropertyPath": "5ec1e795-f3c2-4834-b84b-d97cdd7f3464",
"DisplayName": "CycloramaColor",
"Value": {
"x": 0.5,
"y": 1,
"z": 0,
"w": 1
}
}
The ID of the engine.
3
The path of the node. (The ID of the node if the engine is RE5)
15f34237-9fa1-405c-89e6-4eacade51456
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).
5ec1e795-f3c2-4834-b84b-d97cdd7f3464
Enum: ['Constant', 'Linear', 'EaseIn', 'EaseOut', 'EaseInOut']
Constant
Possible values: The duration of the interpolation in seconds. Must be a positive number.
0
The delay of the interpolation in seconds. Must be a positive number.
0
PATCH /api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties/{propertyPath} HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 43
{
"Value": {
"x": 0.2,
"y": 0.3,
"z": 0.4,
"w": 0.5
}
}
{
"PropertyPath": "5ec1e795-f3c2-4834-b84b-d97cdd7f3464",
"DisplayName": "CycloramaColor",
"Value": {
"x": 0.20000000298023224,
"y": 0.30000001192092896,
"z": 0.4000000059604645,
"w": 0.5
}
}
The ID of the engine.
3
The path of the node. (The ID of the node if the engine is RE5)
6c1293aa-418d-440a-a3b0-fb47c5d8090b
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"FunctionPath": "d6f7914f-94d2-4a76-8874-f58399b83c8c",
"FunctionName": "Sample_Func"
}
]
The ID of the engine.
3
The path of the node. (The ID of the node if the engine is RE5)
6c1293aa-418d-440a-a3b0-fb47c5d8090b
The path of the function. (The ID of the function if the engine is RE5)
d6f7914f-94d2-4a76-8874-f58399b83c8c
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions/{functionPath} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"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
}
}
}
The ID of the engine.
3
The path of the node. (The ID of the node if the engine is RE5)
6c1293aa-418d-440a-a3b0-fb47c5d8090b
The path of the function. (The ID of the function if the engine is RE5)
d6f7914f-94d2-4a76-8874-f58399b83c8c
POST /api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions/{functionPath} HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 175
{
"Parameters": [
{
"PropertyPath": "d405ae7e-04f0-41ad-bcf5-6a0c03041b97",
"payload": {
"value": 50
}
},
{
"PropertyPath": "2d762d6c-7c25-4cfc-a22c-5d188a7463d5",
"payload": {
"value": 200
}
}
]
}
{
"success": true
}
POST /api/rest/v1/playout/rundowns HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 25
{
"name": "My New Rundown"
}
{
"id": 2,
"name": "My New Rundown"
}
The ID of the rundown.
6
DELETE /api/rest/v1/playout/rundowns/{rundownId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
No content
The ID of the rundown.
6
PATCH /api/rest/v1/playout/rundowns/{rundownId} HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 29
{
"name": "My Updated Rundown"
}
{
"id": 2,
"name": "My Updated Rundown"
}
The ID of the rundown.
1
GET /api/rest/v1/playout/rundowns/{rundownId}/items HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"id": 1,
"name": "Name Band",
"template": "Name Band",
"data": {
"realitystring1": "Default Value"
},
"buttons": [
{
"id": "567ab4b8-1d0b-449f-ae28-685557d312cb",
"label": "Update"
}
]
}
]
POST /api/rest/v1/playout/rundowns/{rundownId}/items HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 83
{
"name": "My New Rundown Item",
"template": "My Ticker",
"order": 2,
"data": {
"pos": 1250
}
}
{
"id": 2,
"name": "My New Rundown Item",
"template": "My Ticker",
"data": {
"pos": 1250
}
}
GET /api/rest/v1/playout/templates HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"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"
}
]
The ID of the rundown.
1
The ID of the item.
2
GET /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"id": 2,
"name": "My New Rundown Item",
"template": "My Ticker",
"data": {
"pos": 1250
},
"buttons": [
{
"id": "bcca6de0-adaf-4265-9b37-4788b6b50eda",
"label": "Update"
}
]
}
]
The ID of the rundown.
1
The ID of the item.
2
DELETE /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
No content
The ID of the rundown.
1
The ID of the item.
2
PATCH /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId} HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 65
{
"name": "Updated Rundown Item Name",
"order": 0,
"data": {
"pos": 700
}
}
{
"id": 2,
"name": "Updated Rundown Item Name",
"template": "My Ticker",
"data": {}
}
The ID of the rundown.
1
The ID of the item.
3
The key of the form button.
c2f0df19-a147-4976-ba86-2e27156b2eab
POST /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId}/{buttonKey} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"success": true
}
GET /api/rest/v1/newsroom/rundowns HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"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"
}
]
The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration)
OCTOPUS2
GET /api/rest/v1/newsroom/rundowns/{ncsID} HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"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"
}
]
The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration)
OCTOPUS2
Rundown ID (given by the NCS Device)
69425946
GET /api/rest/v1/newsroom/rundowns/{ncsID}/{roID} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"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\":\"<mosPayload>\\n\\t<octext_payloadPlaylistExtra>\\n\\t\\t<cols />\\n\\t</octext_payloadPlaylistExtra>\\n</mosPayload>\\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"
}
]
}
}
]
}
The ID of the MOS object to update.
048c0b52-0c5c-47a6-9f23-b375ea6d9feb
PATCH /api/rest/v1/newsroom/mosObjects/{objID} HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 91
{
"description": "Updated description",
"data": {
"realityarray1": [
"Test 1",
"Test 2",
"Test 3"
]
}
}
{
"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"
]
}
}
The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration)
OCTOPUS2
Rundown ID
69425946
Story ID
71755601
Item ID
2-1
The key of the button to be triggered.
button1
POST /api/rest/v1/newsroom/rundowns/{ncsID}/{roID}/{storyID}/{itemID}/{buttonKey} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"success": true
}
The ID of the graph.
1
GET /api/rest/v1/graphs/{graphId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"id": 1,
"name": "test graph",
"content": "{\n \"id\": \"084fb56c-494c-4c94-81ac-f35be72b... }"
}
The ID of the graph.
1
POST /api/rest/v1/graphs/{graphId}/load HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"engineHostId": 1
}
OK
{
"success": true
}
The ID of the Rgraph
1
GET /api/rest/v1/rgraphs/{rgraphId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"id": 1,
"name": "test rgraph",
"xmlContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ZDNodeGraph n...>"
}
The ID of the rgraph.
1
POST /api/rest/v1/rgraphs/{rgraphId}/load HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"engineHostId": 1
}
OK
{
"success": true
}
The ID of the ustate.
1
POST /api/rest/v1/ustates/{ustateId}/load HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"engineHostId": 1
}
OK
{
"success": true
}
GET /api/rest/v1/projects HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"projectId": 10,
"name": "RE Test",
"version": "4.27",
"sharedFolderName": "projects",
"maps": [
"Main",
"Advanced_Lighting",
"Minimal_Default"
],
"createdAt": 76213541238,
"updatedAt": 76213541238
}
]
Start launch configuration
The ID of the launch configuration.
1
OK
PUT /api/rest/v1/launcher/{launchId}/launch HTTP/1.1
Host: 127.0.0.1
Accept: */*
OK
Stop launch configuration
The ID of the launch configuration.
1
PUT /api/rest/v1/launcher/{launchId}/stop HTTP/1.1
Host: 127.0.0.1
Accept: */*
No content
Retime launch configuration
The ID of the launch configuration.
1
PUT /api/rest/v1/launcher/{launchId}/retime HTTP/1.1
Host: 127.0.0.1
Accept: */*
No content
Get launch configurations
The ID of the launch configuration.
1
GET /api/rest/v1/launcher/{launchId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"id": 44,
"name": "Studio 44",
"renderers": [
2,
4
]
}
Get launch configuration details
GET /api/rest/v1/launcher HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
{
"id": 44,
"name": "Studio 44",
"renderers": [
2,
4
]
}
]
Create launch config
Launch config 1
[2,4]
POST /api/rest/v1/launcher/create HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 44
{
"name": "Launch config 1",
"renderers": [
2,
4
]
}
{
"id": 15,
"renderers": [
11,
12
]
}
Start renderer
The ID of launch configuration
The ID of renderer
OK
PUT /api/rest/v1/launcher/{launchId}/renderer/{rendererId}/start HTTP/1.1
Host: 127.0.0.1
Accept: */*
OK
Start renderer
The ID of launch configuration
The ID of renderer
OK
PUT /api/rest/v1/launcher/{launchId}/renderer/{rendererId}/stop HTTP/1.1
Host: 127.0.0.1
Accept: */*
OK
Get list of renderer IDs
The ID of launch configuration
[10,11]
GET /api/rest/v1/launcher/{launchId}/renderer HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
10,
11
]
Get renderer details
The ID of launch configuration
The ID of renderer
GET /api/rest/v1/launcher/{launchId}/renderer/{rendererId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
"launchConfigId": 11,
"engineId": 1,
"projectId": 4,
"projectMapId": 14,
"engineType": "RE5",
"stateId": 1
}
Create renderer
The ID of launch configuration
5
11
1
4
14
Enum: ['RE', 'RE5', 'UE']
RE5
Possible values: For RE it will be assumed as rgraph id, for ue ustate and for re5 graph id
1
12
POST /api/rest/v1/launcher/{launchId}/renderer/create HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 97
{
"launchConfigId": 11,
"engineId": 1,
"projectId": 4,
"projectMapId": 14,
"engineType": "RE5",
"stateId": 1
}
12
Additional Notes
You can also trigger the Download function of the ExternalData field as shown below:
http://127.0.0.1/api/rest/v1/playout/rundowns/{rundownId}/items/{itemId}/{ExternalDataFieldKey}
Last updated