The spaces API endpoints can be used to create, manage, and delete audio spaces for an app, as well as moderate users currently connected to a space.
A space is a virtual 3D environment which allows clients to send positionally localized audio streams and receive spatial audio. The spatial audio heard by clients combines audio streams from nearby sources according to the position of each client. By default, audio sources that are farther away from a client will sound quieter and more muffled.
A space can optionally contain zones. A zone is a region inside of a space which may have different rules for combining spatial audio, such that it is easier to hear from some zones than others, depending on where a client is located in the space. Zone attenuations specify rules for how to combine spatial audio between zones.
This endpoint allows you to get the list of all spaces currently associated with a spatial audio app
| token required | string An admin JSON Web Token for the app in which this operation takes place |
[- {
- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "space-id": "00000000-0000-0000-0000-000000000000",
- "app-id": "00000000-0000-0000-0000-000000000000",
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false,
- "max-client-limit": 135
}
]This endpoint allows you to create a space for an existing spatial audio app.
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name | string Example: name=example_space_name The name of the space |
| space-version | string Example: space-version=50-user A string that describes the type of hardware that the server will run on. This is most commonly used to set the capacity for a space, as described in the Configure Space Capacity User Guide. Available values are |
| global-frequency-rolloff | number Example: global-frequency-rolloff=16 Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a per-zone or per-user basis. |
| global-attenuation | number Example: global-attenuation=0.5 Affects how quickly the volume of a sound decreases as one moves away from the sound source. This does not affect the initial volume of the sound at the sound source. By default, this setting is Attenuation behaves differently depending on the number used:
In addition to global attenuation, it is possible to set attenuation on a per-zone or per-user basis. |
| new-connections-allowed | boolean Default: true If set to |
| client-limit | integer Example: client-limit=50 The configurable max allowed number of connected clients in this space. When the number of connected clients meets or exceeds this number, additional clients will no longer be able to connect to the space. The max number of connected users also cannot exceed the |
| global-directional-attenuation-enabled | boolean Example: global-directional-attenuation-enabled=true This setting determines if the orientation of a speaking user with a microphone, or other mono output stream, sounds quieter to a listening user when the speaking user is facing away from the listening user. By default, this setting is For example:
A speaking user with a stereo output stream is not affected by this setting, and will sound just as loud to a listener regardless of the speaking user's orientation. However, a speaking user with a stereo output stream is still affected by other audio settings such as |
| global-volume-threshold | number Example: global-volume-threshold=-40 Default audio level threshold under which audio automatically mutes. Audio above this level will be heard. This value can be overridden by the client on a per-client basis by the volumeThreshold value of updateUserDataAndTransmit. |
| ignore-token-signing | boolean Default: false If set to |
{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "space-id": "00000000-0000-0000-0000-000000000000",
- "app-id": "00000000-0000-0000-0000-000000000000",
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false,
- "max-client-limit": 135
}This endpoint allows you to create a space for an existing spatial audio app.
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name | string The name of the space |
| space-version | string A string that describes the type of hardware that the server will run on. This is most commonly used to set the capacity for a space, as described in the Configure Space Capacity User Guide. Available values are |
| global-frequency-rolloff | number Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a per-zone or per-user basis. |
| global-attenuation | number Affects how quickly the volume of a sound decreases as one moves away from the sound source. This does not affect the initial volume of the sound at the sound source. By default, this setting is Attenuation behaves differently depending on the number used:
In addition to global attenuation, it is possible to set attenuation on a per-zone or per-user basis. |
| new-connections-allowed | boolean Default: true If set to |
| client-limit | integer The configurable max allowed number of connected clients in this space. When the number of connected clients meets or exceeds this number, additional clients will no longer be able to connect to the space. The max number of connected users also cannot exceed the |
| global-directional-attenuation-enabled | boolean This setting determines if the orientation of a speaking user with a microphone, or other mono output stream, sounds quieter to a listening user when the speaking user is facing away from the listening user. By default, this setting is For example:
A speaking user with a stereo output stream is not affected by this setting, and will sound just as loud to a listener regardless of the speaking user's orientation. However, a speaking user with a stereo output stream is still affected by other audio settings such as |
| global-volume-threshold | number Default audio level threshold under which audio automatically mutes. Audio above this level will be heard. This value can be overridden by the client on a per-client basis by the volumeThreshold value of updateUserDataAndTransmit. |
| ignore-token-signing | boolean Default: false If set to |
{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false
}{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "space-id": "00000000-0000-0000-0000-000000000000",
- "app-id": "00000000-0000-0000-0000-000000000000",
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false,
- "max-client-limit": 135
}This endpoint allows you to create a space by-name for an existing spatial audio app.
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name required | string Example: name=example_space_name The name of the space |
| space-version | string Example: space-version=50-user A string that describes the type of hardware that the server will run on. This is most commonly used to set the capacity for a space, as described in the Configure Space Capacity User Guide. Available values are |
| global-frequency-rolloff | number Example: global-frequency-rolloff=16 Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a per-zone or per-user basis. |
| global-attenuation | number Example: global-attenuation=0.5 Affects how quickly the volume of a sound decreases as one moves away from the sound source. This does not affect the initial volume of the sound at the sound source. By default, this setting is Attenuation behaves differently depending on the number used:
In addition to global attenuation, it is possible to set attenuation on a per-zone or per-user basis. |
| space-template-name | string Example: space-template-name=tmpl The name of an existing space from which default parameters will be copied when a space is created-by-name. |
| space-template-id | string Example: space-template-id=00000000-0000-0000-0000-000000000000 The unique ID of an existing space from which default parameters will be copied when a space is created-by-name |
| new-connections-allowed | boolean Default: true If set to |
| space-id | string Example: space-id=00000000-0000-0000-0000-000000000000 The unique ID of the space |
| app-id | string Example: app-id=00000000-0000-0000-0000-000000000000 The unique ID of the app which contains this space |
| client-limit | integer Example: client-limit=50 The configurable max allowed number of connected clients in this space. When the number of connected clients meets or exceeds this number, additional clients will no longer be able to connect to the space. The max number of connected users also cannot exceed the |
| global-directional-attenuation-enabled | boolean Example: global-directional-attenuation-enabled=true This setting determines if the orientation of a speaking user with a microphone, or other mono output stream, sounds quieter to a listening user when the speaking user is facing away from the listening user. By default, this setting is For example:
A speaking user with a stereo output stream is not affected by this setting, and will sound just as loud to a listener regardless of the speaking user's orientation. However, a speaking user with a stereo output stream is still affected by other audio settings such as |
| global-volume-threshold | number Example: global-volume-threshold=-40 Default audio level threshold under which audio automatically mutes. Audio above this level will be heard. This value can be overridden by the client on a per-client basis by the volumeThreshold value of updateUserDataAndTransmit. |
| ignore-token-signing | boolean Default: false If set to |
{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "space-id": "00000000-0000-0000-0000-000000000000",
- "app-id": "00000000-0000-0000-0000-000000000000",
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false,
- "max-client-limit": 135
}This endpoint allows you to create a space by-name for an existing spatial audio app.
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name required | string The name of the space |
| space-version | string A string that describes the type of hardware that the server will run on. This is most commonly used to set the capacity for a space, as described in the Configure Space Capacity User Guide. Available values are |
| global-frequency-rolloff | number Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a per-zone or per-user basis. |
| global-attenuation | number Affects how quickly the volume of a sound decreases as one moves away from the sound source. This does not affect the initial volume of the sound at the sound source. By default, this setting is Attenuation behaves differently depending on the number used:
In addition to global attenuation, it is possible to set attenuation on a per-zone or per-user basis. |
| space-template-name | string The name of an existing space from which default parameters will be copied when a space is created-by-name. |
| space-template-id | string The unique ID of an existing space from which default parameters will be copied when a space is created-by-name |
| new-connections-allowed | boolean Default: true If set to |
| space-id | string The unique ID of the space |
| app-id | string The unique ID of the app which contains this space |
| client-limit | integer The configurable max allowed number of connected clients in this space. When the number of connected clients meets or exceeds this number, additional clients will no longer be able to connect to the space. The max number of connected users also cannot exceed the |
| global-directional-attenuation-enabled | boolean This setting determines if the orientation of a speaking user with a microphone, or other mono output stream, sounds quieter to a listening user when the speaking user is facing away from the listening user. By default, this setting is For example:
A speaking user with a stereo output stream is not affected by this setting, and will sound just as loud to a listener regardless of the speaking user's orientation. However, a speaking user with a stereo output stream is still affected by other audio settings such as |
| global-volume-threshold | number Default audio level threshold under which audio automatically mutes. Audio above this level will be heard. This value can be overridden by the client on a per-client basis by the volumeThreshold value of updateUserDataAndTransmit. |
| ignore-token-signing | boolean Default: false If set to |
{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "space-template-name": "tmpl",
- "space-template-id": "00000000-0000-0000-0000-000000000000",
- "new-connections-allowed": true,
- "space-id": "00000000-0000-0000-0000-000000000000",
- "app-id": "00000000-0000-0000-0000-000000000000",
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false
}{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "space-id": "00000000-0000-0000-0000-000000000000",
- "app-id": "00000000-0000-0000-0000-000000000000",
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false,
- "max-client-limit": 135
}This endpoint will permanently delete a space from a spatial audio app. By default, this endpoint will not delete the space if clients are still connected to the space
| space_id required | string The unique ID of the space to be deleted |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| force-shutdown | string Default: true If |
{- "app-id": "00000000-0000-0000-0000-000000000000",
- "space-id": "00000000-0000-0000-0000-000000000000"
}This endpoint contacts the mixer servers which manage the space, to get live operational information about the space, such as user count and mixer status.
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space from which to get details |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
{- "status": "ok",
- "space_id": "00000000-0000-0000-0000-000000000000",
- "app_id": "00000000-0000-0000-0000-000000000000",
- "connected_user_count": 3,
- "mixer_build_version": "string"
}This endpoint will restart a space on a new mixer. If the space wasn't already allocated, this endpoint has no effect. By default, this endpoint will not restart the space if clients are still connected to the space
| space_id required | string The unique ID of the space to be restarted |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| force-shutdown | string Default: true If |
{- "app-id": "00000000-0000-0000-0000-000000000000",
- "space-id": "00000000-0000-0000-0000-000000000000"
}This endpoint allows you to change zero or more editable properties of the space. When requested without specifying any properties to update, this endpoint returns the specified space unaltered.
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space to be changed |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name | string Example: name=example_space_name The name of the space |
| space-version | string Example: space-version=50-user A string that describes the type of hardware that the server will run on. This is most commonly used to set the capacity for a space, as described in the Configure Space Capacity User Guide. Available values are |
| global-frequency-rolloff | number Example: global-frequency-rolloff=16 Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a per-zone or per-user basis. |
| global-attenuation | number Example: global-attenuation=0.5 Affects how quickly the volume of a sound decreases as one moves away from the sound source. This does not affect the initial volume of the sound at the sound source. By default, this setting is Attenuation behaves differently depending on the number used:
In addition to global attenuation, it is possible to set attenuation on a per-zone or per-user basis. |
| new-connections-allowed | boolean Default: true If set to |
| client-limit | integer Example: client-limit=50 The configurable max allowed number of connected clients in this space. When the number of connected clients meets or exceeds this number, additional clients will no longer be able to connect to the space. The max number of connected users also cannot exceed the |
| global-directional-attenuation-enabled | boolean Example: global-directional-attenuation-enabled=true This setting determines if the orientation of a speaking user with a microphone, or other mono output stream, sounds quieter to a listening user when the speaking user is facing away from the listening user. By default, this setting is For example:
A speaking user with a stereo output stream is not affected by this setting, and will sound just as loud to a listener regardless of the speaking user's orientation. However, a speaking user with a stereo output stream is still affected by other audio settings such as |
| global-volume-threshold | number Example: global-volume-threshold=-40 Default audio level threshold under which audio automatically mutes. Audio above this level will be heard. This value can be overridden by the client on a per-client basis by the volumeThreshold value of updateUserDataAndTransmit. |
| ignore-token-signing | boolean Default: false If set to |
{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "space-id": "00000000-0000-0000-0000-000000000000",
- "app-id": "00000000-0000-0000-0000-000000000000",
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false,
- "max-client-limit": 135
}This endpoint allows you to change zero or more editable properties of the space. When requested without specifying any properties to update, this endpoint returns the specified space unaltered.
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space to be changed |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name | string The name of the space |
| space-version | string A string that describes the type of hardware that the server will run on. This is most commonly used to set the capacity for a space, as described in the Configure Space Capacity User Guide. Available values are |
| global-frequency-rolloff | number Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a per-zone or per-user basis. |
| global-attenuation | number Affects how quickly the volume of a sound decreases as one moves away from the sound source. This does not affect the initial volume of the sound at the sound source. By default, this setting is Attenuation behaves differently depending on the number used:
In addition to global attenuation, it is possible to set attenuation on a per-zone or per-user basis. |
| new-connections-allowed | boolean Default: true If set to |
| client-limit | integer The configurable max allowed number of connected clients in this space. When the number of connected clients meets or exceeds this number, additional clients will no longer be able to connect to the space. The max number of connected users also cannot exceed the |
| global-directional-attenuation-enabled | boolean This setting determines if the orientation of a speaking user with a microphone, or other mono output stream, sounds quieter to a listening user when the speaking user is facing away from the listening user. By default, this setting is For example:
A speaking user with a stereo output stream is not affected by this setting, and will sound just as loud to a listener regardless of the speaking user's orientation. However, a speaking user with a stereo output stream is still affected by other audio settings such as |
| global-volume-threshold | number Default audio level threshold under which audio automatically mutes. Audio above this level will be heard. This value can be overridden by the client on a per-client basis by the volumeThreshold value of updateUserDataAndTransmit. |
| ignore-token-signing | boolean Default: false If set to |
{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false
}{- "name": "example_space_name",
- "space-version": "50-user",
- "global-frequency-rolloff": 16,
- "global-attenuation": 0.5,
- "new-connections-allowed": true,
- "space-id": "00000000-0000-0000-0000-000000000000",
- "app-id": "00000000-0000-0000-0000-000000000000",
- "client-limit": 50,
- "global-directional-attenuation-enabled": true,
- "global-volume-threshold": -40,
- "ignore-token-signing": false,
- "max-client-limit": 135
}This endpoint allows you to get the list of zones for a given space
| space_id required | string The unique ID of the space |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
[- {
- "name": "zone_example_name",
- "z-max": 5,
- "id": 7,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}
]This endpoint allows you to create multiple zones at once in a space.
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space in which zones will be created |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name required | string The name of the zone |
| z-max required | number The maximim z coordinate of the box which encloses the zone |
| y-max required | number The maximum y coordinate of the box which encloses the zone |
| x-max required | number The maximum x coordinate of the box which encloses the zone |
| x-min required | number The minimum x coordinate of the box which encloses the zone |
| z-min required | number The minimum z coordinate of the box which encloses the zone |
| y-min required | number The minimum y coordinate of the box which encloses the zone |
[- {
- "name": "zone_example_name",
- "z-max": 5,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}
][- {
- "name": "zone_example_name",
- "z-max": 5,
- "id": 7,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}
]This endpoint allows you to permanently delete all zones at once in a space
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space in which all zones will be deleted |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
[- {
- "id": 7
}
]This endpoint allows you to change zero or more editable properties of a zone in a space. When requested without specifying any properties to update, this endpoint returns the zone unaltered.
| zone_id required | integer Example: 7 The unique ID of the zone to be updated |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space containing the zone to be updated |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name | string Example: name=zone_example_name The name of the zone |
| z-max | number Example: z-max=5 The maximim z coordinate of the box which encloses the zone |
| y-max | number Example: y-max=5 The maximum y coordinate of the box which encloses the zone |
| x-max | number Example: x-max=5 The maximum x coordinate of the box which encloses the zone |
| x-min | number Example: x-min=-5 The minimum x coordinate of the box which encloses the zone |
| z-min | number Example: z-min=-5 The minimum z coordinate of the box which encloses the zone |
| y-min | number Example: y-min=0 The minimum y coordinate of the box which encloses the zone |
{- "name": "zone_example_name",
- "z-max": 5,
- "id": 7,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}This endpoint allows you to change zero or more editable properties of a zone in a space. When requested without specifying any properties to update, this endpoint returns the zone unaltered.
| zone_id required | integer Example: 7 The unique ID of the zone to be updated |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space containing the zone to be updated |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name | string The name of the zone |
| z-max | number The maximim z coordinate of the box which encloses the zone |
| y-max | number The maximum y coordinate of the box which encloses the zone |
| x-max | number The maximum x coordinate of the box which encloses the zone |
| x-min | number The minimum x coordinate of the box which encloses the zone |
| z-min | number The minimum z coordinate of the box which encloses the zone |
| y-min | number The minimum y coordinate of the box which encloses the zone |
{- "name": "zone_example_name",
- "z-max": 5,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}{- "name": "zone_example_name",
- "z-max": 5,
- "id": 7,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}This endpoint allows you to permanently delete a zone from a space.
This will also delete any zone attenuations with a listener-zone-id
or a source-zone-id equal to the deleted zone's ID.
| zone_id required | integer Example: 7 The unique ID of the zone to be deleted |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space the zone will be deleted from |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
{- "id": 7
}This endpoint allows you to create a zone in a space with the provided properties.
| space_id required | string The unique ID of the space in which the zone will be created |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name required | string Example: name=zone_example_name The name of the zone |
| z-max required | number Example: z-max=5 The maximim z coordinate of the box which encloses the zone |
| y-max required | number Example: y-max=5 The maximum y coordinate of the box which encloses the zone |
| x-max required | number Example: x-max=5 The maximum x coordinate of the box which encloses the zone |
| x-min required | number Example: x-min=-5 The minimum x coordinate of the box which encloses the zone |
| z-min required | number Example: z-min=-5 The minimum z coordinate of the box which encloses the zone |
| y-min required | number Example: y-min=0 The minimum y coordinate of the box which encloses the zone |
{- "name": "zone_example_name",
- "z-max": 5,
- "id": 7,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}This endpoint allows you to create a zone in a space with the provided properties.
| space_id required | string The unique ID of the space in which the zone will be created |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| name required | string The name of the zone |
| z-max required | number The maximim z coordinate of the box which encloses the zone |
| y-max required | number The maximum y coordinate of the box which encloses the zone |
| x-max required | number The maximum x coordinate of the box which encloses the zone |
| x-min required | number The minimum x coordinate of the box which encloses the zone |
| z-min required | number The minimum z coordinate of the box which encloses the zone |
| y-min required | number The minimum y coordinate of the box which encloses the zone |
{- "name": "zone_example_name",
- "z-max": 5,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}{- "name": "zone_example_name",
- "z-max": 5,
- "id": 7,
- "y-max": 5,
- "x-max": 5,
- "x-min": -5,
- "z-min": -5,
- "y-min": 0
}This endpoint allows you to get the list of all zone attenuations in the given space
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space to get zone attenuations from |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
[- {
- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "id": 20,
- "attenuation": 0.5,
- "source-zone-id": 3
}
]This endpoint allows you to create multiple zone attenuations at once in a space.
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space in which to create zone attenuations |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| listener-zone-id required | integer The unique ID of the zone in which this attenuation is experienced. Any clients listening to audio in this zone will perceive a difference in loudness in clients in the source zone as a result of this zone attenuation. |
| frequency-rolloff | number or null Default: null Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source in the source zone. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a global or per-user basis. |
| za-offset required | integer This setting affects the priority at which this zone attenuation gets applied. It can be either positive or negative. A lower value of this setting will cause this zone attenuation to be applied with higher priority. This is particularly useful when a smaller zone is inside a larger zone, and one wants to change how sound is produced by or heard in the smaller zone. In this case, if the zone attenuations related to the larger zone have |
| attenuation | number or null Default: null Affects how quickly the volume of a sound decreases as one moves away from the sound source in the source zone. This does not affect the initial volume of the sound at the sound source. By default, this setting is Zone attenuations are particularly useful for creating distinct spatial audio environments within a space. It is also possible to create a 'stage' zone, such that audio sources within the zone are easily heard from other specified zones. Attenuation behaves differently depending on the number used:
It is also possible to set attenuation on a per-space or per-user basis. |
| source-zone-id required | integer The unique ID of the zone this attenuation affects the loudness of. Any clients producing audio in this zone will be perceived to have their loudness affected by this zone attenuation, from the perspective of clients in the listener zone. |
[- {
- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "attenuation": 0.5,
- "source-zone-id": 3
}
][- {
- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "id": 20,
- "attenuation": 0.5,
- "source-zone-id": 3
}
]This endpoint allows you to permanently delete all zone attenuations in a space.
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space in which to delete all zone attenuations |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
[- {
- "id": 20
}
]This endpoint allows you to create a zone attenuation for a space.
| space_id required | string The unique ID of the space in which to create the zone attenuation |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| listener-zone-id required | integer Example: listener-zone-id=7 The unique ID of the zone in which this attenuation is experienced. Any clients listening to audio in this zone will perceive a difference in loudness in clients in the source zone as a result of this zone attenuation. |
| frequency-rolloff | number or null Default: null Example: frequency-rolloff=16 Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source in the source zone. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a global or per-user basis. |
| za-offset required | integer Example: za-offset=-5 This setting affects the priority at which this zone attenuation gets applied. It can be either positive or negative. A lower value of this setting will cause this zone attenuation to be applied with higher priority. This is particularly useful when a smaller zone is inside a larger zone, and one wants to change how sound is produced by or heard in the smaller zone. In this case, if the zone attenuations related to the larger zone have |
| attenuation | number or null Default: null Example: attenuation=0.5 Affects how quickly the volume of a sound decreases as one moves away from the sound source in the source zone. This does not affect the initial volume of the sound at the sound source. By default, this setting is Zone attenuations are particularly useful for creating distinct spatial audio environments within a space. It is also possible to create a 'stage' zone, such that audio sources within the zone are easily heard from other specified zones. Attenuation behaves differently depending on the number used:
It is also possible to set attenuation on a per-space or per-user basis. |
| source-zone-id required | integer Example: source-zone-id=3 The unique ID of the zone this attenuation affects the loudness of. Any clients producing audio in this zone will be perceived to have their loudness affected by this zone attenuation, from the perspective of clients in the listener zone. |
{- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "id": 20,
- "attenuation": 0.5,
- "source-zone-id": 3
}This endpoint allows you to create a zone attenuation for a space.
| space_id required | string The unique ID of the space in which to create the zone attenuation |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| listener-zone-id required | integer The unique ID of the zone in which this attenuation is experienced. Any clients listening to audio in this zone will perceive a difference in loudness in clients in the source zone as a result of this zone attenuation. |
| frequency-rolloff | number or null Default: null Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source in the source zone. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a global or per-user basis. |
| za-offset required | integer This setting affects the priority at which this zone attenuation gets applied. It can be either positive or negative. A lower value of this setting will cause this zone attenuation to be applied with higher priority. This is particularly useful when a smaller zone is inside a larger zone, and one wants to change how sound is produced by or heard in the smaller zone. In this case, if the zone attenuations related to the larger zone have |
| attenuation | number or null Default: null Affects how quickly the volume of a sound decreases as one moves away from the sound source in the source zone. This does not affect the initial volume of the sound at the sound source. By default, this setting is Zone attenuations are particularly useful for creating distinct spatial audio environments within a space. It is also possible to create a 'stage' zone, such that audio sources within the zone are easily heard from other specified zones. Attenuation behaves differently depending on the number used:
It is also possible to set attenuation on a per-space or per-user basis. |
| source-zone-id required | integer The unique ID of the zone this attenuation affects the loudness of. Any clients producing audio in this zone will be perceived to have their loudness affected by this zone attenuation, from the perspective of clients in the listener zone. |
{- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "attenuation": 0.5,
- "source-zone-id": 3
}{- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "id": 20,
- "attenuation": 0.5,
- "source-zone-id": 3
}This endpoint allows you to update zero or more editable properties of a zone attenuation in a space. When requested without specifying any properties to update, this endpoint returns the specified zone attenuation unaltered.
| zone_attenuation_id required | integer Example: 20 The unique ID of the zone attenuation to be changed |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space containing the zone attenuation |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| listener-zone-id | integer Example: listener-zone-id=7 The unique ID of the zone in which this attenuation is experienced. Any clients listening to audio in this zone will perceive a difference in loudness in clients in the source zone as a result of this zone attenuation. |
| frequency-rolloff | number or null Example: frequency-rolloff=16 Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source in the source zone. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a global or per-user basis. |
| za-offset | integer Example: za-offset=-5 This setting affects the priority at which this zone attenuation gets applied. It can be either positive or negative. A lower value of this setting will cause this zone attenuation to be applied with higher priority. This is particularly useful when a smaller zone is inside a larger zone, and one wants to change how sound is produced by or heard in the smaller zone. In this case, if the zone attenuations related to the larger zone have |
| attenuation | number or null Example: attenuation=0.5 Affects how quickly the volume of a sound decreases as one moves away from the sound source in the source zone. This does not affect the initial volume of the sound at the sound source. By default, this setting is Zone attenuations are particularly useful for creating distinct spatial audio environments within a space. It is also possible to create a 'stage' zone, such that audio sources within the zone are easily heard from other specified zones. Attenuation behaves differently depending on the number used:
It is also possible to set attenuation on a per-space or per-user basis. |
| source-zone-id | integer Example: source-zone-id=3 The unique ID of the zone this attenuation affects the loudness of. Any clients producing audio in this zone will be perceived to have their loudness affected by this zone attenuation, from the perspective of clients in the listener zone. |
{- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "id": 20,
- "attenuation": 0.5,
- "source-zone-id": 3
}This endpoint allows you to update zero or more editable properties of a zone attenuation in a space. When requested without specifying any properties to update, this endpoint returns the specified zone attenuation unaltered.
| zone_attenuation_id required | integer Example: 20 The unique ID of the zone attenuation to be changed |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space containing the zone attenuation |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| listener-zone-id | integer The unique ID of the zone in which this attenuation is experienced. Any clients listening to audio in this zone will perceive a difference in loudness in clients in the source zone as a result of this zone attenuation. |
| frequency-rolloff | number or null Affects how quickly the volume of a sound decreases at high frequencies as one moves away from the sound source in the source zone. This causes sounds to seem more 'muffled' at greater distances. By default, this setting is In addition to global frequency rolloff, it is possible to set frequency rolloff on a global or per-user basis. |
| za-offset | integer This setting affects the priority at which this zone attenuation gets applied. It can be either positive or negative. A lower value of this setting will cause this zone attenuation to be applied with higher priority. This is particularly useful when a smaller zone is inside a larger zone, and one wants to change how sound is produced by or heard in the smaller zone. In this case, if the zone attenuations related to the larger zone have |
| attenuation | number or null Affects how quickly the volume of a sound decreases as one moves away from the sound source in the source zone. This does not affect the initial volume of the sound at the sound source. By default, this setting is Zone attenuations are particularly useful for creating distinct spatial audio environments within a space. It is also possible to create a 'stage' zone, such that audio sources within the zone are easily heard from other specified zones. Attenuation behaves differently depending on the number used:
It is also possible to set attenuation on a per-space or per-user basis. |
| source-zone-id | integer The unique ID of the zone this attenuation affects the loudness of. Any clients producing audio in this zone will be perceived to have their loudness affected by this zone attenuation, from the perspective of clients in the listener zone. |
{- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "attenuation": 0.5,
- "source-zone-id": 3
}{- "listener-zone-id": 7,
- "frequency-rolloff": 16,
- "za-offset": -5,
- "id": 20,
- "attenuation": 0.5,
- "source-zone-id": 3
}This endpoint allows you to permanently delete a zone attenuation from a space.
| zone_attenuation_id required | integer Example: 20 The unique ID of the zone attenuation to be deleted |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space the zone attenuation will be deleted from |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
{- "id": 20
}This endpoint allows you to request a single setting for a space. The content returned by this endpoint varies based on the setting name provided. See documentation on getting a space for possible settings that can be requested.
| setting_name required | string Example: global-volume-threshold The name of the setting |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space from which to get the setting |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
{- "{setting_name}": null
}This endpoint allows you to mute or unmute a user that is currently connected to the space
See also the JavaScript client API, which allows users to adjust the gain or mute other users for themselves only.
| user_id required | string Example: example_user_id The app-provided ID of the user that will be affected |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space in which the user is located |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| mute required | boolean If 'true', the user will be silent to everyone in the space. In contrast to the mute functionality provided by the client-side API, this mute state is server-side and cannot be overridden by the client. The user must have this mute state set to 'false' through the Administrative REST API in order to be heard by other users again. This mute state does not persist across user sessions. When a user muted on the server side reconnects to a space, or connects to a different space, they will no longer be muted on the server side. Whenever a user is muted or unmuted on the server side, the server will also send a message to the user's client. In the JavaScript client API, this message toggles the ability of the client to umute audio devices. Clients using the Javascript client API can register an |
{- "mute": true
}{- "status": "success"
}This endpoint allows you to kick a user that is currently connected to the space
| user_id required | string Example: example_user_id The app-provided ID of the user that will be kicked from the space |
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space from which the user will be kicked |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
{- "status": "success"
}| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space for which all users will have the given moderation action applied |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
[- {
- "visit-id-hash": "0tjBj3USh0xJ+R3qLkBI32Qs30ATRzXIRc27Ez/ikB4=",
- "session-start-time": "2021-03-13T00:07:26+0000",
- "jwt-user-id": "user_id"
}
]This endpoint allows you to mute or unmute all users that are currently connected to the space
See also the JavaScript client API, which allows users to adjust the gain or mute other users for themselves only.
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space for which all users will have the given moderation action applied |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| mute required | boolean If 'true', all users currently connected to the space will be silent to everyone in the space. In contrast to the mute functionality provided by the client-side API, this mute state is server-side and cannot be overridden by the clients. All affected users must have this mute state set to 'false' through the Administrative REST API in order to be heard by other users again. This mute state does not persist across user sessions. When a user muted on the server side reconnects to a space, or connects to a different space, they will no longer be muted on the server side. Whenever a user is muted or unmuted on the server side, the server will also send a message to the user's client. In the JavaScript client API, this message toggles the ability of the client to umute audio devices. Clients using the Javascript client API can register an |
{- "mute": true
}{- "status": "success"
}This endpoint allows you to kick all users that are currently connected to the space
| space_id required | string Example: 00000000-0000-0000-0000-000000000000 The unique ID of the space from which all users will be kicked |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
{- "status": "success"
}The apps API endpoints can be used to manage apps for an account. You can create an app through your High Fidelity developer account. To manage spaces within an app, use the space API endpoints.
This endpoint allows you to set a secret for signing webhook events for an app. Other properties of an app can be updated through the High Fidelity developer account.
For more information about how to set up a webserver to process webhook events, and what a webhook event looks like, please see the Express Webhook Endpoint Example.
| app_id required | string Example: d463fabf-eda5-7907-338e-fc18aabf0f69 The unique ID of the app |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| webhook-secret required | string <uuid> A secret key UUID that will be used by the servers to sign the webhook event payload using the Your server should always verify the signature in |
{- "webhook-secret": "fb6f66df-9ace-4764-9d6e-ab786e7bf669"
}{- "id": "d463fabf-eda5-7907-338e-fc18aabf0f69"
}This endpoint returns the list of webhooks which currently receive events for an app. Each webhook receives events whenever one or more users connect or disconnect from a space in the app.
For more information about how to set up a webserver to process webhook events, and what a webhook event looks like, please see the Express Webhook Endpoint Example.
| app_id required | string Example: d463fabf-eda5-7907-338e-fc18aabf0f69 The unique ID of the app |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
[
]A webhook receives events for an app from a URL. Each webhook receives events whenever one or more users connect or disconnect from a space in the app.
For more information about how to set up a webserver to process webhook events, and what a webhook event looks like, please see the Express Webhook Endpoint Example.
| app_id required | string Example: d463fabf-eda5-7907-338e-fc18aabf0f69 The unique ID of the app |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
| url required | string <url> <= 4096 characters The URL which receives webhook events. Warning: HTTP webhook URLs should only be used for testing. Always use HTTPS webhook URLs in production to ensure security. The URL must be able to receive POST requests which have the custom field Your server should always verify the signature in |
{
}{- "id": 14
}When a webhook is deleted, its URL no longer receives events.
| webhook_id required | integer Example: 14 The unique ID of the webhook to be deleted |
| app_id required | string Example: d463fabf-eda5-7907-338e-fc18aabf0f69 The unique ID of the app from which the webhook will be deleted |
| token required | string An admin JSON Web Token for the app in which this operation takes place |
{- "id": 14
}