Status Information

Commands in this section will return information about your current project.

getAppGlobalSettings

get

Returns information about all the global settings including the currently registered Live Objects..

Responses
200
successful operation
application/json
get
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
  }
}

getInputsPlayStatus

get

Returns a list of all inputs and play status on the requested channel.

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

channelnumberOptional

channel to query, or -1 for all

Example: -1
Responses
200
successful operation
application/json
get
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
  }
}

getMonitorFrame

get

Request a rendering of current program output..

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

channelnumberOptional

Output channel to grab

Example: 0
widthstringOptional

Pixel width of desired render

Example: 320
heightstringOptional

Pixel height of desired render

Example: 180
Responses
200
successful operation
application/json
get
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"
  }
}

getPlayStatus

get

Get the playback status of the specific title and variable combo.

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

idstringOptional

optional: UUID of title/layer to operate on

titlestringOptional

optional: Name (or UUID) of the title to operate on.

Example: Test
channelnumberOptional

channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project

Example: 0
Responses
200
successful operation
application/json
get
GET /api/command/getPlayStatus HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
  "result": {
    "command": "getPlayStatus",
    "reply": "getPlayStatus",
    "success": true
  }
}

getPreviewFrame

get

Request a rendering of a title at a specific point in time..

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

idstringOptional

optional: UUID of title/layer to operate on

Example: {3e2fd47b-4090-4a45-a588-b25711f409d0}
titlestringOptional

optional: Name (or UUID) of the title to operate on.

timestringOptional

Optional time in title's timeline

Example: 0.2
widthstringOptional

Pixel width of desired render

Example: 320
heightstringOptional

Pixel height of desired render

Example: 180
checkSumstringOptional

Optional checksum. If this matches the current checksum, no image is created. If changed, a new value is returned.

Example: 2343
Responses
200
successful operation
application/json
get
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
  }
}

getProductInfo

get

Returns information about the currently running product..

Responses
200
successful operation
application/json
get
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"
  }
}

getProfile

get

Request the profile information for a specific input..

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

inputstringOptional

Optional, you may use either profile or input but the value should be the full name of an Input / Data Controller

Example: Test: Input Name
profilestringOptional

Optional, you may use either profile or input but the value should be the full name of an Input / Data Controller

Responses
200
successful operation
application/json
get
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
  }
}

getRenderStatus

get

Get the render status of a title.

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

idstringOptional

optional: UUID of title/layer to operate on

titlestringOptional

optional: Name (or UUID) of the title to operate on.

Example: Test
channelnumberOptional

channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project

Example: 0
Responses
200
successful operation
application/json
get
GET /api/command/getRenderStatus HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
  "result": {
    "command": "getRenderStatus",
    "reply": "getRenderStatus",
    "success": true
  }
}

getReport

get

Returns the same information as getStats but also includes information about the product, license, and active user (including user email and machine id)..

Responses
200
successful operation
application/json
get
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"
    }
  }
}

getSnapShot

get

Request a rendering of a title with specific variable settings - can be used to preview..

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

idstringOptional

optional: UUID of title/layer to operate on

Example: all
titlestringOptional

optional: Name (or UUID) of the title to operate on.

channelnumberOptional

channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project

Example: -1
widthstringOptional

Pixel width of desired render

Example: 320
heightstringOptional

Pixel height of desired render

Example: 180
filestringOptional

Optional file path to write the image to. Otherwise, file path will be created.

encodenumberOptional

If set, image is returned byte encoded instead of to file.

Example: 1
scaleToFitnumberOptional

Scale the visible portion of the image to fit the supplied frame dimensions.

Example: 1
syncnumberOptional

If set, image is returned synchronously, otherwise later in separate message

Example: 0
Responses
200
successful operation
application/json
get
GET /api/command/getSnapShot HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
  "result": {
    "command": "getSnapShot",
    "id": "all",
    "reply": "getSnapShot",
    "success": true
  }
}

getStats

get

Returns statistics about the currently active instance..

Responses
200
successful operation
application/json
get
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
  }
}

getTime

get

Returns floating point seconds since Captivate was launched..

Responses
200
successful operation
application/json
get
GET /api/command/getTime HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
  "result": {
    "command": "getTime",
    "reply": "getTime",
    "success": true,
    "time": "911.01"
  }
}

getTitleControlInfo

get

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.

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

idstringOptional

optional: UUID of title/layer to operate on

titlestringOptional

optional: Name (or UUID) of the title to operate on.

Example: Test
inputstringOptional

optional: Input name, used to select the title(s) to operate on

iconnumberOptional

boolean flag, if set, return an image of the title

Example: 0
widthnumberOptional

width for icon

Example: 80
heightnumberOptional

height for icon

Example: 45
Responses
200
successful operation
application/json
get
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"
      }
    ]
  }
}

getTitleIcon

get

Request an encoded png of the specified title..

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

channelnumberOptional

channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project

Example: -1
idstringOptional

optional: UUID of title/layer to operate on

Example: all
titlestringOptional

optional: Name (or UUID) of the title to operate on.

widthstringOptional

Pixel width of desired render

Example: 320
heightstringOptional

Pixel height of desired render

Example: 180
checkSumstringOptional

Checksum from last render. If unchanged, no render will occur.

scaleToFitnumberOptional

If true, make the icon draw letterboxed in the image.

Example: 1
Responses
200
successful operation
application/json
get
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
  }
}

getTitlesConnected

get

Returns a list of all titles that are connected to the specified input..

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

channelnumberOptional

channel to query, or -1 for all

Example: -1
inputstringOptional

comma-delimited list of inputs

Responses
200
successful operation
application/json
get
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"
      }
    ]
  }
}

getTitlesPlayStatus

get

Returns a list of all titles and their input and play status. NOTE: The getRenderStatus command reports renderStatus more accurately..

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

channelnumberOptional

channel to query, or -1 for all

Example: -1
Responses
200
successful operation
application/json
get
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"
      }
    ]
  }
}

getVideoFrame

get

Request the frame from a video input..

Query parameters
channelnumberOptional

Name of the channel to query

Example: -1
videostringOptional

Name of the video input

Example: USB Webcam
widthstringOptional

Pixel width of desired render (set to 0 to get the original resolution)

Example: 0
heightstringOptional

Pixel height of desired render (set to 0 to get the original resolution)

Example: 0
checkSumstringOptional

Optional checksum. If this matches the current checksum, no image is created. If changed, a new value is returned.

Example: 2343
Responses
200
successful operation
application/json
get
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
  }
}

isTitleConnected

get

Returns true if at least one title in the provided channel is connected to one of a list of inputs..

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

channelnumberOptional

channel to query, or -1 for all

Example: -1
inputstringOptional

comma-delimited list of inputs

Responses
200
successful operation
application/json
get
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
  }
}

listCommands

get

Returns a list of all available commands..

Responses
200
successful operation
application/json
get
GET /api/command/listCommands HTTP/1.1
Host: 127.0.0.1:9022
Accept: */*
{
  "result": {
    "command": "listCommands",
    "commands": [
      "assignvariable"
    ],
    "reply": "listCommands",
    "success": true
  }
}

readPlaylist

get

Return extensive information about the playlist for the specified channel..

Query parameters
channelstringOptional

channel index to query for playlist information

verbosestringOptional

set to 1 for even more information

Responses
200
successful operation
application/json
get
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
  }
}

readProject

get

Return extensive information about the current project..

Query parameters
verbosestringOptional

set to 1 for even more information

Responses
200
successful operation
application/json
get
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
  }
}

readTitle

get

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

Query parameters
requestIdstringOptional

optional id to track this command, will be returned in the response

idstringOptional

optional: UUID of title/layer to operate on

titlestringOptional

optional: Name (or UUID) of the title to operate on.

Example: name
channelnumberOptional

channel to query or -1 for all; channels are numbered from left to right starting at 0 regardless of their names in the project

Example: 0
verbosenumberOptional

1 for extensive information, 0 for streamlined result

Example: 1
Responses
200
successful operation
application/json
get
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