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.

REST API is a licensed feature. For more details, please get in touch with our Licensing Team.

  • 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)

If the Endpoint contains characters that the URL doesn't support, those characters should be URL-Encoded. For more information, please visit: HTML URL Encoding Reference

Engine Control

Get Engines

get
Responses
200
OK
application/json
get
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"
  }
]

Get a Single Engine

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
Responses
200
OK
application/json
get
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"
}

Get Nodes of an Engine

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
Responses
200
OK
application/json
get
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"
  }
]

Get a Single Node

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
nodePathstringRequired

The path of the node. (The ID of the node if the engine is RE5)

Example: 15f34237-9fa1-405c-89e6-4eacade51456
Responses
200
OK
application/json
get
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"
}

Get Properties of a Node

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
nodePathstringRequired

The path of the node. (The ID of the node if the engine is RE5)

Example: 15f34237-9fa1-405c-89e6-4eacade51456
Responses
200
OK
application/json
get
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/"
  }
]

Get a Single Property

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
nodePathstringRequired

The path of the node. (The ID of the node if the engine is RE5)

Example: 15f34237-9fa1-405c-89e6-4eacade51456
propertyPathstringRequired

The path of the property. (The ID of the pin if the engine is RE5)

Example: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464
Responses
200
OK
application/json
get
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
  }
}

Update a Property's Value

patch
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
nodePathstringRequired

The path of the node. (The ID of the node if the engine is RE5)

Example: 15f34237-9fa1-405c-89e6-4eacade51456
propertyPathstringRequired

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
Body
Valueany ofRequired
booleanOptional
or
numberOptional
or
integerOptional
or
objectOptional
or
or
stringOptional
Responses
200
OK
application/json
patch
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
  }
}

Get Functions of a Node

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
nodePathstringRequired

The path of the node. (The ID of the node if the engine is RE5)

Example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b
Responses
200
OK
application/json
get
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"
  }
]

Get a Single Function

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
nodePathstringRequired

The path of the node. (The ID of the node if the engine is RE5)

Example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b
functionPathstringRequired

The path of the function. (The ID of the function if the engine is RE5)

Example: d6f7914f-94d2-4a76-8874-f58399b83c8c
Responses
200
OK
application/json
get
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
    }
  }
}

Call a Node's Function

post
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 3
nodePathstringRequired

The path of the node. (The ID of the node if the engine is RE5)

Example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b
functionPathstringRequired

The path of the function. (The ID of the function if the engine is RE5)

Example: d6f7914f-94d2-4a76-8874-f58399b83c8c
Body
Responses
200
OK
application/json
post
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
}

Rundown Control

List Rundowns

get
Responses
200
OK
application/json
get
GET /api/rest/v1/playout/rundowns HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
  {
    "id": 1,
    "name": "Evening Rundown"
  }
]

Create a New Rundown

post
Body
namestringRequired
Responses
201
OK
application/json
post
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"
}

Get a Single Rundown

get
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 5
Responses
200
OK
application/json
get
GET /api/rest/v1/playout/rundowns/{rundownId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "id": 1,
  "name": "Evening Rundown"
}

Delete a Rundown

delete
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 6
Responses
204
Successful response (no content)
delete
DELETE /api/rest/v1/playout/rundowns/{rundownId} HTTP/1.1
Host: 127.0.0.1
Accept: */*

No content

Rename a Rundown

patch
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 6
Body
namestringRequired
Responses
200
OK
application/json
patch
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"
}

List Rundown Items

get
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 1
Responses
200
OK
application/json
get
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"
      }
    ]
  }
]

Create a New Rundown Item

post
Body
namestringRequired
templatestringRequired
orderintegerOptional
Responses
201
OK
application/json
post
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
  }
}

List All Templates

get
Responses
200
OK
application/json
get
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"
  }
]

Get a Single Rundown Item

get
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 1
itemIdintegerRequired

The ID of the item.

Example: 2
Responses
200
OK
application/json
get
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"
      }
    ]
  }
]

Delete a Rundown Item

delete
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 1
itemIdintegerRequired

The ID of the item.

Example: 2
Responses
204
Successful response (no content)
delete
DELETE /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId} HTTP/1.1
Host: 127.0.0.1
Accept: */*

No content

Update a Rundown Item

patch
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 1
itemIdintegerRequired

The ID of the item.

Example: 2
Body
namestringOptional
templatestringOptional
orderintegerOptional
overriddenChannelsinteger[]Optional
Responses
200
OK
application/json
patch
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": {}
}

Trigger a Rundown Item Button

post
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 1
itemIdintegerRequired

The ID of the item.

Example: 3
buttonKeystringRequired

The key of the form button.

Example: c2f0df19-a147-4976-ba86-2e27156b2eab
Responses
200
OK
application/json
post
POST /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId}/{buttonKey} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "success": true
}

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}

Newsroom Control

List Newsroom Rundowns

get
Responses
200
OK
application/json
get
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"
  }
]

List Newsroom Rundowns of a Single NCS Device

get
Path parameters
ncsIDstringRequired

The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration)

Example: OCTOPUS2
Responses
200
OK
application/json
get
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"
  }
]

Get a Single Rundown

get
Path parameters
ncsIDstringRequired

The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration)

Example: OCTOPUS2
roIDintegerRequired

Rundown ID (given by the NCS Device)

Example: 69425946
Responses
200
OK
application/json
get
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"
          }
        ]
      }
    }
  ]
}

Update a MOS Object's Data

patch
Path parameters
objIDstringRequired

The ID of the MOS object to update.

Example: 048c0b52-0c5c-47a6-9f23-b375ea6d9feb
Body
descriptionstringOptional
Responses
200
OK
application/json
patch
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"
    ]
  }
}

Trigger a MOS Object's Button (Newsroom Rundown Item Button)

post
Path parameters
ncsIDstringRequired

The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration)

Example: OCTOPUS2
roIDintegerRequired

Rundown ID

Example: 69425946
storyIDintegerRequired

Story ID

Example: 71755601
itemIDstringRequired

Item ID

Example: 2-1
buttonKeystringRequired

The key of the button to be triggered.

Example: button1
Responses
200
OK
application/json
post
POST /api/rest/v1/newsroom/rundowns/{ncsID}/{roID}/{storyID}/{itemID}/{buttonKey} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "success": true
}

Graph Control

Get Graphs

get
Responses
200
OK
application/json
get
GET /api/rest/v1/graphs HTTP/1.1
Host: 127.0.0.1
Accept: */*
200

OK

[
  {
    "id": 1,
    "name": "first graph"
  },
  {
    "id": 2,
    "name": "secomd graph"
  },
  {
    "id": 3,
    "name": "third graph"
  }
]

Get a Single Graph

get
Path parameters
graphIdintegerRequired

The ID of the graph.

Example: 1
Responses
200
OK
application/json
get
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... }"
}

Load a Graph

post
Path parameters
graphIdintegerRequired

The ID of the graph.

Example: 1
Body
engineHostIdnumberRequired
Responses
200
OK
application/json
post
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
}
200

OK

{
  "success": true
}

RGraph Control

Get Graphs

get
Responses
200
OK
application/json
get
GET /api/rest/v1/graphs HTTP/1.1
Host: 127.0.0.1
Accept: */*
200

OK

[
  {
    "id": 1,
    "name": "first graph"
  },
  {
    "id": 2,
    "name": "secomd graph"
  },
  {
    "id": 3,
    "name": "third graph"
  }
]

Get a Single Graph

get
Path parameters
graphIdintegerRequired

The ID of the graph.

Example: 1
Responses
200
OK
application/json
get
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... }"
}

Load an Rgraph

post
Path parameters
rgraphIdintegerRequired

The ID of the rgraph.

Example: 1
Body
engineHostIdnumberRequired
Responses
200
OK
application/json
post
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
}
200

OK

{
  "success": true
}

UState Control

Get a Single Ustate

get
Path parameters
ustateIdintegerRequired

The ID of the ustate.

Example: 1
Responses
200
OK
application/json
get
GET /api/rest/v1/ustates/{ustateId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "id": 1,
  "name": "test ustate",
  "ustateData": ""
}

Load a Ustate

post
Path parameters
ustateIdintegerRequired

The ID of the ustate.

Example: 1
Body
engineHostIdnumberRequired
Responses
200
OK
application/json
post
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
}
200

OK

{
  "success": true
}

Last updated