AXIS Audio Manager Pro API
The VAPIX® AXIS Audio Manager Pro API can be used together with the AXIS Audio Manager Pro software to manage larger and more advanced audio installations. Supported features include central control, zone management, scheduling, system health monitoring and real time configuration. Using this API makes it possible to make programmatic interactions with an existing Audio Manager Pro installation, including:
- Start/Stop the playback of an audio file.
- Silence either the whole or parts of a site.
Access to the API is enabled in the System settings in the Audio Manager Pro interface. Clients are then able to authenticate using the Digest Authentication method and the username and password specified in the System settings.
Further information on how to use the API is available in the document How To AXIS Audio Manager Pro API, available from AXIS Audio Manager Pro.
Overview
The API is divided into the following sections containing their own operations and methods:
- Audio sessions — Plays a live or pre-recorded announcement to either the entire or parts of a site. The session contains a list of designated targets and a priority setting. An audio session can be used one time or saved for future use.
- Targets — Endpoints used to interact with available targets such as physical zones and destinations. Targets can be enabled/disabled or be used to define where audio sessions should be played.
- Audio files — Announcements or music available on the AXIS Audio Manager Pro server. These endpoints can be used to retrieve and list information about them.
- Volume controllers — Offsets the volume of content classes in whole or parts of the audio site. The volume controllers are typically created during installation and setup, where the endpoints are used to interact with already created volume controllers.
- Visual profiles — Configures the display and light behavior of compatible Axis devices. These endpoints can be used to retrieve the profiles that define text messages, colors, patterns and synchronization for visual alerts and information.
- Server info — Returns basic information about the AXIS Audio Manager Pro server.
- Paging configs — Provides SIP paging configuration details, including the information needed to call a SIP extension for one-way or two-way communication.
Authentication
Only Digest authentication over HTTPS is supported for AXIS Audio Manager Pro API.
Audio sessions
List audio sessions
Use this method to retrieve a list of available audio sessions.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions"
GET /api/v1.2/audioSessions
Host: <servername>
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
[
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"holdup": 200,
"type": "HTTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codecs": [
{
"audioProfile": "g711aMono8kHz",
"payloadType": 127
}
],
"multicastGroup": "string",
"port": 0,
"type": "RTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"extension": "3256",
"type": "SIP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"holdup": 200,
"type": "WS"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
| HTTP | The HTTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codecs=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | MP3 | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | HTTP | HTTP | The audio session type. |
| RTP | The RTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codecs=<object> | The codecs for a specified session. | ||
audioProfile=<string> | g711aMono8kHz | g711aMono8kHz g711uMono8kHz g722Mono16kHz l16Stereo48kHz l16Mono48kHz l16Stereo44kHz l16Mono44kHz l16Stereo32kHz l16Mono32kHz l16Stereo16kHz l16Mono16kHz mp2Stereo48kHz opusStereo48kHz opusMono48kHz | The audio profile. |
payloadType=<integer> | The payload type. Only used by codecs with dynamic payload types. | ||
multicastGroup=<string> | IPv4 and IPv6 address of a multicast group. Should be specified when the RTP stream is transmitted via multicast instead of unicast. | ||
port=<integer> | The RTP IP port. If a port is not included, the server will assign one and return it to the client. If a port is specified and occupied on the server, or doesn't meet the configured range, an error will be returned. | ||
type=<string> | RTP | RTP | The type of the audio session. |
| SIP | The SIP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
extension=<string> | 3256 | The dialing extension. When a user dials this number, the audio session will be used. | |
type=<string> | SIP | SIP | The audio session type. |
| WS | The WebSocket audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | MP3 | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | WS | WS | The audio session type. |
Error responses
Create an audio session
Use this method to create a new audio session. Available types are HTTP, RTP, SIP and WS.
Request
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/audioSessions" \
--data '[
{
"customId": "my-app-session-12345",
"customText": "string",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"holdup": 200,
"type": "HTTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codecs": [
{
"audioProfile": "g711aMono8kHz",
"payloadType": 127
}
],
"multicastGroup": "string",
"port": 0,
"type": "RTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"extension": "3256",
"type": "SIP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"holdup": 200,
"type": "WS"
}
]'
POST /api/v1.2/audioSessions
Host: <servername>
Content-Type: application/json
[
{
"customId": "my-app-session-12345",
"customText": "string",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"holdup": 200,
"type": "HTTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codecs": [
{
"audioProfile": "g711aMono8kHz",
"payloadType": 127
}
],
"multicastGroup": "string",
"port": 0,
"type": "RTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"extension": "3256",
"type": "SIP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"holdup": 200,
"type": "WS"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
| HTTP | The HTTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codecs=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | MP3 | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | HTTP | HTTP | The audio session type. |
| RTP | The RTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codecs=<object> | The codecs for a specified session. | ||
audioProfile=<string> | g711aMono8kHz | g711aMono8kHz g711uMono8kHz g722Mono16kHz l16Stereo48kHz l16Mono48kHz l16Stereo44kHz l16Mono44kHz l16Stereo32kHz l16Mono32kHz l16Stereo16kHz l16Mono16kHz mp2Stereo48kHz opusStereo48kHz opusMono48kHz | The audio profile. |
payloadType=<integer> | The payload type. Only used by codecs with dynamic payload types. | ||
multicastGroup=<string> | IPv4 and IPv6 address of a multicast group. Should be specified when the RTP stream is transmitted via multicast instead of unicast. | ||
port=<integer> | The RTP IP port. If a port is not included, the server will assign one and return it to the client. If a port is specified and occupied on the server, or doesn't meet the configured range, an error will be returned. | ||
type=<string> | RTP | RTP | The type of the audio session. |
| SIP | The SIP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
extension=<string> | 3256 | The dialing extension. When a user dials this number, the audio session will be used. | |
type=<string> | SIP | SIP | The audio session type. |
| WS | The WebSocket audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | MP3 | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | WS | WS | The audio session type. |
Successful response
- HTTP Code: 200 Audio session created
- Content-Type:
application/json
Response body example
[
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"holdup": 200,
"type": "HTTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codecs": [
{
"audioProfile": "g711aMono8kHz",
"payloadType": 127
}
],
"multicastGroup": "string",
"port": 0,
"type": "RTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"extension": "3256",
"type": "SIP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"holdup": 200,
"type": "WS"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
| HTTP | The HTTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | MP3 | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | HTTP | HTTP | The audio session type. |
| RTP | The RTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codecs=<object> | The codecs for a specified session. | ||
audioProfile=<string> | g711aMono8kHz | g711aMono8kHz g711uMono8kHz g722Mono16kHz l16Stereo48kHz l16Mono48kHz l16Stereo44kHz l16Mono44kHz l16Stereo32kHz l16Mono32kHz l16Stereo16kHz l16Mono16kHz mp2Stereo48kHz opusStereo48kHz opusMono48kHz | The audio profile. |
payloadType=<integer> | The payload type. Only used by codecs with dynamic payload types. | ||
multicastGroup=<string> | IPv4 and IPv6 address of a multicast group. Should be specified when the RTP stream is transmitted via multicast instead of unicast. | ||
port=<integer> | The RTP IP port. If a port is not included, the server will assign one and return it to the client. If a port is specified and occupied on the server, or doesn't meet the configured range, an error will be returned. | ||
type=<string> | RTP | RTP | The type of the audio session. |
| SIP | The SIP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "LOW" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
extension=<string> | 3256 | The dialing extension. When a user dials this number, the audio session will be used. | |
type=<string> | SIP | SIP | The audio session type. |
| WS | The WebSocket audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | PCM | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | WS | WS | The audio session type. |
Error responses
Delete an audio session
Use this method to delete an existing audio session identified with the customId. Deleting the audio session will cancel any ongoing audio playback defined by the session.
Request
- curl
- HTTP
curl --request DELETE \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/custom/{customId}"
DELETE /api/v1.2/audioSessions/custom/{customId}
Host: <servername>
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
customId=<string> Optional | The custom ID of the audio session. Must match the customIdspecified when the session was created. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Start playback of audio files in an audio session
Use this method to trigger playback of an array of audio files from the content library of a site to an audio session. If called when an audio files is played in the audio session, the current playback will be replaced.
Request
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/custom/{customId}/playAudioFiles"
POST /api/v1.2/audioSessions/custom/{customId}/playAudioFiles
Host: <servername>
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
customId=<string> Optional | The custom ID of the audio session. Must match the customIdspecified when the session was created. |
{
"customText": "Emergency: Evacuate Building Now",
"fileIds": ["12", "15"],
"repeat": 1,
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0
}
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
customText=<string> Optional | Emergency: Evacuate Building Now | A text message displayed on a visual output device, which will override the text property defined in the associated visual profile. If this field is omitted, the text from the visual profile will be used. | |
fileIds=<array> | 12 | 12, 15 | An audio file ID that will be played in a sequence. Files will be played in the order specified in the array, where each file start immediately after the previous one ends. |
repeat=<integer> | 5 | 1, 5 | Indicates the number of times the audio files will be played. A number lower or equal to zero indicates an infinite number of repetitions. It can be stopped by calling stopAudioFiles or by deleting the audioSession. |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | Controls which visual profile that should be used with the playback. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Stop audio files with a customId
Use this method to stop a playback of audio files in an audio session by using a customId.
Request
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/custom/{customId}/stopAudioFiles"
POST /api/v1.2/audioSessions/custom/{customId}/stopAudioFiles
Host: <servername>
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
customId=<string> Optional | The custom ID of the audio session. Must match the customIdspecified when the session was created. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Play one shot audio files
Use this method to create a temporary audio session and trigger playback for an array of audio files. The audio session is deleted after playback, but can be also be stopped by deleting the audio session returned by the request.
Request
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/audioSessions/oneshotPlayAudioFiles" \
--data '{
"customId": "my-app-session-12345",
"customText": "Emergency: Evacuate Building Now",
"fileIds": [
"12",
"15"
],
"prio": "LOW",
"repeat": 1,
"targets": [
"zon_1256",
"dev_101"
],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0
}'
POST /api/v1.2/audioSessions/oneshotPlayAudioFiles
Host: <servername>
Content-Type: application/json
{
"customId": "my-app-session-12345",
"customText": "Emergency: Evacuate Building Now",
"fileIds": [
"12",
"15"
],
"prio": "LOW",
"repeat": 1,
"targets": [
"zon_1256",
"dev_101"
],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0
}
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | "Emergency: Evacuate Building Now" | A custom text that will override the default text from the visual profile. If this field is omitted, the text from the visual profile will be used. | |
fileIds=<array> | 12 | 12, 15 | An audio file ID that will be played in a sequence. Files will be played in the order specified in the array, where each file start immediately after the previous one ends. |
prio=<string> | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
repeat=<integer> | 5 | 1, 5 | Indicates the number of times the audio files will be played. A number lower or equal to zero indicates an infinite number of repetitions. It can be stopped by calling stopAudioFiles or by deleting the audioSession. |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | Controls which visual profile that should be used with the playback. |
Successful response
- HTTP Code: 200 Audio session created
- Content-Type:
application/json
Response body example
[
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"holdup": 200,
"type": "HTTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codecs": [
{
"audioProfile": "g711aMono8kHz",
"payloadType": 127
}
],
"multicastGroup": "string",
"port": 0,
"type": "RTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"extension": "3256",
"type": "SIP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"holdup": 200,
"type": "WS"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
| HTTP | The HTTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | MP3 | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | HTTP | HTTP | The audio session type. |
| RTP | The RTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codecs=<object> | The codecs for a specified session. | ||
audioProfile=<string> | g711aMono8kHz | g711aMono8kHz g711uMono8kHz g722Mono16kHz l16Stereo48kHz l16Mono48kHz l16Stereo44kHz l16Mono44kHz l16Stereo32kHz l16Mono32kHz l16Stereo16kHz l16Mono16kHz mp2Stereo48kHz opusStereo48kHz opusMono48kHz | The audio profile. |
payloadType=<integer> | The payload type. Only used by codecs with dynamic payload types. | ||
multicastGroup=<string> | IPv4 and IPv6 address of a multicast group. Should be specified when the RTP stream is transmitted via multicast instead of unicast. | ||
port=<integer> | The RTP IP port. If a port is not included, the server will assign one and return it to the client. If a port is specified and occupied on the server, or doesn't meet the configured range, an error will be returned. | ||
type=<string> | RTP | RTP | The type of the audio session. |
| SIP | The SIP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "LOW" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
extension=<string> | 3256 | The dialing extension. When a user dials this number, the audio session will be used. | |
type=<string> | SIP | SIP | The audio session type. |
| WS | The WebSocket audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | PCM | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | WS | WS | The audio session type. |
Error responses
Delete a specific audio session
Use this method to delete an existing audio session identified with the session id. Deleting the audio session will also cancel any ongoing audio playback defined by the session.
Request
- curl
- HTTP
curl --request DELETE \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/<audio session id>"
DELETE /api/v1.2/audioSessions/<audio session id>
Host: <servername>
| Parameter | Description |
|---|---|
audioSessionId=<string> | The ID of the audio session. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Retrieve a specific audio session
Use this method to retrieve an existing audio session.
Request
- Method:
GET - Content-Type:
application/json
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/<audioSessionId>"
GET /api/v1.2/audioSessions/<audioSessionId>
Host: <servername>
| Parameter | Description |
|---|---|
audioSessionId=<string> | The ID of the audio session. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
[
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"holdup": 200,
"type": "HTTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codecs": [
{
"audioProfile": "g711aMono8kHz",
"payloadType": 127
}
],
"multicastGroup": "string",
"port": 0,
"type": "RTP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"extension": "3256",
"type": "SIP"
},
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"holdup": 200,
"type": "WS"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
| HTTP | The HTTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | MP3 | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | HTTP | HTTP | The audio session type. |
| RTP | The RTP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codecs=<object> | The codecs for a specified session. | ||
audioProfile=<string> | g711aMono8kHz | g711aMono8kHz g711uMono8kHz g722Mono16kHz l16Stereo48kHz l16Mono48kHz l16Stereo44kHz l16Mono44kHz l16Stereo32kHz l16Mono32kHz l16Stereo16kHz l16Mono16kHz mp2Stereo48kHz opusStereo48kHz opusMono48kHz | The audio profile. |
payloadType=<integer> | The payload type. Only used by codecs with dynamic payload types. | ||
multicastGroup=<string> | IPv4 and IPv6 address of a multicast group. Should be specified when the RTP stream is transmitted via multicast instead of unicast. | ||
port=<integer> | The RTP IP port. If a port is not included, the server will assign one and return it to the client. If a port is specified and occupied on the server, or doesn't meet the configured range, an error will be returned. | ||
type=<string> | RTP | RTP | The type of the audio session. |
| SIP | The SIP audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "LOW" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
extension=<string> | 3256 | The dialing extension. When a user dials this number, the audio session will be used. | |
type=<string> | SIP | SIP | The audio session type. |
| WS | The WebSocket audio session object. | ||
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codecs for a specified session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | PCM | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
duplexDevice=<object> | A device used for two-way audio communication. Audio input from the device's source will be sent back to the session. If the device has multiple inputs, sourceId can be specified or omitted. Omitting the property will disable audio input for the session. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | WS | WS | The audio session type. |
Error responses
Update an audio session
Use this method to update the targets and/or priority of an existing audio session.
Request
- curl
- HTTP
curl --request PATCH \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/audioSessions/{audioSessionId}"
PATCH /api/v1.2/audioSessions/{audioSessionId}
Host: <servername>
Content-Type: application/json
| Parameter | Description |
|---|---|
audioSessionId=<string> | The ID of the audio session. |
{
"prio": "LOW",
"targets": ["string"]
}
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
prio=<string> | "LOW" | "HIGH" "MEDIUM" "LOW" (default value) | The priority level for the audio session. |
targets=<array> | <string> | The list of target identifiers (zones or devices). |
Successful response
- HTTP Code: 200 Audio session updated
- Content-Type:
application/json
{
"customId": "my-app-session-12345",
"customText": "string",
"id": "156",
"prio": "LOW",
"targets": ["zon_1256", "dev_101"],
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0,
"codec": {
"bitrate": 192000,
"channelLayout": "MONO",
"codec": "PCM",
"sampleFormat": "S8",
"sampleRate": 16000
},
"holdup": 200,
"type": "HTTP"
}
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
customId=<string> Optional | "my-app-session-12345" | Client-provided identifier used to reference a specified session. | |
customText=<string> Optional | A custom text that will override the default text from the visual profile. | ||
id=<string> | 156 | A unique audio session ID. | |
prio=<string> Optional | "HIGH" | "HIGH" "MEDIUM" "LOW" (default value) | The priority parameter indicates the relative priority of an audio session compared to other playing audio. Sessions with a higher priority will automatically silence audio sessions with a lower priority in the same targets. The first audio session will have higher priority if multiple API audio sessions with the same priority and to the same targets are simultaneously active. The audio session priority levels (high, medium, low) correspond to the paging priority groups in the web interface in Scheduling & Destinations > Content Priorities > Paging. New audio sessions will be placed at the lowest priority in the priority group. |
targets=<array> | [ "zon_1256", "dev_101" ] | The target IDs where audio will be played. Audio will play on all specified targets and cascade to their children and descendants in the zone hierarchy. | |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | The visual profile ID. | ||
codec=<object> | The codec for the audio session. | ||
bitrate=<integer> | 192000 | The maximum bitrate of the audio session, measured in bits per second. Required for codecs PCM, OPUS, MP2 and MP3. | |
channelLayout=string | MONO | MONO STEREO | The channel layout for the audio session. |
codec=<string> | MP3 | PCM G711_ULAW G711_ALAW G722 G723 G726 G728 G729 GSM MP2 MP3 AAC OPUS VORBIS FLAC WMA | The codec used for the audio session. |
sampleFormat=<string> | S8 | S8 S16 S24 S32 FLOAT DOUBLE | The sample format of the audio session. |
sampleRate=<integer> | 16000 | The PCM sample rate of the audio session, measured in Hz. | |
holdup=<integer> Optional | 200 (default value) | The audio buffering delay, measured in milliseconds. Controls the tradeoff between reliability and latency. This means that higher values (larger buffer) will ensure stable delivery across unreliable networks, but increase end-to-end delay, while lower values will reduce latency, but cause audio dropouts on unstable connections. Typical range is between 100-400 ms. | |
type=<string> | HTTP | HTTP | The audio session type. |
Error responses
Play audio files
Use this method to trigger a playback for an array of audio files from the content library. Files listed in the audio session will be played in succession. The current playback will be replaced if this method is used while an audio file is played in the audio session.
Request
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/audioSessions/<audioSessionId>/playAudioFiles" \
--data '{
"customText": "Emergency: Evacuate Building Now",
"fileIds": [
"12",
"15"
],
"repeat": 1,
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0
}'
POST /api/v1.2/audioSessions/<audioSessionId>/playAudioFiles
Host: <servername>
Content-Type: application/json
{
"customText": "Emergency: Evacuate Building Now",
"fileIds": [
"12",
"15"
],
"repeat": 1,
"visualProfileEnabled": "DEFAULT",
"visualProfileId": 0
}
| Parameter | Description |
|---|---|
audioSessionId=<string> | The ID of the HTTP audio session. |
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
customText=<string> Optional | "Emergency: Evacuate Building Now" | Text message displayed on visual output devices which will override the text property defined within the associated visual profile. If this field is omitted, the text from the visual profile will be used instead. | |
fileIds=<array> | [ "12", "15" ] | The IDs of the audio files that will be played in a sequence. The files will play in the order specified in the array, with each file starting immediately after the previous one is finished. | |
repeat=<integer> | 5 | 1 (default value) | Indicates the number of times the audio files will be played. A number lower or equal zero indicates an infinite number of repetitions that can be stopped by a stopAudioFiles call or by deleting the audio session. |
visualProfileEnabled=<string> Optional | DEFAULT | DEFAULT, FALSE, TRUE | TRUE when the visual profile supplied in visualProfileId is used. DEFAULT when default visual profile from the site is used. FALSE when no visuals are used. |
visualProfileId=<integer> Optional | Controls which visual profile that should be used with the playback. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Check audio session status
Use this method to check the status of an existing audio session, including playback and availability of devices in the sessions.
This method was introduced in API version 1.1 and can not be used by devices with API version 1.0.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/<audioSessionId>/status"
GET /api/v1.2/audioSessions/<audioSessionId>/status
Host: <servername>
| Parameter | Description |
|---|---|
audioSessionId | The ID of the audio session. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
{
"availableDevices": ["dev_1256", "dev_11"],
"id": "156",
"playbackStarted": "2023-01-12 12:53:32+0100",
"prio": "HIGH",
"status": "notPlaying",
"type": "HTTP",
"unavailableDevices": ["dev_136", "dev_31"]
}
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
availableDevices=<string> | [ "dev_1256", "dev_11" ] | A list of devices that are currently available to receive audio in this session. | |
id=<string> | 156 | A unique audio session ID. | |
playbackStarted=<string> | 2023-01-12 12:53:32+0100 | The time when the audioSession started. | |
prio=<string> | "HIGH" | The priority of the audioSession. | |
status=<string> | notPlaying playing | The status of the audioSession. | |
type=<string> | "HTTP", "SIP", "RTP", "WS" | The type of the audioSession. | |
unavailableDevices=<string> | [ "dev_136", "dev_31" ] | A list of devices that are currently unavailable for this session, because a higher-priority audio session is active on the same targets. |
Error responses
Stop audio files
Use this method to stop the audio files playback in the audio session.
Request
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/audioSessions/<audioSessionId>/stopAudioFiles"
POST /api/v1.2/audioSessions/<audioSessionId>/stopAudioFiles
Host: <servername>
Content-Type: application/json
| Parameter | Description |
|---|---|
audioSessionId=<string> | The ID of the HTTP audio session. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Establish WebSocket connection to receive audio data
Use this method to establish a WebSocket connection to receive audio data from a specific audio session. Audio will only be transmitted over this connection if a duplex device is configured within the audio session. The audio stream will be sent in binary format.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/{audioSessionId}/ws/recv"
GET /api/v1.2/audioSessions/{audioSessionId}/ws/recv
Host: <servername>
| Parameter | Description |
|---|---|
audioSessionId=<string> | The ID of the WebSocket audio session. |
Error responses
Establish WebSocket connection to send audio data
Use this method to establish a WebSocket connection to send audio data to a specific audio session. The audio stream must be sent in binary format.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/{audioSessionId}/ws/send"
GET /api/v1.2/audioSessions/{audioSessionId}/ws/send
Host: <servername>
| Parameter | Description |
|---|---|
audioSessionId=<string> | The ID of the WebSocket audio session. |
Error responses
Establish a bidirectional WebSocket connection to send audio data
Use this method to establish a bidirectional WebSocket connection to send and receive audio data in a binary format.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioSessions/{audioSessionId}/ws/sendrecv"
GET /api/v1.2/audioSessions/{audioSessionId}/ws/sendrecv
Host: <servername>
| Parameter | Description |
|---|---|
audioSessionId=<string> | The ID of the WebSocket audio session. |
Error responses
Targets
List targets
Use this method to list all available targets, including physical zones and destinations. Targets can be enabled/disabled or be used to define where the audio session should be played.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/targets"
GET /api/v1.2/targets
Host: <servername>
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
[
{
"children": ["zon_1256", "dev_101"],
"enabled": true,
"id": "zon_1255",
"issues": {
"major": ["MULTICAST_ERROR"],
"minor": ["MULTICAST_ERROR"]
},
"lowestPriorityAvailable": "LOW",
"niceName": "First floor",
"sources": [
{
"enabled": true,
"id": "dev_src_15",
"name": "Line-In"
}
],
"status": "online",
"type": "physicalZone"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
children=<string> | zon_1256, dev_101 | A list of IDs for child targets (zones or devices) that are directly subordinate to the target in the hierarchical zone structure. This array will always be empty for devices, as they are considered leaf nodes in the hierarchy. When audio is played to a target, it automatically propagates to all its children and their descendants and ensures that the audio covers the entire designated area. | |
enabled=<boolean> | true false | Indicates if a target should play audio. All mapped sources will be stopped for a destination, but other audio can still play in the destination’s targets. | |
id=<string> | zon_1255 | A unique target ID. | |
issues=<object> | Lists of problems that have occurred on this device. Includes both major and minor issues. This parameter is only applicable for targets of the device type. | ||
major=<array> | 0=MULTICAST_ERROR | 0=MULTICAST_ERROR, 1=OUTPUT_GAIN_LOW, 2=UNSUPPORTED_HOST_FW, 3=UNSUPPORTED_DEV_TYPE, 4=UNSUPPORTED_TRANSPORT | List of major issues that have occurred on the device. |
minor=<array> | 0=MULTICAST_ERROR | 0=MULTICAST_ERROR, 1=OUTPUT_GAIN_LOW, 2=UNSUPPORTED_HOST_FW, 3=UNSUPPORTED_DEV_TYPE, 4=UNSUPPORTED_TRANSPORT | List of minor issues that have occurred on the device. |
lowestPriorityAvailable=<string> | 0=LOW | 0=LOW, 1=MEDIUM, 2=HIGH, 3=NONE | The lowest priority for which this target is currently available. NONE if it is unavailable, even for HIGH priority playbacks. |
niceName=<string> | First floor | The target nice name. | |
sources=<array> | enabled | enabled=<boolean>: true, if the device's input is enabled, id=<string>: unique device source ID, name=<string>: name of the device source ID, for example "Line-In" | The device list for sources available on a device such as Line-in. This part is only applicable for targets of the device type. |
status=<string> | unmanaged | unmanaged online offline playing error: NO_LICENCE error: FACTORY_DEFAULTS error: UNAUTHORIZED error: UNSUPPORTED_HOST_FW error: UNSUPPORTED_TRANSPORT | The current operational status of the target. This attribute is only available on end devices and not for higher-level zones, destinations or sites. |
type=<string> | physicalZone | physicalZone site device destination outputStream | The target type. |
Error responses
Retrieve a specific target
Use this method to retrieve a specific target identified by their ID.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/targets/<target id>"
GET /api/v1.2/targets/<target id>
Host: <servername>
| Parameter | Description |
|---|---|
<target id> | A unique target ID. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
{
"children": ["zon_1256", "dev_101"],
"enabled": true,
"id": "zon_1255",
"issues": {
"major": ["MULTICAST_ERROR"],
"minor": ["MULTICAST_ERROR"]
},
"lowestPriorityAvailable": "LOW",
"niceName": "First floor",
"sources": [
{
"enabled": true,
"id": "dev_src_15",
"name": "Line-In"
}
],
"status": "online",
"type": "physicalZone"
}
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
children=<string> | zon_1256, dev_101 | A list of IDs for child targets (zones or devices) that are directly subordinate to the target in the hierarchical zone structure. This array will always be empty for devices, as they are considered leaf nodes in the hierarchy. When audio is played to a target, it automatically propagates to all its children and their descendants and ensures that the audio covers the entire designated area. | |
enabled=<boolean> | true false | Indicates if a target should play audio. All mapped sources will be stopped for a destination, but other audio can still play in the destination’s targets. | |
id=<string> | zon_1255 | A unique target ID. | |
issues=<object> | Lists of problems that have occurred on this device. Includes both major and minor issues. This parameter is only applicable for targets of the device type. | ||
major=<array> | 0=MULTICAST_ERROR | 0=MULTICAST_ERROR, 1=OUTPUT_GAIN_LOW, 2=UNSUPPORTED_HOST_FW, 3=UNSUPPORTED_DEV_TYPE, 4=UNSUPPORTED_TRANSPORT | List of major issues that have occurred on the device. |
minor=<array> | 0=MULTICAST_ERROR | 0=MULTICAST_ERROR, 1=OUTPUT_GAIN_LOW, 2=UNSUPPORTED_HOST_FW, 3=UNSUPPORTED_DEV_TYPE, 4=UNSUPPORTED_TRANSPORT | List of minor issues that have occurred on the device. |
lowestPriorityAvailable=<string> | 0=LOW | 0=LOW, 1=MEDIUM, 2=HIGH, 3=NONE | The lowest priority for which this target is currently available. NONE if it is unavailable, even for HIGH priority playbacks. |
niceName=<string> | First floor | The target nice name. | |
sources=<array> | enabled | enabled=<boolean>: true, if the device's input is enabled, id=<string>: unique device source ID, name=<string>: name of the device source ID, for example "Line-In" | The device list for sources available on a device such as Line-in. This part is only applicable for targets of the device type. |
status=<string> | unmanaged | unmanaged online offline playing error: NO_LICENCE error: FACTORY_DEFAULTS error: UNAUTHORIZED error: UNSUPPORTED_HOST_FW error: UNSUPPORTED_TRANSPORT | The current operational status of the target. This attribute is only available on end devices and not for higher-level zones, destinations or sites. |
type=<string> | physicalZone | physicalZone site device destination outputStream | The target type. |
Error responses
Update a specific target
Use this method to enable or disable a specific target. When a target is disabled, all audio routed to that target will be silenced. For destinations, using disable will stop all mapped sources, while audio in the destination's target can continue playing other content.
Request
- curl
- HTTP
curl --request PATCH \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/targets/<targetId>" \
--data '{
"enabled": true
}'
PATCH /api/v1.2/targets/<targetId>
Host: <servername>
Content-Type: application/json
{
"enabled": true
}
| Parameter | Description |
|---|---|
targetId=<string> | A unique target ID. |
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
enabled=<boolean> | true | true false | Indicates if the target should play audio. All mapped sources will be stopped for a destination, but other audio clips can still be played in the destination’s target. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Audio files
List audio files
Use this method to list all audio files available on the server. These files are found in the announcement and music library.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioFiles"
GET /api/v1.2/audioFiles
Host: <servername>
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
[
{
"id": 156,
"length": 35.613,
"library": "Announcement",
"name": "Closing announcement.mp3",
"path": "/Closing/",
"type": "FILE"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
id=<string> | 156 | A unique audio file ID. | |
length=<number> | 35.613 | The length of the audio file (in seconds). | |
library=<string> | Announcement | The library containing the audio file. | |
name=<string> | Closing announcement.mp3 | A file name or nicename of the audio file. | |
path=<string> Optional | /Closing/ | Folder information of the audio file. | |
type=<string> | FILE | FILE PLAYLIST | Info used to distinguish the file/playlist. |
Error responses
Retrieve a specific audio file
Use this method to retrieve the metadata for a specific audio file available on the server, identified by an ID.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/audioFiles/<audio file id>"
GET /api/v1.2/audioFiles/<audio file id>
Host: <servername>
| Parameter | Description |
|---|---|
<audio file id>=<string> | The ID of the audio file that will be retrieved. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
[
{
"id": 156,
"length": 35.613,
"library": "Announcement",
"name": "Closing announcement.mp3",
"path": "/Closing/",
"type": "FILE"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
id=<string> | 156 | A unique audio file ID. | |
length=<number> | 35.613 | The length of the audio file (in seconds). | |
library=<string> | Announcement | The library containing the audio file. | |
name=<string> | Closing announcement.mp3 | A file name or nicename of the audio file. | |
path=<string> Optional | /Closing/ | Folder information of the audio file. | |
type=<string> | FILE | FILE PLAYLIST | Info used to distinguish the file/playlist. |
Error responses
Volume controllers
Get all volume controllers
Use this method to retrieve all available volume controllers. A volume controller can then be used to mute or adjust the audio volume.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/volumeControllers"
GET /api/v1.2/volumeControllers
Host: <servername>
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
[
{
"allowMute": true,
"contentClasses": [
{
"id": "28",
"niceName": "Music"
}
],
"id": "156",
"maxNegativeVolumeOffset": -80,
"maxPositiveVolumeOffset": 80,
"muted": true,
"niceName": "Music in kitchen",
"targets": ["zon_1256", "dev_101"],
"volumeOffset": -5.33
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
allowMute=<boolean> | Controls whether the volume controller can be muted. | ||
contentClasses=<array> | Contains the target content classes. | ||
| VolumeControllerContentClass | |||
id=<string> | 28 | A unique content class ID. | |
niceName=<string> | Music | Name of the content class. | |
id=<string> | 156 | A unique volume controller ID. | |
maxNegativeVolumeOffset=<integer> | -80 | maximum: 100 minimum: -100 | The minimum allowed value of the volume controller. |
maxPositiveVolumeOffset=<integer> | 80 | maximum: 100 minimum: -100 | The maximum allowed value of the volume controller. |
muted=<boolean> | Controls if the volume controller is muted. | ||
niceName=<string> | Music in kitchen | The name of the volume controller. | |
targets=<string> | ["zon_1256", "dev_101"] | The targets of the volume controller. | |
volumeOffset=<number> | -5.33 | maximum: 100 minimum: -100 | The current volume offset, with ranges between [-100, +100]. |
Error responses
Get a specific volume controller
Use this method to retrieve a specific volume controller identified by an ID.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/volumeControllers/<volume controller id>"
GET /api/v1.2/volumeControllers/<volume controller id>
Host: <servername>
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example
[
{
"allowMute": true,
"contentClasses": [
{
"id": "28",
"niceName": "Music"
}
],
"id": "156",
"maxNegativeVolumeOffset": -80,
"maxPositiveVolumeOffset": 80,
"muted": true,
"niceName": "Music in kitchen",
"targets": ["zon_1256", "dev_101"],
"volumeOffset": -5.33
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
allowMute=<boolean> | Controls whether the volume controller can be muted. | ||
contentClasses=<array> | Contains the target content classes. | ||
| VolumeControllerContentClass | |||
id=<string> | 28 | A unique content class ID. | |
niceName=<string> | Music | Name of the content class. | |
id=<string> | 156 | A unique volume controller ID. | |
maxNegativeVolumeOffset=<integer> | -80 | maximum: 100 minimum: -100 | The minimum allowed value of the volume controller. |
maxPositiveVolumeOffset=<integer> | 80 | maximum: 100 minimum: -100 | The maximum allowed value of the volume controller. |
muted=<boolean> | Controls if the volume controller is muted. | ||
niceName=<string> | Music in kitchen | The name of the volume controller. | |
targets=<string> | ["zon_1256", "dev_101"] | The targets of the volume controller. | |
volumeOffset=<number> | -5.33 | maximum: 100 minimum: -100 | The current volume offset, with ranges between [-100, +100]. |
Error responses
Update a specific volume controller
Use this method to modify a volume controller's mute state or volume offset.
Request
- Method:
PATCH - Content-Type:
application/json
- curl
- HTTP
curl --request PATCH \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/volumeControllers/<volume controller id>" \
--data '{
"muted": false,
"volumeOffset": -5.33
}'
PATCH /api/v1.2/volumeControllers/<volume controller id>
Host: <servername>
Content-Type: application/json
{
"muted": false,
"volumeOffset": -5.33
}
| Parameter | Description |
|---|---|
<volume controller id>=<string> | A unique target ID. |
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
muted=<boolean> Optional | false | true false (default) | Mutes all audio of the content types and targets that the volume controller controls. |
volumeOffset=<number> Optional | -5.33 | maximum: 100 minimum: -100 | The current volume offset, with ranges between [-100, +100]. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Modify offset volume of a volume controller
Use this method to make a volume change relative to the current volume. Negative values will decrease volume and positive values will increase it. Values can range between -100 to +100.
Request
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/volumeControllers/<volumeControllerId>/offsetVolume" \
--data '{
"volumeOffset": 10
}'
POST /api/v1.2/volumeControllers/<volumeControllerId>/offsetVolume
Host: <servername>
Content-Type: application/json
{
"volumeOffset": 10
}
| Parameter | Description |
|---|---|
volumeControllerId=<string> | A unique target ID. |
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
volumeOffset=<number> | -5.33 | maximum: 100 minimum: -100 | The requested volume change in relation to the previous value. A negative value will lower the volume. The resulting value will be in the range [-100, +100] or the configured max/min offset of the volume controller. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Modify the mute state of a volume controller
Use this method to switch between mute/unmute states of a target.
Request
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
--header "Content-Type: application/json" \
"http://<servername>/api/v1.2/volumeControllers/<volumeControllerId>/toggleMute"
POST /api/v1.2/volumeControllers/<volumeControllerId>/toggleMute
Host: <servername>
Content-Type: application/json
| Parameter | Description |
|---|---|
volumeControllerId=<string> | A unique target ID. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Error responses
Visual profiles
Get all visual profiles
Use this method to retrieve all available visual profiles.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/visualProfiles"
GET /api/v1.2/visualProfiles
Host: <servername>
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example:
[
{
"audioSync": true,
"defaultCategories": [
{
"category": "MUSIC",
"enabled": true
}
],
"description": "Red blink for attention",
"id": 54,
"lightEnabled": true,
"lightProfile": {
"audioSync": true,
"colors": "RED",
"description": "Visual profile for normal announcements",
"duration": 1,
"id": 43,
"intensity": 3,
"name": "Normal announcement",
"pattern": "BLINK",
"speed": 3,
"type": "SIGNALING"
},
"name": "Red blink",
"text": "Attention! Announcement ongoing.",
"textBackgroundColor": "FF0000",
"textColor": "#0000FF",
"textDuration": 1,
"textLayout": "SMALL",
"textRepetition": 1,
"textScrollSpeed": 5,
"textTimeLimit": true,
"used": true
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
audioSync=<boolean> | True if the text should be synchronized with the audio. | ||
defaultCategories=<array> | The content categories for which this visual profile is used by default. | ||
category=<string> | "MUSIC" | "ANY", "MUSIC" "ADVERTISEMENT" "ANNOUNCEMENT" "PAGING" | The content category for which this visual profile is applied by default. |
enabled=<boolean> | Indicates if this visual profile is enabled by default for the specified category. | ||
description=<string> | "Red blink for attention" | Description of the visual profile. | |
id=<integer> | 54 | The visual profile ID. | |
lightEnabled=<boolean> | TRUE | TRUE FALSE | True if the light profile should be used. |
lightProfile=<object> | Configurations for the light profile. | ||
audioSync=<boolean> | TRUE | TRUE FALSE | If TRUE, the light duration will be synchronized with the audio playback. This means that the strobe will disappear when the audio is finished. If FALSE, the strobe duration will be controlled by duration. |
colors=<string> | "RED" "GREEN" "BLUE" "YELLOW" "PURPLE" "TURQUOISE" "WHITE" "PINK" "AMBER" | The colors for the strobe. | |
description=<string> | "Visual profile for normal announcements" | The light profile description. | |
duration=<integer> | Strobe time(s). | ||
id=<integer> | The light profile ID. | ||
intensity=<integer> | 3 | The light intensity. 0 = the lowest, 5 = the highest. | |
name=<string> | "Normal announcement" | Name of the light profile. | |
pattern=<string> | "BLINK" | "OFF" "STEADY" "ALTERNATE" "BLINK" "PULSE" "ROTATION" | The light pattern. |
speed=<integer> | 3 | The strobe speed. 0 = the slowest, 5 = the fastest. | |
type=<string> | "SIGNALING" | "AUDIO" "SIGNALING" | The LED type used by the light profile. This value indicates if the profile controls the audio LEDs (used to indicate audio status like recording) or signaling LEDs (used for attention-calling alerts). |
name=<string> | "Red blink" | Name of the visual profile. | |
text=<string> | "Attention! Announcement ongoing." | The text message. Supported encoding: Latin 1 (ISO/IEC 8859-1), Latin CE (ISO/IEC 8859-2), Greek (ISO/IEC 8859-7), Cyrillic (ISO/IEC 8859-5), Hebrew (ISO/IEC 8859-8) | |
textBackgroundColor=<string> | "#FF0000" | The background color RGB #000000 - #FFFFFF. | |
textColor=<string> | "#0000FF" | The font color RGB #000000 - #FFFFFF. | |
textDuration=<integer> | The text playback time in seconds. | ||
textLayout=<string> | "SMALL" | "LARGE" "MEDIUM" "SMALL" "LARGE_LEFT_TO_RIGHT" | Determines the layout and scrolling behavior of the text message on visual output devices. Large text is displayed on a single line and scrolls horizontally. Medium and small text is displayed across multiple lines and scrolls vertically. |
textRepetition=<integer> | The number of times the text message will scroll across the display before it disappears. | ||
textScrollSpeed=<integer> | 5 | The speed of the text scroll. 1 = the slowest, 10 = the fastest. | |
textTimeLimit=<boolean> | Determines the text display control method when textAudioSync is false. If true, the text will be shown for the duration specified by textDuration. If false, the text will be displayed the number of times defined by the textRepetition. | ||
used=<boolean> | True if profile is used. |
Get a visual profile
Use this method to retrieve a specific visual profile identified by an ID.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/visualProfiles/{visualProfileId}"
GET /api/v1.2/visualProfiles/{visualProfileId}
Host: <servername>
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
visualProfileId=<integer> Optional | The VisualProfile ID. |
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example:
{
"audioSync": true,
"defaultCategories": [
{
"category": "MUSIC",
"enabled": true
}
],
"description": "Red blink for attention",
"id": 54,
"lightEnabled": true,
"lightProfile": {
"audioSync": true,
"colors": "RED",
"description": "Visual profile for normal announcements",
"duration": 1,
"id": 43,
"intensity": 3,
"name": "Normal announcement",
"pattern": "BLINK",
"speed": 3,
"type": "SIGNALING"
},
"name": "Red blink",
"text": "Attention! Announcement ongoing.",
"textBackgroundColor": "FF0000",
"textColor": "#0000FF",
"textDuration": 1,
"textLayout": "SMALL",
"textRepetition": 1,
"textScrollSpeed": 5,
"textTimeLimit": true,
"used": true
}
| Parameter | Example value | Valid values | Description |
| ------------------------------ | ----------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| audioSync=<boolean> | | | True if the text should be synchronized with the audio. |
| defaultCategories=<array> | | | The content categories for which this visual profile is used by default. |
| category=<string> | "MUSIC" | "ANY", "MUSIC" "ADVERTISEMENT" "ANNOUNCEMENT" "PAGING" | The content category for which this visual profile is applied by default. |
| enabled=<boolean> | | | Indicates if this visual profile is enabled by default for the specified category. |
| description=<string> | "Red blink for attention" | | Description of the visual profile. |
| id=<integer> | 54 | | The visual profile ID. |
| lightEnabled=<boolean> | TRUE | TRUE FALSE | True if the light profile should be used. |
| lightProfile=<object> | | | Configurations for the light profile. |
| audioSync=<boolean> | TRUE | TRUE FALSE | If TRUE, the light duration will be synchronized with the audio playback. This means that the strobe will disappear when the audio is finished. If FALSE, the strobe duration will be controlled by duration. |
| colors=<string> | | "RED" "GREEN" "BLUE" "YELLOW" "PURPLE" "TURQUOISE" "WHITE" "PINK" "AMBER" | The colors for the strobe. |
| description=<string> | "Visual profile for normal announcements" | | The light profile description. |
| duration=<integer> | 1 | | Strobe time(s). |
| id=<integer> | 43 | | The light profile ID. |
| intensity=<integer> | 3 | | The light intensity. 0 = the lowest, 5 = the highest. |
| name=<string> | "Normal announcement" | | Name of the light profile. |
| pattern=<string> | "BLINK" | "OFF" "STEADY" "ALTERNATE" "BLINK" "PULSE" "ROTATION" | The light pattern. |
| speed=<integer> | 3 | | The strobe speed. 0 = the slowest, 5 = the fastest. |
| type=<string> | "SIGNALING" | "AUDIO" "SIGNALING" | The LED type used by the light profile. This value indicates if the profile controls the audio LEDs (used to indicate audio status like recording) or signaling LEDs (used for attention-calling alerts). |
| name=<string> | "Red blink" | | Name of the visual profile. |
| text=<string> | "Attention! Announcement ongoing." | | The text message. Supported encoding: Latin 1 (ISO/IEC 8859-1), Latin CE (ISO/IEC 8859-2), Greek (ISO/IEC 8859-7), Cyrillic (ISO/IEC 8859-5), Hebrew (ISO/IEC 8859-8) |
| textBackgroundColor=<string> | "#FF0000" | | The background color RGB #000000 - #FFFFFF. |
| textColor=<string> | "#0000FF" | | The font color RGB #000000 - #FFFFFF. |
| textDuration=<integer> | | | The text playback time in seconds. |
| textLayout=<string> | "SMALL" | "LARGE" "MEDIUM" "SMALL" "LARGE_LEFT_TO_RIGHT" | Determines the layout and scrolling behavior of the text message on visual output devices. Large text is displayed on a single line and scrolls horizontally. Medium and small text is displayed across multiple lines and scrolls vertically. |
| textRepetition=<integer> | | | The number of times the text message will scroll across the display before it disappears. |
| textScrollSpeed=<integer> | 5 | | The speed of the text scroll. 1 = the slowest, 10 = the fastest. |
| textTimeLimit=<boolean> | | | Determines the text display control method when textAudioSync is false. If true, the text will be shown for the duration specified by textDuration. If false, the text will be displayed the number of times defined by the textRepetition. |
| used=<boolean> | | | | True if profile is used. |
Error responses
Server info
Get info about the server
Use this method to retrieve information about the server.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/serverInfo"
GET /api/serverInfo
Host: <servername>
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example:
{
"apiVersions": ["1.0", "1.1"],
"licenseUntil": "2026-04-20T13:03:12.420Z",
"licensingStatus": true,
"locale": "en_US",
"serverIps": ["0.0.0.0", "10.0.21.123", "10.0.21.124"],
"serverName": "LAP5CG2113L89",
"serverPort": 443,
"serverVersion": "4.7.17",
"siteId": "cdae2c07-3717-46f0-89b6-f977bea0c680",
"siteName": "North Cardridge County Campus",
"timeZone": "T+04:00",
"trialActive": true
}
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
apiVersions=<array> | 1.0 | The API versions supported by this server. | |
licenseUntil=<string> | The end date for the current license. | ||
licensingStatus=<boolean> | true | true if the license is valid. | |
locale=<string> | "en_US" | The locale of the server. | |
serverIps=<array> | 0.0.0.0 10.0.21.123 10.0.21.124 | IP addresses of the network interfaces (for web, streaming and paging) of the active server node. | |
serverName=<string> | "LAP5CG2113L89" | Name of the server machine node. | |
serverPort=<integer> | 443 | An HTTPS port of the web interface of the active server node. | |
serverVersion=<string> | 4.7.17 | Version number of the server running the AXIS Audio Manager Pro. | |
siteId=<string> | cdae2c07-3717-46f0-89b6-f977bea0c680 | A unique site ID. | |
siteName=<string> | "North Cardridge County Campus" | Name of the site, defined by the user. | |
timeZone=<string> | "T+04:00" | The server Time Zone. | |
trialActive=<boolean> | true | true if the license is in a trial period. |
Error responses
Paging configurations
List paging configs
Use this method to request a list of all available SIP paging configurations.
Request
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/api/v1.2/pagingConfigurations"
GET /api/v1.2/pagingConfigurations
Host: <servername>
Successful response
- HTTP Code: 200 Operation successful
- Content-Type:
application/json
Response body example:
[
{
"duplexDevice": {
"id": "dev_15",
"sourceId": "dsc_15"
},
"extension": "3256",
"id": "pac_16",
"niceName": "Kitchen",
"targets": ["zon_12", "zon_13"],
"type": "TWOWAY"
}
]
| Parameter | Example value | Valid values | Description |
|---|---|---|---|
duplexDevice=<object> | Only for TWOWAY. | ||
id=<string> | dev_15 | A unique device ID. | |
sourceId=<string> | dsc_15 | A unique device source ID. | |
extension=<string> | 3256 | The extension number used for SIP dialing. | |
id=<string> | pac_16 | The ID for the paging source. | |
niceName=<string> | Kitchen | A descriptive name for the paging configuration. | |
targets=<array> | zon_12, zon_13 | The IDs for destinations (ONEWAY) or a specific device (TWOWAY). | |
type=<string> | TWOWAY | ONEWAY, TWOWAY | The paging type. |
General error responses
The following error responses can occur for any request independent of their type.
400 Invalid parameters
- HTTP Code: 400 Invalid parameters
- Content-Type:
application/json
Response body example
{
"error": {
"code": 400,
"errors": [
{
"location": "string",
"locationType": "DATA_FIELD",
"message": "string",
"reason": "string"
}
],
"id": "f1a02d76-9b83-437e-8cb4-21016465ea43",
"message": "Unknown priority 'HIGHER'",
"messageKey": "string",
"messageParams": ["string"]
}
}
| Parameter | Valid Values | Description |
|---|---|---|
error | Container for the error data. | |
| Error data | ||
code=<integer> | The error code. | |
errors=<object> | Container for detailed error information. Each element in the array represents a different error and several errors can be returned with a single request. | |
| DetailedErrorData | ||
location=<string> | The location of the error (interpretation of its value depends on locationType). | |
locationType=<string> | "DATA_FIELD" "HEADER" "PARAMETER" | Indicates how the location property should be interpreted. |
message=<string> | A human readable text providing more details about the error. | |
reason=<string> | Unique identifier for this error. | |
id=<string> | A unique identifier for the request. | |
message=<string> | A human readable text providing more details about the error. | |
messageKey | The key of the error message. Defined by a properties list. | |
messageParams | Error related parameters sent in request. |
401 Unauthorized
- HTTP Code: 401 Unauthorized
- Content-Type:
application/json
Response body example
{
"error": {
"code": 401,
"errors": [
{
"location": "string",
"locationType": "DATA_FIELD",
"message": "string",
"reason": "string"
}
],
"id": "f1a02d76-9b83-437e-8cb4-21016465ea43",
"message": "Unknown priority 'HIGHER'",
"messageKey": "string",
"messageParams": ["string"]
}
}
| Parameter | Valid Values | Description |
|---|---|---|
error | Container for the error data. | |
| Error data | ||
code=<integer> | The error code. | |
errors=<object> | Container for detailed error information. Each element in the array represents a different error and several errors can be returned with a single request. | |
| DetailedErrorData | ||
location=<string> | The location of the error (interpretation of its value depends on locationType). | |
locationType=<string> | "DATA_FIELD" "HEADER" "PARAMETER" | Indicates how the location property should be interpreted. |
message=<string> | A human readable text providing more details about the error. | |
reason=<string> | Unique identifier for this error. | |
id=<string> | A unique identifier for the request. | |
message=<string> | A human readable text providing more details about the error. | |
messageKey | The key of the error message. Defined by a properties list. | |
messageParams | Error related parameters sent in request. |
404 Not found
- HTTP Code: 404 Not found
- Content-Type:
application/json
Response body example
{
"error": {
"code": 404,
"errors": [
{
"location": "string",
"locationType": "DATA_FIELD",
"message": "string",
"reason": "string"
}
],
"id": "f1a02d76-9b83-437e-8cb4-21016465ea43",
"message": "Unknown priority 'HIGHER'",
"messageKey": "string",
"messageParams": ["string"]
}
}
| Parameter | Valid Values | Description |
|---|---|---|
error | Container for the error data. | |
| Error data | ||
code=<integer> | The error code. | |
errors=<object> | Container for detailed error information. Each element in the array represents a different error and several errors can be returned with a single request. | |
| DetailedErrorData | ||
location=<string> | The location of the error (interpretation of its value depends on locationType). | |
locationType=<string> | "DATA_FIELD" "HEADER" "PARAMETER" | Indicates how the location property should be interpreted. |
message=<string> | A human readable text providing more details about the error. | |
reason=<string> | Unique identifier for this error. | |
id=<string> | A unique identifier for the request. | |
message=<string> | A human readable text providing more details about the error. | |
messageKey | The key of the error message. Defined by a properties list. | |
messageParams | Error related parameters sent in request. |
422 Change not allowed
- HTTP Code: 422 Change not allowed
- Content-Type:
application/json
Response body example
{
"error": {
"code": 422,
"errors": [
{
"location": "string",
"locationType": "DATA_FIELD",
"message": "string",
"reason": "string"
}
],
"id": "f1a02d76-9b83-437e-8cb4-21016465ea43",
"message": "Unknown priority 'HIGHER'",
"messageKey": "string",
"messageParams": ["string"]
}
}
| Parameter | Valid Values | Description |
|---|---|---|
error | Container for the error data. | |
| Error data | ||
code=<integer> | The error code. | |
errors=<object> | Container for detailed error information. Each element in the array represents a different error and several errors can be returned with a single request. | |
| DetailedErrorData | ||
location=<string> | The location of the error (interpretation of its value depends on locationType). | |
locationType=<string> | "DATA_FIELD" "HEADER" "PARAMETER" | Indicates how the location property should be interpreted. |
message=<string> | A human readable text providing more details about the error. | |
reason=<string> | Unique identifier for this error. | |
id=<string> | A unique identifier for the request. | |
message=<string> | A human readable text providing more details about the error. | |
messageKey | The key of the error message. Defined by a properties list. | |
messageParams | Error related parameters sent in request. |
500 Internal server error
- HTTP Code: 500 Internal server error
- Content-Type:
application/json
Response body example
{
"error": {
"code": 500,
"errors": [
{
"location": "string",
"locationType": "DATA_FIELD",
"message": "string",
"reason": "string"
}
],
"id": "f1a02d76-9b83-437e-8cb4-21016465ea43",
"message": "Unknown priority 'HIGHER'",
"messageKey": "string",
"messageParams": ["string"]
}
}
| Parameter | Valid Values | Description |
|---|---|---|
error | Container for the error data. | |
| Error data | ||
code=<integer> | The error code. | |
errors=<object> | Container for detailed error information. Each element in the array represents a different error and several errors can be returned with a single request. | |
| DetailedErrorData | ||
location=<string> | The location of the error (interpretation of its value depends on locationType). | |
locationType=<string> | "DATA_FIELD" "HEADER" "PARAMETER" | Indicates how the location property should be interpreted. |
message=<string> | A human readable text providing more details about the error. | |
reason=<string> | Unique identifier for this error. | |
id=<string> | A unique identifier for the request. | |
message=<string> | A human readable text providing more details about the error. | |
messageKey | The key of the error message. Defined by a properties list. | |
messageParams | Error related parameters sent in request. |
Real-time notifications (Websockets)
Websockets will ensure that clients are promptly informed about server-side changes in AXIS Audio Manager Pro. For example, a client will be notified if the volume is changed or when a device starts to play. For detailed integration guidance, refer to STOMP protocol specifications (v 1.0, 1.1 or 1.2 are supported).
Endpoints
wss://<servername>/api/v1.2/notifications
Topics
/topic/audiofiles
/topic/audioSessions
/topic/targets
/topic/volumeControllers
/topic/pagingConfigurations