Skip to main content
Version: Reality 5.7

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 Reality Hub address and port (ex: http://localhost)
  • Endpoint: Communication channel that you want to do various processes (/api/rest/v1/engines/1/nodes)
info

You can download the OpenAPI spec by clicking on the Reality Hub OpenAPI YAML.

Authentication

All API requests require proper authentication headers. See REST API Key Authentication

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}

RealityHub REST API (2.1.0)

Download OpenAPI specification:Download

Engine Control

Get Engines

Authorizations:
ApiKeyAuth

Responses

Response samples

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

Get a Single Engine

Authorizations:
ApiKeyAuth
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,
  • "displayName": "string",
  • "re_enabled": true,
  • "port": 0,
  • "rgraphId": 0,
  • "ownerStudioId": 0,
  • "ustateId": 0,
  • "ue_enabled": true,
  • "instances": [
    ]
}

Get Nodes of an Engine

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 3

The ID of the engine.

Responses

Response samples

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

Get a Single Node

Authorizations:
ApiKeyAuth
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

Authorizations:
ApiKeyAuth
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

Authorizations:
ApiKeyAuth
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

Authorizations:
ApiKeyAuth
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 (1.1) supports partial pin update. In order to perform a partial update you need to construct the property path accordingly. Assume we have a mat4 pin and want to update the 'z' attribute of mat4's 'w' field. Then the property path should be ".w.z" The path bits should be delimited by a dot (.) and should be append to the original property path (after a dot).

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

Authorizations:
ApiKeyAuth
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

Authorizations:
ApiKeyAuth
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

Authorizations:
ApiKeyAuth
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
}

Graph Control

Reality Engine 5

Get Graphs

Authorizations:
ApiKeyAuth

Responses

Response samples

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

Get a Single Graph

Authorizations:
ApiKeyAuth
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... }"
}

Get Graph Channels

Returns the list of channels defined in the specified graph.

Authorizations:
ApiKeyAuth
path Parameters
graphId
required
integer
Example: 1

The ID of the graph.

Responses

Response samples

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

Load a Graph

Authorizations:
ApiKeyAuth
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
}

Projects Control

List all projects

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Project Channels

Returns the list of channels defined in the specified project.

Authorizations:
ApiKeyAuth
path Parameters
projectId
required
integer
Example: 1

The ID of the project.

Responses

Response samples

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

Launcher Control

Get Engine Channels

Returns the list of channels for a specific engine/renderer within a show. Includes nodos, project, dynamic/graph, and viewport channels grouped by category.

Authorizations:
ApiKeyAuth
path Parameters
showId
required
integer
Example: 1

The ID of the show.

rendererId
required
integer
Example: 1

The ID of the renderer/engine.

Responses

Response samples

Content type
application/json
{
  • "nodos": [
    ],
  • "project": [
    ],
  • "dynamic": [
    ],
  • "viewport": [
    ]
}

List all shows

Get all shows with their channels and engines

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get specific show

Get detailed information for a specific show including channels and engines

Authorizations:
ApiKeyAuth
path Parameters
showId
required
integer
Example: 1

Show ID to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "My Show",
  • "channels": [
    ],
  • "running": false,
  • "linoeditingmode": false
}

Start show

Start a show with validation for project assignments

Authorizations:
ApiKeyAuth
path Parameters
showId
required
integer
Example: 1

Show ID to start

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Show started successfully"
}

Stop show

Stop a running show

Authorizations:
ApiKeyAuth
path Parameters
showId
required
integer
Example: 1

Show ID to stop

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Show stopped successfully"
}

Lino Rundown Control

Get list of Lino rundown engines

Get list of Lino rundown engines

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Single Lino rundown engine

Get a Single Lino rundown engine

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 2

The ID of the engine

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Engine 1",
  • "started": true,
  • "loadedRundownInfo": [
    ],
  • "engines": [
    ]
}

List all Lino rundowns

Get list of all Lino rundowns across all engines. This endpoint returns all available rundowns in the Lino system.

Authorizations:
ApiKeyAuth

Responses

Response samples

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

Get a single Lino rundown

Get details of a specific Lino rundown by its ID. This endpoint returns information about a single rundown.

Authorizations:
ApiKeyAuth
path Parameters
rundownId
required
integer
Example: 1

The ID of the rundown

Responses

Response samples

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

Get Rundowns by Engine

Get list of rundowns for a specific engine. If engineId is not provided, returns all rundowns.

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get rundown templates

Get rundown templates

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get rundown items

Get rundown items

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine.

rundownId
required
integer
Example: 2

The ID of the rundown.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add rundown item

Add rundown item

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine.

rundownId
required
integer
Example: 2

The ID of the rundown.

Request Body schema: application/json

Item parameters

name
required
string
templateId
required
integer
insertAfter
integer
data
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "templateId": 0,
  • "insertAfter": 0,
  • "data": { }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "itemNo": 0,
  • "name": "string",
  • "template": "string",
  • "templateId": 0,
  • "itemType": "vs",
  • "data": { },
  • "buttons": { },
  • "status": {
    }
}

Update rundown item data

Update rundown item data

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine.

rundownId
required
integer
Example: 2

The ID of the rundown.

itemId
required
integer
Example: 72

The ID of the item.

Request Body schema: application/json

Item parameters

name
required
string
templateId
required
integer
insertAfter
integer
data
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "templateId": 0,
  • "insertAfter": 0,
  • "data": { }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "itemNo": 0,
  • "name": "string",
  • "template": "string",
  • "templateId": 0,
  • "itemType": "vs",
  • "data": { },
  • "buttons": { },
  • "status": {
    }
}

Update rundown item data

Update rundown item data

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine.

rundownId
required
integer
Example: 2

The ID of the rundown.

itemId
required
integer
Example: 72

The ID of the item.

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Get Rundown Item Buttons

Get rundown item buttons

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 77

The ID of the engine.

rundownId
required
integer
Example: 110

The ID of the rundown.

itemId
required
integer
Example: 784

The ID of the item.

Responses

Response samples

Content type
application/json
{
  • "Load Files": "",
  • "Play": "",
  • "Next": "",
  • "Previous": "",
  • "Pause": "",
  • "Rewind": "",
  • "DoTransition": ""
}

Trigger Rundown Item Button

Trigger a button action on a rundown item (e.g., "Load Files", "Play", "DoTransition")

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 77

The ID of the engine.

rundownId
required
integer
Example: 110

The ID of the rundown.

itemId
required
integer
Example: 784

The ID of the item.

buttonKey
required
string
Example: DoTransition

The key of the button to trigger. This should match one of the keys from the buttons object returned in the rundown items response (e.g., "Load Files", "Play", "DoTransition").

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Delete rundown

Delete rundown

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine.

rundownId
required
integer
Example: 2

The ID of the rundown.

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Create rundown item

Create rundown item

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 1

The ID of the engine.

rundownId
required
integer
Example: 1

The ID of the rundown.

Request Body schema: application/json

Item description

name
required
string
templateId
required
integer
insertAfter
integer
data
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "templateId": 0,
  • "insertAfter": 0,
  • "data": { }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "itemNo": 0,
  • "name": "string",
  • "template": "string",
  • "templateId": 0,
  • "itemType": "vs",
  • "data": { },
  • "buttons": { },
  • "status": {
    }
}

Load rundown

Load rundown

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

rundownId
required
integer
Example: 2

The ID of the rundown

Responses

Response samples

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

Append rundown

Append rundown

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

rundownId
required
integer
Example: 2

The ID of the rundown

newRundownId
required
integer
Example: 3

The ID of the new rundown

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Unload rundown

Unload rundown

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

rundownId
required
integer
Example: 2

The ID of the rundown

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Play rundown item

Play rundown item

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

itemId
required
integer
Example: 88

The ID of the item

preview
required
integer
Enum: 0 1

Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation.

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Playnext rundown item

Playnext rundown item

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

preview
required
integer
Enum: 0 1

Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation.

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Continue play rundown item

Continue play rundown item

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

itemId
required
integer
Example: 88

The ID of the item

preview
required
integer
Enum: 0 1

Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation.

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Out rundown item

Out rundown item

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

itemId
required
integer
Example: 88

The ID of the item

preview
required
integer
Enum: 0 1

Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation.

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Clear Output

Clears the output channel (program or preview).

Authorizations:
ApiKeyAuth
path Parameters
engineId
required
integer
Example: 4

The ID of the engine

preview
required
integer
Enum: 0 1

Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to clear the main program output. Use 1 to clear the preview output.

Responses

Response samples

Content type
application/json
Example
{
  • "error": "Authentication required",
  • "message": "REST API access requires API key authentication. Please provide a valid API key.",
  • "code": "AUTHENTICATION_REQUIRED",
  • "suggestion": "Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key=<your_api_key> as query parameter."
}

Batch Requests

Multiple request in single call

Multiple request in single call

Authorizations:
ApiKeyAuth
Request Body schema: application/json
Array
required
integer or string
url
required
string
verb
required
string
Enum: "GET" "PATCH" "PUT" "POST"
object

POST request body payload

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]