LogoLogo
RealityHub 1.3
RealityHub 1.3
  • RealityHub 1.3
    • What's New
      • Hotfix Version 1.3.1
      • Hotfix Version 1.3.2
      • Hotfix Version 1.3.3
      • Hotfix Version 1.3.4
    • What is RealityHub?
      • System Overview
    • Launcher
      • Launcher Interface
      • Engine Status Colors
      • Engine Display Window
      • New Launch Configuration
    • Nodegraph/Actions
      • Nodegraph
        • Node Structure
        • RGraph
        • Operating Nodegraph
        • Advanced Preview Monitor
          • Operating Advanced Preview Monitor
        • RGraph Templates
          • Tutorial RGraphs
        • Asset Browser
      • Properties and Functions
      • Actions
        • Action Timeline Interface
        • Keyframe Types
        • Interpolations
        • Operating Actions
        • Animation Workflow Tips
        • Utilizing Initial Keyframe
        • Triggering Multiple Actions via Single Button
      • Form Builder
        • Form Builder Interface
        • Form Builder Components
        • Customizing Component Appearance
        • Operating Form Builder
        • Data Integration
      • Gang Mode
        • Activating Gang Mode
        • Operating Gang Mode
    • Playout
      • Operating Playout
    • Newsroom
    • Cook Manager
    • Controlling Unreal Engine
      • Unreal Engine 5.0
        • Available Features
        • UState
          • UState User Interface
          • Advanced Preview Monitor for Unreal Engine
          • Operating UState
        • Configuration
          • Unreal Engine Configuration
          • RealityHub Configuration for Unreal Engine
      • Unreal Engine 5.1
        • Controlling Unreal Engine 5.1
        • Supported Versions
        • Available Features
        • UState
          • UState User Interface
          • APM for Unreal Engine 5.1
        • Configuration
          • Unreal Engine 5.1 Configuration
          • RealityHub Configuration for Unreal Engine 5.1
        • Example Pipeline
          • Preparation
          • Exposing Actor Functions
          • Exposing Actor Parameters
          • Grouping Exposed Items
          • Creating Logic
          • Viewport Navigation
          • Unreal Project inside RealityHub
          • Utilizing Media Framework Tools
          • Operating
    • User Management
      • Advanced User Management
        • User Management UI
        • Role of the Admin and Administrators
        • Example Configuration
        • License Reservation
      • Basic User Management
    • Installation and Configuration
      • System Requirements
      • Downloading Distributions
      • Installation
      • Upgrading and Downgrading
      • Database Backup and Restore
      • Page
      • Licensing
      • Configuration Steps
        • General Configuration
        • Reality Loader
          • RealityEngine AMPERE Led Display
        • Engine Module Configuration
          • Adding Host
          • Adding Groups
          • Channel Assignments
          • General Engine Configuration
        • Project Configuration
        • Project Scanning
        • Cache Management
        • CII Module Configuration
        • SSL Configuration
      • Recap
    • Integrations
      • Octopus Integration
        • RealityHub MOS Configuration for Octopus
        • Octopus Configuration
        • Utilizing ZD MOS Plugin
      • iNEWS Integration
        • RealityHub MOS Configuration for iNEWS
        • iNEWS Configuration
    • Developers Guide
      • RealityHub Open-Source SDK
      • REST API
    • Frequently Asked Questions
    • Glossary
    • How to Read this Documentation
Powered by GitBook
LogoLogo

© 2023 Zero Density. All rights reserved.

On this page
  1. RealityHub 1.3
  2. Developers Guide

REST API

PreviousRealityHub Open-Source SDKNextFrequently Asked Questions

Last updated 1 year ago

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

Playout Control

Newsroom Control

Get Engines

get
Responses
200
OK
application/json
500
Internal Server Error
text/plain
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": 221212139520,
    "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.27\\Engine\\Binaries\\Win64\\UE4Editor.exe",
        "cookedProjectId": null,
        "cookedMapId": null,
        "cookedId": null,
        "engineType": null,
        "engineVersion": null,
        "statusDescription": null
      }
    ]
  },
  {
    "id": 2,
    "name": "ZDHQ-HUB",
    "ip": "172.16.0.59",
    "role": "Broadcast",
    "status": "connected",
    "cacheDir": "c:\\cache",
    "minimumFreeSpace": 209715200,
    "usedSpace": 228309753856,
    "diskSpace": 239379410944,
    "canCook": true,
    "displayName": "ZDHQ-HUB",
    "re_enabled": true,
    "port": 30020,
    "rgraphId": null,
    "ownerStudioId": 1,
    "ustateId": null,
    "ue_enabled": true,
    "instances": [
      {
        "id": 3,
        "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": 2,
        "projectTag": null,
        "streaming": null,
        "status": "Loading",
        "pid": "63940",
        "engineHostId": 2,
        "engineRoleId": 1,
        "projectId": 56,
        "projectMapId": 281,
        "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
      }
    ]
  }
]

Get a Single Engine

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
Responses
200
OK
application/json
500
Internal Server Error
text/plain
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": 229055864832,
  "diskSpace": 239379410944,
  "canCook": true,
  "displayName": "ZDHQ-HUB",
  "re_enabled": true,
  "port": 6666,
  "rgraphId": 13,
  "ownerStudioId": 1,
  "ustateId": null,
  "ue_enabled": false,
  "instances": [
    {
      "id": 3,
      "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": 2,
      "projectTag": null,
      "streaming": null,
      "status": "Loaded",
      "pid": "32244",
      "engineHostId": 2,
      "engineRoleId": 1,
      "projectId": 8,
      "projectMapId": 29,
      "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
    }
  ]
}

Get Nodes of an Engine

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/engines/{engineId}/nodes HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
  {
    "NodePath": "EngineControl"
  }
]

Get a Single Node

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
nodePathstringRequired

The path of the node. (URL-encoded)

Example: EngineControl
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "NodePath": "EngineControl"
}

Get Properties of a Node

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
nodePathstringRequired

The path of the node. (URL-encoded)

Example: EngineControl
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
  {
    "PropertyPath": "Node//NodeName/0",
    "Value": "EngineControl"
  },
  {
    "PropertyPath": "Node//Description/0",
    "Value": ""
  },
  {
    "PropertyPath": "Debug//EnableDebug/0",
    "Value": false
  },
  {
    "PropertyPath": "Debug//DebugInfo/0",
    "Value": "TargetFPS: Genlock\nTimecode: No Timecode"
  },
  {
    "PropertyPath": "Clock//TargetFPS/0",
    "Value": "Genlock"
  },
  {
    "PropertyPath": "Info//GameFPS/0",
    "Value": 60
  },
  {
    "PropertyPath": "Info//TimeCodeInfo/0",
    "Value": "No Timecode"
  },
  {
    "PropertyPath": "Info//HasSignal/0",
    "Value": false
  },
  {
    "PropertyPath": "Video I/O//UseGPUDirect/0",
    "Value": false
  },
  {
    "PropertyPath": "Video I/O//CacheAhead/0",
    "Value": 2
  },
  {
    "PropertyPath": "Clock/Sync/ControllerSyncTime/0",
    "Value": "0"
  },
  {
    "PropertyPath": "Info//RealityVersion/0",
    "Value": "4.27"
  },
  {
    "PropertyPath": "Display//UpdateEveryFrame/0",
    "Value": true
  },
  {
    "PropertyPath": "Lighting Pass//RenderLighting/0",
    "Value": false
  },
  {
    "PropertyPath": "Lighting Pass//LightingDOF/0",
    "Value": false
  },
  {
    "PropertyPath": "Lighting Pass//LightingMotionBlur/0",
    "Value": false
  },
  {
    "PropertyPath": "SSR Pass//SSRTemporal/0",
    "Value": false
  },
  {
    "PropertyPath": "Additional SSR Pass//RenderSSR/0",
    "Value": false
  },
  {
    "PropertyPath": "Additional SSR Pass//SSRDOF/0",
    "Value": false
  },
  {
    "PropertyPath": "Additional SSR Pass//SSRMotionBlur/0",
    "Value": false
  },
  {
    "PropertyPath": "Bloom Pass//Bloom/0",
    "Value": false
  },
  {
    "PropertyPath": "Shadow Pass//RenderShadow/0",
    "Value": false
  },
  {
    "PropertyPath": "Shadow Pass//ShadowDOF/0",
    "Value": false
  },
  {
    "PropertyPath": "Shadow Pass//ShadowMotionBlur/0",
    "Value": false
  },
  {
    "PropertyPath": "Garbage Collector//GCTimeOut/0",
    "Value": 61.099998474121094
  },
  {
    "PropertyPath": "Controller//ForwardAxis/0",
    "Value": 0
  },
  {
    "PropertyPath": "Controller//RightAxis/0",
    "Value": 0
  },
  {
    "PropertyPath": "Controller//UpAxis/0",
    "Value": 0
  },
  {
    "PropertyPath": "Controller//LookRightAxis/0",
    "Value": 0
  },
  {
    "PropertyPath": "Controller//LookUpAxis/0",
    "Value": 0
  },
  {
    "PropertyPath": "Controller//Button0/0",
    "Value": false
  },
  {
    "PropertyPath": "Controller//Button1/0",
    "Value": false
  },
  {
    "PropertyPath": "Controller//Button2/0",
    "Value": false
  },
  {
    "PropertyPath": "Controller//Button3/0",
    "Value": false
  },
  {
    "PropertyPath": "Controller//Button4/0",
    "Value": false
  },
  {
    "PropertyPath": "Controller//Button5/0",
    "Value": false
  },
  {
    "PropertyPath": "Debug//FlushRendering/0",
    "Value": false
  },
  {
    "PropertyPath": "Debug//OneFrameThreadLag/0",
    "Value": true
  },
  {
    "PropertyPath": "Debug//EnableTrace/0",
    "Value": false
  },
  {
    "PropertyPath": "Rendering Settings//GlobalClippingPlane/0",
    "Value": false
  },
  {
    "PropertyPath": "Rendering Settings//ForwardShading/0",
    "Value": false
  },
  {
    "PropertyPath": "Rendering Settings//StreamingPoolSize/0",
    "Value": 0
  },
  {
    "PropertyPath": "Rendering Settings//ReflectionsMaxRayDistance/0",
    "Value": -1
  },
  {
    "PropertyPath": "Rendering Settings//TonemapperGamma/0",
    "Value": 1
  },
  {
    "PropertyPath": "Rendering Settings//TonemapperSharpen/0",
    "Value": 0
  },
  {
    "PropertyPath": "Rendering Settings//ColorGamut/0",
    "Value": "Rec709 / sRGB, D65 (default)"
  },
  {
    "PropertyPath": "Rendering Settings//HDRDeviceFormat/0",
    "Value": "sRGB (LDR)"
  }
]

Get a Single Property

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
nodePathstringRequired

The path of the node. (URL-encoded)

Example: EngineControl
propertyPathstringRequired

The path of the property. (URL-encoded)

Example: Clock%2F%2FTargetFPS%2F0
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties/{propertyPath} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "PropertyPath": "Clock//TargetFPS/0",
  "Value": "Genlock"
}

Get Functions of a Node

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
nodePathstringRequired

The path of the node. (URL-encoded)

Example: Mixer_0
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
  {
    "FunctionPath": "Default//UpdateCameras/0"
  },
  {
    "FunctionPath": "Default//DoTransition/0"
  }
]

Get a Single Function

get
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
nodePathstringRequired

The path of the node. (URL-encoded)

Example: Mixer_0
functionPathstringRequired

The path of the function. (URL-encoded)

Example: Default%2F%2FDoTransition%2F0
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions/{functionPath} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "FunctionPath": "Default//DoTransition/0"
}

Call a Node's Function

post
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
nodePathstringRequired

The path of the node. (URL-encoded)

Example: Mixer_0
functionPathstringRequired

The path of the function. (URL-encoded)

Example: Default%2F%2FDoTransition%2F0
Responses
200
OK
application/json
500
Internal Server Error
text/plain
post
POST /api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions/{functionPath} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "success": true
}

List Rundowns

get
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/playout/rundowns HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
  {
    "id": 2,
    "name": "Rundown 2"
  }
]

Get a Single Rundown

get
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 2
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/playout/rundowns/{rundownId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "id": 2,
  "name": "Rundown 2"
}

Delete a Rundown

delete
Path parameters
rundownIdintegerRequired

The ID of the rundown to delete.

Example: 3
Responses
204
Successful response (no content)
404
Playout rundown not found.
500
Internal Server Error
text/plain
delete
DELETE /api/rest/v1/playout/rundowns/{rundownId} HTTP/1.1
Host: 127.0.0.1
Accept: */*

No content

List Rundown Items

get
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 2
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/playout/rundowns/{rundownId}/items HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
  {
    "id": 3,
    "name": "template-1",
    "template": "template-1",
    "data": {},
    "buttons": [
      {
        "id": "button2",
        "key": "button2",
        "label": "Update"
      }
    ]
  }
]

List All Templates

get
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/playout/templates HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
  {
    "id": 1,
    "name": "template-1"
  }
]

Get a Single Rundown Item

get
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 2
itemIdintegerRequired

The ID of the rundown item.

Example: 5
Responses
200
OK
application/json
500
Internal Server Error
text/plain
get
GET /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId} HTTP/1.1
Host: 127.0.0.1
Accept: */*
[
  {
    "id": 5,
    "name": "My New Rundown Item",
    "template": "template-1",
    "data": {
      "top_text": "<Name of the person goes here>",
      "bottom_text": "<Name of the organization/company>"
    },
    "buttons": [
      {
        "id": "button2",
        "key": "button2",
        "label": "Update"
      }
    ]
  }
]

Delete a Rundown Item

delete
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 2
itemIdintegerRequired

The ID of the rundown item to delete.

Example: 5
Responses
204
Successful response (no content)
404
Playout rundown item not found.
500
Internal Server Error
text/plain
delete
DELETE /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId} HTTP/1.1
Host: 127.0.0.1
Accept: */*

No content

Trigger a Rundown Item Button

post
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 2
itemIdintegerRequired

The ID of the rundown item.

Example: 3
buttonKeystringRequired

The form key of the button.

Example: open_lower
Responses
200
OK
application/json
404
Playout rundown item not found.
application/json
500
Internal Server Error
text/plain
post
POST /api/rest/v1/playout/rundowns/{rundownId}/items/{itemId}/{buttonKey} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "success": true
}

List Newsroom Rundowns

get
Responses
200
OK
application/json
500
Internal Server Error
text/plain
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
500
Internal Server Error
text/plain
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
500
Internal Server Error
text/plain
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"
          }
        ]
      }
    }
  ]
}

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
404
Newsroom rundown item not found.
application/json
500
Internal Server Error
text/plain
post
POST /api/rest/v1/newsroom/rundowns/{ncsID}/{roID}/{storyID}/{itemID}/{buttonKey} HTTP/1.1
Host: 127.0.0.1
Accept: */*
{
  "success": true
}
  • Engine Control
  • GETGet Engines
  • GETGet a Single Engine
  • GETGet Nodes of an Engine
  • GETGet a Single Node
  • GETGet Properties of a Node
  • GETGet a Single Property
  • PATCHUpdate a Property's Value
  • GETGet Functions of a Node
  • GETGet a Single Function
  • POSTCall a Node's Function
  • Playout Control
  • GETList Rundowns
  • POSTCreate a New Rundown
  • GETGet a Single Rundown
  • DELETEDelete a Rundown
  • PATCHRename a Rundown
  • GETList Rundown Items
  • POSTCreate a New Rundown Item
  • GETList All Templates
  • GETGet a Single Rundown Item
  • DELETEDelete a Rundown Item
  • PATCHUpdate a Rundown Item
  • POSTTrigger a Rundown Item Button
  • Newsroom Control
  • GETList Newsroom Rundowns
  • GETList Newsroom Rundowns of a Single NCS Device
  • GETGet a Single Rundown
  • PATCHUpdate a MOS Object's Data
  • POSTTrigger a MOS Object's Button (Newsroom Rundown Item Button)

Update a Property's Value

patch
Path parameters
engineIdintegerRequired

The ID of the engine.

Example: 2
nodePathstringRequired

The path of the node. (URL-encoded)

Example: EngineControl
propertyPathstringRequired

The path of the property. (URL-encoded)

Example: Clock%2F%2FTargetFPS%2F0
Body
Valueany ofRequired
booleanOptional
or
numberOptional
or
integerOptional
or
objectOptional
or
or
stringOptional
Responses
200
OK
application/json
500
Internal Server Error
text/plain
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: 21

{
  "Value": "30.00 fps"
}
{
  "PropertyPath": "Clock//TargetFPS/0",
  "Value": "30.00 fps"
}

Create a New Rundown

post
Body
namestringRequired
Responses
201
OK
application/json
422
Missing rundown name error.
application/json
500
Internal Server Error
text/plain
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": 3,
  "name": "My New Rundown"
}

Rename a Rundown

patch
Path parameters
rundownIdintegerRequired

The ID of the rundown to rename.

Example: 3
Body
namestringRequired
Responses
200
OK
application/json
404
Playout rundown not found.
422
Missing rundown name error.
application/json
500
Internal Server Error
text/plain
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 Renamed Rundown"
}
{
  "id": 3,
  "name": "My Renamed Rundown"
}

Create a New Rundown Item

post
Path parameters
rundownIdintegerRequired

The ID of the target rundown.

Example: 2
Body
namestringRequired
templatestringRequired
orderintegerOptional
Responses
201
OK
application/json
404
Playout rundown not found
500
Internal Server Error
text/plain
post
POST /api/rest/v1/playout/rundowns/{rundownId}/items HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Accept: */*
Content-Length: 168

{
  "name": "My New Rundown Item",
  "template": "template-1",
  "order": 2,
  "data": {
    "top_text": "<Name of the person goes here>",
    "bottom_text": "<Name of the organization/company>"
  }
}
{
  "id": 5,
  "name": "My New Rundown Item",
  "template": "template-1",
  "data": {
    "top_text": "<Name of the person goes here>",
    "bottom_text": "<Name of the organization/company>"
  }
}

Update a Rundown Item

patch
Path parameters
rundownIdintegerRequired

The ID of the rundown.

Example: 2
itemIdintegerRequired

The ID of the rundown item.

Example: 5
Body
namestringOptional
templatestringOptional
orderintegerOptional
overriddenChannelsinteger[]Optional
Responses
200
OK
application/json
404
Playout rundown item not found.
500
Internal Server Error
text/plain
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: 105

{
  "name": "Updated Rundown Item Name",
  "order": 0,
  "data": {
    "top_text": "Jane D.",
    "bottom_text": "Example Inc."
  }
}
{
  "id": 5,
  "name": "Updated Rundown Item Name",
  "template": "template-1",
  "data": {
    "top_text": "Jane D.",
    "bottom_text": "Example Inc."
  }
}

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
500
Internal Server Error
text/plain
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"
    ]
  }
}