Yxc API Spec Basic
Yxc API Spec Basic
Rev. 1.10
Contents
1. Preface ................................................................................................................................................ 5
2. Definitions .......................................................................................................................................... 5
3. API Overview ..................................................................................................................................... 5
4. System ................................................................................................................................................ 7
4.1. getDeviceInfo .......................................................................................................................... 7
4.2. getFeatures ............................................................................................................................. 8
4.3. getNetworkStatus ................................................................................................................. 14
4.4. setWiredLan .......................................................................................................................... 16
4.5. setWirelessLan...................................................................................................................... 17
4.6. setWirelessDirect .................................................................................................................. 17
4.7. setIpSettings ......................................................................................................................... 18
4.8. setNetworkName .................................................................................................................. 19
4.9. setAirPlayPin ........................................................................................................................ 19
4.10. getMacAddressFilter ............................................................................................................ 20
4.11. setMacAddressFilter ............................................................................................................ 21
4.12. getNetworkStandby .............................................................................................................. 21
4.13. setNetworkStandby .............................................................................................................. 22
4.14. getBluetoothInfo ................................................................................................................... 22
4.15. setBluetoothStandby ............................................................................................................ 23
4.16. setBluetoothTxSetting ......................................................................................................... 23
4.17. getBluetoothDeviceList ........................................................................................................ 24
4.18. updateBluetoothDeviceList ................................................................................................. 25
4.19. connectBluetoothDevice ....................................................................................................... 25
4.20. disconnectBluetoothDevice .................................................................................................. 26
4.21. getFuncStatus ....................................................................................................................... 26
4.22. setAutoPowerStandby .......................................................................................................... 27
4.23. setIrSensor ............................................................................................................................ 27
4.24. setSpeakerA .......................................................................................................................... 28
4.25. setSpeakerB .......................................................................................................................... 28
4.26. setDimmer ............................................................................................................................. 29
4.27. setZoneBVolumeSync ........................................................................................................... 29
4.28. setHdmiOut1......................................................................................................................... 30
4.29. setHdmiOut2......................................................................................................................... 30
4.30. getNameText ......................................................................................................................... 31
4.31. setNameText ......................................................................................................................... 32
4.32. getLocationInfo ..................................................................................................................... 33
4.33. sendIrCode ............................................................................................................................ 34
5. Zone .................................................................................................................................................. 34
5.1. getStatus ............................................................................................................................... 34
5.2. getSoundProgramList .......................................................................................................... 36
5.3. setPower ................................................................................................................................ 37
5.4. setSleep ................................................................................................................................. 38
5.5. setVolume .............................................................................................................................. 38
5.6. setMute .................................................................................................................................. 39
5.7. setInput ................................................................................................................................. 39
5.8. setSoundProgram ................................................................................................................. 40
5.9. set3dSurround ...................................................................................................................... 40
7.20. manageList............................................................................................................................ 75
7.21. getPlayDescription ............................................................................................................... 76
7.22. setListSortOption ................................................................................................................. 77
7.23. getAccountStatus .................................................................................................................. 77
7.24. switchAccount ....................................................................................................................... 79
7.25. getServiceInfo ....................................................................................................................... 79
8. CD ..................................................................................................................................................... 82
8.1. getPlayInfo ............................................................................................................................ 82
8.2. setPlayback ........................................................................................................................... 83
8.3. toggleTray.............................................................................................................................. 83
8.4. toggleRepeat.......................................................................................................................... 84
8.5. toggleShuffle ......................................................................................................................... 84
9. Clock ................................................................................................................................................. 85
9.1. getSettings ............................................................................................................................ 85
9.2. setAutoSync .......................................................................................................................... 87
9.3. setDateAndTime ................................................................................................................... 88
9.4. setClockFormat ..................................................................................................................... 88
9.5. setAlarmSettings .................................................................................................................. 89
10. Response Code List .......................................................................................................................... 90
11. Events ............................................................................................................................................... 91
11.1. Outline ................................................................................................................................... 91
11.2. Conditions ............................................................................................................................. 91
11.3. Details of event data............................................................................................................. 91
12. All ID List......................................................................................................................................... 95
13. Application Notes ............................................................................................................................ 96
13.1. Example of List Control ....................................................................................................... 96
13.1.1. Preparation before start browsing ............................................................................... 96
13.1.2. Retrieving list information (In case max line number is less than or equal to 8) .... 96
13.1.3. Layer change.................................................................................................................. 97
13.1.4. Retrieving list information (In case max line number is more than 8) ..................... 98
13.1.5. Playback a file.............................................................................................................. 100
13.1.6. Moving back one layer ................................................................................................ 100
13.2. Device Search ...................................................................................................................... 101
1. Preface
This document describes specifications of API of Yamaha Extended Control (YXC, hereafter) for
Yamaha A/V products. YXC is Yamaha’s new communication protocol sent over Ethernet and Wi-Fi
to control MusicCast enabled devices. This document describes basic specifications including the
way to control power, change input, browse list, retrieve album art. Advanced function including
MusicCast link function and others is described in Yamaha Extended Control API Specification
(Advanced).
2. Definitions
MusicCast
A function to share music easily among audio devices in multiple rooms at homes
MusicCast Device(s)
All products/devices that are equipped with MusicCast functions
MusicCast Network
A communication network on which MusicCast Devices join.
By multiple MusicCast Devices communicating each other on the same network
(=MusicCast Network), all MusicCast devices can be operated using MusicCast App/YXC
Location
A unit of MusicCast Network being comprised. Location is expressed as Location ID made up
by 32 characters
Max number of MusicCast Devices within 1 Location is up to 10
Link
A function to share an audio stream among rooms
Device
Equal to MusicCast Device
Room
A minimum component MusicCast devices can be shown/associated within a MusicCast
network
3. API Overview
Request Parameters
Parameter information to inquire. Parameters stated as "required = yes" have always to be
specified as one of inquiring parameters, while parameters marked as "required = no" can be
omitted or need to be used in special cases
Response Parameters
Parameter information to be returned in the body of response (in JSON object format). Not all
parameters listed here are always to be returned in a response, depending on each device
specs/functions/setup situations. “response_code” is always returned
Note: JSON format data expressions in this document get well formatted for readability,
but actual data don’t include spaces, intends and carriage return/line feeds
Base URL
"<BaseURL>" shown in URI is http://{host}/YamahaExtendedControl
4. System
4.1. getDeviceInfo
Request Parameters
URI <BaseURL>/v1/system/getDeviceInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getDeviceInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
model_name string Returns model name
Ex. "RX-V479" / "WXC-50" / "UNKNOWN"
destination string Returns Device’s destination region code. There are cases of multiple
regions codes like "UC" "BG" depending on Devices
Values: "J" / "U" / "C" / "R" / "BG" / "T" / "A" / "L" / "K"
device_id string Return Device’s ID (12 digit ASCII).Device ID is unique ID to identify
Device.
Note: Available on and after API Version 1.17
system_version floating point Returns System Version
api_version floating point Returns API Version
netmodule_version string Returns Network Module version
netmodule_checksum string Return check-sum of Network Module in hex. “00000000” is returned
until check-sum calculation is done
operation_mode string Reserved
update_error_code string Reserved
update_progress object Reserved
Example Response {
"response_code":0,
"model_name":"RX-V679",
"destination":"UC",
"system_id":"ABADCAFE",
"system_version":1.10,
"api_version":1.00,
"netmodule_version":"0200 ",
"netmodule_checksum":"878059DD",
"operation_mode":"normal",
"update_error_code"."00000000"
}
4.2. getFeatures
Request Parameters
URI <BaseURL>/v1/system/getFeatures
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getFeatures
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
system object Returns system’s overall info
|- func_list string Returns valid functions
array Values: "wired_lan" / "wireless_lan" / "wireless_direct" /
"network_standby" / "network_standby_auto" /
"bluetooth_standby" / "bluetooth_tx_setting" /
"auto_power_standby" / "ir_sensor" / "speaker_a" / "speaker_b" /
"headphone" / "dimmer" / "zone_b_volume_sync" / "airplay" /
"stereo_pair" / "speaker_settings" / "disklavier_settings"
|- zone_num integer Returns Zone numbers. Zone B is treated as Zone2 in YXC so a
Device with ZoneB returns 2. A Device without Zones returns 1
|- input_list array Returns a list of inputs
|- id string Returns Input ID
Refer to “All ID List” for details
|- distribution_enable boolean Returns whether an input can be a source of Link distribution
|- rename_enable boolean Returns whether an input can be renamed
|- account_enable boolean Return whether an input comes with an account info
|- play_info_type string Returns a type of playback info. Depending on this type, use
specific API to retrieve appropriate playback info
Values: "none" / "tuner" / "netusb" / "cd"
|- range_step array Returns minimum/maximum/step values of a parameter
|- id string Returns an ID
Value: "dimmer"
|- min integer Returns a minimum value of a parameter
|- max integer Returns a maximum value of a parameter
|- step integer Returns a step value of a parameter
|- speaker_settings object Reserved
|- ymap_list string Reserved
array
|- web_control_ url string Reserved
zone array Returns Zone related information
|- id string Returns Zone ID.
Refer to "All ID List" for details
Example Response {
"response_code":0,
"system":{
"func_list":[
"wired_lan",
"wireless_lan",
"wireless_direct",
"network_standby",
"bluetooth_standby",
"speaker_settings"
],
"zone_num":3,
"input_list":[
{
"id":"hdmi1",
"distribution_enable":false,
"rename_enable":true,
"account_enable":false
},
{
"id":"hdmi2",
"distribution_enable":false,
"rename_enable":true,
"account_enable":false
},
...
{
"id":"spotify",
"distribution_enable":true,
"rename_enable":false,
"account_enable":false
}
],
"speaker_settings":{
"type":"beam",
"common":{
"attribute":1,
"range_step":[
{
"id":"target_angle",
"min":-90,
"max":90,
"step":1
}
]
},
"front_l":{
"attribute":7,
"range_step":[
{
"id":"level",
"min":-10,
"max":10,
"step":1
},
{
"id":"h_angle",
"min":-90,
"max":90,
"step":1
}
]
},
...
"swfr":{
"attribute":1,
"range_step":[
{
"id":"level",
"min":-10,
"max":10,
"step":1
}
]
}
}
},
"zone":[
{
"id":"main",
"func_list":[
"power",
"sleep",
"volume",
"mute",
"sound_program",
"pure_direct",
"enhancer",
"tone_control",
"prepare_input_change",
"link_control"
],
"input_list":[
"hdmi1",
"hdmi2",
...
"spotify"
],
"sound_program_list":[
"munich",
"vienna",
...
"straight"
],
"link_control_list":[
"standard",
"stability"
],
"range_step":[
{
"id":"volume",
"min":0,
"max":194,
"step":1
},
{
"id":"tone_control",
"min":-12,
"max":12,
"step":1
}
]
},
{
"id":"zone2",
"zone_b":false,
"func_list":[
"power",
"sleep",
"volume",
"mute",
"tone_control",
"prepare_input_change"
],
"input_list":[
"hdmi1",
"hdmi2",
...
"spotify"
],
"range_step":[
{
"id":"volume",
"min":0,
"max":194,
"step":1
},
{
"id":"tone_control",
"min":-5,
"max":5,
"step":1
}
]
}
],
"tuner":{
"func_list":[
"am",
"fm",
"rds",
"dab"
],
"range_step":[
{
"id":"am",
"min":531,
"max":1611,
"step":9
},
{
"id":"fm",
"min":76000,
"max":90000,
"step":100
}
],
"preset":{
"type":"common",
"num":40
}
},
"netusb":{
"preset":{
"num":40
}
"vtuner_fver":"A"
}
}
4.3. getNetworkStatus
Request Parameters
URI <BaseURL>/v1/system/getNetworkStatus
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getNetworkStatus
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
network_name string Returns Network Name (Friendly Name)
connection string Returns setup status of Connection
Values: "wired_lan" / "wireless_lan" / "wireless_direct" / "extend_1" /
"extend_2" / "extend_3" / "unknown"
dhcp boolen Returns DHCP setup
ip_address string Returns IP Address
subnet_mask string Returns Subnet Mask
default_gateway string Returns Default Gateway
dns_server_1 string Returns DNS Server 1
dns_server_2 string Returns DNS Server 2
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 14 of 104
Yamaha Extended Control API Specification (Basic)
Example Response {
"response_code":0,
"network_name":"Yamaha AVR",
"connection":"wireless_lan",
"dhcp":true,
"ip_address":"192.168.0.10",
"subnet_mask":"255.255.255.0",
"default_gateway":"192.168.0.1",
"dns_server_1":"192.168.0.1",
"dns_server_2":"192.168.0.2",
"wireless":{
"ssid":"AP1-2.4GHz",
"type":"wpa2-psk(aes)",
"key":"abadcafe",
"strength":88
},
"musiccast_network":{
"ready":true,
"device_type":"root",
"child_num":1,
"initial_join_running":false
},
"mac_address":{
"wired_lan":"00A0DE012345",
"wireless_lan":"78A501012345",
"wireless_direct":"78A501012346"
},
"vtuner_id":"00A0DE012345",
"airplay_pin":"abc123",
}
4.4. setWiredLan
For setting Wired Network. Network connection is switched to wired by using this API. If no
parameter is specified, current parameter is used. If set parameter is incomplete, it is possible not
to provide network avalability.
Request Parameters
name type required description
dhcp string no Specifies DHCP setting
ip_address string no Specifies IP Address
subnet_mask string no Specifies Subnet Mask
default_gateway string no Specifies Default Gateway
dns_server_1 string no Specifies DNS Server 1
dns_server_2 string no Specifies DNS Server 2
URI <BaseURL>/v1/system/setWiredLan
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/system/setWiredLan
(URI)
Example Request {
(json) "dhcp":false,
"ip_address":"192.168.0.11",
"subnet_mask":"255.255.255.0",
"default_gateway":"192.168.0.1",
"dns_server_1":"192.168.0.1",
"dns_server_2":"0.0.0.0"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 16 of 104
Yamaha Extended Control API Specification (Basic)
4.5. setWirelessLan
For setting Wireless Network (Wi-Fi). Network connection is switched to wireless (Wi-Fi) by using
this API. If no parameter is specified, current parameter is used. If set parameter is incomplete, it
is possible not to provide network avalability.
Request Parameters
name type required description
ssid string no Specifies access point SSID (UTF-8 within 32 bytes)
type string no Specifies wireless encryption protocol
Values: "none" / "wep" / "wpa2-psk(aes)" / "mixed_mode"
key string no Specifies encryption key (printable ASCII (0x20-0x7E) within
64 characters). This value is invalid when type "none" is
specified.
dhcp string no Specifies DHCP setting
ip_address string no Specifies IP Address
subnet_mask string no Specifies Subnet Mask
default_gateway string no Specifies Default Gateway
dns_server_1 string no Specifies DNS Server 1
dns_server_2 string no Specifies DNS Server 2
URI <BaseURL>/v1/system/setWirelessLan
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/system/setWirelessLan
(URI)
Example Request {
(json) "ssid":"AP1-2.4GHz",
"type":"wpa2-psk(aes)",
"key":"abadcafe",
"dhcp":false,
"ip_address":"192.168.0.11",
"subnet_mask":"255.255.255.0",
"default_gateway":"192.168.0.1",
"dns_server_1":"192.168.0.1",
"dns_server_2":"0.0.0.0"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.6. setWirelessDirect
For setting Wireless Network (Wireless Direct). Network connection is switched to wireless
(Wireless Direct) by using this API. If no parameter is specified, current parameter is used. If set
parameter is incomplete, it is possible not to provide network avalability.
Request Parameters
name type required description
type string no Specifies wireless encryption protocol
Values: "none" / "wpa2-psk(aes)"
key string no Specifies encryption key (printable ASCII (0x20-0x7E) within 64
characters). This value is invalid when type "none" is specified.
URI <BaseURL>/v1/system/setWirelessDirect
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/system/setWirelessDirect
(URI)
Example Request {
(json) "type":"wpa2-psk(aes)",
"key":"abadcafe"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.7. setIpSettings
For setting IP. This API only set IP as maintain same network connection status (Wired/Wireless
Lan/Wireless Direct/Extend). If no parameter is specified, current parameter is used. If set
parameter is incomplete, it is possible not to provide network avalability.
Request Parameters
name type required description
dhcp string no Specifies DHCP setting
ip_address string no Specifies IP Address
subnet_mask string no Specifies Subnet Mask
default_gateway string no Specifies Default Gateway
dns_server_1 string no Specifies DNS Server 1
dns_server_2 string no Specifies DNS Server 2
URI <BaseURL>/v1/system/setIpSettings
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/system/setIpSettings
(URI)
Example Request {
(json) "dhcp":false,
"ip_address":"192.168.0.11",
"subnet_mask":"255.255.255.0",
"default_gateway":"192.168.0.1",
"dns_server_1":"192.168.0.1",
"dns_server_2":"0.0.0.0"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.8. setNetworkName
Request Parameters
name type required description
name string yes Specifies Network Name. Specifiable up to 32 characters.
URI <BaseURL>/v1/system/setNetworkName
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/system/setNetworkName
(URI)
Example Request {
(json) "name":"Yamaha AVR"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.9. setAirPlayPin
For setting AirPlay PIN. This is valid only when “airplay” exists in “func_list” found in
/system/getFuncStatus.
Request Parameters
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 19 of 104
Yamaha Extended Control API Specification (Basic)
URI <BaseURL>/v1/system/setAirPlayPin
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/system/setAirPlayPin
(URI)
Example Request {
(json) "pin":"abc123"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.10. getMacAddressFilter
Request Parameters
URI <BaseURL>/v1/system/getMacAddressFilter
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getMacAddressFilter
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
filter boolean Returns whether or not Filter is valid
address_1 string Returns MAC Address [1] (12 digit ASCII)
... ... ...
address_10 string Returns MAC Address [10] (12 digit ASCII)
Example Response {
"response_code":0,
"filter":true,
"address_1":"00A0DE1BFFFA",
"address_2":"00A0DE1BFFFB",
"address_3":"00A0DE1BFFFC",
"address_4":"00A0DE1BFFFD",
"address_5":"00A0DE1BFFFE",
"address_6":"000000000000",
"address_7":"000000000000",
"address_8":"000000000000",
"address_9":"000000000000",
"address_10":"00A0DE1BFFFF"
}
4.11. setMacAddressFilter
Request Parameters
name type required description
filter boolean no Specifies valid/invalid setup of Filter
address_1 string no Specifies MAC Address [1] (12 digit ASCII)
... ... ... ...
address_10 string no Specifies MAC Address [10] (12 digit ASCII)
URI <BaseURL>/v1/system/setMacAddressFilter
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/system/setMacAddressFilter
(URI)
Example Request {
(json) "filter":true,
"address_1":"00A0DE1BFFFA",
"address_2":"00A0DE1BFFFB",
"address_3":"00A0DE1BFFFC",
"address_10":"00A0DE1BFFFF"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.12. getNetworkStandby
Request Parameters
URI <BaseURL>/v1/system/getNetworkStandby
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getNetworkStandby
Response Parameters
Example Response {
"response_code":0,
"network_standby":"auto"
}
4.13. setNetworkStandby
Request Parameters
name type required description
standby string yes Specifies setup of Network Standby. "auto" is available only when
"network_standby_auto" exists in system - func_list under
/system/getFeatures
Values: "off" / "on" / "auto"
URI <BaseURL>/v1/system/setNetworkStandby?standby=<standby>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setNetworkStandby?standby=on
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.14. getBluetoothInfo
For retrieving setup/information of Bluetooth. Parameters are readable only when corresponding
functions are available in “func_list” of /system/getFuncStatus. “bluetooth_device” parameter is
contained in “bluetooth_tx_setting”.
Request Parameters
URI <BaseURL>/v1/system/getBluetoothInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getBluetoothInfo
Response Parameters
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 22 of 104
Yamaha Extended Control API Specification (Basic)
Example Response {
"response_code":0,
"bluetooth_standby":true,
"bluetooth_tx_setting":true,
"bluetooth_device":{
"connected":true,
"name":"Yamaha Headphone",
"type":"headphone",
"address":"C259197BD6F5"
}
}
4.15. setBluetoothStandby
Request Parameters
name type required description
enable boolean yes Specifies Bluetooth Standby setting
URI <BaseURL>/v1/system/setBluetoothStandby?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setBluetoothStandby?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.16. setBluetoothTxSetting
Request Parameters
name type required description
enable boolean yes Specifies Bluetooth transmission setting
URI <BaseURL>/v1/system/setBluetoothTxSetting?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setBluetoothTxSetting?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.17. getBluetoothDeviceList
For retrieving Bluetooth (Sink) device list. This API is available only when “bluetooth_tx_setting”
is true under /system/getFuncStatus.
This device list information is in the cach. If update device list information, excute
/system/updateBluetoothDeviceList.
Request Parameters
URI <BaseURL>/v1/system/getBluetoothDeviceList
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getBluetoothDeviceList
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
updating boolean Returns whether or not device list is being updated. Returns true while
device list is being updated via /system/updateBluetoothDeviceList
device_list array Returns Bluetooth device list
|-- name string Returns device name (max size is 128 bytes).
|-- type string Returns type of device.
Values: "loudspeaker" / "headphone" / "handsfree_device" / "unknown"
|- address string Returns BT address (12-digit hex)
Example Response {
"response_code":0,
"updating":false,
"device_list":[
{
"name":"Yamaha Speaker",
"type":"loudspeaker",
"address":"9AF2B8CE1580"
},
...
{
"name":"Yamaha Headphone",
"type":"headphone",
"address":"C259197BD6F5"
}
]
}
4.18. updateBluetoothDeviceList
For updating Bluetooth (Sink) device list. This API is available only when “bluetooth_tx_setting”
is true under /system/getFuncStatus.
Retrieve update status and list information after finish updating via
/system/getBluetoothDeviceList.
Request Parameters
URI <BaseURL>/v1/system/updateBluetoothDeviceList
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/updateBluetoothDeviceList
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.19. connectBluetoothDevice
For connecting Bluetooth (Sink) device. This API is available only when “bluetooth_tx_setting” is
true under /system/getFuncStatus.
It is possible to take time to return this API response issued after connection status is fixed.
Request Parameters
name type required description
address string yes Specifies Bluetooth address
URI <BaseURL>/v1/system/connectBluetoothDevice?address=<address>
Method GET
Example http://{host}/YamahaExtendedControl/v1/system/connectBluetoothDevice?address=C259197BD6F5
Request
Response Parameters
name type description
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 25 of 104
Yamaha Extended Control API Specification (Basic)
Example Response {
"response_code":0
}
4.20. disconnectBluetoothDevice
For disconnecting Bluetooth (Sink) device. This API is available only when “bluetooth_tx_setting”
is true under /system/getFuncStatus.
This API response is issued immediately after disconnect request is accepted.
Request Parameters
URI <BaseURL>/v1/system/disconnectBluetoothDevice
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/disconnectBluetoothDevice
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.21. getFuncStatus
For retrieving setup/information of overall system function. Parameters are readable only when
corresponding functions are available in “func_list” of /system/getFeatures
Request Parameters
URI <BaseURL>/v1/system/getFuncStatus
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getFuncStatus
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
auto_power_standby boolean Returns whether or not Auto Power Standby is enabled
ir_sensor boolean Returns whether or not IR sensor is available
speaker_a boolean Returns whether or not Speaker A is available
speaker_b boolean Returns whether or not Speaker B is available
headphone boolean Returns whether or not headphone is connected
dimmer integer Returns Dimmer setting number. Returns -1 if it’s Auto Dimmer, and
0 or higher if its’ manual setup
zone_b_volume_sync boolean Returns whether Zone B volume sync Zone A volume or not.
hdmi_out_1 boolean Returns output setting of HDMI OUT 1 terminal
hdmi_out_2 boolean Returns output setting of HDMI OUT 2 terminal
Example Response {
"response_code":0,
"auto_power_standby":false,
"ir_sensor":false,
"speaker_a":true,
"speaker_b":false,
"headphone":false,
"dimmer":3,
"zone_b_volume_sync":false
"hdmi_out_1":true,
"hdmi_out_2":false
}
4.22. setAutoPowerStandby
For setting Auto Power Standby status. Actual operations/reactions of enabling Auto Power
Standby depend on each Device
Request Parameters
name type required description
enable boolean yes Specifies Auto Power Standby status
URI <BaseURL>/v1/system/setAutoPowerStandby?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setAutoPowerStandby?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.23. setIrSensor
Request Parameters
name type required description
enable boolean yes Specifies setting of IR sensor
URI <BaseURL>/v1/system/setIrSensor?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setIrSensor?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.24. setSpeakerA
Request Parameters
name type required description
enable boolean yes Specifies Speaker A status
URI <BaseURL>/v1/system/setSpeakerA?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setSpeakerA?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.25. setSpeakerB
Request Parameters
name type required description
enable boolean yes Specifies Speaker B status
URI <BaseURL>/v1/system/setSpeakerB?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setSpeakerB?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Example Response {
"response_code":0
}
4.26. setDimmer
Request Parameters
name type required description
value integer yes Setting Dimmer. Specifies -1 in case of auto setting.
Specifies 0 or more than 0 in case of manual setting.
Auto setting is available only when -1 is exists in vale range under
/system/getFeatures.
Value Range: calculated by minimum/maximum/step values gotten
via /system/getFeatures
URI <BaseURL>/v1/system/setDimmer?value=<value>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setDimmer?value=3
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.27. setZoneBVolumeSync
Request Parameters
name type required description
enable boolean yes Specifies whether or not Zone B volume sync Zone A volume.
URI <BaseURL>/v1/system/setZoneBVolumeSync?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setZoneBVolumeSync?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.28. setHdmiOut1
Request Parameters
name type required description
enable boolean yes Specifies HDMI OUT 1 terminal output status
URI <BaseURL>/v1/system/setHdmiOut1?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setHdmiOut1?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.29. setHdmiOut2
Request Parameters
name type required description
enable boolean yes Specifies HDMI OUT 2 terminal output status
URI <BaseURL>/v1/system/setHdmiOut2?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/setHdmiOut2?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.30. getNameText
For retrieving text information of Zone, Input, Sound program. If they can be renamed, can
retrieve text information renamed.
Request Parameters
name type required description
id string no Specifies ID. If no ID is specified, retrieve all information of
Zone, Input, Sound program. Refer to “All ID List” for details
URI <BaseURL>/v1/system/getNameText?id=<id>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getNameText?id=main
Example Response {
"response_code":0,
"zone_list":[
{
"id":"main",
"text":"Living Room"
},
{
"id":"zone2",
"text":"Kitchen"
}
],
"input_list":[
{
"id":"hdmi1",
"text":"BD Player"
},
{
"id":"hdmi2",
"text":"HDMI2"
},
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 31 of 104
Yamaha Extended Control API Specification (Basic)
...
{
"id":"spotify",
"text":"Spotify"
}
],
"sound_program_list":[
{
"id":"munich",
"text":"Hall_in_Munich"
},
{
"id":"vienna,
"text":"Hall_in_Vienna"
},
...
{
"id":"straight",
"text":"Straight"
}
]
}
Example Response {
"response_code":0,
"id":"hdmi1",
"text":"BD Player"
}
4.31. setNameText
Request Parameters
name type required description
id string yes Specifies ID. Input ID can be specified only when
" rename_enable " is true under /system/getFeatures.
Sound Program ID can not be specified.
Note:
If "main" is specified, Network Name is overwritten with same
text information to be acceptable both MusicCast CONTROLLER
URI <BaseURL>/v1/system/setNameText
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/system/setNameText
(URI)
Example Request {
(json) "id":"main",
"text":"Living Room"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
4.32. getLocationInfo
Request Parameters
URI <BaseURL>/v1/system/getLocationInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/getLocationInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
id string Returns Location ID in 32-digit hex
name string Returns Location Name
zone_list object Returns Location setup status of each Zone. Retrievable only when each
Zone is valid
|- main boolean Returns whether or not Main Zone Location setup is valid
|- zone2 boolean Returns whether or not Zone2 Location setup is valid
|- zone3 boolean Returns whether or not Zone3 Location setup is valid
|- zone4 boolean Returns whether or not Zone4 Location setup is valid
stereo_pair_status string Reserved
Example Response {
"response_code":0,
"id":"9A237BF5AB80ED3C7251DFF49825CA42",
"name":"Home",
"zone_list":{
"main":true,
"zone2":true,
"zone3":false
},
"stereo_pair_status":"none"
}
4.33. sendIrCode
For sending specific remote IR code. A Device is operated same as remote IR code reception. But
continuous IR code cannot be used in this command. Refer to each Device’s IR code list for details
Request Parameters
name type required description
code string yes Specifies IR code in 8-digit hex
URI <BaseURL>/v1/system/sendIrCode?code=<code>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/system/sendIrCode?code=7F016C13
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5. Zone
5.1. getStatus
For retrieving basic information of each Zone like power, volume, input and so on
Request Parameters
name type required description
zone string yes Specifies target Zone
Values: "main" / "zone2" / "zone3" / "zone4"
URI <BaseURL>/v1/<zone>/getStatus
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/getStatus
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
power string Returns power status
Values: "on" / "standby"
sleep integer Returns Sleep Timer setup value (unit in minutes)
Values: 0 / 30 / 60 / 90 / 120
volume integer Returns volume value
Value Range: calculated by minimum/maximum/step values gotten via
/system/getFeatures
mute boolean Returns mute status
max_volume integer Returns Max Volume setup
Value Range: calculated by minimum/maximum/step values gotten via
/system/getFeatures
input string Returns selected Input ID
Values: Input IDs gotten via /system/getFeatures
distribution_enable boolean Returns whether or not current Input is distributable status
sound_program string Returns selected Sound Program ID
Values: Sound Program IDs gotten via /system/getFeatures
surround_3d boolean Returns 3D Surround status
direct boolean Returns Direct status
pure_direct boolean Returns Pure Direct status
enhancer boolean Returns Enhancer status
tone_control object Returns Tone Control status
|- mode string Returns Mode type. Available on API version XXX
Values: what is gotten via /system/getFeatures
|- bass integer Returns Bass status
Value Range: calculated by minimum/maximum/step values gotten via
/system/getFeatures
|- treble integer Returns Treble status
Value Range: calculated by minimum/maximum/step values gotten via
/system/getFeatures
equalizer object Returns Equalizer status
|- mode string Returns Mode type. Available on API version XXX
Values: what is gotten via /system/getFeatures
|- low integer Returns Low status
Value Range: calculated by minimum/maximum/step values gotten via
/system/getFeatures
|- mid integer Returns Mid status
Value Range: calculated by minimum/maximum/step values gotten via
/system/getFeatures
|- high integer Returns High status
Value Range: calculated by minimum/maximum/step values gotten via
/system/getFeatures
balance integer Returns Speaker L/R Balance status. Negative values are for left side,
positive values are for right side balance
Example Response {
"response_code":0,
"power":"on",
"sleep":0,
"volume":30,
"mute":false,
"max_volume":100,
"input":"pandora",
"distribution_enable":true,
"sound_program":"chamber",
"pure_direct":false,
"enhancer":true.
"tone_control":{
"bass":0,
"treble":2
},
"dialogue_level":0.
"dialogue_lift":1,
"disable_flags":0
}
5.2. getSoundProgramList
For retrieving a list of Sound Program available in each Zone. It is possible for the list contents to
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 36 of 104
Yamaha Extended Control API Specification (Basic)
be dynamically changed
Request Parameters
name type required description
zone string yes Specifies target Zone
Values: "main" / "zone2" / "zone3" / "zone4"
URI <BaseURL>/v1/<zone>/getSoundProgramList
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/getSoundProgramList
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
sound_program_list string array Returns a list of selectable sound program
Example Response {
"response_code":0,
"sound_program_list":[
"munich",
"vienna",
...
"straight"
]
}
5.3. setPower
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
power string yes Specifies power status
Values: "on" / "standby" / "toggle"
URI <BaseURL>/v1/<zone>/setPower?power=<power>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/zone3/setPower?power=on
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
xample Response {
"response_code":0
}
5.4. setSleep
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
sleep integer yes Specifies Sleep Time (unit in minutes)
Values: 0 / 30 / 60 / 90 / 120
URI <BaseURL>/v1/<zone>/setSleep?sleep=<sleep>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setSleep?sleep=120
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.5. setVolume
For setting volume in each Zone. Values of specifying range and steps are different. There are
some Devices that cannot allow this value to be go up to Device’s maximum volume.
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
volume integer yes Specifies volume value
Value Range: calculated by minimum/maximum/step values gotten
via /system/getFeatures
(Available on and after API Version 1.17) "up" / "down"
step integer no Specifies volume step value if the volume is “up” or “down”. If
nothing specified, minimum step value is used implicitly.
(Available on and after API Version 1.17)
Values: Value range calculated by minimum/maximum/step values
gotten via /system/getFeatures
URI <BaseURL>/v1/<zone>/setVolume?volume=<volume>&step=<step>
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 38 of 104
Yamaha Extended Control API Specification (Basic)
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setVolume?volume=50
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.6. setMute
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
enable boolean yes Specifying mute status
URI <BaseURL>/v1/<zone>/setMute?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setMute?enable=false
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.7. setInput
Request Parameters
name type required description
zone string yes Specifies target zone
Values: "main" / "zone2" / "zone3" / "zone4"
input string yes Specifies Input ID
Values: Input IDs gotten via /system/getFeatures
mode string no Specifies select mode. If no parameter is specified, actions of input
change depend on a Device’s specification
Value: "autoplay_disabled" (Restricts Auto Play of Net/USB
URI <BaseURL>/v1/<zone>/setInput?input=<input>&mode=<mode>
Method GET
Example http://{host}/YamahaExtendedControl/v1/main/setInput?input=airplay&mode=autoplay_disabled
Request
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.8. setSoundProgram
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
program string yes Specifies Sound Program ID
Values: Sound Program IDs gotten via /system/getFeatures
URI <BaseURL>/v1/<zone>/setSoundProgram?program=<program>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setSoundProgram?program=vienna
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.9. set3dSurround
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
URI <BaseURL>/v1/<zone>/set3dSurround?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/set3dSurround?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.10. setDirect
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
enable boolean yes Specifies Direct status
URI <BaseURL>/v1/<zone>/setDirect?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setDirect?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.11. setPureDirect
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
enable boolean yes Specifies Pure Direct status
URI <BaseURL>/v1/<zone>/setPureDirect?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setPureDirect?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.12. setEnhancer
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
enable boolean yes Specifies Enhancer status
URI <BaseURL>/v1/<zone>/setEnhancer?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setEnhancer?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.13. setToneControl
For setting Tone Control in each Zone. Values of specifying range and steps are different.
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
mode string no Specifies Mode setting. If no parameter is specified, current Mode
setting is not changed.
Regardless of the Mode setting, bass/treble setting can be changed,
but valid only when Mode setting is "manual".
URI <BaseURL>/v1/<zone>/setToneControl?mode=<mode>&bass=<base>&treble=<treble>
Method GET
Example http://{host}/YamahaExtendedControl/v1/main/setToneControl?mode=manual&bass=5&treble=-2
Request
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.14. setEqualizer
For setting Equalizer in each Zone. Values of specifying range and steps are different.
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
mode string no Specifies Mode setting. If no parameter is specified, current Mode
setting is not changed.
Regardless of the Mode setting, low/mid/high setting can be
changed, but valid only when Mode setting is "manual".
URI <BaseURL>/v1/<zone>/setEqualizer?mode=<mode>&low=<low>&mid=<mid>&high=<high>
Method GET
Example http://{host}/YamahaExtendedControl/v1/main/setEqualizer?mode=manual&low=3&mid=-2&hig
Request h=5
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.15. setBalance
For setting L/R Balance in each Zone’s speaker. Values of specifying range and steps are different.
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
value integer yes Specifies L/R Balance value. Negative values are for left side,
positive values are for right side balance.
Values: Value range calculated by minimum/maximum/step values
gotten via /system/getFeatures
URI <BaseURL>/v1/<zone>/setBalance?value=<value>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setBalance?value=5
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.16. setDialogueLevel
For setting Dialogue Level in each Zone. Values of specifying range and steps are different.
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
URI <BaseURL>/v1/<zone>/setDialogueLevel?value=<value>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setDialogueLevel?value=2
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.17. setDialogueLift
For setting Dialogue Lift in each Zone. Values of specifying range and steps are different.
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
value integer yes Specifies Dialogue Lift value
Values: Value range calculated by minimum/maximum/step values
gotten via /system/getFeatures
URI <BaseURL>/v1/<zone>/setDialogueLift?value=<value>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setDialogueLift?value=3
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.18. setClearVoice
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
enable boolean yes Specifies Clear Voice setting
URI <BaseURL>/v1/<zone>/setClearVoice?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setClearVoice?enable=false
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.19. setSubwooferVolume
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
volume integer yes Specifies volume value
Values: Value range calculated by minimum/maximum/step values
gotten via /system/getFeatures
URI <BaseURL>/v1/<zone>/setSubwooferVolume?volume=<volume>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setSubwooferVolume?volume=3
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.20. setBassExtension
Request Parameters
name type required description
zone string yes Specifies target zone. Available for zones with this function
Values: "main" / "zone2" / "zone3" / "zone4"
enable boolean yes Specifies Bass Extension setting
URI <BaseURL>/v1/<zone>/setBassExtension?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/setBassExtension?enable=false
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
5.21. getSignalInfo
Request Parameters
name type required description
zone string yes Specifies target Zone
Values: "main" / "zone2" / "zone3" / "zone4"
URI <BaseURL>/v1/<zone>/getSignalInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/getSignalInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
audio object Returns Audio related information
|- error integer Returns error information
Values:
0: No Error
1: Unknown Error
2: Check Cable (USB DAC)
3: Check PC (USB DAC)
4: Disconnected (USB DAC)
|- format string Returns audio format. Returns "" (empty text) in inputs unsupported to
retrieve audio format.
Values: "" / "---" (Unknown) / "Analog" / "Digital / "PCM" / "MPCM" / "WAV"
/ "FLAC" / "MP3" / "WMA" / "AAC" / "ALAC" / "AIFF" / "DSD" / "Vorbis" /
"SBC"
|- fs string Returns Fs. Returns "" (empty text) in inputs unsupported to retrieve Fs.
Values: "" / "---" (Unknown) / "Analog" / "8 kHz" / "11.025 kHz" / "12 kHz" /
"16 kHz" / "22.05 kHz" / "24 kHz" / "32 kHz" / "44.1 kHz" / "48 kHz" / "64
kHz" / "88.2 kHz" / "96 kHz" / "128 kHz" / "176.4 kHz" / "192 kHz" / "352.8
kHz" / "384 kHz" / "2.8 MHz" / "5.6 MHz" / "11.2 MHz"
Example Response {
"response_code":0,
"audio":{
"error":0,
"format":"FLAC",
"fs":"192 kHz"
}
}
5.22. prepareInputChange
Let a Device do necessary process before changing input in a specific zone. This is valid only
when “prepare_input_change” exists in “func_list” found in /system/getFuncStatus.
MusicCast CONTROLLER executes this API when an input icon is selected in a Room, right
before sending various APIs (of retrieving list information etc.) regarding selecting input
Request Parameters
name type required description
zone string yes Specifies target zone
Values: "main" / "zone2" / "zone3" / "zone4"
input string yes Specifies Input ID
Values: Input IDs gotten via /system/getFeatures
URI <BaseURL>/v1/<zone>/prepareInputChange?input=<input>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/main/prepareInputChange?input=usb
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6. Tuner
6.1. getPresetInfo
Request Parameters
name type required description
band string yes Specifying a band. Values depend on Preset Type gotten via
/system/getFeatures
Values: "common" (common), "am" / "fm" / "dab" (separate)
URI <BaseURL>/v1/tuner/getPresetInfo?band=<band>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/getPresetInfo?band=fm
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
preset_info array Returns preset information. A number of array elements is to be retrieved
via /system/getFeature
|- band string Returns band information. "unknown" when no presets
Values: "am" / "fm" / "dab" / "unknown"
|- number integer Returns;
frequency (unit in kHz) (band = AM or FM)
Station ID (band = DAB)
0 when there’s no presets
|- hd_program integer Reserved
func_list string array Returns a list of valid functions for Preset. (Recall/Store functions are
always valid without specifically listed here)
Values: "clear" / "move"
Example Response {
"response_code":0,
"preset_info":[
{
"band":"am",
"number":530
"hd_program":0
},
{
"band":"fm",
"number":87500,
"hd_program":0
},
...
{
"band":"unknown",
"number":0,
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 49 of 104
Yamaha Extended Control API Specification (Basic)
"hd_program":0
}
],
"func_list":[
"clear",
"move"
]
}
6.2. getPlayInfo
Request Parameters
URI <BaseURL>/v1/tuner/getPlayInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/getPlayInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
band string Returns current Band
Values: "am" / "fm" / "dab
auto_scan boolean Returns Auto Scan (Up or Down) status
auto_preset boolean Returns Auto Preset execution status
am object Returns AM related information
|- preset integer Returns current preset number. 0 when there’s no presets
Values: 0 (no presets), or one in the range gotten via /system/getFeatures
|- freq integer Returns frequency (unit in kHz)
|- tuned boolean Returns Tuned status
fm object Returns FM related information
|- preset integer Returns current preset number. 0 when there’s no presets
Values: 0 (no presets), or one in the range gotten via /system/getFeatures
|- freq integer Returns frequency (unit in kHz).
|- tuned boolean Returns Tuned status
|- audio_mode string Returns Audio Mode
Values: "mono" / "stereo"
rds object Returns RDS information. Available only when RDS is valid
|- program_type string Returns Program Type
|- program_service string Returns Program Service
|- radio_text_a string Returns Radio Text A
|- radio_text_b string Returns Radio Text B
dab object Returns DAB related information. Available only when DAB is valid
|- preset integer Returns current preset number. 0 when current station is not in presets
Values: 0 (no presets), or one in the range gotten via /system/getFeatures
|- id integer Returns Station ID
|- status string Returns DAB status. When it’s in Tune Aid, valid parameters are
Example Response {
"response_code":0,
"band":"fm",
"auto_scan":false,
"am":{
"preset":8,
"freq":531,
"tuned":true
},
"fm":{
"preset":0,
"freq":87500,
"tuned":true
},
"rds":{
"program_type":"Affairs",
"program_service":"RDS PS",
"radio_text_a":"RDS Radio Text A",
"radio_text_b":"RDS Radio Text B"
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 51 of 104
Yamaha Extended Control API Specification (Basic)
},
"dab":{
"preset":10,
"id":10000,
"status":"ready",
"freq":22564,
"category":"primary",
"audio_mode":"stereo",
"bit_rate":128,
"quality":90,
"tune_aid":80,
"off_air":false,
"dab_plus":false,
"program_type":"Pop Music",
"ch_label":"12D",
"service_label":"BBC Radio 1",
"dls":"The Chart Game: www.bbc.co.uk/radio2",
"ensemble_label":"BBC Network DAB"
},
"hd_radio":{
"program":1,
"program_list":[
1,
2,
3
],
"station":"WXYZ-FM",
"category":"Top 40",
"title":"Beat It",
"artist":"Michael Jackson",
"album":"Thriller"
}
}
6.3. setBand
Request Parameters
name type required description
band string yes Specifies Band
Values: "am" / "fm" / "dab"
URI <BaseURL>/v1/tuner/setBand?band=<band>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/setBand?band=fm
Response Parameters
name type description
Example Response {
"response_code":0
}
6.4. setFreq
Request Parameters
name type required description
band string yes Specifies Band
Values : "am" / "fm"
tuning string yes Specifies a tuning method. Use "tp_up" and "tp_down" only when
Band is RDS
Values: "up" / "down" / "cancel" / "auto_up" / "auto_down" / "tp_up" /
"tp_down" / "direct"
num integer no Specifies frequency (unit in kHz). Valid only when tuning is
"direct"
URI <BaseURL>/v1/tuner/setFreq?band=<band>&tuning=<tuning>&num=<num>
Method GET
Example http://{host}/YamahaExtendedControl/v1/tuner/setFreq?band=fm&tuning=direct&num=87500
Request
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.5. recallPreset
Request Parameters
name type required description
zone string yes Specifies station recalling zone. This causes input change in
specified zone
Values: "main" / "zone2" / "zone3" / "zone4"
band string yes Specifies Band type. Depending on Preset Type gotten via
/system/getFeatures, specifying value is different
Values: "common" (band common) / "am" / "fm" / "dab" (separate)
URI <BaseURL>/v1/tuner/recallPreset?zone=<zone>&band=<band>&num=<num>
Method GET
Example http://{host}/YamahaExtendedControl/v1/tuner/recallPreset?zone=main&band=fm&num=13
Request
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.6. switchPreset
Request Parameters
name type required description
dir string yes Specifies change direction of preset
Values: "next" / "previous"
URI <BaseURL>/v1/tuner/switchPreset?dir=<dir>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/switchPreset?dir=next
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.7. storePreset
Request Parameters
URI <BaseURL>/v1/tuner/storePreset?num=<num>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/storePreset?num=10
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.8. clearPreset
Request Parameters
name type required description
band string yes Specifies Band. Values depend on Preset Type gotten via
/system/getFeatures
Values: "common" (common), "am" / "fm" / "dab" (separate)
num integer yes Specifies Preset number
Values: one in the range gotten via /system/getFeatures
URI <BaseURL>/v1/tuner/clearPreset?band=<band>&num=<num>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/clearPreset?band=fm&num=10
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.9. startAutoPreset
For starting Auto Preset. Available only when "fm_auto_preset" exists in tuner - func_list under
/system/getFeatures.
Request Parameters
URI <BaseURL>/v1/tuner/startAutoPreset?band=<band>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/startAutoPreset?band=fm
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.10. cancelAutoPreset
For canceling Auto Preset. Available only when "fm_auto_preset" exists in tuner - func_list under
/system/getFeatures.
Request Parameters
name type required description
band string yes Specifies Band.
Value : "fm"
URI <BaseURL>/v1/tuner/cancelAutoPreset?band=<band>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/cancelAutoPreset?band=fm
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.11. movePreset
Request Parameters
name type required description
band string yes Specifies Band. Values depend on Preset Type gotten via
/system/getFeatures
Values: "common" (common), "am" / "fm" / "dab" (separate)
from integer yes Specifies source preset number
Values: one in the range gotten via /system/getFeatures
to integer yes Specifies destination preset number
Values: one in the range gotten via /system/getFeatures
URI <BaseURL>/v1/tuner/movePreset?band=<band>&from=<from>&to=<to>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/movePreset?band=am&from=10&to=3
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.12. startDabInitialScan
For starting DAB Initial Scan. Available only when " dab_initial_scan " exists in tuner - func_list
under /system/getFeatures.
Request Parameters
URI <BaseURL>/v1/tuner/startDabInitialScan
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/startDabInitialScan
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.13. cancelDabInitialScan
For canceling DAB Initial Scan. Available only when " dab_initial_scan " exists in tuner - func_list
under /system/getFeatures.
Request Parameters
URI <BaseURL>/v1/tuner/cancelDabInitialScan
Method GET
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.14. setDabTuneAid
For executing DAB Tune Aid. Available only when " dab_tune_aid " exists in tuner - func_list
under /system/getFeatures.
Request Parameters
name type required description
action string yes Specifies action of Tune Aid. "stop" / "up" / "down" are available
only when excuting Tuner Aid.
Values : "start" / "stop" / "up" / "down"
URI <BaseURL>/v1/tuner/setDabTuneAid?action=<action>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/setDabTuneAid?action=up
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
6.15. setDabService
For selecting DAB Service. Available only when DAB is valid to use
Request Parameters
name type required description
dir string yes Specifies change direction of services
Values: "next" / "previous"
URI <BaseURL>/v1/tuner/setDabService?dir=<dir>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/tuner/setDabService?dir=next
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7. Network/USB
Target Inputs: USB / Network related ones (Server / Net Radio / Pandora / Spotify / AirPlay etc.)
7.1. getPresetInfo
For retrieving preset information. Presets are common use among Net/USB related input sources
Request Parameters
URI <BaseURL>/v1/netusb/getPresetInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/getPresetInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
preset_info array Returns preset info. Element number of an array can be gotten via
system/getFeatures
|- input string Returns Input ID. Returns "unknown" if no presets available
|- text string Returns text info. Returns "" (empty text) if no presets available
|- attribute integer Reserved
func_list string array Returns a list of valid functions for Preset. (Recall/Store functions are
always valid without specifically listed here)
Values: "clear" / "move"
Example Response {
"response_code":0,
"preset_info":[
{
"input":"net_radio",
"text":"CBC Radio Jazz"
"attribute":0
},
{
"input":"pandora",
"text":"Queen Radio"
"attribute":0
},
...
{
"input":"unknown",
"text":""
"attribute":0
}
],
"func_list":[
"clear",
"move"
]
}
7.2. getPlayInfo
Request Parameters
URI <BaseURL>/v1/netusb/getPlayInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/getPlayInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
input string Returns current Net/USB related Input ID
Refer to “All ID List” for details
play_queue_type string Reserved
playback string Returns playback status
Values: "play" / "stop" / "pause" / "fast_reverse" / "fast_forward"
repeat string Returns repeat setting status
Value: "off" / "one" / "all"
shuffle string Returns shuffle setting status
Values: "off" / "on" / "songs" / "albums"
play_time integer Returns current playback time (unit in second). Returns -60000 if
playback time is invalid
Value Range: -60000 (invalid) / -59999 ~ 59999 (valid)
total_time integer Returns total playback time (unit in second). Returns 0 if total time is
not available or invalid
Value Range: 0 ~ 59999
artist string Returns artist name.
Returns station name if the input is Net Radio / Pandora / radiko.
Returns station name/artist name if the input is Rhapsody (Radio).
Returns ad name if Pandora playbacks ad contents.
If input is MC Link, returns master’s internal content info or Room
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 60 of 104
Yamaha Extended Control API Specification (Basic)
Example Response {
"response_code":0,
"input":"usb",
"playback":"stop",
"repeat":"off",
"shuffle":"on",
"play_time":200,
"total_time":314,
"artist":"尾崎豊",
"album":"壊れた扉から",
"track":"Forget-me-not",
"albumart_url":"/YamahaRemoteControl/AlbumART/AlbumART.jpg",
" albumart_id":18,
"usb_devicetype":"msc",
"attribute":511
}
7.3. setPlayback
Request Parameters
name type required description
URI <BaseURL>/v1/netusb/setPlayback?playback=<playback>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/setPlayback?playback=stop
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.4. setPlayPosition
For setting track play position. This API is available only when input is Server.
Request Parameters
name type required description
position integer yes Specifies play position (sec)
Value : no fewer than total_time gotten via getPlayInfo, nor more
than 0
URI <BaseURL>/v1/netusb/setPlayPosition?position=<position>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/setPlayPosition?position=123
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.5. toggleRepeat
Request Parameters
URI <BaseURL>/v1/netusb/toggleRepeat
Method GET
Response Parameters
name type Description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.6. toggleShuffle
Request Parameters
URI <BaseURL>/v1/netusb/toggleShuffle
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/toggleShuffle
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.7. getListInfo
For retrieving list information. Basically this info is available to all relevant inputs, not limited to
or independent from current input
Request Parameters
name type required description
list_id string no Specifies list ID. If nothing specified, "main" is chosen implicitly
Values: "main" (common for all Net/USB sources)
"auto_complete" (Pandora)
"search_artist" (Pandora)
"search_track" (Pandora)
input string yes Specifies target Input ID. Controls for setListControl are to work
with the input specified here
Values: Input IDs for Net/USB related sources
index integer no Specifies the reference index (offset from the beginning of the list).
Note that this index must be in multiple of 8. If nothing was
specified, the reference index previously specified would be used
Values: 0, 8, 16, 24, ..., 64984, 64992
size integer yes Specifies max list size retrieved at a time
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 64 of 104
Yamaha Extended Control API Specification (Basic)
Value Range: 1 - 8
lang string no Specifies list language. But menu names or text info are not
always necessarily pulled in a language specified here. If nothing
specified, English ("en") is used implicitly
Values: "en" (English)/ "ja" (Japanese)/ "fr" (French)/ "de"
(German)/ "es" (Spanish)/ "ru" (Russian)/ "it" (Italy)/ "zh" (Chinese)
URI <BaseURL>/v1/netusb/getListInfo?input=<input>&index=<index>&size=<size>&lang
=<lang>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/getListInfo?input=usb&index=32&siz
e=8&lang=en
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Regarding an element with its attributes of b[1] and b[2] both set as 1, it is
valid to do both layer movement/shift and start playback by
setListControl. If an element got neither b[1] = 0 nor b[2] = 0, it is
unavailable content so apply appropriate UI reaction like making it
gray-out etc.
Example Response {
"response_code":0,
"menu_layer":3,
"max_line":40,
"index":32,
"playing_index":-1,
"menu_name":"The Beatles",
"list_info":[
{
"text":"Please Please Me",
"attribute":2
},
{
"text":"With The Beatles",
"attribute":2
},
...
{
"text":"Hey Jude"
"attribute":20
},
{
"text":"Let It Be",
"attribute":20
}
]
}
7.8. setListControl
For control a list. Controllable list info is not limited to or independent from current input
Request Parameters
name type required description
list_id string no Specifies list ID. If nothing specified, "main" is chosen implicitly
Values: "main" (common for all Net/USB sources)
"auto_complete" (Pandora)
"search_artist" (Pandora)
"search_track" (Pandora)
type string yes Specifies list transition type. "select" is to enter and get into one
deeper layer than the current layer where the element specified by
the index belongs to. "play" is to start playback current index
element, "return" is to go back one upper layer than current.
"select" and "play" needs to specify an index at the same time.
In case to “select” an element with its attribute being "Capable of
Search", specify search text using setSearchString in advance. (Or
it is possible to specify search text and move layers at the same
time by specifying an index in setSearchString)
Values: "select" / "play" / "return"
index integer no Specifies an element position in the list being selected (offset from
the beginning of the list). This is mandatory to specify if the type is
"select" or "play"
Value Range: 0 - 64999
zone string no Specifies target zone to playback. In the specified zone, input
change occurs at the same time of playback.
This parameter is valid only when type "play" is specified. If
nothing is specified, "main" is chosen implicitly
値 : "main" / "zone2" / "zone3" / "zone4"
URI <BaseURL>/v1/netusb/setListControl?list_id=<list_id>&type=<type>&index=<index>
&zone=<zone>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=pl
ay&index=50&zone=main
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.9. setSearchString
For setting search text. Specifies string executing this API before select an element with its
attribute being “Capable of Search” or retrieve info about searching list(Pandora).
Request Parameters
name type required description
list_id string no Specifies list ID. If nothing specified, "main" is chosen implicitly
Values : "main" (All)
"auto_complete" (Pandora)
"search_artist" (Pandora)
"search_track" (Pandora)
string string yes Setting search text
index integer no Specifies an element position in the list being selected (offset from
the beginning of the list).Valid only when the list_id is "main"
Specifies index an element with its attribute being "Capable of
Search" Controls same as setListControl "select" are to work with
the index an element specified. If no index is specified, non-actions
of select
Values : 0 ~ 64999
URI <BaseURL>/v1/netusb/setSearchString
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/netusb/setSearchString
(URI)
Example Request {
(json) "list_id":"auto_complete",
"string":"michael"
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.10. recallPreset
Request Parameters
name type required description
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 68 of 104
Yamaha Extended Control API Specification (Basic)
zone string yes Specifies station recalling zone. This causes input change in
specified zone
Values: "main" / "zone2" / "zone3" / "zone4"
num integer yes Specifies Preset number
Value: one in the range gotten via /system/getFeatures
URI <BaseURL>/v1/netusb/recallPreset?zone=<zone>&num=<num>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/recallPreset?zone=main&num=13
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.11. storePreset
For registering current content to a preset. Presets are common use among Net/USB related
input sources.
Request Parameters
name type required description
num integer yes Specifying a preset number
Value: one in the range gotten via /system/getFeatures
URI <BaseURL>/v1/netusb/storePreset?num=<num>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/storePreset?num=10
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.12. clearPreset
Request Parameters
name type required description
URI <BaseURL>/v1/netusb/clearPreset?num=<num>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/clearPreset?num=10
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.13. movePreset
Request Parameters
name type required description
from integer yes Specifies source preset number
Values: one in the range gotten via /system/getFeatures
to integer yes Specifies destination preset number
Values: one in the range gotten via /system/getFeatures
URI <BaseURL>/v1/netusb/movePreset?from=<from>&to=<to>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/movePreset?from=10&to=3
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.14. getSettings
Request Parameters
URI <BaseURL>/v1/netusb/getSettings
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/getSettings
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
qobuz object Returns information related to Qobuz.
Retrievable only when products are equipped with Qobuz functions.
|- quality object Returns information related to Streaming Quality
|- value string Returns current Streaming Quality
Values: "hr_192_24" (HiRes - 24bits / up to 192kHz)
"hr_96_24" (HiRes - 24bits / up to 96kHz)
"cd_44_16" (CD - 16bits / 44.1kHz)
"mp3_320" (MP3 - 320kbps)
|- value_list array Returns a list of Streaming Quality available
|- value string Returns value
Values: "hr_192_24" / "hr_96_24" / "cd_44_16" / "mp3_320"
|- attribute integer Returns attribute info. Attributes are expressed as OR of bit field as
shown below;
b[0] Selectable
Example Response {
"response_code":0,
"qobuz":{
"quality":{
"value":"hr_192_24",
"value_list":[
{
"value":"hr_192_24",
"attribute":0
},
...
{
"value":"mp3_320",
"attribute":1
},
]
}
}
}
7.15. setQuality
For setting the reproduction quality of streaming. Refer to available Input/setting value via
/system/getSetting.
Request Parameters
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 71 of 104
Yamaha Extended Control API Specification (Basic)
URI <BaseURL>/v1/netusb/setQuality?input=<input>&value=<value>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/setQuality?input=qobuz&value=hr_1
92_24
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.16. getRecentInfo
For retrieving playback history. History is shared among all Net/USB Input sources.
Request Parameters
URI <BaseURL>/v1/netusb/getRecentInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/getRecentInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
recent_info array Returns playback history. Element number of an array can be gotten via
system/getFeatures
|- input string Returns Input ID
|- text string Returns text information
|- albumart_url string Returns a URL to retrieve album art data. Returns "" (empty text) if no
URL is available.
|- play_count integer Returns number of playback count. Playback count is cleard when it’s
cleared in playback history.
|- attribute integer Reserved
Example Response {
"response_code":0,
"recent_info":[
{
"input":"net_radio",
"text":"CBC Radio Jazz",
"albumart_url":"http://www.yamaha.com/001.jpg",
"play_count":1,
"attribute":0
},
{
"input":"pandora",
"text":"Queen Radio",
"albumart_url":"http://www.yamaha.com/002.jpg",
"play_count":3,
"attribute":0
},
...
{
"input":"unknown",
"text":"",
"albumart_url":"",
"play_count":1,
"attribute":0
}
]
}
7.17. recallRecentItem
Request Parameters
name type required description
zone string yes Specifies recalling zone. This causes input change in specified zone
Values: "main" / "zone2" / "zone3" / "zone4"
num integer yes Specifies number of memorable playback history.
Values: one in the range gotten via /system/getFeatures
URI <BaseURL>/v1/netusb/recallRecentItem?zone=<zone>&num=<num>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/recallRecentItem?zone=main&num=13
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.18. clearRecentInfo
Request Parameters
URI <BaseURL>/v1/netusb/clearRecentInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/clearRecentInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.19. managePlay
Request Parameters
name type required description
type string yes Specifies type of special processing
Vaule:
"add_bookmark" (Net Radio)
"add_track" (Rhapsody / Napster / Pandora / JUKE / Qobuz)
"add_album" (Rhapsody / Napster / JUKE)
"add_channel_track" (Pandora)
"add_channel_artist" (Pandora)
"add_playlist" (Qobuz)
"thumbs_up" (Pandora)
"thumbs_down" (Pandora)
"mark_tired" (Pandora)
URI <BaseURL>/v1/netusb/managePlay?type=<type>&timeout=<timeout>
Method GET
Example http://{host}/YamahaExtendedControl/v1/netusb/managePlay?type=add_bookmark&timeout=5000
Request
Response Parameters
name type description
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 74 of 104
Yamaha Extended Control API Specification (Basic)
Example Response {
"response_code":0
}
7.20. manageList
Request Parameters
name type required description
list_id string no Specifies list ID. If nothing specified, "main" is chosen implicitly.
Values : "main" (All)
"auto_complete" (Pandora)
"search_artist" (Pandora)
"search_track" (Pandora)
type string yes Specifies type of special processing
Value:
"add_bookmark" (Net Radio)
"add_track" (Rhapsody / Napster / JUKE / Qobuz)
"add_album" (Rhapsody / Napster / JUKE / Qobuz)
"add_artist" (Qobuz)
"add_channel" (Rhasody / Napster / Pandora)
"add_playlist" (Qobuz)
"remove_bookmark" (Net Radio)
"remove_track" (Rhapsody / Napster / JUKE / Qobuz)
"remove_album" (Rhapsody / Napster / JUKE / Qobuz)
"remove_artist" (Qobuz)
"remove_channel" (Rhapsody / Napster / Pandora)
"remove_playlist" (Rhapsody / Napster / Qobuz)
"end_auto_complete" (Pandora)
URI <BaseURL>/v1/netusb/manageList?list_id=<list_id>&type=<type>&index=<index>&
zone=<zone>&bank=<bank>&timeout=<timeout>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/manageList?list_id=main&type=add
_bookmark&index=50&timeout=5000
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.21. getPlayDescription
Request Parameters
name type required description
type string yes Specifies type of special processing
Value : "why_this_song" (Pandora)
timeout integer yes Specifies timeout duration(ms) for this API process. If specifies 0,
treat as maximum vale
Value: 0 ~ 60000
URI <BaseURL>/v1/netusb/getPlayDescription?type=<type>&timeout=<timeout>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/getPlayDescription?type=why_this_s
ong&timeout=5000
Response Parameters
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 76 of 104
Yamaha Extended Control API Specification (Basic)
Example Response {
"response_code":0,
"description":"Based on what you've told us so far, we're playing Sanctuary (Closing)
by Utad because if features mellow rock instrumentation, electronica influences,
interweaving vocal harmony, extensive vamping and acoustic rhythnm piano."
}
7.22. setListSortOption
For setting List sorting method. Retrieve List information via /netusb/getListInfo after setting.
Request Parameters
name type required description
input string yes Specifies target Input ID. Controls for setListControl are to work
with the input specified here
Value : "pandora"
type string yes Specifies sorting method
Value : "date" : date created (Pandora)
"alphabet" : alphabetically (Pandora)
URI <BaseURL>/v1/netusb/setListSortOption?input=<input>&type=<type>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/netusb/setListSortOption?input=pandora&t
ype=date
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.23. getAccountStatus
Request Parameters
URI <BaseURL>/v1/netusb/getAccountStatus
Method GET
Example http://{host}/YamahaExtendedControl/v1/netusb/getAccountStatus
Request
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
service_list array Returns a list of Streaming Service
|- id string Returns current Input ID
Refer to “All ID List” for details
|- registered boolean Returns whether account registed on device correctly. If input is Pandora,
returns “false” if no registed account or not select to use registed account.
|- login_status string Returns login status
Value :
"logged_in" (All)
"logged_out" (All)
"access_error" (All)
"password_changed" (Rhapsody / Napster / SiriusXM)
"account_expired" (Rhapsody / Napster / JUKE)
"invalid_account" (Rhapsody / Napster / Spotify)
"suspended_account" (Pandora / Spotify)
Example Response {
"response_code":0,
"service_list":[
{
"id":"rhapsody",
"registered":true,
"login_status":"logged_in",
"username":"user1",
"type":"formal",
"trial_time_left":0
},
{
"id":"siriusxm",
"registered":true,
"login_status":"logged_in",
"username":"",
"type":"trial",
"trial_time_left":7
},
...
{
"id":"qobuz",
"registered":false,
"login_status":"logged_out",
"username":"",
"type":"formal",
"trial_time_left":0
}
]
}
7.24. switchAccount
Request Parameters
name type required description
input string yes Specifies target Input ID.
Value: "pandora"
index integer yes Specifies switch account index
Value : 0 ~ 7 (Pandora)
timeout integer yes Specifies timeout duration(ms) for this API process. If specifies 0,
treat as maximum value.
Value: 0 ~ 60000
URI <BaseURL>/v1/netusb/switchAccount?input=<input>&index=<index>&timeout=<timeout>
Method GET
Example http://{host}/YamahaExtendedControl/v1/netusb/switchAccount?input=pandora&index=3&timeou
Request t=10000
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
7.25. getServiceInfo
For retrieving information of various Streaming Service. The combination of Input/Type is available
as follows;
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 79 of 104
Yamaha Extended Control API Specification (Basic)
Input Type
Pandora Account List (account_list) : retrieving list of account registed on Device
Licensing (licensing) : checking license
Activation Code (activation_code) : retrieving Activation Code
※Disable to check Rhapsody license by refering the value of this APIs response_code. a
Device issues events of netusb – account_updated by condition, retrieve the info excute
/netusb/getAccountStatus. (Sometimes Deivice not issue events)
※Before retrieve Activation Code, retrieve Account List and check not to reach Max about
Request Parameters
name type required description
input string yes Specifies target Input ID.
Value: "pandora" / "rhapsody" / "napster"
type string yes Specifies type of retrieving info
Value:
"account_list" (Pandora)
"licensing" (Rhapsody / Napster / Pandora)
"activation_code" (Pandora)
timeout integer yes Specifies timeout duration(ms) for this API process. If specifies 0,
treat as maximum value.
Value: 0 ~ 60000
URI <BaseURL>/v1/netusb/getServiceInfo?input=<input>&type=<type>&timeout=<timeout>
Method GET
Example http://{host}/YamahaExtendedControl/v1/netusb/getServiceInfo?input=pandora&type=account_lis
Request t&timeout=10000
Example Response {
"response_code":0,
"account_list":[
{
"index":0,
"username":"",
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 80 of 104
Yamaha Extended Control API Specification (Basic)
"selected":true
},
...
{
"index":7,
"username":"",
"selected":false
}
]
}
Example Response {
"response_code":0
}
Example Response {
"response_code":0
}
Example Response {
"response_code":0,
"url":"http://www.pandora.com/yamaha",
"code":"00000000",
"index":0
}
8. CD
8.1. getPlayInfo
Request Parameters
URI <BaseURL>/v1/cd/getPlayInfo
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/cd/getPlayInfo
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
device_status string Returns current CD device status
Values: "open" / "close" / "ready" / "not_ready"
playback string Returns playback status
Values: "play" / "stop" / "pause" / "fast_reverse" / "fast_forward"
repeat string Returns repeat setting status
Value: "off" / "one" / "all" / "folder" / "a-b"
shuffle string Returns shuffle setting status
Values: "off" / "on" / "folder" / "program"
play_time integer Returns current playback time (unit in second).
Value Range: -59999 ~ 59999
total_time integer Returns current track total playback time (unit in second).
Value Range: 0 ~ 59999
disc_time integer Returns CD total playback time (unit in second).
Value Range: 0 ~ 59999
track_number integer Returns track number that is currently in playback. If no track, or
playback status is complete stop, returns -1.
Values: 0 ~ 512
total_tracks integer Returns total track number
Values: 0 ~ 512
artist string Returns artist name.
Example Response {
"response_code":0,
"device_status":"ready",
"playback":"play",
"repeat":"all",
"shuffle":"on",
"play_time":100,
"total_time":300,
"track_number":5,
"total_tracks":13,
"artist":"Mr.Children",
"album":"SUPERMARKET FANTASY",
"track":"GIFT"
}
8.2. setPlayback
Request Parameters
name type required description
playback string yes Specifies playback status
Values: "play" / "stop" / "pause" / "previous" / "next" /
"fast_reverse_start" / "fast_reverse_end" / "fast_forward_start" /
"fast_forward_end" / "track_select "
num integer no Specifies target track number to playback. This parameter is valid
only when playback "track_select" is specified.
Values: 1 ~ 512
URI <BaseURL>/v1/cd/setPlayback?playback=<playback>&num=<num>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/cd/setPlayback?playback=stop
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
8.3. toggleTray
Request Parameters
URI <BaseURL>/v1/cd/toggleTray
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/cd/toggleTray
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
8.4. toggleRepeat
Request Parameters
URI <BaseURL>/v1/cd/toggleRepeat
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/cd/toggleRepeat
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
8.5. toggleShuffle
Request Parameters
URI <BaseURL>/v1/cd/toggleShuffle
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/cd/toggleShuffle
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
9. Clock
9.1. getSettings
Request Parameters
URI <BaseURL>/v1/clock/getSettings
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/clock/getSettings
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
auto_sync boolean Returns clock time auto sync setting
format string Returns format of time display
Values : "12h" (12-hour notation) / "24h" (24-hour notation)
alarm object Returns information related to alarm function
|- alarm_on boolean Returns alarm function status on/off
|- volume integer Returns alarm volume value
Vaule Range : calculated by minimum/maximum/step value gotten via
/system/getFeatures "alarm_volume"
|- fade_interval integer Returns alarm fade interval (unit in second)
Vaule Range : calculated by minimum/maximum/step value gotten via
/system/getFeatures "alarm_fade"
|- fade_type integer Returns alarm fade type
Value : one in the range gotten via /system/getFeatures
"alarm_fade_type_num"
|- mode string Returns alarm mode
Value : one gotten via /system/getFeatures "alarm_mode_list"
|- repeat boolean Returns repeat setting.This parameter is valid only when alarm mode
"oneday" is specified
|- oneday object Returns detail information about alarm mode "oneday".
This parameter is valid only when "oneday " exists in alarm mode
|- enable boolean Returns whether or not "oneday" setup is valid
|- time string Returns alarm start-up time. Format is "hhmm"
Values : hh : 00 ~ 23 (Hour)
mm : 00 ~ 59 (Minute)
|- beep boolean Returns whether or not beep is valid
|- playback_type string Returns playback type
Value : "resume" / "preset"
|- resume object Returns detail infomarion when resume is specified. This parameter
Example Response {
"response_code":0,
"auto_sync":true,
"alarm":{
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 86 of 104
Yamaha Extended Control API Specification (Basic)
"alarm_on":true,
"volume":40,
"fade_interval":180,
"fade_type":1,
"mode":"oneday",
"repeat":false,
"oneday":{
"enable":true,
"time":"0730",
"beep":false,
"playback_type":"preset",
"preset":{
"type":"netusb",
"num":8,
"netusb_info":{
"input":"pandora",
"text":"Queen Radio"
}
}
},
...
"saturday":{
...
}
}
}
9.2. setAutoSync
For setting clock time auto sync. Available only when "date_and_time" exists in clock - func_list
under /system/getFeatures.
Request Parameters
name type required description
enable boolean yes Specifies whether or not clock auto sync is valid
URI <BaseURL>/v1/clock/setAutoSync?enable=<enable>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/clock/setAutoSync?enable=true
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
9.3. setDateAndTime
For setting date and clock time. Available only when "date_and_time" exists in clock - func_list
under /system/getFeatures.
Request Parameters
name type required description
date_time string yes Specifies date and time set on device.
Format is "YYMMDDhhmmss".
Value : YY : 00 ~ 99 (Year / 2000 ~ 2099)
MM : 01 ~ 12 (Month)
DD : 01 ~ 31 (Day)
hh : 00 ~ 23 (Hour)
mm : 00 ~ 59 (Minute)
ss : 00 ~ 59 (Second)
URI <BaseURL>/v1/clock/setDateAndTime?date_time=<date_time>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/clock/setDateAndTime?date_time=15061022453
0
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
9.4. setClockFormat
For setting format of time display. Available only when " clock_format " exists in clock - func_list
under /system/getFeatures.
Request Parameters
name type required description
format string yes Returns format of time display
Values : "12h" (12-hour notation) / "24h" (24-hour notation)
URI <BaseURL>/v1/clock/setClockFormat?format=<format>
Method GET
Example Request http://{host}/YamahaExtendedControl/v1/clock/setClockFormat?format=24h
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 88 of 104
Yamaha Extended Control API Specification (Basic)
Example Response {
"response_code":0
}
9.5. setAlarmSettings
Request Parameters
name type required description
alarm_on boolean no Specifies alarm function status on/off
volume integer no Specifies alarm volume value
Vaule Range : calculated by minimum/maximum/step value
gotten via /system/getFeatures "alarm_volume"
fade_interval integer no Specifies alarm fade interval (unit in second)
Vaule Range : calculated by minimum/maximum/step value
gotten via /system/getFeatures "alarm_fade"
fade_type integer no Specifies alarm fade type
Value : 1 ~ fade_type_max ( value gotten via /system/getFeatures)
mode string no Specifies alarm mode
Value : one gotten via /system/getFeatures "alarm_mode_list"
repeat boolean no Specifies repeat setting.This parameter is valid only when alarm
mode "oneday" is specified
detail object no Setting detail information of alarm function
|- day string no Specifies target date for alarm setting. This parameter is
specified certainly when set detail parameters.
Value : "oneday" / "sunday" / "monday" / "tuesday" / "wednesday " /
"thursday" / "friday" / "saturday"
|- enable boolean no 対象日のアラーム設定の有効/無効を指定します。
|- time string no Specifies alarm start-up time. Format is "hhmm"
Values : hh : 00 ~ 23 (Hour)
mm : 00 ~ 59 (Minute)
|- beep boolean no Specifies whether or not beep is valid.
|- playback_type string no Specifies playback type
Value : "resume" / "preset"
|- resume object no Specifies detail infomarion when resume is specified.
This parameter is valid only when playback_type "resume" is
specified.
|- input string no Specifies target Input ID to playback.
No playback when "none" is specified.
Values :
Input IDs gotten via /system/getFeatures "alarm_input_list"
|- preset object no Specifies detail infomarion when preset is specified.
This parameter is valid only when playback_type "preset" is
specified.
|- type string no Specifies preset type
Values : Type gotten via /system/getFeatures "alarm_preset_list"
|- num integer no Specifies preset number. Selectable preset number in each preset
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 89 of 104
Yamaha Extended Control API Specification (Basic)
URI <BaseURL>/v1/clock/setAlarmSettings
Method POST
Example Request http://{host}/YamahaExtendedControl/v1/clock/setAlarmSettings
(URI)
Example Request {
(json) "alarm_on":true,
"volume":40,
"fade_interval":180,
"fade_type":1,
"mode":"oneday",
"repeat":false,
"detail":{
"day":"oneday",
"enable":true,
"time":"0730",
"beep":false,
"playback_type":"preset",
"preset":{
"type":"netusb",
"num":8
}
}
}
Response Parameters
name type description
response_code integer 0: Successful request / Others: Error
Refer to “Response Code List” for details
Example Response {
"response_code":0
}
In a response contains one of Response Codes listed below. No other data is included to a response if
its response code was other than '0' (Successful request)
code description
0 Successful request
1 Initializing
2 Internal Error
3 Invalid Request (A method did not exist, a method wasn’t appropriate etc.)
4 Invalid Parameter (Out of range, invalid characters etc.)
5 Guarded (Unable to setup in current status etc.)
6 Time Out
99 Firmware Updating
(100s are Streaming Service related errors)
100 Access Error
101 Other Errors
102 Wrong User Name
103 Wrong Password
104 Account Expired
105 Account Disconnected/Gone Off/Shut Down
106 Account Number Reached to the Limit
107 Server Maintenance
108 Invalid Account
109 License Error
110 Read Only Mode
111 Max Stations
112 Access Denied
11. Events
11.1. Outline
Events are to notify Devices’ status/setup changes immediately to external applications. Events
are spread out as UDP unicast.
11.2. Conditions
When a request header from an external application contains fields shown below, a Device issues
events of status changes. If no event is required, do not include the specified fields:
X-AppName:MusicCast/XXX
X-AppPort:YYY
*Here XXX stands for an application version, YYY shows event receiving port.
X-AppName:MusicCast/1.40(iOS)
X-AppPort:41100
Event notification timeouts in 10 minutes if no further event request is sent from an IP address
set as event receiving device. If another request is made within 10 minutes of previous request,
the timeout duration is reset and extended.
Event receiving port will be overwritten if a different port number is sent as a request by the
registered device using X-AppPort.
Event Parameters
name type Description
system object Returns System related information
|- bluetooth_info_updated boolean Returns whether or not Bluetooth info has changed. If so, pull
renewed info using /system/getBluetoothInfo
|- func_status_updated boolean Returns whether or not System overall info has changed. If so,
pull renewed info using /system/getFuncStatus
|- speaker_settings_updated boolean Reserved
|- name_text_updated boolean Returns whether or not name text info has changed. If so, pull
renewed info using /system/getNameText .
|- tag_updated boolean Reserved
|- location_info_updated boolean Returns whether or not Location info has changed. If so, pull
renewed info using /system/getLocationInfo
|- stereo_pair_info_updated boolean Reserved
main object Returns Main Zone related information
|- power string Returns power status
Values: "on" / "standby"
|- input string Returns current Input ID
Values: Input IDs gotten via /system/getFeature
|- volume integer Returns volume value
Values: Value range calculated by minimum/maximum/step
values gotten via /system/getFeatures
|- mute boolean Returns mute status
|- status_updated boolean Returns whether or not other info has changed than main zone
power/input/volume/mute status. If so, pull renewed info using
/main/getStatus
|- signal_info_updated boolean Returns whether or not signal info has changed. If so, pull
renewed info using /main/getSignalInfo
zone2 object Returns information related to Zone2. This data format is same as
main zone’s one above.
zone3 object Returns information related to Zone3. This data format is same as
main zone’s one above.
zone4 object Returns information related to Zone4. This data format is same as
main zone’s one above.
tuner object Returns Tuner related information
|- play_info_updated boolean Returns whether or not playback info has changed. If so, pull
renewed info using /tuner/getPlayInfo
|- preset_info_updated boolean Returns whether or not preset info has changed. If so, pull
renewed info using /tuner/getPresetInfo
netusb object Returns Net/USB related information
|- play_error integer Returns error codes happened during playback for displaying
appropriate messages to the external application user interface. If
multiple errors happen at the same time, refer to the value of
multiple_play_errors sent together for proper messaging
Values:
0: No Error
1: Access Error (common for all Net/USB sources)
2: Playback Unavailable (common for all Net/USB sources)
Event Example {
"system":{
"name_text_updated":true
},
"main":{
"power":"on",
"input":"siriusxm",
"volume":30,
"mute":false,
"status_updated":true
},
"zone2":{
"power":"on",
"input":"cd",
"volume":50,
"mute":false
"enhancer":false
},
"tuner":{
"play_info_updated":false
},
"netusb":{
"play_error ":0,
"account_updated":true,
"play_time":50,
"trial_status":{
"input":"siriusxm",
"enable":false
},
"trial_time_left":{
"input":"siriusxm",
"time":5
},
"play_info_updated":false,
"list_info_updated":false
},
"cd":{
"tray_status":"ready",
"play_time":100,
"play_info_updated":false
}
}
Type ID
Zone main / zone2 / zone3 / zone4
Input cd / tuner / multi_ch / phono / hdmi1 / hdmi2 / hdmi3 / hdmi4 / hdmi5 / hdmi6 / hdmi7 /
hdmi8 / hdmi / av1 / av2 / av3 / av4 / av5 / av6 / av7 / v_aux / aux1 / aux2 / aux / audio1 /
audio2 / audio3 / audio4 / audio_cd / audio / optical1 / optical2 / optical / coaxial1 / coaxial2 /
coaxial / digital1 / digital2 / digital / line1 / line2 / line3 / line_cd / analog / tv / bd_dvd /
usb_dac / usb / bluetooth / server / net_radio / rhapsody / napster / pandora / siriusxm /
spotify / juke / airplay / radiko / qobuz / mc_link / main_sync / none
Sound Program munich_a / munich_b / munich / frankfurt / stuttgart / vienna / amsterdam / usa_a / usa_b /
tokyo / freiburg / royaumont / chamber / concert / village_gate / village_vanguard /
warehouse_loft / cellar_club / jazz_club / roxy_theatre / bottom_line / arena / sports /
action_game / roleplaying_game / game / music_video / music / recital_opera / pavilion /
disco / standard / spectacle / sci-fi / adventure / drama / talk_show / tv_program /
mono_movie / movie / enhanced / 2ch_stereo / 5ch_stereo / 7ch_stereo / 9ch_stereo /
11ch_stereo / stereo / surr_decoder / my_surround / target / straight / off
Note: Rhapsody service name will be changed to Napster. Accordingly, rhapsody input ID will be
changed to napster input ID.
Target File
Request
http://{host}/YamahaExtendedControl/v1/main/prepareInputChange?input=usb
Response
{
"response_code":0
}
Request
http://{host}/YamahaExtendedControl/v1/main/setInput?input=usb&mode=autoplay_disabled
Response
{
"response_code":0
}
13.1.2. Retrieving list information (In case max line number is less than or equal to 8)
Use “getListInfo” command to get list information
Here shows how to get it at the root layer
Request
http://{host}/YamahaExtendedControl/v1/netusb/getListInfo?input=usb&index=0&size=8&lang=en
Response
{
"response_code":0,
"menu_layer":0,
"max_line":5,
"index":0,
"playing_index":-1,
"menu_name":"USB",
"list_info":[
{
"text":"FolderA",
"":"",
"attribute":2
},
{
"text":"FolderB",
"thumbnail":"",
"attribute":2 Capability bit[1]: Select bit equal to 1
},
{
"text":"File r00",
"thumbnail":"",
"attribute":4
},
{
"text":"File r01",
"thumbnail":"",
"attribute":4
},
{
"text":"File r02",
"thumbnail":"",
"attribute":4
}
]
}
Request
http://{host}/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=select&index=1
Response
{
"response_code":0
}
13.1.4. Retrieving list information (In case max line number is more than 8)
Request
http://{host}/YamahaExtendedControl/v1/netusb/getListInfo?input=usb&index=0&size=8&lang=en
Response
{
"response_code":0,
"menu_layer":1,
"max_line": 10 Max line number = 10
"index":0,
"playing_index":-1,
"menu_name":"Folder B",
"list_info":[
{
"text":"File b00",
"thumbnail":"",
"attribute":4
},
{
"text":"File b01",
"thumbnail":"",
"attribute":4
},
{
"text":"File b02",
"thumbnail":"",
"attribute":4
}
{
"text":"File b03",
"thumbnail":"",
"attribute":4
}
{
"text":"File b04",
"thumbnail":"",
"attribute":4
}
{
"text":"File b05",
"thumbnail":"",
"attribute":4
}
{
"text":"File b06",
"thumbnail":"",
"attribute":4
}
{
"text":"File b07",
"thumbnail":"",
"attribute":4
}
]
}
With this example, max_line is 10 so the remaining information more than line 8 is needed.
To do so, set “index = 8” in the Request Parameter.
Request
http://{host}/YamahaExtendedControl/v1/netusb/getListInfo?input=usb&index=8&size=8&lang=en
Response
{
"response_code":0,
"menu_layer":1,
"max_line": 10
"index":8, Offset from the top = 8
"playing_index":-1,
"menu_name":"Folder B",
"list_info":[
{
"text":"File b08",
"thumbnail":"",
"attribute":4
},
{
"text":"File b09",
"thumbnail":"",
"attribute":4
}, Capability bit[2]: Play bit equal to 1
]
}
Request
http://{host}/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=play&index=9
Response
{
"response_code":0
}
The File b09 in Folder B is now playback.
Request
http://{host}/YamahaExtendedControl/v1/netusb/setListControl
?list_id=main&type=return
Response
{
"response_code":0
}
*Note
getListInfo is the only command that blocks other commands execution. It may take up to 30
seconds to get the whole list information, and all other commands are not accepted all the
while
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 100 of 104
Yamaha Extended Control API Specification (Basic)
<manufacturer>Yamaha Corporation</manufacturer>
See if manufacturer name is “Yamaha Corporation”
<yamaha:X_device>
See if there is this Yamaha tag
<yamaha:X_URLBase>http://192.168.10.103:80/</yamaha:X_URLBase>
Confirm device’s IP address
<yamaha:X_yxcControlURL>/YamahaExtendedControl/v1/</yamaha:X_yxcControlURL>
Check the URL of YXC control
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 101 of 104
Yamaha Extended Control API Specification (Basic)
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/Icons/120x120.jpg</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/Icons/48x48.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/Icons/120x120.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/AVTransport/desc.xml</SCPDURL>
<controlURL>/AVTransport/ctrl</controlURL>
<eventSubURL>/AVTransport/event</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/RenderingControl/desc.xml</SCPDURL>
<controlURL>/RenderingControl/ctrl</controlURL>
<eventSubURL>/RenderingControl/event</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/ConnectionManager/desc.xml</SCPDURL>
<controlURL>/ConnectionManager/ctrl</controlURL>
<eventSubURL>/ConnectionManager/event</eventSubURL>
</service>
</serviceList>
<presentationURL>http://192.168.10.103/</presentationURL>
</device>
<yamaha:X_device>
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 102 of 104
Yamaha Extended Control API Specification (Basic)
<yamaha:X_URLBase>http://192.168.10.103:80/</yamaha:X_URLBase>
<yamaha:X_serviceList>
<yamaha:X_service>
<yamaha:X_specType>urn:schemas-yamaha-com:service:X_YamahaRemoteControl:1</yamaha:X
_specType>
<yamaha:X_controlURL>/YamahaRemoteControl/ctrl</yamaha:X_controlURL>
<yamaha:X_unitDescURL>/YamahaRemoteControl/desc.xml</yamaha:X_unitDescURL>
</yamaha:X_service>
<yamaha:X_service>
<yamaha:X_specType>urn:schemas-yamaha-com:service:X_YamahaExtendedControl:1</yamaha
:X_specType>
<yamaha:X_yxcControlURL>/YamahaExtendedControl/v1/</yamaha:X_yxcControlURL>
<yamaha:X_yxcVersion>0801</yamaha:X_yxcVersion>
</yamaha:X_service>
</yamaha:X_serviceList>
</yamaha:X_device>
</root>
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 103 of 104
Yamaha Extended Control API Specification (Basic)
Revision History
Copyright 2016 Yamaha Corporation, ALL rights reserved. Page 104 of 104