API Tree - AES67 Devices
DHD control api - AES67 Modules (0.8.0)
Download OpenAPI specification:Download
E-mail: dhd@dhd.audio Terms of Service
This is the basic api tree for DHD AES67 Ravenna Interfaces with firmware 10.4 and newer.
Response samples
- 200
Content type
application/json
{- "audio": {
- "routing": {
- "inputs": {
- "0": {
- "_channels": 1,
- "_device": "Mic I/O 1",
- "_hasagain": true,
- "_hasp48": true,
- "_name": "Mic Front"
}
}, - "outputs": {
- "0": {
- "_channels": 2,
- "_device": "Headphone I/O 1",
- "_name": "HP1"
}
}, - "routes": {
- "0": "198"
}
}
}, - "control": {
- "gpis": {
- "0": {
- "_label": "GPI1",
- "_state": false,
- "channel": "1.2.3"
}
}, - "gpos": {
- "0": {
- "_label": "GPO1",
- "_state": true,
- "channel": "2.3.4"
}
}
}, - "general": {
- "_activewebsockets": 0,
- "_api_version": "1.0.0",
- "_firmware_version": "10.3.0.17",
- "_hardwareserial": "",
- "_hourmeter": 0,
- "_maxwebsockets": 5,
- "_systemtime": 0,
- "_uptime": 0,
- "_temperature": 60,
- "capabilities": {
- "_extendedfeature": true,
- "_limited16x16": false,
- "_maxrxstreams": 32,
- "_maxtxstreams": 32,
- "_rxload": 0,
- "_txload": 25
}, - "ptp": {
- "announce": 0,
- "delaymechanism": "E2E",
- "domain": 0,
- "fs": 48000,
- "ip_dscp": 56,
- "prio1": 127,
- "prio2": 127,
- "slaveonly": false,
- "state": {
- "_clockoffset": [
- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
], - "_clockstate": "FREERUN",
- "_clockstateid": 1,
- "_grandmasterid": "000a63fffe054faf",
- "_state": "Leader",
- "_state1": 1,
- "_state2": 1,
- "_syncmaster": "000a63fffe054faf"
}, - "syncinterval": -3
}
}, - "streams": {
- "_available": [
- [
- {
- "address": "234.100.0.1",
- "address2": "234.101.0.1",
- "channels": 8,
- "codec": "L24",
- "info": "text",
- "name": "xc3@Audio.SX2.KPYR",
- "samples-per-packet": 6
}
]
], - "_rx-errors": 0,
- "rx-streams": {
- "0": {
- "_id": "e6104bad-fa8d-464a-83dc-d7c3b60164f5",
- "_running": false,
- "_rxerrors": 0,
- "_status": 2,
- "_statustext": "No RTP data arriving",
- "channels": 2,
- "codec": "L24",
- "delay": 192,
- "enabled": true,
- "name": "mystream24",
- "sdp": "",
- "source": "PGM@Audio.SX2.test",
- "source2": "",
- "syntonized": true,
- "usesecondary": false
}
}, - "tx-streams": {
- "0": {
- "_id": "f7bef41a-dfcf-44cf-a4df-5a1044d474a7",
- "_rtsp-uri": "rtsp://10.5.27.168:554/by-name/2ch%20stero",
- "_running": false,
- "_sdp": "",
- "_status": 1,
- "_statustext": "",
- "address": "239.27.168.1",
- "address2": "239.1.126.33",
- "address2enable": true,
- "addressenable": true,
- "channels": 2,
- "codec": "L24",
- "dscp": 34,
- "enabled": false,
- "info": "",
- "name": "2ch stero",
- "payload": 96,
- "port": 5004,
- "samples-per-packet": 48,
- "sap": true,
- "ttl": 42
}
}
}
}
Response samples
- 200
Content type
application/json
{- "routing": {
- "inputs": {
- "0": {
- "_channels": 1,
- "_device": "Mic I/O 1",
- "_hasagain": true,
- "_hasp48": true,
- "_name": "Mic Front"
}
}, - "outputs": {
- "0": {
- "_channels": 2,
- "_device": "Headphone I/O 1",
- "_name": "HP1"
}
}, - "routes": {
- "0": "198"
}
}
}
Response samples
- 200
Content type
application/json
{- "_activewebsockets": 0,
- "_api_version": "1.0.0",
- "_firmware_version": "10.3.0.17",
- "_hardwareserial": "",
- "_hourmeter": 0,
- "_maxwebsockets": 5,
- "_systemtime": 0,
- "_uptime": 0,
- "_temperature": 60,
- "capabilities": {
- "_extendedfeature": true,
- "_limited16x16": false,
- "_maxrxstreams": 32,
- "_maxtxstreams": 32,
- "_rxload": 0,
- "_txload": 25
}, - "ptp": {
- "announce": 0,
- "delaymechanism": "E2E",
- "domain": 0,
- "fs": 48000,
- "ip_dscp": 56,
- "prio1": 127,
- "prio2": 127,
- "slaveonly": false,
- "state": {
- "_clockoffset": [
- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
], - "_clockstate": "FREERUN",
- "_clockstateid": 1,
- "_grandmasterid": "000a63fffe054faf",
- "_state": "Leader",
- "_state1": 1,
- "_state2": 1,
- "_syncmaster": "000a63fffe054faf"
}, - "syncinterval": -3
}
}
Response samples
- 200
Content type
application/json
{- "announce": 0,
- "delaymechanism": "E2E",
- "domain": 0,
- "fs": 48000,
- "ip_dscp": 56,
- "prio1": 127,
- "prio2": 127,
- "slaveonly": false,
- "state": {
- "_clockoffset": [
- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
], - "_clockstate": "FREERUN",
- "_clockstateid": 1,
- "_grandmasterid": "000a63fffe054faf",
- "_state": "Leader",
- "_state1": 1,
- "_state2": 1,
- "_syncmaster": "000a63fffe054faf"
}, - "syncinterval": -3
}
Response samples
- 200
Content type
application/json
{- "_clockoffset": [
- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
], - "_clockstate": "FREERUN",
- "_clockstateid": 1,
- "_grandmasterid": "000a63fffe054faf",
- "_state": "Leader",
- "_state1": 1,
- "_state2": 1,
- "_syncmaster": "000a63fffe054faf"
}
/general/ptp/state/_clockoffset
PTP clock offset / jitter (40 data points at 1/sec).
Authorizations:
token
Responses
Response samples
- 200
Content type
application/json
[- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
]
Response samples
- 200
Content type
application/json
{- "inputs": {
- "0": {
- "_channels": 1,
- "_device": "Mic I/O 1",
- "_hasagain": true,
- "_hasp48": true,
- "_name": "Mic Front"
}
}, - "outputs": {
- "0": {
- "_channels": 2,
- "_device": "Headphone I/O 1",
- "_name": "HP1"
}
}, - "routes": {
- "0": "198"
}
}
/audio/routing/inputs/{inputID}
Input/source details. The ID is working with offsets to keep a separation between source types.
Authorizations:
token
path Parameters
inputID required | any ID of input object to return |
Responses
Response samples
- 200
Content type
application/json
{- "_channels": 1,
- "_device": "Mic I/O 1",
- "_hasagain": true,
- "_hasp48": true,
- "_name": "Mic Front"
}
/audio/routing/routes
The list of active routes. It is a list of sinks (as keys), which have their individual sources (as values). Sources can be available multiple times.
Authorizations:
token
Responses
Response samples
- 200
Content type
application/json
{- "0": {
- "_channels": 2,
- "_device": "Headphone I/O 1",
- "_name": "HP1"
}
}
Response samples
- 200
Content type
application/json
{- "_activewebsockets": 0,
- "_api_version": "1.0.0",
- "_firmware_version": "10.3.0.17",
- "_hardwareserial": "",
- "_hourmeter": 0,
- "_maxwebsockets": 5,
- "_systemtime": 0,
- "_uptime": 0,
- "_temperature": 60,
- "capabilities": {
- "_extendedfeature": true,
- "_limited16x16": false,
- "_maxrxstreams": 32,
- "_maxtxstreams": 32,
- "_rxload": 0,
- "_txload": 25
}, - "ptp": {
- "announce": 0,
- "delaymechanism": "E2E",
- "domain": 0,
- "fs": 48000,
- "ip_dscp": 56,
- "prio1": 127,
- "prio2": 127,
- "slaveonly": false,
- "state": {
- "_clockoffset": [
- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
], - "_clockstate": "FREERUN",
- "_clockstateid": 1,
- "_grandmasterid": "000a63fffe054faf",
- "_state": "Leader",
- "_state1": 1,
- "_state2": 1,
- "_syncmaster": "000a63fffe054faf"
}, - "syncinterval": -3
}
}
Response samples
- 200
Content type
application/json
{- "announce": 0,
- "delaymechanism": "E2E",
- "domain": 0,
- "fs": 48000,
- "ip_dscp": 56,
- "prio1": 127,
- "prio2": 127,
- "slaveonly": false,
- "state": {
- "_clockoffset": [
- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
], - "_clockstate": "FREERUN",
- "_clockstateid": 1,
- "_grandmasterid": "000a63fffe054faf",
- "_state": "Leader",
- "_state1": 1,
- "_state2": 1,
- "_syncmaster": "000a63fffe054faf"
}, - "syncinterval": -3
}
Response samples
- 200
Content type
application/json
{- "_clockoffset": [
- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
], - "_clockstate": "FREERUN",
- "_clockstateid": 1,
- "_grandmasterid": "000a63fffe054faf",
- "_state": "Leader",
- "_state1": 1,
- "_state2": 1,
- "_syncmaster": "000a63fffe054faf"
}
/general/ptp/state/_clockoffset
PTP clock offset / jitter (40 data points at 1/sec).
Authorizations:
token
Responses
Response samples
- 200
Content type
application/json
[- [
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544,
- 30440993.544
]
]
Response samples
- 200
Content type
application/json
{- "_available": [
- [
- {
- "address": "234.100.0.1",
- "address2": "234.101.0.1",
- "channels": 8,
- "codec": "L24",
- "info": "text",
- "name": "xc3@Audio.SX2.KPYR",
- "samples-per-packet": 6
}
]
], - "_rx-errors": 0,
- "rx-streams": {
- "0": {
- "_id": "e6104bad-fa8d-464a-83dc-d7c3b60164f5",
- "_running": false,
- "_rxerrors": 0,
- "_status": 2,
- "_statustext": "No RTP data arriving",
- "channels": 2,
- "codec": "L24",
- "delay": 192,
- "enabled": true,
- "name": "mystream24",
- "sdp": "",
- "source": "PGM@Audio.SX2.test",
- "source2": "",
- "syntonized": true,
- "usesecondary": false
}
}, - "tx-streams": {
- "0": {
- "_id": "f7bef41a-dfcf-44cf-a4df-5a1044d474a7",
- "_rtsp-uri": "rtsp://10.5.27.168:554/by-name/2ch%20stero",
- "_running": false,
- "_sdp": "",
- "_status": 1,
- "_statustext": "",
- "address": "239.27.168.1",
- "address2": "239.1.126.33",
- "address2enable": true,
- "addressenable": true,
- "channels": 2,
- "codec": "L24",
- "dscp": 34,
- "enabled": false,
- "info": "",
- "name": "2ch stero",
- "payload": 96,
- "port": 5004,
- "samples-per-packet": 48,
- "sap": true,
- "ttl": 42
}
}
}
/streams/_available
A list of discovered streams. Contains JSON objects with address information, channels, codec, name, samples-per-packet and info.
Authorizations:
token
Responses
Response samples
- 200
Content type
application/json
[- [
- {
- "address": "234.100.0.1",
- "address2": "234.101.0.1",
- "channels": 8,
- "codec": "L24",
- "info": "text",
- "name": "xc3@Audio.SX2.KPYR",
- "samples-per-packet": 6
}
]
]
Response samples
- 200
Content type
application/json
{- "0": {
- "_id": "e6104bad-fa8d-464a-83dc-d7c3b60164f5",
- "_running": false,
- "_rxerrors": 0,
- "_status": 2,
- "_statustext": "No RTP data arriving",
- "channels": 2,
- "codec": "L24",
- "delay": 192,
- "enabled": true,
- "name": "mystream24",
- "sdp": "",
- "source": "PGM@Audio.SX2.test",
- "source2": "",
- "syntonized": true,
- "usesecondary": false
}
}
/streams/rx-streams/{streamID}
A specific RX stream.
Authorizations:
token
path Parameters
streamID required | any ID of stream object to return |
Responses
Response samples
- 200
Content type
application/json
{- "_id": "e6104bad-fa8d-464a-83dc-d7c3b60164f5",
- "_running": false,
- "_rxerrors": 0,
- "_status": 2,
- "_statustext": "No RTP data arriving",
- "channels": 2,
- "codec": "L24",
- "delay": 192,
- "enabled": true,
- "name": "mystream24",
- "sdp": "",
- "source": "PGM@Audio.SX2.test",
- "source2": "",
- "syntonized": true,
- "usesecondary": false
}
Response samples
- 200
Content type
application/json
{- "0": {
- "_id": "f7bef41a-dfcf-44cf-a4df-5a1044d474a7",
- "_rtsp-uri": "rtsp://10.5.27.168:554/by-name/2ch%20stero",
- "_running": false,
- "_sdp": "",
- "_status": 1,
- "_statustext": "",
- "address": "239.27.168.1",
- "address2": "239.1.126.33",
- "address2enable": true,
- "addressenable": true,
- "channels": 2,
- "codec": "L24",
- "dscp": 34,
- "enabled": false,
- "info": "",
- "name": "2ch stero",
- "payload": 96,
- "port": 5004,
- "samples-per-packet": 48,
- "sap": true,
- "ttl": 42
}
}
/streams/tx-streams/{streamID}
A specific TX stream.
Authorizations:
token
path Parameters
streamID required | any ID of stream object to return |
Responses
Response samples
- 200
Content type
application/json
{- "_id": "f7bef41a-dfcf-44cf-a4df-5a1044d474a7",
- "_rtsp-uri": "rtsp://10.5.27.168:554/by-name/2ch%20stero",
- "_running": false,
- "_sdp": "",
- "_status": 1,
- "_statustext": "",
- "address": "239.27.168.1",
- "address2": "239.1.126.33",
- "address2enable": true,
- "addressenable": true,
- "channels": 2,
- "codec": "L24",
- "dscp": 34,
- "enabled": false,
- "info": "",
- "name": "2ch stero",
- "payload": 96,
- "port": 5004,
- "samples-per-packet": 48,
- "sap": true,
- "ttl": 42
}