Voice Tracker HTTP API


The CamDirector® Voice Tracker can be controlled through its HTTP API. This article explains how to authenticate and send basic commands, such as switching between LIVE and EDIT mode, or selecting a scenario, preset or camera. The examples use Postman, but any HTTP client can be used.

The HTTP API is available on both the CD500 and CD600. For the CD600, the HEX API is also available. The HEX API can be easier to integrate into some control systems, while the HTTP API is the more secure option. See HEX API Commands for VoiceTracker CD600.

Base URL:

http://{ip}/api

Endpoints:

Action

HTTP Method

Endpoint

AuthenticationPOST/manager/auth
Turning into live modePOST/on
Turning into edit modePOST/off
Switch to scenarioPOST/switch/scenario/{id}
Switch to presetPOST/switch/preset/{id}
Switch to camera outputPOST/switch/camera/{id}
Get active cameraGET/active-camera
Get active seatGET/active-seat


The IDs for scenarios, presets and cameras are shown in the Switcher tab when the Voice Tracker is in EDIT mode (LIVE turned off).

Authentication:

All CamDirector® endpoints are protected with JWT authentication. Each request must include a valid authentication token.

  1. Send a POST request to http://{ip}/api/manager/auth with a JSON body containing the CamDirector® username and password:
    { "username": "admin", "password": "{password}" }
  2. Copy the token from the response.
  3. Add the token to each following request. [TO VERIFY: header format]

    Notes:
    • Only one device can access the HTTP API at a time. When a control system or Bitfocus Companion connects, users logged into the web GUI are disconnected.
    • The /active-camera endpoint was added in version 2.4.1 and /active-seat in version 2.6.1. Make sure the CamDirector® runs a recent software version. See Release Notes Voice Tracker.


Postman screenshots and example responses

Login with credentials

To retrieve a JWT token you need to make a request to the authentication endpoint.

The Authorization type is a Bearer Token. This is a HTTP POST request and requires a JSON body with the username and password fields of the CamDirector. In the response you will receive your JWT token in the body.

In this case "admin", and "admin"  (do not forget the comma).

After pressing the send button, you will receive a token. And the "200 OK". And everyone who was logged in via the WebGUI will be logged out.

Open tab Authentication. You can open the token window.

The new token appears in the body window under. It needs to be copied into the token window.

Using your JWT token

The token should be supplied in the request header as a Bearer Token. The lifetime of the token is supplied in seconds and is 3600, which means the token is valid for one hour. Only one user can be authenticated at the same time, so when another client logs in, other tokens become invalid and you receive "401 Unauthorized". And you have to generate a new one.

In practice 

If you want to turn off "LIVE," you can do so with:

POST http://172.26.41.20/api/off.

After pressing "SEND," you will receive this response.

If someone opens the WebGUI, the token will be invalid and you received "401 Unauthorized"

Open image-20241210-110207.png