MoIP Controller API (1.3.0)

Download OpenAPI specification:Download

API

Introduction

The REST API for interacting with MoIP Controllers. This API contains the MoIP specific functionallity as well as the more generic device functionallity shared with other devices.

Authentication

This API, and any other device specific APIs, will require obtaining a JSON Web Token(JWT) using the Digest Login or Post Login endpoints prior to use. JWTs are used since different parts of the API, and the different APIs, may be handled by separate services internally.

ID Values

The component IDs are used to reference components from other components, ie. pairing, video wall membership, etc. They are also intended to be used as external references and, as such, won't change for the life of the component. If a unit is deleted and it's rediscovered then it will get new IDs but would count as a 'new' unit from the standpoint of the Controller. The IDs are also unique across the entire Controller and not just to the given component type.

Groups

The 'group_rx's and 'group_tx's are the intended logical grouping of the audio, video, serial, IR, and USB components to make up an RX or TX. While this is the intended grouping, the individual components can be paired differently if this is desired. For example, watching video from one TX while listening to a different TX.

Updates

While the API can be used in a purely synchronous fashion, status changes, and more importantly serial messages, can be handled without polling by using the event websocket to get asynchronous notifications of changes.

Actions

Path endpoints for device actions.

Perform factory reset.

Resets device to factory defaults

Authorizations:
BearerAuthAltJwtAuth
Request Body schema: application/json
optional

Perform factory default

object (ConfigResetRequestObject)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "success": {
    }
}

Perform firmware upgrade.

Validates and upgrades firmware

Authorizations:
BearerAuthAltJwtAuth
Request Body schema: application/json
required

Set request

url
string

Upgrade url string

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "success": {
    }
}

Perform device reboot.

Reboots device

Authorizations:
BearerAuthAltJwtAuth
Request Body schema: application/json
optional

Set request

delay
number

Delay in seconds

Responses

Request samples

Content type
application/json
{
  • "delay": 5
}

Response samples

Content type
application/json
{
  • "success": {
    }
}

Authentication

Path endpoints for authentication items.

Update authentication credentials.

Set user authentication credentials.

Authorizations:
BearerAuthAltJwtAuth
Request Body schema: application/json
required

Set request

username
string
password
string

Responses

Request samples

Content type
application/json
{
  • "username": "admin",
  • "password": "SuperSekret"
}

Response samples

Content type
application/json
{
  • "success": {
    }
}

Get JWT for API access using digest.

This endpoint uses HTTP Digest for authentication.

Authorizations:
DigestAuth

Responses

Response samples

Content type
application/json
{
  • "accessToken": "eyJhbGciOiJIUzI1NiIsICJ0eXAiOiJKV1QifQ.eyJsZXZlbCI6ImFkbWluIn0.S7mDi9GCpsKBIrJZlwIPeZKIIm96KJFp4kt2YFXJeQk",
  • "tokenType": "Bearer",
  • "expiresIn": 3600
}

Get JWT for API access using post.

Since the password is sent in the clear for this request, it really should only be used if HTTPS is being used.

Request Body schema: application/json
required

Set request

username
string
password
string

Responses

Request samples

Content type
application/json
{
  • "username": "admin",
  • "password": "SuperSekret"
}

Response samples

Content type
application/json
{
  • "accessToken": "eyJhbGciOiJIUzI1NiIsICJ0eXAiOiJKV1QifQ.eyJsZXZlbCI6ImFkbWluIn0.S7mDi9GCpsKBIrJZlwIPeZKIIm96KJFp4kt2YFXJeQk",
  • "tokenType": "Bearer",
  • "expiresIn": 3600
}

Configuration

Path endpoints for configuration items.

Get base level device information.

Returns base level device information.

Authorizations:
BearerAuthAltJwtAuth

Responses

Response samples

Content type
application/json
{
  • "mac": "D4:6A:91:FF:FF:FF",
  • "service_tag": "ST11111111111111",
  • "model": "OVRC-100-HUB",
  • "version": "1.0.0.0",
  • "name": "Office Hub"
}

Update base level device information.

Sets base device level information

Authorizations:
BearerAuthAltJwtAuth
Request Body schema: application/json
required

Set request

name
string

A-z, 0-9, -, and ., but can not start with - or .

Responses

Request samples

Content type
application/json
{
  • "name": "Office Hub"
}

Response samples

Content type
application/json
{
  • "success": {
    }
}

Get device configuration.

Get the current device configuration

Authorizations:
BearerAuthAltJwtAuth

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Update device configuration.

Upload and apply the device configuration

Authorizations:
BearerAuthAltJwtAuth
Request Body schema: text/plain
string

Responses

Response samples

Content type
application/json
{
  • "success": {
    }
}

Get LAN settings.

Returns lan information

Authorizations:
BearerAuthAltJwtAuth

Responses

Response samples

Content type
application/json
{
  • "deviceName": "Office Hub",
  • "macAddress": "FF:FF:FF:FF:FF:FF",
  • "dhcpEnabled": true,
  • "deviceIpAddress": "192.168.1.100",
  • "deviceSubnetMask": "255.255.252.0",
  • "deviceDefaultGateway": "192.168.24.1",
  • "staticdns": true,
  • "dnsServer1": "8.8.8.8",
  • "dnsServer2": "8.8.8.8"
}

Update LAN settings.

Sets lan information

Authorizations:
BearerAuthAltJwtAuth
Request Body schema: application/json
required

Set request

deviceName
string
macAddress
string
dhcpEnabled
boolean
deviceIpAddress
string
deviceSubnetMask
string
deviceDefaultGateway
string
staticdns
boolean
dnsServer1
string
dnsServer2
string

Responses

Request samples

Content type
application/json
{
  • "deviceName": "Office Hub",
  • "macAddress": "FF:FF:FF:FF:FF:FF",
  • "dhcpEnabled": true,
  • "deviceIpAddress": "192.168.1.100",
  • "deviceSubnetMask": "255.255.252.0",
  • "deviceDefaultGateway": "192.168.24.1",
  • "staticdns": true,
  • "dnsServer1": "8.8.8.8",
  • "dnsServer2": "8.8.8.8"
}

Response samples

Content type
application/json
{
  • "success": {
    }
}

Information

Path endpoints for information items.

Get current firmware information.

Returns firmware information

Authorizations:
BearerAuthAltJwtAuth

Responses

Response samples

Content type
application/json
{
  • "version": "1.0.0.0",
  • "buildDate": "2021-3-1",
  • "buildNumber": "1",
  • "applyDate": "2021-3-3",
  • "imageName": "firmware.bin",
  • "size": 4509751
}

Get hardware information.

Returns hardware information

Authorizations:
BearerAuthAltJwtAuth

Responses

Response samples

Content type
application/json
{
  • "serial": "12345678",
  • "service_tag": "ST11111111111111",
  • "model": "OVRC-100-HUB",
  • "platform": "FAKE"
}

Get hardware statistical information.

Returns hardware statistical information

Authorizations:
BearerAuthAltJwtAuth

Responses

Response samples

Content type
application/json
{
  • "uptime": 30,
  • "memFree": 100,
  • "memTotal": 200,
  • "cpu": 20
}

Get time information.

Returns time information

Authorizations:
BearerAuthAltJwtAuth

Responses

Response samples

Content type
application/json
{
  • "time": 1614791480,
  • "timezone": {
    },
  • "dst": {
    }
}

System

Path endpoints for core MoIP system items.

Get global settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "kind": "v1v2",
  • "diag_mode": "idle",
  • "supported_diag_mode": [
    ],
  • "legacy_api": true
}

Update global settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
Request Body schema: application/json

A System object update request.

name
string
diag_mode
string (DiagType)
Enum: "idle" "identify" "cycle"

Run a diagnostic mode on the system. 'identify' displays the RX info and TX pairing info on each video RX. 'cycle' does the same information display as 'identify' but also cycles pairing of all RXs to TXs every 5 seconds.

legacy_api
boolean

Controls whether the legacy TCP control API is enabled or not.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "diag_mode": "idle",
  • "legacy_api": true
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Perform global actions.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
Request Body schema: application/json

A System Action request.

action
string
Value: "reboot_all_units"

Actions supported:

  • reboot_all_units : Reboots every connected unit.

Responses

Request samples

Content type
application/json
{
  • "action": "reboot_all_units"
}

Get general system status summary.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth

Responses

Response samples

Content type
application/json
{
  • "units": [
    ]
}

Eventing

Path endpoints, and pseudo path endpoints, for reporting change events.

Get raw change event socket information.

This describes a raw socket that sends changes. The websocket is the preferred solution but this may be used as a fallback. This socket works just like the change endpoints just in a simpler form, text over a raw socket. Any data sent on this socket will be dropped. Change events are '\r\n' deliminated lines in the form of [ADD | MOD | DEL] [path change] or PNG -. ex. MOD /api/v1/moip/unit/1022

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth

Responses

Response samples

Content type
application/json
{
  • "address": "string",
  • "port": 0
}

Change event WebSocket.

WEBSOCKET: This is only a placeholder since OpenAPI doesn't describe websockets natively. The JSON response schema does describe the message format received on the websocket. While the websocket protocol field isn't normally used, any value can be given, it can used to supply the JWT for authorization since browsers restrict access to the request headers. Using a protocol of the form 'Bearer.{JWT}', and replacing {JWT} with the token, can 'smuggle' it in.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth

Responses

Response samples

Content type
application/json
{
  • "changes": [
    ]
}

Units

Path endpoints for MoIP units.

Get all units.

Get a list of all unit IDs in the system.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get unit status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "associations": {
    },
  • "status": {
    },
  • "settings": {
    }
}

Update unit settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A Unit object update request.

object

Responses

Request samples

Content type
application/json
{
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Remove unit from system.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Perform actions on a unit.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A Unit Action request.

action
string
Enum: "reboot" "clear_log" "factory_reset"

Actions supported:

  • reboot : Reboot the unit
  • clear_log : Clear the unit log
  • factory_reset : Factory reset the unit if it supports the operation

Responses

Request samples

Content type
application/json
{
  • "action": "reboot"
}

Get unit statistics.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Response samples

Content type
application/json
{
  • "cpu_usage": -1,
  • "mem_usage": -1,
  • "failed_connections": 0,
  • "reboots": 0,
  • "temp": [
    ]
}

Get unit log.

Not all models have a detailed log. Those that don't will return the same log as the standard version. For models that do have detailed logs, they are usually an archive of various log files and such from the unit. The content type of the response will reflect the format of the archive or text.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
detailed
integer <int32>

A non-zero value specifies the detailed version, if possible. Otherwise the standard version is targeted.

Responses

Clear unit log.

Most of the models that support detailed logs can not clear them since they are internal logs and message buffers.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
detailed
integer <int32>

A non-zero value specifies the detailed version, if possible. Otherwise the standard version is targeted.

Responses

Endpoints

Path endpoints for all of the various MoIP endpoints available in the system.

Get audio RX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "status": {
    },
  • "associations": {
    },
  • "settings": {
    }
}

Update audio RX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A AudioRx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Perform actions on audio RX component.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A AudioRx Action request.

action
string
Enum: "volume_up" "volume_down"

Actions supported:

  • volume_up : Increase the volume level by one.
  • volume_down : Decrease the volume level by one.

Responses

Request samples

Content type
application/json
{
  • "action": "volume_up"
}

Get audio channel settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

channel
required
integer <int32>

Audio channel index. Numbered from 0 to 'supported_channel_count'-1 on the audio_rx.

Responses

Response samples

Content type
application/json
{
  • "kind": "unknown",
  • "type": "unknown",
  • "delay": 0,
  • "volume_offset": 0.1,
  • "test_enabled": true
}

Update audio channel settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

channel
required
integer <int32>

Audio channel index. Numbered from 0 to 'supported_channel_count'-1 on the audio_rx.

Request Body schema: application/json

An AudioChannel object update request.

delay
integer <int32>

Added channel delay in milliseconds.

volume_offset
number <float>

Channel volume offset in dBs of amplification.

test_enabled
boolean

Per channel test tone. Only supported if test tone is supported on the RX (see the /settings/test/supported field). The RX test volume setting also applies to the per channel tone (see the /settings/test/volume field).

Responses

Request samples

Content type
application/json
{
  • "delay": 0,
  • "volume_offset": 0.1,
  • "test_enabled": true
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get all biquads for audio channel.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

channel
required
integer <int32>

Audio channel index. Numbered from 0 to 'supported_channel_count'-1 on the audio_rx.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get biquad for audio channel.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

channel
required
integer <int32>

Audio channel index. Numbered from 0 to 'supported_channel_count'-1 on the audio_rx.

bq
required
integer <int32>

Audio channel biquad index. Numbered from 0 to 'supported_biquad_count'-1 on the audio_rx.

Responses

Response samples

Content type
application/json
{
  • "type": "allpass",
  • "freq": 0,
  • "q": 0.1,
  • "gain": 0.1
}

Update biquad for audio channel.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

channel
required
integer <int32>

Audio channel index. Numbered from 0 to 'supported_channel_count'-1 on the audio_rx.

bq
required
integer <int32>

Audio channel biquad index. Numbered from 0 to 'supported_biquad_count'-1 on the audio_rx.

Request Body schema: application/json

An AudioBiQuad object update request.

type
string (AudioBiQuadType)
Enum: "allpass" "notch" "peaking" "highshelf" "lowshelf" "bandpass" "highpass" "lowpass"
freq
integer <int32>

Operating frequency in hertz. Use varies based on filter type.

q
number <float>

Filter Q value. Use varies based on filter type.

gain
number <float>

Filter gain value. Use varies based on filter type.

Responses

Request samples

Content type
application/json
{
  • "type": "allpass",
  • "freq": 0,
  • "q": 0.1,
  • "gain": 0.1
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get biquad for main audio channels.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

bq
required
integer <int32>

Audio channel biquad index. Numbered from 0 to 'supported_biquad_count'-1 on the audio_rx.

Responses

Response samples

Content type
application/json
{
  • "type": "allpass",
  • "freq": 0,
  • "q": 0.1,
  • "gain": 0.1
}

Update biquad for main audio channels.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

bq
required
integer <int32>

Audio channel biquad index. Numbered from 0 to 'supported_biquad_count'-1 on the audio_rx.

Request Body schema: application/json

An AudioBiQuad object update request.

type
string (AudioBiQuadType)
Enum: "allpass" "notch" "peaking" "highshelf" "lowshelf" "bandpass" "highpass" "lowpass"
freq
integer <int32>

Operating frequency in hertz. Use varies based on filter type.

q
number <float>

Filter Q value. Use varies based on filter type.

gain
number <float>

Filter gain value. Use varies based on filter type.

Responses

Request samples

Content type
application/json
{
  • "type": "allpass",
  • "freq": 0,
  • "q": 0.1,
  • "gain": 0.1
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get biquad for sub audio channels.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

bq
required
integer <int32>

Audio channel biquad index. Numbered from 0 to 'supported_biquad_count'-1 on the audio_rx.

Responses

Response samples

Content type
application/json
{
  • "type": "allpass",
  • "freq": 0,
  • "q": 0.1,
  • "gain": 0.1
}

Update biquad for sub audio channels.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

bq
required
integer <int32>

Audio channel biquad index. Numbered from 0 to 'supported_biquad_count'-1 on the audio_rx.

Request Body schema: application/json

An AudioBiQuad object update request.

type
string (AudioBiQuadType)
Enum: "allpass" "notch" "peaking" "highshelf" "lowshelf" "bandpass" "highpass" "lowpass"
freq
integer <int32>

Operating frequency in hertz. Use varies based on filter type.

q
number <float>

Filter Q value. Use varies based on filter type.

gain
number <float>

Filter gain value. Use varies based on filter type.

Responses

Request samples

Content type
application/json
{
  • "type": "allpass",
  • "freq": 0,
  • "q": 0.1,
  • "gain": 0.1
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get audio TX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "status": {
    },
  • "associations": {
    },
  • "settings": {
    }
}

Update audio TX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A AudioTx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": { },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get video RX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "status": {
    },
  • "associations": {
    },
  • "settings": {
    }
}

Update video RX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A VideoRx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Perform actions on video RX component.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A Video Send request.

format
string
Enum: "hex_colon" "hex_space" "tv_on" "tv_off"

Format of the CEC transmission to send. hex_colon is hex encoded byte values separated with colons. hex_space is hex encoded byte values separated with spaces. tv_on and tv_off are canned transmissions and must have a null message value.

message
string or null

CEC transmission to send.

Responses

Request samples

Content type
application/json
{
  • "format": "hex_colon",
  • "message": "string"
}

Get video EDID data.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Response samples

Content type
application/json
{
  • "edid": "00ffffffffffff004c2def0f000e0001011d0103805f36780...",
  • "valid": true
}

Get video TX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "status": {
    },
  • "associations": {
    },
  • "settings": {
    }
}

Update video TX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A VideoTx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": { },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get preview image.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Get video EDID data.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Response samples

Content type
application/json
{
  • "edid": "00ffffffffffff004c2def0f000e0001011d0103805f36780...",
  • "valid": true
}

Get IR RX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "associations": {
    },
  • "status": {
    },
  • "settings": {
    }
}

Update IR RX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A IrRx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Perform actions on IR RX component.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

An Ir Send request.

format
string
Enum: "pronto" "global_cache"

Format of the IR transmission to send.

message
string

IR transmission to send.

Responses

Request samples

Content type
application/json
{
  • "format": "pronto",
  • "message": "string"
}

Get IR TX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "associations": {
    },
  • "status": {
    },
  • "settings": {
    }
}

Update IR TX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A IrTx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": { },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get USB RX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "associations": {
    },
  • "status": {
    },
  • "settings": {
    }
}

Update USB RX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A UsbRx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get USB TX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "associations": {
    },
  • "status": {
    },
  • "settings": {
    }
}

Update USB TX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A UsbTx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": { },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Get serial RX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "associations": {
    },
  • "status": {
    },
  • "settings": {
    }
}

Update serial RX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A SerialRx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Perform actions on serial component.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

An Serial Send request.

format
string (SerialFormatType)
Enum: "hex_space" "hex_packed" "hex_comma" "hex_colon" "raw"

How the message is encoded. packed has no separators. raw is as is; this may have issues with non-ascii values.

message
string

Responses

Request samples

Content type
application/json
{
  • "format": "hex_space",
  • "message": "string"
}

Get next serial message.

Fetch the next queued serial message received on the endpoint. Does not remove message from queue; issue a delete to pop the next serial message.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Response samples

Content type
application/json
{
  • "format": "hex_space",
  • "message": "string"
}

Clear next serial message.

Pop the next serial message. Ok to do on an empty queue.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Get serial TX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

query Parameters
supported
integer <int32>

A zero value removes 'supported' fields, any other value, or no parameter, leaves them in.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "string",
  • "associations": {
    },
  • "status": {
    },
  • "settings": {
    }
}

Update serial TX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A SerialTx object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Perform actions on serial component.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

An Serial Send request.

format
string (SerialFormatType)
Enum: "hex_space" "hex_packed" "hex_comma" "hex_colon" "raw"

How the message is encoded. packed has no separators. raw is as is; this may have issues with non-ascii values.

message
string

Responses

Request samples

Content type
application/json
{
  • "format": "hex_space",
  • "message": "string"
}

Get next serial message.

Fetch the next queued serial message received on the endpoint. Does not remove message from queue; issue a delete to pop next serial message.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Response samples

Content type
application/json
{
  • "format": "hex_space",
  • "message": "string"
}

Clear next serial message.

Pop the next serial message. Ok to do on an empty queue.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

/api/v1/moip/group_rx

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
query Parameters
index
integer <int32>

Lookup an entry by its index position value.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "associations": {
    },
  • "settings": {
    },
  • "status": {
    }
}

Get group RX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "associations": {
    },
  • "settings": {
    },
  • "status": {
    }
}

Update group RX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A GroupRx object update request.

object
object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    },
  • "status": { }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

/api/v1/moip/group_tx

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
query Parameters
index
integer <int32>

Lookup an entry by its index position value.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "associations": {
    },
  • "settings": {
    },
  • "status": {
    }
}

Get group TX status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "associations": {
    },
  • "settings": {
    },
  • "status": {
    }
}

Update group TX settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A GroupTx object update request.

object
object
object

Responses

Request samples

Content type
application/json
{
  • "associations": { },
  • "settings": {
    },
  • "status": { }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Video Walls

Path endpoints for video wall compositions.

Get all video walls.

Get a list of all video wall IDs in the system. Or if search parameters are given, possibly a single vidwall.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
query Parameters
index
integer <int32>

Lookup an entry by its index position value.

Responses

Response samples

Content type
application/json
Example
{
  • "items": [
    ]
}

Create a new video wall.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
Request Body schema: application/json

A VideoWall object create request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0
}

Get video wall status and settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "associations": {
    },
  • "status": {
    },
  • "settings": {
    }
}

Update video wall settings.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Request Body schema: application/json

A VideoWall object update request.

object
object

Responses

Request samples

Content type
application/json
{
  • "associations": {
    },
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "field": "string",
  • "message": "string"
}

Remove video wall from system.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
id
required
integer <int32> (Id)

Component ID

Responses

Multiview Layouts

Path endpoints for multiview layouts.

Get layout window information.

Get all of the window locations and sizes for a given multiview fixed layout.

Authorizations:
BearerAuthAltJwtAuthJwtUrlAuth
path Parameters
fixed_layout
required
string (MvLayoutType)
Enum: "full" "2x2" "3x3" "4x4" "side_by_side" "two_over_one" "large_over_three" "three_by_large" "center_in_six" "six_lr_large"

Multiview layouts.

Responses

Response samples

Content type
application/json
{
  • "fixed_layout": "full",
  • "name": "string",
  • "size": {
    },
  • "windows": [
    ]
}