Summary
The Yamaha R-N1000A is a MusicCast network stereo receiver. This spec covers the Yamaha Extended Control HTTP API (v1, June 2017), which exposes device info, power, input selection, sound programs, volume, mute, AM/FM/DAB tuner, network/USB playback, system presets, and transport control. Communication is HTTP on TCP port 80 with no authentication.
Transport
protocols:
- http
addressing:
port: 80
base_url: /YamahaExtendedControl/v1
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred from power command examples
- routable # inferred from input selection commands
- queryable # inferred from /getXxx command examples
- levelable # inferred from volume and mute commands
Actions
# ---------------- Information ----------------
- id: get_device_info
label: Get Device Info
kind: query
command: "GET /YamahaExtendedControl/v1/system/getDeviceInfo"
params: []
- id: get_features
label: Get Available Device Features
kind: query
command: "GET /YamahaExtendedControl/v1/system/getFeatures"
params: []
- id: get_network_status
label: Get Network Status
kind: query
command: "GET /YamahaExtendedControl/v1/system/getNetworkStatus"
params: []
- id: get_func_status
label: Get Function Status (e.g. Auto Power Standby)
kind: query
command: "GET /YamahaExtendedControl/v1/system/getFuncStatus"
params: []
- id: get_location_info
label: Get Location Info and Zone List
kind: query
command: "GET /YamahaExtendedControl/v1/system/getLocationInfo"
params: []
- id: get_zone_status
label: Get Zone Info
kind: query
command: "GET /YamahaExtendedControl/v1/main/getStatus"
params: []
- id: get_sound_program_list
label: Get Sound Program List
kind: query
command: "GET /YamahaExtendedControl/v1/main/getSoundProgramList"
params: []
# ---------------- Power ----------------
- id: set_power_on
label: Power On
kind: action
command: "GET /YamahaExtendedControl/v1/main/setPower?power=on"
params: []
- id: set_power_standby
label: Power Standby
kind: action
command: "GET /YamahaExtendedControl/v1/main/setPower?power=standby"
params: []
- id: set_power_toggle
label: Power Toggle
kind: action
command: "GET /YamahaExtendedControl/v1/main/setPower?power=toggle"
params: []
- id: set_auto_power_standby_on
label: Enable Auto Power Standby
kind: action
command: "GET /YamahaExtendedControl/v1/system/setAutoPowerStandby?enable=true"
params: []
- id: set_auto_power_standby_off
label: Disable Auto Power Standby
kind: action
command: "GET /YamahaExtendedControl/v1/system/setAutoPowerStandby?enable=false"
params: []
# ---------------- Sleep ----------------
- id: set_sleep
label: Set Sleep Timer
kind: action
command: "GET /YamahaExtendedControl/v1/main/setSleep?sleep={minutes}"
params:
- name: minutes
type: integer
description: Sleep duration in minutes; 0 cancels timer
- id: cancel_sleep
label: Cancel Sleep Timer
kind: action
command: "GET /YamahaExtendedControl/v1/main/setSleep?sleep=0"
params: []
# ---------------- Input ----------------
- id: select_input_net_radio
label: Select Input: Net Radio
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=net_radio"
params: []
- id: select_input_napster
label: Select Input: Napster
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=napster"
params: []
- id: select_input_spotify
label: Select Input: Spotify
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=spotify"
params: []
- id: select_input_juke
label: Select Input: Juke
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=juke"
params: []
- id: select_input_qobuz
label: Select Input: Qobuz
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=qobuz"
params: []
- id: select_input_tidal
label: Select Input: Tidal
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=tidal"
params: []
- id: select_input_deezer
label: Select Input: Deezer
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=deezer"
params: []
- id: select_input_server
label: Select Input: Server
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=server"
params: []
- id: select_input_bluetooth
label: Select Input: Bluetooth
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=bluetooth"
params: []
- id: select_input_airplay
label: Select Input: AirPlay
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=airplay"
params: []
- id: select_input_mc_link
label: Select Input: MusicCast Link
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input=mc_link"
params: []
- id: select_input_no_autoplay
label: Select Input (no autoplay)
kind: action
command: "GET /YamahaExtendedControl/v1/main/setInput?input={input}&mode=autoplay_disabled"
params:
- name: input
type: string
description: Input source id (e.g. airplay, spotify)
- id: prepare_input_change
label: Prepare Input Change
kind: action
command: "GET /YamahaExtendedControl/v1/main/prepareInputChange?input={input}"
params:
- name: input
type: string
description: Input source id to prepare
# ---------------- Sound Program ----------------
- id: set_sound_program
label: Set Sound Program
kind: action
command: "GET /YamahaExtendedControl/v1/main/setSoundProgram?program={program}"
params:
- name: program
type: string
description: Sound program name (e.g. vienna); list via getSoundProgramList
# ---------------- Volume ----------------
- id: set_volume
label: Set Volume (Direct)
kind: action
command: "GET /YamahaExtendedControl/v1/main/setVolume?volume={level}"
params:
- name: level
type: integer
description: Direct volume value; max returned by /system/getFeatures
- id: set_volume_up
label: Volume Up
kind: action
command: "GET /YamahaExtendedControl/v1/main/setVolume?volume=up"
params: []
- id: set_volume_down
label: Volume Down
kind: action
command: "GET /YamahaExtendedControl/v1/main/setVolume?volume=down"
params: []
- id: set_volume_up_step
label: Volume Up by Step
kind: action
command: "GET /YamahaExtendedControl/v1/main/setVolume?volume=up&step={step}"
params:
- name: step
type: integer
description: Step increment; valid range from /system/getFeatures
- id: set_volume_down_step
label: Volume Down by Step
kind: action
command: "GET /YamahaExtendedControl/v1/main/setVolume?volume=down&step={step}"
params:
- name: step
type: integer
description: Step increment; valid range from /system/getFeatures
# ---------------- Mute ----------------
- id: set_mute_on
label: Mute On
kind: action
command: "GET /YamahaExtendedControl/v1/main/setMute?enable=true"
params: []
- id: set_mute_off
label: Mute Off
kind: action
command: "GET /YamahaExtendedControl/v1/main/setMute?enable=false"
params: []
# ---------------- Tuner Presets ----------------
- id: recall_tuner_preset
label: Recall Tuner Preset
kind: action
command: "GET /YamahaExtendedControl/v1/tuner/recallPreset?zone={zone}&band={band}&num={num}"
params:
- name: zone
type: string
description: Zone name (e.g. main)
- name: band
type: string
description: "am | fm | dab"
- name: num
type: integer
description: Preset number
- id: tuner_next_preset
label: Tuner Next Preset
kind: action
command: "GET /YamahaExtendedControl/v1/tuner/switchPreset?dir=next"
params: []
- id: tuner_previous_preset
label: Tuner Previous Preset
kind: action
command: "GET /YamahaExtendedControl/v1/tuner/switchPreset?dir=previous"
params: []
- id: store_tuner_preset
label: Store Tuner Preset
kind: action
command: "GET /YamahaExtendedControl/v1/tuner/storePreset?num={num}"
params:
- name: num
type: integer
description: Preset slot to store
- id: get_tuner_preset_info
label: Get Tuner Preset Info
kind: query
command: "GET /YamahaExtendedControl/v1/tuner/getPresetInfo?band={band}"
params:
- name: band
type: string
description: "am | fm | dab"
- id: get_tuner_play_info
label: Get Tuner Play Info
kind: query
command: "GET /YamahaExtendedControl/v1/tuner/getPlayInfo"
params: []
- id: set_tuner_freq
label: Set Tuner Frequency
kind: action
command: "GET /YamahaExtendedControl/v1/tuner/setFreq?band={band}&tuning=direct&num={num}"
params:
- name: band
type: string
description: "am | fm | dab"
- name: num
type: integer
description: Frequency in KHz
- id: tuner_next_dab_service
label: Tuner Next DAB Service
kind: action
command: "GET /YamahaExtendedControl/v1/tuner/setDabService?dir=next"
params: []
- id: tuner_previous_dab_service
label: Tuner Previous DAB Service
kind: action
command: "GET /YamahaExtendedControl/v1/tuner/setDabService?dir=previous"
params: []
# ---------------- NetUSB / Streaming Presets ----------------
- id: get_netusb_preset_info
label: Get NetUSB Preset Info
kind: query
command: "GET /YamahaExtendedControl/v1/netusb/getPresetInfo"
params: []
- id: get_netusb_play_info
label: Get NetUSB Current Playing Info
kind: query
command: "GET /YamahaExtendedControl/v1/netusb/getPlayInfo"
params: []
- id: get_account_status
label: Get Streaming Account Status
kind: query
command: "GET /YamahaExtendedControl/v1/netusb/getAccountStatus"
params: []
- id: recall_netusb_preset
label: Recall NetUSB Preset
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/recallPreset?zone={zone}&num={num}"
params:
- name: zone
type: string
description: Zone name (e.g. main)
- name: num
type: integer
description: Preset number
- id: store_netusb_preset
label: Store NetUSB Preset
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/storePreset?num={num}"
params:
- name: num
type: integer
description: Preset slot to store
# ---------------- Transport ----------------
- id: playback_stop
label: Playback Stop
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/setPlayback?playback=stop"
params: []
- id: playback_play
label: Playback Play
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/setPlayback?playback=play"
params: []
- id: playback_previous
label: Playback Previous
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/setPlayback?playback=previous"
params: []
- id: playback_next
label: Playback Next
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/setPlayback?playback=next"
params: []
- id: playback_fast_rewind_start
label: Fast Rewind Start
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/setPlayback?playback=fast_reverse_start"
params: []
- id: playback_fast_rewind_stop
label: Fast Rewind Stop
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/setPlayback?playback=fast_reverse_end"
params: []
- id: playback_fast_forward_start
label: Fast Forward Start
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/setPlayback?playback=fast_forward_start"
params: []
- id: playback_fast_forward_stop
label: Fast Forward Stop
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/setPlayback?playback=fast_forward_end"
params: []
- id: toggle_repeat
label: Repeat Toggle
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/toggleRepeat"
params: []
- id: toggle_shuffle
label: Shuffle Toggle
kind: action
command: "GET /YamahaExtendedControl/v1/netusb/toggleShuffle"
params: []
# ---------------- List Info ----------------
- id: get_list_info
label: Get List Info
kind: query
command: "GET /YamahaExtendedControl/v1/netusb/getListInfo?input={input}&index={index}&size={size}&lang={lang}"
params:
- name: input
type: string
description: Input ID from /system/getFeatures
- name: index
type: integer
description: List offset from beginning
- name: size
type: integer
description: Maximum list size (1-8)
- name: lang
type: string
description: Language code (e.g. en)
# ---------------- iOS App Jump ----------------
- id: ios_app_jump
label: iOS App Jump to MusicCast App
kind: action
command: "jp.co.yamaha.avkk.musiccastcontroller://"
params: []
Feedbacks
# UNRESOLVED: response payload schemas not detailed in source.
# Use /system/getFeatures and /main/getStatus at runtime to discover available
# zone-specific response fields (power, input, volume, mute, sleep, sound_program,
# tuner band/freq/preset, netusb playback state, repeat/shuffle).
Variables
# UNRESOLVED: source does not enumerate discrete settable parameters beyond
# the per-action query parameters above. Volume max/step, preset counts, and
# input list are returned by /system/getFeatures at runtime.
Events
# UNRESOLVED: unsolicited notifications not described in source.
Macros
# UNRESOLVED: source describes no multi-step sequences.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source.
Notes
- Source is the generic MusicCast Extended Control API spec (V1.1, June 2017), not an R-N1000A-specific document. R-N1000A support for any given endpoint should be confirmed against
/YamahaExtendedControl/v1/system/getFeaturesand/system/getLocationInfoon the actual device. - Zone name
mainis used in all source examples. Other zones (e.g. Zone2/Zone3) are only present on multi-zone MusicCast devices — confirm viagetLocationInfobefore use. - All endpoints are HTTP GET; the API returns JSON responses (not detailed in the refined excerpt).
- Sound programs, netusb inputs, and streaming service availability depend on device model and region.
- iOS App Jump URL (
jp.co.yamaha.avkk.musiccastcontroller://) is a deep link and is platform-specific.
Provenance
source_domains:
- wiki.elvis.science
source_urls:
- https://wiki.elvis.science/images/0/04/Yamaha_MusicCast_HTTP_simplified_API_for_ControlSystems.pdf
retrieved_at: 2026-06-02T00:07:24.258Z
last_checked_at: 2026-06-04T06:34:59.797Z
Verification Summary
verdict: verified
checked_at: 2026-06-04T06:34:59.797Z
matched_actions: 61
action_count: 61
confidence: medium
summary: "All 61 spec actions found verbatim in source with matching paths and parameters. (7 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source is a generic MusicCast API doc dated 2017; R-N1000A-specific quirks (supported zones, sound programs, tuner bands) not enumerated. Use /system/getFeatures and /system/getLocationInfo at runtime to enumerate device-specific capabilities."
- "response payload schemas not detailed in source."
- "source does not enumerate discrete settable parameters beyond"
- "unsolicited notifications not described in source."
- "source describes no multi-step sequences."
- "no safety warnings or interlock procedures in source."
- "response body schemas, error codes, HTTP status semantics, and any firmware-specific behavior not present in the source excerpt."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0