๐Ÿ“˜

Only HDL310 and HDL410 devices support this command

Allows clients to get control settings from a device, including the speaker treble level, the speaker bass level, and whether or not the microphone is muted.

After a request is made, the control settings will be returned via the response body from the device based on which settings were requested. If there is no specified body, or no attributes in the attributes array inside the request body, then it will return all control settings supported.

If an error occurs, the WebSocket will respond with an appropriate status code and message.

Control settingDescription
microphoneMuteWhen this property is true, the microphone is muted. When this property is false, the microphone is not muted.
speakerTrebleLevelThis is the speaker treble level. This is measured in whole numbers from 0 to 100.
speakerBassLevelThis is the speaker bass level. This is measured in whole numbers from 0 to 100.

Request

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": string,
  "clientId": string,
  "body": {
    "attributes": ["microphoneMute", "speakerTrebleLevel", "speakerBassLevel"]
  }
}

Response

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": string,
  "clientId": string,
  "body": {
    "microphoneMute": boolean,
    "speakerTrebleLevel": number,
    "speakerBassLevel": number
  }
}

Errors

Status codeDescription
10000 โ€“ Bad requestRequest does not conform to the specification. The message field will include detailed information about which part of the request is incorrect.
12001 โ€“ Unsupported attributesRequest body does not conform to the specification. The message field will include detailed information about which part of the request body is incorrect.

Sample requests

1. Valid request/response with body

Request

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test",
  "body": {
    "attributes": ["microphoneMute"]
  }
}

Response

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test",
  "body": {
    "microphoneMute": true
  }
}

2. Valid request/response with no body

Request

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test"
}

Response

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test",
  "body": {
    "microphoneMute": false,
    "speakerTrebleLevel": 48,
    "speakerBassLevel": 55
  }
}

3. Invalid request - no requestId or clientId

Request

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": "",
  "clientId": ""
}

Response

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": "",
  "clientId": "",
  "errors": [
    {
      "statusCode": 10000,
      "message": "clientId: String can't be empty or whitespace"
    },
    {
      "statusCode": 10000,
      "message": "requestId: String can't be empty or whitespace"
    }
  ]
}

4. Invalid request - bad body

This is an invalid request, since the attributes values are all case sensitive.

Request

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test",
  "body": {
    "attributes": ["microphonemute"]
  }
}

Response

{
  "request": "v1/devices/commands/getControlSettings",
  "requestId": "3abe203s-42b7-4b0b-9awaf-5c381793a192",
  "clientId": "test",
  "errors": [
    {
      "statusCode": 12001,
      "message": "Unsupported Attributes: attributes 0. Invalid enum value. Expected 'microphoneMute' | 'speakerTrebleLevel' | 'speakerBassLevel', received 'microphonemute'"
    }
  ]
}