openapi: 3.0.0 info: title: RealityHub REST API version: 1.0.0 servers: - url: http://127.0.0.1 tags: - name: Engine Control - name: Rundown Control - name: Newsroom Control components: schemas: Instance: type: object properties: id: type: integer projectTag: type: string maxLength: 32 nullable: true streaming: type: string maxLength: 255 nullable: true status: type: string enum: - Idle - Caching - Loading - Loaded - Error - Checking - Cooking pid: type: integer nullable: true engineHostId: type: integer engineRoleId: type: integer nullable: true projectId: type: integer nullable: true projectMapId: type: integer nullable: true editorPath: type: string cookedProjectId: type: integer nullable: true cookedMapId: type: integer nullable: true cookedId: type: integer nullable: true engineType: type: string enum: - RE - UE engineVersion: type: string statusDescription: type: string nullable: true required: - id - projectTag - streaming - status - pid - engineHostId - engineRoleId - projectId - projectMapId - editorPath - cookedProjectId - cookedMapId - cookedId - engineType - engineVersion - statusDescription Engine: type: object properties: id: type: integer name: type: string ip: type: string format: ipv4 role: type: string enum: - Broadcast - Preview status: type: string enum: - connected - ready - disconnected - reconnecting cacheDir: type: string minimumFreeSpace: type: integer usedSpace: type: integer diskSpace: type: integer canCook: type: boolean displayName: type: string re_enabled: type: boolean port: type: integer format: port rgraphId: type: integer nullable: true ownerStudioId: type: integer nullable: true ustateId: type: integer nullable: true ue_enabled: type: boolean instances: type: array items: $ref: "#/components/schemas/Instance" required: - id - name - ip - role - status - cacheDir - minimumFreeSpace - usedSpace - diskSpace - canCook - displayName - re_enabled - port - rgraphId - ownerStudioId - ustateId - ue_enabled - instances NodeShort: type: object properties: NodePath: type: string required: - NodePath - NodeName Property: type: object properties: PropertyPath: type: string Value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - PropertyPath - DisplayName - Value PropertyUpdate: type: object properties: Value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - Value FunctionShort: type: object properties: FunctionPath: type: string required: - FunctionPath FunctionLong: type: object properties: FunctionPath: type: string FunctionName: type: string Properties: type: object additionalProperties: $ref: "#/components/schemas/Property" required: - FunctionPath - FunctionName - Properties FunctionTriggerRequestParameter: type: object properties: PropertyPath: type: string payload: type: object properties: value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - value required: - PropertyPath - payload FunctionTriggerRequest: type: object properties: Parameters: type: array items: $ref: "#/components/schemas/FunctionTriggerRequestParameter" ServerSuccessResponse: type: object properties: success: type: boolean required: - success PlayoutRundown: type: object properties: id: type: integer name: type: string required: - id - name RundownItemButton: type: object properties: id: type: string key: type: string label: type: string required: - id - key - label PlayoutRundownCreateRenameRequestBody: type: object properties: name: type: string required: - name PlayoutRundownItem: type: object properties: id: type: integer name: type: string template: type: string data: type: object additionalProperties: true buttons: type: array items: $ref: "#/components/schemas/RundownItemButton" required: - id - name - template - data - buttons PlayoutRundownItemCreateBody: type: object properties: name: type: string template: type: string order: type: integer data: type: object additionalProperties: true required: - name - template - data PlayoutRundownItemShort: type: object properties: id: type: integer name: type: string template: type: string data: type: object additionalProperties: true required: - id - name - template - data PlayoutRundownItemUpdateBody: type: object properties: name: type: string template: type: string order: type: integer data: type: object additionalProperties: true overriddenChannels: type: array items: type: integer Template: type: object properties: id: type: integer name: type: string required: - id - name MosObject: type: object properties: objID: type: string format: uuid objSlug: type: string mosAbstract: type: string objGroup: type: string maxLength: 128 nullable: true objTB: type: string maxLength: 10 pattern: ^\d+$ objRev: type: integer objDur: type: integer status: type: string enum: - NEW - UPDATED - MOVED - BUSY - DELETED - NCS CTRL - MANUAL CTRL - READY - NOT READY - PLAY - STOP objAir: type: string enum: - READY - NOT READY objPaths: type: string nullable: true mosExternalMetadata: type: string nullable: true createdBy: type: string created: type: string format: date-time changedBy: type: string changed: type: string format: date-time description: type: string objType: type: string enum: - STILL - VIDEO - AUDIO template: type: string data: type: object additionalProperties: true buttons: type: array items: $ref: "#/components/schemas/RundownItemButton" required: - objID - objSlug - mosAbstract - objGroup - objTB - objRev - objDur - status - objAir - objPaths - mosExternalMetadata - createdBy - created - changedBy - changed - description - objType - template - data - buttons NewsroomRundownItem: type: object properties: storyID: type: string itemID: type: string storySlug: type: string itemSlug: type: string mosObject: $ref: "#/components/schemas/MosObject" required: - storyID - itemID - storySlug - itemSlug - mosObject NewsroomRundownShort: type: object properties: ncsID: type: string roID: type: string roSlug: type: string status: type: string enum: - NEW - UPDATED - MOVED - BUSY - DELETED - NCS CTRL - MANUAL CTRL - READY - NOT READY - PLAY - STOP createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - ncsID - roID - roSlug - status - createdAt - updatedAt NewsroomRundownLong: type: object properties: ncsID: type: string roID: type: string roSlug: type: string roChannel: type: string maxLength: 128 roEdStart: type: string format: date-time roEdDur: type: string format: partial-time roTrigger: type: string maxLength: 128 nullable: true macroIn: type: string maxLength: 128 nullable: true macroOut: type: string maxLength: 128 nullable: true mosExternalMetadata: type: string readyToAir: type: boolean status: type: string enum: - NEW - UPDATED - MOVED - BUSY - DELETED - NCS CTRL - MANUAL CTRL - READY - NOT READY - PLAY - STOP createdAt: type: string format: date-time updatedAt: type: string format: date-time items: type: array items: $ref: "#/components/schemas/NewsroomRundownItem" required: - ncsID - roID - roSlug - roChannel - roEdStart - roEdDur - roTrigger - macroIn - macroOut - mosExternalMetadata - readyToAir - status - createdAt - updatedAt - items NewsroomMosObjectUpdateBody: type: object properties: description: type: string data: type: object additionalProperties: true required: - data NewsroomMosObjectUpdateResult: type: object properties: objID: type: string format: uuid objSlug: type: string mosAbstract: type: string objGroup: type: string maxLength: 128 nullable: true objTB: type: string maxLength: 10 pattern: ^\d+$ objRev: type: integer objDur: type: integer status: type: string enum: - NEW - UPDATED - MOVED - BUSY - DELETED - NCS CTRL - MANUAL CTRL - READY - NOT READY - PLAY - STOP objAir: type: string enum: - READY - NOT READY objPaths: type: string nullable: true mosExternalMetadata: type: string nullable: true createdBy: type: string created: type: string format: date-time changedBy: type: string changed: type: string format: date-time description: type: string objType: type: string enum: - STILL - VIDEO - AUDIO template: type: string data: type: object additionalProperties: true required: - objID - objSlug - mosAbstract - objGroup - objTB - objRev - objDur - status - objAir - objPaths - mosExternalMetadata - createdBy - created - changedBy - changed - description - objType - template - data paths: /api/rest/v1/engines: get: tags: - Engine Control summary: Get Engines responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Engine" example: - 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 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}": get: tags: - Engine Control summary: Get a Single Engine parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Engine" example: 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 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes": get: tags: - Engine Control summary: Get Nodes of an Engine parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/NodeShort" example: - NodePath: EngineControl "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}": get: tags: - Engine Control summary: Get a Single Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" - name: nodePath in: path schema: type: string required: true description: The path of the node. (URL-encoded) example: EngineControl responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/NodeShort" example: NodePath: EngineControl "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties": get: tags: - Engine Control summary: Get Properties of a Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" - name: nodePath in: path schema: type: string required: true description: The path of the node. (URL-encoded) example: EngineControl responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Property" example: - PropertyPath: Node//NodeName/0 Value: EngineControl - PropertyPath: Node//Description/0 Value: "" - PropertyPath: Debug//EnableDebug/0 Value: false - PropertyPath: Debug//DebugInfo/0 Value: |- TargetFPS: Genlock Timecode: 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) "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties/{propertyPath}": get: tags: - Engine Control summary: Get a Single Property parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" - name: nodePath in: path schema: type: string required: true description: The path of the node. (URL-encoded) example: EngineControl - name: propertyPath in: path schema: type: string required: true description: The path of the property. (URL-encoded) example: Clock%2F%2FTargetFPS%2F0 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Property" example: PropertyPath: Clock//TargetFPS/0 Value: Genlock "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" patch: tags: - Engine Control summary: Update a Property's Value requestBody: content: application/json: schema: $ref: "#/components/schemas/PropertyUpdate" example: Value: 30.00 fps parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" - name: nodePath in: path schema: type: string required: true description: The path of the node. (URL-encoded) example: EngineControl - name: propertyPath in: path schema: type: string required: true description: The path of the property. (URL-encoded) example: Clock%2F%2FTargetFPS%2F0 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Property" example: PropertyPath: Clock//TargetFPS/0 Value: 30.00 fps "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions": get: tags: - Engine Control summary: Get Functions of a Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" - name: nodePath in: path schema: type: string required: true description: The path of the node. (URL-encoded) example: Mixer_0 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/FunctionShort" example: - FunctionPath: Default//UpdateCameras/0 - FunctionPath: Default//DoTransition/0 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions/{functionPath}": get: tags: - Engine Control summary: Get a Single Function parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" - name: nodePath in: path schema: type: string required: true description: The path of the node. (URL-encoded) example: Mixer_0 - name: functionPath in: path schema: type: string required: true description: The path of the function. (URL-encoded) example: Default%2F%2FDoTransition%2F0 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/FunctionShort" example: FunctionPath: Default//DoTransition/0 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" post: tags: - Engine Control summary: Call a Node's Function parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: "2" - name: nodePath in: path schema: type: string required: true description: The path of the node. (URL-encoded) example: Mixer_0 - name: functionPath in: path schema: type: string required: true description: The path of the function. (URL-encoded) example: Default%2F%2FDoTransition%2F0 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ServerSuccessResponse" example: success: true "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" /api/rest/v1/playout/rundowns: get: tags: - Rundown Control summary: List Rundowns responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PlayoutRundown" example: - id: 2 name: Rundown 2 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" post: tags: - Rundown Control summary: Create a New Rundown requestBody: content: application/json: schema: $ref: "#/components/schemas/PlayoutRundownCreateRenameRequestBody" example: name: My New Rundown responses: "201": description: OK content: application/json: schema: $ref: "#/components/schemas/PlayoutRundown" example: id: 3 name: My New Rundown "422": description: Missing rundown name error. content: application/json: schema: type: object properties: error: type: string required: - error example: error: Rundown name is required. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/playout/rundowns/{rundownId}": get: tags: - Rundown Control summary: Get a Single Rundown parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: "2" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PlayoutRundown" example: id: 2 name: Rundown 2 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" patch: tags: - Rundown Control summary: Rename a Rundown requestBody: content: application/json: schema: $ref: "#/components/schemas/PlayoutRundownCreateRenameRequestBody" example: name: My Renamed Rundown parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown to rename. example: "3" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PlayoutRundown" example: id: 3 name: My Renamed Rundown "404": description: Playout rundown not found. "422": description: Missing rundown name error. content: application/json: schema: type: object properties: error: type: string required: - error example: error: Rundown name is required. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" delete: tags: - Rundown Control summary: Delete a Rundown parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown to delete. example: "3" responses: "204": description: Successful response (no content) "404": description: Playout rundown not found. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/playout/rundowns/{rundownId}/items": get: tags: - Rundown Control summary: List Rundown Items parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: "2" responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PlayoutRundownItem" example: - id: 3 name: template-1 template: template-1 data: {} buttons: - id: button2 key: button2 label: Update "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" post: tags: - Rundown Control summary: Create a New Rundown Item requestBody: content: application/json: schema: $ref: "#/components/schemas/PlayoutRundownItemCreateBody" example: name: My New Rundown Item template: template-1 order: 2 data: top_text: bottom_text: parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the target rundown. example: "2" responses: "201": description: OK content: application/json: schema: $ref: "#/components/schemas/PlayoutRundownItemShort" example: id: 5 name: My New Rundown Item template: template-1 data: top_text: bottom_text: "404": description: Playout rundown not found "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" /api/rest/v1/playout/templates: get: tags: - Rundown Control summary: List All Templates responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Template" example: - id: 1 name: template-1 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/playout/rundowns/{rundownId}/items/{itemId}": get: tags: - Rundown Control summary: Get a Single Rundown Item parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: "2" - name: itemId in: path schema: type: integer required: true description: The ID of the rundown item. example: "5" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PlayoutRundownItem" example: - id: 5 name: My New Rundown Item template: template-1 data: top_text: bottom_text: buttons: - id: button2 key: button2 label: Update "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" patch: tags: - Rundown Control summary: Update a Rundown Item requestBody: content: application/json: schema: $ref: "#/components/schemas/PlayoutRundownItemUpdateBody" example: name: Updated Rundown Item Name order: 0 data: top_text: Jane D. bottom_text: Example Inc. parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: "2" - name: itemId in: path schema: type: integer required: true description: The ID of the rundown item. example: "5" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PlayoutRundownItemShort" example: id: 5 name: Updated Rundown Item Name template: template-1 data: top_text: Jane D. bottom_text: Example Inc. "404": description: Playout rundown item not found. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" delete: tags: - Rundown Control summary: Delete a Rundown Item parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: "2" - name: itemId in: path schema: type: integer required: true description: The ID of the rundown item to delete. example: "5" responses: "204": description: Successful response (no content) "404": description: Playout rundown item not found. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/playout/rundowns/{rundownId}/items/{itemId}/{buttonKey}": post: tags: - Rundown Control summary: Trigger a Rundown Item Button parameters: - name: rundownId in: path schema: type: integer required: true description: The ID of the rundown. example: "2" - name: itemId in: path schema: type: integer required: true description: The ID of the rundown item. example: "3" - name: buttonKey in: path schema: type: string required: true description: The form key of the button. example: open_lower responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ServerSuccessResponse" example: success: true "404": description: Playout rundown item not found. content: application/json: schema: type: object properties: error: type: string required: - error example: error: Rundown item not found. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" /api/rest/v1/newsroom/rundowns: get: tags: - Newsroom Control summary: List Newsroom Rundowns responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/NewsroomRundownShort" example: - 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 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/newsroom/rundowns/{ncsID}": get: tags: - Newsroom Control summary: List Newsroom Rundowns of a Single NCS Device parameters: - name: ncsID in: path schema: type: string required: true description: The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration) example: OCTOPUS2 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/NewsroomRundownShort" example: - 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 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/newsroom/rundowns/{ncsID}/{roID}": get: tags: - Newsroom Control summary: Get a Single Rundown parameters: - name: ncsID in: path schema: type: string required: true description: The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration) example: OCTOPUS2 - name: roID in: path schema: type: integer required: true description: Rundown ID (given by the NCS Device) example: "69425946" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/NewsroomRundownLong" example: 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":"\n\t\n\t\t\n\t\n\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 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/newsroom/mosObjects/{objID}": patch: tags: - Newsroom Control summary: Update a MOS Object's Data requestBody: content: application/json: schema: $ref: "#/components/schemas/NewsroomMosObjectUpdateBody" example: description: Updated description data: realityarray1: - Test 1 - Test 2 - Test 3 parameters: - name: objID in: path schema: type: string required: true description: The ID of the MOS object to update. example: 048c0b52-0c5c-47a6-9f23-b375ea6d9feb responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/NewsroomMosObjectUpdateResult" example: 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 "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error" "/api/rest/v1/newsroom/rundowns/{ncsID}/{roID}/{storyID}/{itemID}/{buttonKey}": post: tags: - Newsroom Control summary: Trigger a MOS Object's Button (Newsroom Rundown Item Button) parameters: - name: ncsID in: path schema: type: string required: true description: The Device ID of the NCS (can be found in Configuration -> MOS Module -> Configuration) example: OCTOPUS2 - name: roID in: path schema: type: integer required: true description: Rundown ID example: "69425946" - name: storyID in: path schema: type: integer required: true description: Story ID example: "71755601" - name: itemID in: path schema: type: string required: true description: Item ID example: 2-1 - name: buttonKey in: path schema: type: string required: true description: The key of the button to be triggered. example: button1 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ServerSuccessResponse" example: success: true "404": description: Newsroom rundown item not found. content: application/json: schema: type: object properties: error: type: string required: - error example: error: Rundown item not found. "500": description: Internal Server Error content: text/plain: schema: type: string example: "500: Internal server error"