Status Information
Commands in this section will return information about your current project.
Returns information about all the global settings including the currently registered Live Objects..
GET /api/command/getAppGlobalSettings HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getAppGlobalSettings",
"globalSettings": [
{
"liveObjects": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"output": {
"device": {
"channels": "0",
"device": "NDI"
},
"format": {
"FPS": "29.97",
"PAR": "1",
"frameRate": "29.97",
"height": "1080",
"interlace": "0",
"supportsAlpha": "1",
"width": "1920"
}
},
"outputsettings": {
"streaming": {
"choice": "Generic",
"format": {
"audio": {
"bitrate": "320",
"channels": "2",
"encoder": "aac",
"samplerate": "48000"
},
"titles": [
{
"language": "EN",
"text": ""
}
]
}
}
},
"videoaudioMix": {
"audioMix": {
"masterMute": "0",
"masterMuteLiveMonitor": "0",
"masterVolume": "1"
},
"renderSettings": [
{
"instance": [
{
"created": "2025-01-28",
"frameBuffer": "",
"mediaCache": "M=F623F137-7330-5C42-94B6-3147922F3D89",
"renderNode": "172.56.253.210"
}
]
}
],
"videoMix": {
"replayChannel": "0"
}
}
}
],
"reply": "getAppGlobalSettings",
"success": true
}
}
Returns a list of all inputs and play status on the requested channel.
optional id to track this command, will be returned in the response
channel to query, or -1 for all
-1
GET /api/command/getInputsPlayStatus HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getInputsPlayStatus",
"inputs": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"reply": "getInputsPlayStatus",
"success": true
}
}
Request a rendering of current program output..
optional id to track this command, will be returned in the response
Output channel to grab
0
Pixel width of desired render
320
Pixel height of desired render
180
GET /api/command/getMonitorFrame HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getMonitorFrame",
"height": "180",
"image": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAC0AUADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5/ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//Z",
"reply": "getMonitorFrame",
"success": true,
"width": "320"
}
}
Get the playback status of the specific title and variable combo.
optional id to track this command, will be returned in the response
optional: UUID of title/layer to operate on
optional: Name (or UUID) of the title to operate on.
Test
channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project
0
GET /api/command/getPlayStatus HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getPlayStatus",
"reply": "getPlayStatus",
"success": true
}
}
Request a rendering of a title at a specific point in time..
optional id to track this command, will be returned in the response
optional: UUID of title/layer to operate on
{3e2fd47b-4090-4a45-a588-b25711f409d0}
optional: Name (or UUID) of the title to operate on.
Optional time in title's timeline
0.2
Pixel width of desired render
320
Pixel height of desired render
180
Optional checksum. If this matches the current checksum, no image is created. If changed, a new value is returned.
2343
GET /api/command/getPreviewFrame HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getPreviewFrame",
"error": "unable to find title from input or title attribute",
"id": "{3e2fd47b-4090-4a45-a588-b25711f409d0}",
"reply": "getPreviewFrame",
"success": true
}
}
Returns information about the currently running product..
GET /api/command/getProductInfo HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"api_version": "240910",
"buildDate": "Feb 21 2025",
"buildTime": "16:30:45",
"command": "getProductInfo",
"licensed": true,
"product": "Captivate",
"reply": "getProductInfo",
"serial": "NBTL5BR-58C728-436890-581F1C-CB2CBE",
"sha": "d74bf9",
"sku": "SKUTL5BR",
"success": true,
"version": "2024.0.241118"
}
}
Request the profile information for a specific input..
optional id to track this command, will be returned in the response
Optional, you may use either profile
or input
but the value should be the full name of an Input / Data Controller
Test: Input Name
Optional, you may use either profile
or input
but the value should be the full name of an Input / Data Controller
GET /api/command/getProfile HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getProfile",
"error": "profile Test%3A+Input+Name not found.",
"id": "{218f46f9-e881-49a8-ab17-03c8f9cc8461}",
"profile": {},
"reply": "getProfile",
"success": true
}
}
Get the render status of a title.
optional id to track this command, will be returned in the response
optional: UUID of title/layer to operate on
optional: Name (or UUID) of the title to operate on.
Test
channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project
0
GET /api/command/getRenderStatus HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getRenderStatus",
"reply": "getRenderStatus",
"success": true
}
}
Returns the same information as getStats but also includes information about the product, license, and active user (including user email and machine id)..
GET /api/command/getReport HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"actions": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"command": "getReport",
"product": {
"licensed": "true",
"product": "Captivate",
"serial": "NBTL5BR-58C728-436890-581F1C-CB2CBE",
"sku": "SKUTL5BR",
"version": "2024.0.241118"
},
"reply": "getReport",
"session": {
"format": {
"fps": "29.97",
"height": "1080",
"width": "1920"
},
"output": {
"channels": "1",
"format": "NDI",
"host": "CaptivateLiveStandalone"
}
},
"success": true,
"user": {
"appmanversion": "1.14.250102",
"email": "[email protected]",
"first": "",
"last": "",
"machineId": "M=F623F137-7330-5C42-94B6-3147922F3D89",
"os": "Mac"
}
}
}
Request a rendering of a title with specific variable settings - can be used to preview..
optional id to track this command, will be returned in the response
optional: UUID of title/layer to operate on
all
optional: Name (or UUID) of the title to operate on.
channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project
-1
Pixel width of desired render
320
Pixel height of desired render
180
Optional file path to write the image to. Otherwise, file path will be created.
If set, image is returned byte encoded instead of to file.
1
Scale the visible portion of the image to fit the supplied frame dimensions.
1
If set, image is returned synchronously, otherwise later in separate message
0
GET /api/command/getSnapShot HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getSnapShot",
"id": "all",
"reply": "getSnapShot",
"success": true
}
}
Returns statistics about the currently active instance..
GET /api/command/getStats HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"actions": [
{
"action": [
{
"duration": "13.2996",
"play": "3",
"template": "Title",
"update": "0"
}
]
}
],
"command": "getStats",
"reply": "getStats",
"session": {
"format": {
"fps": "29.97",
"height": "1080",
"width": "1920"
},
"output": {
"channels": "1",
"format": "NDI",
"host": "CaptivateLiveStandalone"
}
},
"success": true
}
}
Get extensive information for all titles, just one title, or titles connected to the input. The returned object will contain a field called 'function' that is used internally by some of our controllers and is determined by the name of the title/layer. In custom controllers, that value should be ignored.
Because this endpoint doesn't use any variables, it can also be accessed using a GET request.
optional id to track this command, will be returned in the response
optional: UUID of title/layer to operate on
optional: Name (or UUID) of the title to operate on.
Test
optional: Input name, used to select the title(s) to operate on
boolean flag, if set, return an image of the title
0
width for icon
80
height for icon
45
GET /api/command/getTitleControlInfo HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getTitleControlInfo",
"reply": "getTitleControlInfo",
"success": true,
"titleCount": "0",
"titles": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
]
}
}
Request an encoded png of the specified title..
optional id to track this command, will be returned in the response
channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project
-1
optional: UUID of title/layer to operate on
all
optional: Name (or UUID) of the title to operate on.
Pixel width of desired render
320
Pixel height of desired render
180
Checksum from last render. If unchanged, no render will occur.
If true, make the icon draw letterboxed in the image.
1
GET /api/command/getTitleIcon HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getTitleIcon",
"error": "unable to find title from 'id' attribute",
"id": "all",
"reply": "getTitleIcon",
"success": true
}
}
Returns a list of all titles that are connected to the specified input..
optional id to track this command, will be returned in the response
channel to query, or -1 for all
-1
comma-delimited list of inputs
GET /api/command/getTitlesConnected HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getTitlesConnected",
"input": "",
"reply": "getTitlesConnected",
"success": true,
"titleCount": "0",
"titles": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
]
}
}
Returns a list of all titles and their input and play status. NOTE: The getRenderStatus command reports renderStatus more accurately..
optional id to track this command, will be returned in the response
channel to query, or -1 for all
-1
GET /api/command/getTitlesPlayStatus HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getTitlesPlayStatus",
"reply": "getTitlesPlayStatus",
"success": true,
"titles": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
]
}
}
Request the frame from a video input..
Name of the channel to query
-1
Name of the video input
USB Webcam
Pixel width of desired render (set to 0 to get the original resolution)
0
Pixel height of desired render (set to 0 to get the original resolution)
0
Optional checksum. If this matches the current checksum, no image is created. If changed, a new value is returned.
2343
GET /api/command/getVideoFrame HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "getVideoFrame",
"error": "unable to find video input",
"reply": "getVideoFrame",
"success": true
}
}
Returns true if at least one title in the provided channel is connected to one of a list of inputs..
optional id to track this command, will be returned in the response
channel to query, or -1 for all
-1
comma-delimited list of inputs
GET /api/command/isTitleConnected HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "isTitleConnected",
"connected": "0",
"error": "isTitleConnected command must include an input attribute containing a comma-delimited list of inputs to check.",
"reply": "isTitleConnected",
"success": true
}
}
Returns a list of all available commands..
GET /api/command/listCommands HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "listCommands",
"commands": [
"assignvariable"
],
"reply": "listCommands",
"success": true
}
}
Return extensive information about the playlist for the specified channel..
channel index to query for playlist information
set to 1 for even more information
GET /api/command/readPlaylist HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "readPlaylist",
"playlist": [
{
"channel": "0",
"name": "Channel 1"
}
],
"reply": "readPlaylist",
"success": true
}
}
Return extensive information about the current project..
set to 1 for even more information
GET /api/command/readProject HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "readProject",
"project": [
{
"playlist": [
{
"channel": "0",
"name": "Channel 1"
}
]
}
],
"reply": "readProject",
"success": true
}
}
Get extensive information about one or more titles. Specify a title name or id to get information for a single title. Specify an input to get information for all titles using that input. Leave both blank to get data for all titles..
optional id to track this command, will be returned in the response
optional: UUID of title/layer to operate on
optional: Name (or UUID) of the title to operate on.
name
channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project
0
1 for extensive information, 0 for streamlined result
1
GET /api/command/readTitle HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
"result": {
"command": "readTitle",
"reply": "readTitle",
"success": true,
"titles": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
]
}
}
Last updated