Skip to main content
Version: Reality 5.4 SP1

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.

info

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

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

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}

API Specification

RealityHub REST API (1.6.0)

Download OpenAPI specification:Download

Engine Control

Get Engines

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get a Single Engine

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "ip": "192.168.0.1",
  • "role": "Broadcast",
  • "status": "connected",
  • "cacheDir": "string",
  • "minimumFreeSpace": 0,
  • "usedSpace": 0,
  • "diskSpace": 0,
  • "canCook": true,
  • "displayName": "string",
  • "re_enabled": true,
  • "port": 0,
  • "rgraphId": 0,
  • "ownerStudioId": 0,
  • "ustateId": 0,
  • "ue_enabled": true,
  • "instances": [
    ]
}

Get Nodes of an Engine

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Get a Single Node

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

nodePath
required
string
Example: 15f34237-9fa1-405c-89e6-4eacade51456

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

Responses

Response samples

Content type
application/json
{
  • "NodePath": "string",
  • "NodeName": "string"
}

Get Properties of a Node

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

nodePath
required
string
Example: 15f34237-9fa1-405c-89e6-4eacade51456

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

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get a Single Property

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

nodePath
required
string
Example: 15f34237-9fa1-405c-89e6-4eacade51456

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

propertyPath
required
string
Example: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464

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

Responses

Response samples

Content type
application/json
{
  • "PropertyPath": "string",
  • "DisplayName": "string",
  • "Value": true
}

Update a Property's Value

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

nodePath
required
string
Example: 15f34237-9fa1-405c-89e6-4eacade51456

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

propertyPath
required
string
Example: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464

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

Request Body schema: application/json
Interpolation
string
Default: "Constant"
Enum: "Constant" "Linear" "EaseIn" "EaseOut" "EaseInOut"

Enum: ['Constant', 'Linear', 'EaseIn', 'EaseOut', 'EaseInOut']

Duration
number
Default: 0

The duration of the interpolation in seconds. Must be a positive number.

Delay
number
Default: 0

The delay of the interpolation in seconds. Must be a positive number.

required
boolean or number or integer or object or Array of any or string

Responses

Request samples

Content type
application/json
{
  • "Interpolation": "Constant",
  • "Duration": 0,
  • "Delay": 0,
  • "Value": true
}

Response samples

Content type
application/json
{
  • "PropertyPath": "string",
  • "DisplayName": "string",
  • "Value": true
}

Get Functions of a Node

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

nodePath
required
string
Example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b

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

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Single Function

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

nodePath
required
string
Example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b

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

functionPath
required
string
Example: d6f7914f-94d2-4a76-8874-f58399b83c8c

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

Responses

Response samples

Content type
application/json
{
  • "FunctionPath": "string",
  • "FunctionName": "string",
  • "Properties": {
    }
}

Call a Node's Function

path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

nodePath
required
string
Example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b

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

functionPath
required
string
Example: d6f7914f-94d2-4a76-8874-f58399b83c8c

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

Request Body schema: application/json
Array of objects (FunctionTriggerRequestParameter)
Array
PropertyPath
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "Parameters": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Rundown Control

List Rundowns

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a New Rundown

Request Body schema: application/json
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Get a Single Rundown

path Parameters
rundownId
required
integer
Example: 5

The ID of the rundown.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Rename a Rundown

path Parameters
rundownId
required
integer
Example: 6

The ID of the rundown.

Request Body schema: application/json
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Delete a Rundown

path Parameters
rundownId
required
integer
Example: 6

The ID of the rundown.

Responses

List Rundown Items

path Parameters
rundownId
required
integer
Example: 1

The ID of the rundown.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a New Rundown Item

Request Body schema: application/json
name
required
string
template
required
string
order
integer
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "template": "string",
  • "order": 0,
  • "data": { }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "template": "string",
  • "data": { }
}

List All Templates

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get a Single Rundown Item

path Parameters
rundownId
required
integer
Example: 1

The ID of the rundown.

itemId
required
integer
Example: 2

The ID of the item.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "template": "string",
  • "data": { },
  • "buttons": [
    ]
}

Update a Rundown Item

path Parameters
rundownId
required
integer
Example: 1

The ID of the rundown.

itemId
required
integer
Example: 2

The ID of the item.

Request Body schema: application/json
name
string
template
string
order
integer
object
overriddenChannels
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "template": "string",
  • "order": 0,
  • "data": { },
  • "overriddenChannels": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "template": "string",
  • "data": { }
}

Delete a Rundown Item

path Parameters
rundownId
required
integer
Example: 1

The ID of the rundown.

itemId
required
integer
Example: 2

The ID of the item.

Responses

Trigger a Rundown Item Button

path Parameters
rundownId
required
integer
Example: 1

The ID of the rundown.

itemId
required
integer
Example: 3

The ID of the item.

buttonKey
required
string
Example: c2f0df19-a147-4976-ba86-2e27156b2eab

The key of the form button.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Newsroom Control

List Newsroom Rundowns

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

List Newsroom Rundowns of a Single NCS Device

path Parameters
ncsID
required
string
Example: OCTOPUS2

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

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get a Single Rundown

path Parameters
ncsID
required
string
Example: OCTOPUS2

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

roID
required
integer
Example: 69425946

Rundown ID (given by the NCS Device)

Responses

Response samples

Content type
application/json
{
  • "ncsID": "string",
  • "roID": "string",
  • "roSlug": "string",
  • "roChannel": "string",
  • "roEdStart": "2019-08-24T14:15:22Z",
  • "roEdDur": "string",
  • "roTrigger": "string",
  • "macroIn": "string",
  • "macroOut": "string",
  • "mosExternalMetadata": "string",
  • "readyToAir": true,
  • "status": "NEW",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "items": [
    ]
}

Update a MOS Object's Data

path Parameters
objID
required
string
Example: 048c0b52-0c5c-47a6-9f23-b375ea6d9feb

The ID of the MOS object to update.

Request Body schema: application/json
description
string
required
object

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "data": { }
}

Response samples

Content type
application/json
{
  • "objID": "229fd1b1-a94e-4b7e-96da-cbb66caae934",
  • "objSlug": "string",
  • "mosAbstract": "string",
  • "objGroup": "string",
  • "objTB": "string",
  • "objRev": 0,
  • "objDur": 0,
  • "status": "NEW",
  • "objAir": "READY",
  • "objPaths": "string",
  • "mosExternalMetadata": "string",
  • "createdBy": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "changedBy": "string",
  • "changed": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "objType": "STILL",
  • "template": "string",
  • "data": { }
}

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

path Parameters
ncsID
required
string
Example: OCTOPUS2

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

roID
required
integer
Example: 69425946

Rundown ID

storyID
required
integer
Example: 71755601

Story ID

itemID
required
string
Example: 2-1

Item ID

buttonKey
required
string
Example: button1

The key of the button to be triggered.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Graph Control

Reality Engine 5.x

Get Graphs

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Get a Single Graph

path Parameters
graphId
required
integer
Example: 1

The ID of the graph.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "test graph",
  • "content": "{\n \"id\": \"084fb56c-494c-4c94-81ac-f35be72b... }"
}

Load a Graph

path Parameters
graphId
required
integer
Example: 1

The ID of the graph.

Request Body schema: application/json
required
engineHostId
required
number

Responses

Request samples

Content type
application/json
{
  • "engineHostId": 1
}

Response samples

Content type
application/json
{
  • "success": true
}

Rgraph Control

Reality Engine 4.x

Get Rgraphs

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get a Single Rgraph

path Parameters
rgraphId
required
integer
Example: 1

The ID of the Rgraph

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "test rgraph",
  • "xmlContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ZDNodeGraph n...>"
}

Load an Rgraph

path Parameters
rgraphId
required
integer
Example: 1

The ID of the rgraph.

Request Body schema: application/json
required
engineHostId
required
number

Responses

Request samples

Content type
application/json
{
  • "engineHostId": 1
}

Response samples

Content type
application/json
{
  • "success": true
}

Ustate Control

Unreal Engine

Get Ustates

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Get a Single Ustate

path Parameters
ustateId
required
integer
Example: 1

The ID of the ustate.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "test ustate",
  • "ustateData": ""
}

Load a Ustate

path Parameters
ustateId
required
integer
Example: 1

The ID of the ustate.

Request Body schema: application/json
engineHostId
required
number

Responses

Request samples

Content type
application/json
{
  • "engineHostId": 1
}

Response samples

Content type
application/json
{
  • "success": true
}

Projects Control

List all projects

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Launcher Control

Start launch configuration

Start launch configuration

path Parameters
launchId
required
integer
Example: 1

The ID of the launch configuration.

Responses

Stop launch configuration

Stop launch configuration

path Parameters
launchId
required
integer
Example: 1

The ID of the launch configuration.

Responses

Retime launch configuration

Retime launch configuration

path Parameters
launchId
required
integer
Example: 1

The ID of the launch configuration.

Responses

Get launch configurations

Get launch configurations

path Parameters
launchId
required
integer
Example: 1

The ID of the launch configuration.

Responses

Response samples

Content type
application/json
{
  • "id": 44,
  • "name": "Studio 44",
  • "renderers": [
    ]
}

Get launch configuration details

Get launch configuration details

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create launch config

Create launch config

Request Body schema: application/json
name
required
string
renderers
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "Launch config 1",
  • "renderers": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 15,
  • "renderers": [
    ]
}

Start renderer

Start renderer

path Parameters
launchId
required
integer

The ID of launch configuration

rendererId
required
integer

The ID of renderer

Responses

Start renderer

Start renderer

path Parameters
launchId
required
integer

The ID of launch configuration

rendererId
required
integer

The ID of renderer

Responses

Get list of renderer IDs

Get list of renderer IDs

path Parameters
launchId
required
integer

The ID of launch configuration

Responses

Response samples

Content type
application/json
[
  • 10,
  • 11
]

Get renderer details

Get renderer details

path Parameters
launchId
required
integer

The ID of launch configuration

rendererId
required
integer

The ID of renderer

Responses

Response samples

Content type
application/json
{
  • "launchConfigId": 11,
  • "engineId": 1,
  • "projectId": 4,
  • "projectMapId": 14,
  • "engineType": "RE5",
  • "stateId": 1
}

Create renderer

Create renderer

path Parameters
launchId
required
integer
Example: 5

The ID of launch configuration

Request Body schema: application/json
launchConfigId
integer
engineId
integer or null
projectId
integer or null
projectMapId
integer or null
engineType
string
Enum: "RE" "RE5" "UE"

Enum: ['RE', 'RE5', 'UE']

stateId
integer

For RE it will be assumed as rgraph id, for ue ustate and for re5 graph id

Responses

Request samples

Content type
application/json
{
  • "launchConfigId": 11,
  • "engineId": 1,
  • "projectId": 4,
  • "projectMapId": 14,
  • "engineType": "RE5",
  • "stateId": 1
}

Response samples

Content type
application/json
12