Summary
HTTP/REST control interface for B&O BeoPlay V1-32 television based on the B&O Net Remote TCP/IP protocol. Base URL http://beoproduct.local:8080, JSON request/response. Source is a community OpenAPI spec that explicitly excludes video products from its supported list — applicability to V1-32 is unverified.
Transport
protocols:
- http
addressing:
base_url: http://beoproduct.local:8080
port: 8080 # inferred from base URL in source
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred from PUT power-state endpoint
- routable # inferred from ActiveSources endpoints
- queryable # inferred from GET polling endpoints
- levelable # inferred from Volume Level endpoints
Actions
- id: get_notifications
label: Get Notifications
kind: query
command: "GET http://beoproduct.local:8080/BeoNotify/Notifications"
params: []
notes: Long-polling notification stream. Cover art, metadata, source, volume, play state, song progress, friendly name, standby status.
- id: get_region_settings
label: Get Regional Settings
kind: query
command: "GET http://beoproduct.local:8080/BeoDevice/regionalSettings"
params: []
- id: get_volume_level
label: Get Volume Level
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/Sound/Volume/Speaker/Level"
params: []
- id: put_volume_level
label: Set Volume Level
kind: action
command: "PUT http://beoproduct.local:8080/BeoZone/Zone/Sound/Volume/Speaker/Level"
params:
- name: level
type: integer
description: Volume level (UNRESOLVED: valid range not stated in source)
- id: get_mute_state
label: Get Mute State
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/Sound/Volume/Speaker/Muted"
params: []
- id: put_mute_state
label: Toggle Mute
kind: action
command: "PUT http://beoproduct.local:8080/BeoZone/Zone/Sound/Volume/Speaker/Muted"
params: []
- id: get_power_state
label: Get Power State
kind: query
command: "GET http://beoproduct.local:8080/BeoDevice/powerManagement/standby"
params: []
- id: put_power_state
label: Set Power State
kind: action
command: "PUT http://beoproduct.local:8080/BeoDevice/powerManagement/standby"
params:
- name: standby
type: object
description: UNRESOLVED: object schema not specified in source
- id: post_volume_up_down
label: Regulate Volume (Up/Down)
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Sound/Volume/Speaker/ContinuousLevelAction"
params:
- name: continuousLevelAction
type: string
description: UNRESOLVED: enum values not stated in source
- name: continuousLevelTimeoutAction
type: integer
description: Timeout in ms. 0 = immediate release (1 step)
- id: get_active_sources
label: Get Active Sources
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/ActiveSources"
params: []
- id: post_active_source
label: Set Active Source
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/ActiveSources"
params:
- name: primaryExperience
type: object
description: UNRESOLVED: object schema not specified in source
- id: get_active_sound_mode
label: Get Active Sound Mode
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/Sound/Mode/Active"
params: []
- id: get_sources
label: Get Sources
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/Sources"
params: []
- id: get_terms_and_conditions
label: Get Terms and Conditions
kind: query
command: "GET http://beoproduct.local:8080/BeoDevice/termsAndConditions"
params: []
- id: get_sound_adjustment
label: Get Sound Adjustment
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/Sound/Adjustment"
params: []
- id: post_sound_adjustment
label: Set Sound Adjustment
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Sound/Adjustment"
params:
- name: adjustment
type: object
description: UNRESOLVED: object schema not specified in source
- id: get_source_activation
label: Get Source Activation
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/SourceActivation"
params: []
- id: post_source_activation
label: Set Source Activation
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/SourceActivation"
params:
- name: primaryExperience
type: object
description: UNRESOLVED: object schema not specified in source
- id: post_volume_default_level
label: Set Volume Default Level
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Sound/Volume/Speaker/DefaultLevel"
params: []
- id: get_volume_range
label: Get Volume Range
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/Sound/Volume/Speaker/Range"
params: []
- id: post_volume_range
label: Set Volume Range
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Sound/Volume/Speaker/Range"
params:
- name: range
type: object
description: UNRESOLVED: object schema not specified in source
- id: get_sound_mode
label: Get Sound Mode
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/Sound/Mode/1"
params: []
- id: post_sound_mode
label: Set Sound Mode
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Sound/Mode/1"
params:
- name: mode
type: object
description: UNRESOLVED: object schema not specified in source
- id: post_queue
label: Play From Queue
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/PlayQueue/"
params:
- name: instantplay
type: string
description: "Play the current item. Supported sources: spotify, music."
notes: Returns 403 for unsupported sources.
- id: get_stream
label: Get Stream
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/Stream"
params: []
- id: post_stream_play
label: Play Stream
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Stream/Play"
params: []
- id: post_stream_pause
label: Pause Stream
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Stream/Pause"
params: []
- id: post_stream_skip
label: Skip Stream
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Stream/Skip"
params: []
- id: post_stream_next
label: Skip Stream (Next)
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Stream/Next"
params: []
- id: post_stream_stop
label: Stop Stream
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Stream/Stop"
params: []
- id: post_stream_forward
label: Forward Stream
kind: action
command: "POST http://beoproduct.local:8080/BeoZone/Zone/Stream/Forward"
params: []
- id: get_play_queue
label: Get Play Queue
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/PlayQueue"
params: []
- id: get_primary_active_source
label: Get Primary Active Source
kind: query
command: "GET http://beoproduct.local:8080/BeoZone/Zone/ActiveSources/primaryExperience"
params: []
Feedbacks
# UNRESOLVED: response body schemas not specified in source beyond data type hints.
# Only the notification stream list is documented (cover art, metadata, source, volume, play state, song progress, friendly name, standby status).
- id: power_state
type: object
notes: UNRESOLVED: full schema not in source
- id: volume_level
type: integer
notes: UNRESOLVED: valid range not in source
- id: mute_state
type: boolean
notes: UNRESOLVED: explicit schema not in source
Variables
# UNRESOLVED: source defines request bodies as opaque "object" types without property schemas.
# No discrete settable parameters documented beyond the body objects referenced above.
Events
# UNRESOLVED: notification stream payload schema not specified in source.
# Documented payload fields: cover art, metadata (song/artist/album/genre), source, volume, play state, song progress, friendly name, standby status.
Macros
# UNRESOLVED: no multi-step sequences documented in source.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no safety warnings, interlock procedures, or power-on sequencing requirements.
Notes
Source is a community OpenAPI spec (tanumkroken/beonetapi) for B&O Net Remote TCP/IP protocol. Explicitly excludes video products: "The protocol is also supported by B&O video products, but this is not covered by the API." Applicability to BeoPlay V1-32 is unverified — endpoints listed are documented as-is from the community spec.
Base URL http://beoproduct.local:8080 relies on mDNS hostname resolution. Port 8080 extracted from base URL.
PUT/POST body schemas documented as object with no property-level detail in source — implementation will require schema discovery on device.
Supported audio product list in source: BeoPlay M3, M5, A6, A9 MK2, BeoSound Essence MK2, BeoSound Core, BeoSound Moment, BeoSound 1, BeoSound 2, BeoSound 35, BeoSound Shape, BeoSound Edge. V1-32 not listed.
Provenance
source_domains:
- raw.githubusercontent.com
- documenter.getpostman.com
- khimo.github.io
source_urls:
- https://raw.githubusercontent.com/tanumkroken/beonetapi/master/openapi_beonet.yml
- https://documenter.getpostman.com/view/1053298/T1LTe4Lt
- https://khimo.github.io/help_drivers/BeoLink/
retrieved_at: 2026-08-30T10:33:29.760Z
last_checked_at: 2026-08-30T22:16:05.851Z
Verification Summary
verdict: verified
checked_at: 2026-08-30T22:16:05.851Z
matched_actions: 33
action_count: 33
confidence: medium
summary: "All 33 spec actions are HTTP endpoints present verbatim in the source Command Summary; transport base URL and port match. (13 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source is community_report and explicitly notes \"The protocol is also supported by B&O video products, but this is not covered by the API.\" V1-32 support per endpoint is not confirmed."
- "valid range not stated in source)"
- "object schema not specified in source"
- "enum values not stated in source"
- "response body schemas not specified in source beyond data type hints."
- "full schema not in source"
- "valid range not in source"
- "explicit schema not in source"
- "source defines request bodies as opaque \"object\" types without property schemas."
- "notification stream payload schema not specified in source."
- "no multi-step sequences documented in source."
- "source contains no safety warnings, interlock procedures, or power-on sequencing requirements."
- "firmware version compatibility, RS-232/serial config, alternative transport (PUC/IR), PUC table mapping, video-specific endpoints (HDMI switching, picture mode, tuner control)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0