Viz Mosart offers an easy to create, generic driver that sends REST commands to an external device. Features for these drivers can be controlled from a standard Mosart template, as described in section Controlling a REST-based Driver.
Key features of Viz Mosart Generic REST drivers:
Device configuration: Configure up to 50 devices that provide REST API services.
Authentication support: Basic, Digest, API key, OAuth2 (Client credentials and Password grants) and Token login, for a device with its own login endpoint. See Authentication types.
Certificate pinning: Connect to a device with a self-signed certificate by entering its certificate thumbprint, instead of disabling certificate validation.
Connection status monitoring and heartbeat: Monitor the connection status of the device, with an integrated heartbeat mechanism for consistent device status checks.
Standby mode: Set devices in standby mode.
Template-based command execution: Configure and execute commands on cue, take or take-out.
HTTP command requests: GET, POST and PUT HTTP request methods.
Integration with newsroom systems: Use newsroom tags in request commands, so journalists can overwrite values with content from their newsroom system.
Directtakes functionality: Execute Directtakes with REST commands for a configured device from templates or keyboard shortcuts in the Viz Mosart UI.
Out-of-the-box features available with a Generic REST driver:
Control a Mosart server from a template using the Mosart Remote Control REST API instead of using GPI control commands.
Control other Mosart servers from a Mosart server using the Mosart Remote Control REST API.
Setting up and Connecting to a REST-based Device
Tip:
For studio-tested examples, see section REST Driver Implementation.
A two minute tutorial video on using the REST API is here.
You construct your REST-based driver from the Settings menu in the combined Mosart Administrator utility.
Open the Settings window. There are two methods:
From the Manus Administrator console, type settings.
From the AV Automation menu bar, navigate to Devices > Settings (Ctrl+Shift+P).
In the left side of the Settings menu, select Generic REST drivers.
Add a new device by clicking Add device, or the plus (+) sign next to the Devices header. You can add up to 50 devices.
Configure the device in the right side panel. The core fields are:
Field
Meaning
Device title
A name that uniquely identifies the device. Default: Untitled.
Device ID
The generic REST number shown in the AV Automation Status panel and the Standby lists. Usable with a standby device control command.
Base URL
Mandatory: the scheme (http:// or https://) and the host of the device, optionally with a common resource path. It is the shared part of the URL of every request to the device.
Status URL path
The resource path appended to the Base URL for the connection test and the heartbeat.
Authentication type
How the driver authenticates. See Authentication types below.
Info: Every setting explains itself: hover the information icon next to a field for what it does, how to fill it in, and where the value comes from. The authentication fields appear and disappear with the chosen Authentication type, so you only see what the selected type needs.
Test the connection by clicking Test Connection. If the connection fails, an error message is displayed. See Troubleshooting below.
Once the connection is successfully established, enable the device by toggling the switch next to the device's name. This initiates an HTTP connection to the device, preparing it to receive commands from Viz Mosart.
As necessary, add, configure and enable more devices, then save all settings by clicking Save.
In the AV Automation UI, check that the enabled devices are displayed in the Status panel. With no heartbeat configured, Mosart checks the connection once and shows green for OK or red for not OK; with a heartbeat, hovering over the device shows the last check. You can reconnect to the device in AV Automation with Ctrl+Shift+Z.
Note: If the device is not enabled, Viz Mosart does not transmit any commands to it.
Info: A device might not require authentication for the endpoint used to test the connection, in which case a green test does not prove the credentials. Where authentication matters, point the Status URL path at a resource that requires it, so the test and the heartbeat prove the whole chain. For example, the Mosart REST API answers /api/v1/build without credentials, but /api/v1/status only with them.
Authentication types
Set Authentication type to what the device requires; its REST API documentation says which. Each type shows only its own fields, and each field's tooltip carries the detail.
Type | For | What is sent |
|---|---|---|
None (default) | A device requiring no authentication. | Requests as-is. |
Basic | Simple username and password authentication. | The credentials, Base64-encoded, on every request. |
Digest | Challenge-response username and password authentication. | A digest exchange; the password itself never travels. |
ApiKey | A device that expects a fixed key in a request header. | The key on every request, in the configured header (default |
OAuth2 | A device whose API requires tokens issued by a standard OAuth2 identity provider such as Keycloak or Microsoft Entra ID. A Mosart server with OIDC enabled is such a device. Choose the Client credentials grant for new devices, so the device signs in as its own service account; the Password grant remains for existing configurations. | A token fetched from the identity provider's token endpoint, sent to the device as |
TokenLogin | A device that issues the tokens itself, from its own login endpoint, such as the Imagine SNP. The credential format, token response format, token header and refresh interval are configurable, because bespoke device APIs differ in exactly these places. | A token fetched from the device's login endpoint, sent in the configured header and renewed on the configured interval. |
Info: To connect to a device with a self-signed certificate, enter the certificate's SHA-1 or SHA-256 thumbprint in Device certificate thumbprint: the connection then trusts exactly that certificate, while an expired certificate or one belonging to a different device is still rejected.
Example: a device with its own login endpoint (TokenLogin)
The Imagine SNP is the typical case: it wants a JSON credential body at /api/auth, answers with the bare token string, expects the raw token in the Authorization header with no scheme, and its tokens expire after roughly five minutes.
Setting | Value |
|---|---|
Base URL |
|
Status URL path |
|
Authentication type | TokenLogin |
Authentication Server Url |
|
Username / Password | the account defined on the device |
Credential format / Token response format / Token header / Token scheme | the defaults: Json, RawToken, |
Token refresh interval |
|
Device certificate thumbprint | the thumbprint of the device's self-signed certificate |
Example: calling the Mosart REST API when OIDC is enabled (OAuth2)
Enabling OIDC authentication on a Mosart server switches the REST API key off, so a Generic REST device pointed at Mosart's own REST API must sign in as its own service account instead (available from Viz Mosart 5.16):
Ask IT to create a client for the device in the identity provider, using the client credentials flow, and to hand back its Client ID and secret. If the device manages named overlays, the client's service account also needs the
mosart-adminrole. See the Security chapter.Configure the device: Authentication type OAuth2, Grant type ClientCredentials, Authentication Server Url = the identity provider's token endpoint, plus the Client ID and secret.
Point Status URL path at
api/v1/status, which requires a valid token, so a green heartbeat proves the whole chain.
Info: A Generic REST device that calls a third-party service is unaffected by the Mosart server's own authentication mode. With the API key mode, the older setup keeps working: authentication type ApiKey, the key from Remote Controller Service > Security, header X-API-Key.
Management of REST-based Devices
To remove a device: hover over it in the device list, right-click the three dots to the right and select Remove device.
To enable, disable or remove all devices: right-click the three dots next to the Devices header and select an operation from the context menu.
Controlling a REST-based Driver
Standard Viz Mosart templates can be used to control a REST-based driver. These show-specific operations are described in section Controlling a REST-based Driver.
Troubleshooting
Symptom | What to check |
|---|---|
The connection test fails | The Base URL format; whether a Status URL path is needed; the authentication values; that AV Automation is operational. The Mosart logs have the detail. |
401 errors start a few minutes after connecting | The Token refresh interval is longer than the device's token lifetime. Set it to roughly 80% of the lifetime. |
401 on the token fetch itself | Wrong credentials, or the wrong Credential format for the device. |
Certificate error although a thumbprint is configured | A typo in the thumbprint, or the certificate has a problem pinning does not excuse: it is expired, or its host name does not match. The Mosart log names the reason and prints the thumbprints the device actually presented. |