Guide service provides an API to get the list of supported services on the server.
getSupportedApiInfo (v1.0)
This API provides the supported services and their information. This API is used in the initialization sequence to dynamically fetch the service compatibility of the server.
Syntax
HTML
http://{IP address} or {Host name}/sony/guide
Authentication Level
none
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
services
string-array
?
null
Services to fetch API information. Null or empty arrays are treated as all services.
Error Code No additional error codes are defined. Refer to error code for common errors.
appControl
This service handles APIs that launch the application itself and the accompanying manipulations related to specific applications.
prepareAppUpload v1.0
Note This API is supported for the FW-BZxxx series (firmware: PKG 6.2512 or later, generation version: 5.7.0 or later) and can be called via localhost (127.0.0.1) only. The ‘generation’ version can be obtained via getSystemInformation API: For details, see here.
This API provides a function to launch an upload server and returns assetId. By calling this API, the upload server is launched and you can upload the APK file to install via the following URL:
Note ・This API is supported for the FW-BZxxx series (firmware: PKG 6.2512 or later, generation version: 5.7.0 or later) and can be called via localhost (127.0.0.1) only. ・The ‘generation’ version can be obtained via getSystemInformation API: for details, see here.
This API provides a function to uninstall an application.
Syntax
HTML
http://{IP address} or {Host name}/sony/appControl
Note This API is supported for the FW-BZxxx series (firmware: PKG 6.2512 or later, generation version: 5.7.0 or later) and can be called via localhost (127.0.0.1) only. The ‘generation’ version can be obtained via getSystemInformation API: For details, see here.
This API provides a function to install an application. It is necessary to call prepareAppUpload API and complete upload process before calling this API.
For more details, please see Appendix 1: The application upload and install process.
Syntax
HTML
http://{IP address} or {Host name}/sony/appControl
Authentication Level
generic
Request
name
type
type multiplicity
default
description
assetId
string
1
afterInstallAction
string
?
This parameter specify an action after the installation is completed "startApplication": an application is launched with parameter "uri".
uri
string
?
This parameter is compliant with android-app scheme spec. Please see https://developer.android.com/reference/android/content/Intent#URI_ANDROID_APP_SCHEME.
This appendix outlines the steps for clients to upload and install APK file using our APIs.
1.Initiate app upload and get assetId
The client must call prepareAppUpload API to obtain an assetId
When prepareAppUpload is called, it starts an HTTP server dedicated to APK transfers
The API issues an assetId, and then returns this assetId as the response to the prepareAppUpload call
2.Transfer the APK file via POST
The client should POST the APK file to the following URL:
http://{ip adddress}/sony/appupload/{assetId}
Important Notes:
Authentication: Similar to all Web API calls, the PSK information must be included in the POST header during the transfer (mandatry requirement)
Timeout for transfer start: If the file transfer does not begin within specific period (5 minutes), the Web API will cancel the corresponding assetId
APK storage: Web API saves the transferred APK file as an application-specific persistent file
Automatic deletion: The file will be automatically deleted by the system after the installApp process completes or if the assetId is canceled
3.Initiate app installation
Once the transfer is complete, the client must call installApp API, specifying assetId
Important Notes:
Timeout for installaltion call: If the client does not call installApp within a certain period after the file trasfer is complete (5 minutes), the system will cancel the assetId
HTTP server persistence: The HTTP server for APK transfers, once started, will remain active until Control remotely is turned off or the system restarts
getTextForm (v1.1)
This API returns the current text input on the field of the software keyboard. This version supports encrypted text data transmission and is primarily used by TV SideView.
Note BZ40P / BZ35P / BZ30P: supported Japan only Other models: supported in Japan and EU area.
Otherwise, error #3 “Illegal Argument” is returned.
setTextForm (v1.1)
This API provides the function to input text on the field of the software keyboard. This version supports encrypted text data transmission and is primarily used by TV SideView.
Note BZ40P / BZ35P / BZ30P: supported Japan only Other models: supported in Japan and EU area.
This API provides functions to launch an application.
Syntax
HTML
http://{IP address} or {Host name}/sony/appControl
Authentication Level
generic
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
uri
string
1
URI of target application. "localapp://webappruntime?url=target_url" - launch target_url. "localapp://webappruntime?manifest=manifest_url" - launch an application in manifest_url. "localapp://webappruntime?auid=application_unique_id" - launch the application in auid=application_unique_id in the USB storage.
result's Elements An array of objects composed of the following pairs.
name
type
multiplicity
default
description
title
string
1
Application name
uri
string
1
Application URI
icon
string
?
""
URL that indicates the application's icon location. If this member is skipped, the default is "", which means that there is no icon for the application.
result's Elements An array of objects composed of the following pairs.
name
type
multiplicity
default
description
name
string
1
Application name. The following values are defined. ・"textInput" - software keyboard ・"cursorDisplay" - application using a cursor ・"webBrowse" - web browser
status
string
1
Application status. The following values are defined. ・"off" - application is inactive ・"on" - application is active
Otherwise, error #3 “Illegal Argument” is returned.
audio
This service handles APIs that are related to audio functions like volume, sound effects and so on.
setAudioVolume (v1.0)
This API provides the function to change the audio volume level.
Syntax
HTML
http://{IP address} or {Host name}/sony/audio
Authentication Level
generic
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
target
string
1
Output target of the sound. The following values are defined. ・"" - outputs sound to all output equipment of the device. If the mute information of all outputs is the same, this value is set. ・"speaker" - outputs sound to the speaker(s). ・"headphone" - outputs sound to the headphones
volume
string
1
Volume level to set. The following formats are applied. ・"N" - N is a numeric string (ex. "25"). The volume is set to level N. ・"+N" - N is a numeric string (ex. "+14"). The volume is increased by an increment of N. ・"-N" - N is a numeric string (ex. "-10"). The volume is reduced by an increment of N.
This API provides current settings and supported settings related to speaker configuration items.
Syntax
HTML
http://{IP address} or {Host name}/sony/audio
Authentication Level
none
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
target
string
?
""
Target name. The default value is "". This indicates the settings of all targets. The client can get all speaker setting information by setting the empty string to "target". The client can get specific speaker setting values by explicitly setting the target name to "target".
・"" - Settings of all targets. ・"tvPosition" - Sets the sound according to the display position. ・"subwooferLevel" - Sets the level of the Subwoofer speaker. Note that the range and step values vary depending on the device. ・"subwooferFreq" - Adjusts the cut off frequency of the Wireless Subwoofer. All frequencies the cut off frequency are output to the Wireless Subwoofer instead of the display speakers. ・"subwooferPhase" - Sets the phase polarity of the subwoofer. ・"subwooferPower" - Sets the power control method of the Wireless Subwoofer.
result's Elements An array of objects composed of the following pairs.
name
type
multiplicity
default
description
target
string
1
Target name. ・"tvPosition" - Sets the sound according to the display position. ・"subwooferLevel" - Sets the level of the Subwoofer speaker. Note that the range and step values vary depending on the device. ・"subwooferFreq" - Adjusts the cut off frequency of the Wireless Subwoofer. All frequencies the cut off frequency are output to the Wireless Subwoofer instead of the display speakers. ・"subwooferPhase" - Sets the phase polarity of the subwoofer. ・"subwooferPower" - Sets the power control method of the Wireless Subwoofer.
currentValue
string
1
Current value of the target.
If "target" is "tvPosition" ・"tableTop" - Provides the best sound quality when you place the display on a table. ・"wallMount" - Provides the best sound quality when you hang the display on a wall.
If "target" is "subwooferLevel" ・0 - Minimum value. ・:(step by 1) ・24 - Maximum value.
If "target" is "subwooferFreq" ・0 - Minimum value. ・:(step by 1) ・30 - Maximum value.
If "target" is "subwooferPhase" ・"normal" - normal. ・"reverse" - reverse.
If "target" is "subwooferPower" ・"on" - on. ・"off" - off.
result's Elements An array of objects composed of the following pairs.
name
type
multiplicity
default
description
target
string
1
Output target of the sound. The following values are defined. ・"speaker" - outputs sound to the speaker(s) ・"headphone" - outputs sound to the headphones
volume
integer
1
Current volume.
mute
boolean
1
Current mute status. ・true - mute ・false - not mute
Error Code No additional error codes are defined. Refer to error code for common errors.
setAudioVolume (v1.2)
This API provides the function to change the audio volume level.
Syntax
HTML
http://{IP address} or {Host name}/sony/audio
Authentication Level
generic
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
target
string
1
Output target of the sound. The following values are defined. ・"" - outputs sound to all output equipment of the device. If the mute information of all outputs is the same, this value is set. ・"speaker" - outputs sound to the speaker(s) ・"headphone" - outputs sound to the headphones
volume
string
1
Volume level to set. The following formats are applied. ・"N" - N is a numeric string (ex. "25"). The volume is set to level N. ・"+N" - N is a numeric string (ex. "+14"). The volume is increased by an increment of N. ・"-N" - N is a numeric string (ex. "-10"). The volume is reduced by an increment of N.
ui
string
?
null
If the UI (volume bar, etc.) should be displayed, set this "on". ・"on" - UI is displayed. ・"off" - UI is not displayed. ・null - Not specified. (depends on the server)
This API provides the function to change the settings related to sound setting items.
Syntax
HTML
http://{IP address} or {Host name}/sony/audio
Authentication Level
generic
Request
params' Elements An object composed of the following pair(s).
settings
type
multiplicity
default
description
(object-array)
1
Object to accommodate one or more target/value pair(s).
target
type
multiplicity
default
description
string
1
Target name (UI setting target) ・"outputTerminal" - Selecting speakers or terminals to output sound.
value
type
multiplicity
default
description
string
1
The value to set for the target name.
If "target" is "outputTerminal" ・"speaker" - Audio is output from the speaker. ・"speaker_hdmi" - Audio is output from the speaker and HDMI. ・"hdmi" - Audio is output from HDMI. ・"audioSystem" - Audio is output from HDMI or digital audio ・output.
One or more settings are not set by error when multiple settings are set. The client needs to call paired APIs (getXXXSettings) to identify which parameters failed to be updated.
setSpeakerSettings (v1.0)
Note BZ40P / BZ35P / BZ30P: not supported.
This API provides the function to change the settings related to speaker setting items.
Syntax
HTML
http://{IP address} or {Host name}/sony/audio
Authentication Level
generic
Request
params' Elements An object composed of the following pair(s).
settings
type
multiplicity
default
description
(object-array)
1
Object to accommodate one or more target/value pair(s).
target
type
multiplicity
default
description
string
1
Target name. (UI setting target)
・"tvPosition" - Sets the sound according to the display position. ・"subwooferLevel" - Sets the level of the Subwoofer speaker. Note that the range and step values vary depending on the device. ・"subwooferFreq" - Adjusts the cut off frequency of the Wireless Subwoofer. All frequencies below the cut off frequency are output to the Wireless Subwoofer instead of the display speakers. ・"subwooferPhase" - Sets the phase polarity of the subwoofer. ・"subwooferPower" - Sets the power control method of the Wireless Subwoofer.
value
type
multiplicity
default
description
string
1
The value to set for the target name.
If "target" is "tvPosition" ・"tableTop" - Provides the best sound quality when you place the display on a TV stand. ・"wallMount" - Provides the best sound quality when you hang the display on a wall.
If "target" is "subwooferLevel" ・0 - Minimum value. ・:(step by 1) ・24 - Maximum value.
If "target" is "subwooferFreq" ・0 - Minimum value. ・:(step by 1) ・30 - Maximum value.
If "target" is "subwooferPhase" ・"normal" - normal. ・"reverse" - reverse.
If "target" is "subwooferPower" ・"on" - on. ・"off" - off.
One or more settings are not set by error when multiple settings are set. The client needs to call paired APIs (getXXXSettings) to identify which parameters failed to be updated.
avContent
This service handles overall control of input and output of the device for AV contents and manipulating AV contents themselves on the device. For example, there is an API to request display channel list, request it to set to a certain channel, and also request it to change to an external input like HDMI. Several APIs have URI parameters to specify the input and output of the device or contents itself. Please find more details about the concept of URI <a href="">here</a>.
setPlayContent (v1.0)
This API provides the function to play content. With this API, content specified in the request parameter is shown to the user.
Syntax
HTML
http://{IP address} or {Host name}/sony/avContent
Authentication Level
generic
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
uri
string
1
URI obtained from getContentList API. Refer to here to learn the URI structure in detail.
result's Elements An array of objects composed of the following pairs.
name
type
multiplicity
default
description
uri
string
1
URI to identify the content. Refer to here to learn the URI structure in detail. ・(ex) "extInput:hdmi?port=2"
title
string
1
Name of input. ・(ex) "HDMI 2" ・(ex) "Component 1"
connection
boolean
1
Input connection status. ・true - connected ・false - not connected
label
string
1
Label name of the input set by the user. ・(ex) "Game"
icon
string
1
Icon type to give a hint to the application which icon to show for the user. The type is indicated by a "meta" URI format and implies that the developers of the client side should prepare some actual images with respect to the meta URI. The following meta URIs are defined.
・"meta:composite" - Composite input ・"meta:svideo" - S-Video input ・"meta:composite_componentd" - Composite and D-Component combined input ・"meta:component" - Component input (Y and Pb/Cb and Pr/Cr connectors) ・"meta:componentd" - D-Component input ・"meta:scart" - SCART input ・"meta:hdmi" - HDMI input ・"meta:dsub15" - D-subminiature 15pin input ・"meta:tuner" - Tuner device is connected. ・"meta:tape" - Tape player device is connected. ・"meta:disc" - Disk player device is connected. ・"meta:complex" - Complex device is connected. ・"meta:avamp" - AV amp device is connected. ・"meta:hometheater" - Home theater device is connected. ・"meta:game" - Game player is connected. ・"meta:camcoder" - Video camera is connected. ・"meta:digitalcamera" - Still camera is connected. ・"meta:pc" - Personal computer is connected. ・"meta:tv" - TV-type CEC device is connected. ・"meta:audiosystem" - Audio system-type CEC device is connected. ・"meta:recordingdevice" - Recording-type CEC device is connected. ・"meta:playbackdevice" - Playback-type CEC device is connected. ・"meta:tunerdevice" - Tuner-type CEC device is connected. ・"meta:wifidisplay" - WiFi Display input
status
string
?
null
Input signal status.
・"true" - signal is detected. ・"false" - signal is not detected. ・null - unknown
result's Elements An array of objects composed of the following pairs.
name
type
multiplicity
default
description
uri
string
1
URI to identify the content. Refer to here to learn the URI structure in detail. ・(ex) "extInput:hdmi?port=2"
title
string
1
Name of input. ・(ex) "HDMI 2" ・(ex) "Component 1"
connection
boolean
1
Input connection status. ・true - connected ・false - not connected
label
string
1
Label name of the input set by the user. ・(ex) "Game"
icon
string
Icon type to give a hint to the application which icon to show for the user. The type is indicated by a "meta" URI format and implies that the developers of the client side should prepare some actual images with respect to the meta URI. The following meta URIs are defined.
・"meta:composite" - Composite input ・"meta:svideo" - S-Video input ・"meta:composite_componentd" - Composite and D-Component combined input ・"meta:component" - Component input (Y and Pb/Cb and Pr/Cr connectors) ・"meta:componentd" - D-Component input ・"meta:scart" - SCART input ・"meta:hdmi" - HDMI input ・"meta:dsub15" - D-subminiature 15pin input ・"meta:tuner" - Tuner device is connected. ・"meta:tape" - Tape player device is connected. ・"meta:disc" - Disk player device is connected. ・"meta:complex" - Complex device is connected. ・"meta:avamp" - AV amp device is connected. ・"meta:hometheater" - Home theater device is connected. ・"meta:game" - Game player is connected. ・"meta:camcoder" - Video camera is connected. ・"meta:digitalcamera" - Still camera is connected. ・"meta:pc" - Personal computer is connected. ・"meta:tv" - TV-type CEC device is connected. ・"meta:audiosystem" - Audio system-type CEC device is connected. ・"meta:recordingdevice" - Recording-type CEC device is connected. ・"meta:playbackdevice" - Playback-type CEC device is connected. ・"meta:tunerdevice" - Tuner-type CEC device is connected. ・"meta:wifidisplay" - WiFi Display input
result's Elements An object composed of the following pair(s).
In case of “extInput:*” as source
name
type
multiplicity
default
description
uri
string
1
URI to identify the content. Refer to here to learn the URI structure in detail. ・(ex) "extInput:hdmi?port=1"
source
string
1
Source of the content.
title
string
1
Title of this content to be recognized by the user. ・(ex) "HDMI 1" ・(ex) "AV2/Component" Note: Use the getCurrentExternalInputStatus method to get the label name that a user sets via the UI setting.
Error Code No additional error codes are defined. Refer to error code for common errors.
getContentCount (v1.0)
This API provides the count of contents in the source. For example, this API returns the number of external inputs by indicating "extInput:hdmi" as the source.
Syntax
HTML
http://{IP address} or {Host name}/sony/avContent
Authentication Level
private
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
source
string
1
Source name composed of the URI with a scheme and path. Refer to here to learn the source and URI structure in detail.
result's Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
count
integer
1
The number of contents in the source.
JSON Example
JSON
{"result":[{"count":4}],"id":11}
Error Code No additional error codes are defined. Refer to error code for common errors.
getContentCount (v1.1)
This API provides the count of contents in the source. For example, this API returns the number of external inputs by indicating "extInput:hdmi" as the source.
Syntax
HTML
http://{IP address} or {Host name}/sony/avContent
Authentication Level
private
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
source
string
1
Source name composed of the URI with a scheme and path. Refer to here to learn the source and URI structure in detail.
result's Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
count
integer
1
The number of contents in the source.
JSON Example
JSON
{"result":[{"count":4}],"id":11}
Error Code No additional error codes are defined. Refer to error code for common errors.
getContentList (v1.5)
This API provides the list of contents under the URI. For example, this API returns external inputs by indicating "extInput:*" as the URI.
If the number of contents is too large to be retrieved in a single request, the 'stIdx' and 'cnt' parameters should be used to retrieve partial lists. To get the complete list, multiple requests are to be made by adjusting the 'stIdx' and 'cnt' parameters. There is a maximum limit on the number of contents that can be retrieved in a single request. This limit is device specific. The 'cnt' parameter also has the same maximum limit.
Getting content information:
To retrieve information about the content on a device, the client needs to know the source URI. The client can obtain the source URI using getSchemeList and getSourceList.
First, the client calls getSchemeList to get a list of available schemes.
Then, the client sets one of these schemes to the scheme parameter of getSourceList and calls this API to obtain the source URI.
Finally, the client sets the obtained source URI to the uri parameter of getContentList and calls this API to retrieve or browse the content information.
result's Elements An array of objects composed by following pairs.
In case uri parameter in response is “extInput:*”
name
type
multiplicity
default
description
uri
string
1
URI to identify the content. Refer to here to learn the URI structure in detail. ・(ex) "extInput:hdmi?port=1"
title
string
?
null
Title of this content to be recognized by the user. The default value is null. This means that there is no title information.
index
integer
?
0
Index of the list. This starts with "stIdx" that is indicated in the request. When this value is -1. this indicates that the content itself is specified by the URI in the request parameter.
Input name. This is preset text on the BRAVIA Professional Display. Note: Use the getCurrentExternalInputStatus method to get the label name that a user sets via the UI setting.
index
included
getSchemeList (v1.0)
This API provides the list of schemes that the device can handle.
This service handles APIs that are related to basic device functions like as follows.
・To provide device related information like category, serial number and so on.
・To provide/change general setting information like network setting, power status, clock setting and so on.
・To provide function to access general component to Sony device, like Remote Commander.
getScreenshot v1.0
Note ・This API is available for the following: - BZ40P / BZ35P / BZ30P: not supported - Other models: FW-BZxxx series (firmware: PKG 6.2512 or later, generation version: 5.7.0 or later)
・It can be called via localhost (127.0.0.1) only. ・The ‘generation’ version can be obtained via getSystemInformation API: For details, see here.
This API provides a function to capture screenshot image and returns 320x180 jpeg data encoded Base64.
his API provides the function to change the setting of the power saving mode and adjust the device's power consumption.
Syntax
HTML
http://{IP address} or {Host name}/sony/system
Authentication Level
generic
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
mode
string
1
Current power saving mode. The following values are defined. ・"off" - Power saving mode is disabled. ・"low" - Power saving mode is enabled at a low level. ・"high" - Power saving mode is enabled at a high level. ・"pictureOff" - Power saving mode is enabled with the panel output off.
This API provides the current time set in the device. This version has the additional response parameters of timezone and DST (Daylight Saving Time) offset information.
result's Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
productCategory
string
1
Category name of the device.
productName
string
1
More detailed product information can be returned if productCategory is not enough.
modelName
string
1
Model name.
serverName
string
1
Server name. If the device can launch multiple REST API servers, return this server's name for the client to distinguish.
interfaceVersion
string
1
Version for the client to change its behavior with regards to significant differences within productCategory. This version is managed/controlled within each productCategory. The composition of this parameter is "[X].[Y].[Z]", where [X], [Y], and [Z] are strings each representing an integer and concatenated with periods "." in between.
・[X]: This value is assigned and incremented so that the client can distinguish any significant differences between devices or groups of devices within productCategory. How this value is assigned depends on each productCategory. ・[Y]: This value represents the versions of API sets supported within [X]. This version must be incremented if supported APIs are added or deleted. ・[Z]: This value must be incremented if any behavior of existing APIs is changed within [X.Y].
Error Code No additional error codes are defined. Refer to error code for common errors.
Appendix
Guide about Response
BRAVIA Professional Display returns fixed values for the following parameters.
name
value
productCategory
“tv”
productName
“BRAVIA”
serverName
””
"interfaceVersion” is stored as below. This value should match with the version of the interface.
Software
value
PKG6.5603.0175
“5.0.1”
getRemoteDeviceSettings (v1.0)
This API provides the current settings and supported settings related to remote devices, which can access the server device from outside the door.
Syntax
HTML
http://{IP address} or {Host name}/sony/system
Authentication Level
none
Request
params' Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
target
string
?
""
Target name. The default value is "". This indicates the settings of all targets. The client can get all remote device setting information by setting the empty string to "target". The client can get specific remote device setting values by explicitly setting the target name to "target".
・"accessPermission" - Sets whether to permit access from remote devices, which can access the server device from outside the door. ・"" - Settings of all targets.
result's Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
mode
string
1
Current power saving mode. The following values are defined. ・"off" - Power saving mode is disabled. ・"low" - Power saving mode is enabled at a low level. ・"high" - Power saving mode is enabled at a high level. ・"pictureOff" - Power saving mode is enabled with the panel output off.
JSON Example
JSON
{"result":[{"mode":"high"}],"id":51}
Error Code No additional error codes are defined. Refer to error code for common errors.
getPowerStatus (v1.0)
This API provides the current power status of the device.
Note
It is possible that some devices may not respond when they are in the power off state.
result's Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
product
string
1
Device category. The following values are currently defined.
language
string
?
""
Language code of the device, represented by ISO-639 alpha-3. The default value is "", and if the server device cannot send this parameter, an empty string is returned.
model
string
1
Name of the product. This must be unique within each product. The actual value is defined by each product and is outside the scope of this document.
serial
string
?
""
Serial ID assigned to each device. The default value is "", and if the server device cannot send this parameter, an empty string is returned. The actual value is defined by each product and outside the scope of this document.
macAddr
string
?
""
Ethernet MAC address. Default value is "" and in case server device can not send this parameter, empty string is returned.
name
string
1
Product name. This must be unique within each category.
generation
string
?
""
Represents the rough age and season of the device in the market. The parameter is composed of "[X].[Y].[Z]", where [X], [Y], and [Z] are strings each representing an integer, concatenated with periods "." in between. This must be unique within each category. The default value is, "" and if the server device cannot send this parameter, an empty string is returned.
Error Code No additional error codes are defined. Refer to error code for common errors.
Appendix
Guide about Response
The BRAVIA Professional Display returns fixed values for the following parameters.
name
value
product
“TV”
name
“BRAVIA”
The BRAVIA Professional Display also extends ISO-639 alpha-3 on “language”.
“macAddr” stores valid MAC addresses of active NICs. The format must be “xx:xx:xx:xx:xx:xx”. In the BRAVIA Professional Display, only one NIC is active.
“generation” stores same values as interfaceVersion in getInterfaceInformation.
getSystemInformation (v1.7)
This API provides general information on the device.
result's Elements An object composed of the following pair(s).
name
type
multiplicity
default
description
product
string
1
Device category. The following values are currently defined.
language
string
7
""
Language code of the device, represented by ISO-639 alpha-3. The default value is "", and if the server device cannot send this parameter, an empty string is returned.
model
string
1
Name of the product. This must be unique within each product. The actual value is defined by each product and is outside the scope of this document.
serial
string
?
""
Serial ID assigned to each device. The default value is "", and if the server device cannot send this parameter, an empty string is returned. The actual value is defined by each product and outside the scope of this document.
macAddr
string
?
""
Ethernet MAC address. Default value is "" and in case server device can not send this parameter, empty string is returned.
name
string
1
Product name. This must be unique within each category.
generation
string
?
""
Represents the rough age and season of the device in the market. The parameter is composed of "[X].[Y].[Z]", where [X], [Y], and [Z] are strings each representing an integer, concatenated with periods "." in between. This must be unique within each category. The default value is, "" and if the server device cannot send this parameter, an empty string is returned.
fwVersion
string
?
""
BRAVIA software version.
androidOs
string
?
""
Android version.
webAppRuntimeVersion
string
?
""
WebAppRuntime version.
mode
string
?
""
This value represents the current mode in terms of Pro mode. Normal, ProSettings, Pro.
Error CodeNo additional error codes are defined. Refer to error code for common errors.
Appendix
Guide about Response
The BRAVIA Professional Display returns fixed values for the following parameters.
name
value
product
“TV”
name
“BRAVIA”
The BRAVIA Professional Display also extends ISO-639 alpha-3 on “language”.
“macAddr” stores valid MAC addresses of active NICs. The format must be “xx:xx:xx:xx:xx:xx”. In the BRAVIA Professional Display, only one NIC is active.
“generation” stores same values as interfaceVersion in getInterfaceInformation.
getSystemSupportedFunction (v1.0)
This API provides the list of device capabilities within the scope of system service handling.
result's Elements An array of objects composed of the following pairs.
name
type
multiplicity
default
description
option
string
1
Option name to identify the function. ・"WOL" - If the server supports WOL, the MAC address is set as a value.
value
string
1
Current value for each option. The value varies per option and the following value is defined. ・(ex) "00:00:00:00:00:00:00:E0" (The MAC Address when the option value is "WOL".)
Error Code No additional error codes are defined. Refer to error code for common errors.
Appendix
Guide about Response
When the value of the option parameter is “WOL”, the value of the value parameter stores MAC addresses of active NICs.If this API is called via a wireless NIC, the value stores the MAC address of the wireless NIC.
getWolMode (v1.0)
This API provides information on the device's WoL (Wake-on-LAN) mode settings. The mode indicates whether the device receives the WoL packet to power on.
Error Code No additional error codes are defined. Refer to error code for common errors.
setLEDIndicatorStatus (v1.1)
This API provides the function to light up a specific LED Indicator, usually equipped in the front of the device to show the current device status to the user.
Note
When requesting to change the LED indicator status with this API, you should take care not to return it to its original status when terminating your application.
Syntax
HTML
http://{IP address} or {Host name}/sony/system
Authentication Level
generic
Request
params' Elements An object composed of the following pair(s).
Error Code No additional error codes are defined. Refer to error code for common errors.
video
This service handles APIs that are related to video functions.
getScreenRotation v1.0
Note This API is supported for the FW-BZxxx series (firmware: PKG 6.2512 or later, generation version: 5.7.0 or later) and can be called via localhost (127.0.0.1) only. The ‘generation’ version can be obtained via getSystemInformation API: For details, see here.
This API returns the current screen rotation value.
Note This API is supported for the FW-BZxxx series (firmware: PKG 6.2512 or later, generation version: 5.7.0 or later) and can be called via localhost (127.0.0.1) only. The ‘generation’ version can be obtained via getSystemInformation API: For details, see here.
This API provides a function to set screen rotation.
This API provides current settings and supported settings related to picture quality configuration items.
Syntax
HTML
http://{IP address} or {Host name}/sony/video
Authentication Level
none
Request
params' Elements An object composed by following pair(s).
name
type
multiplicity
default
description
target
string
?
""
Target name. Default value is "". It means settings of all targets. Client can get all custom picture quality settings information by setting empty string to "target". Client can get specific custom picture quality setting value by explicitly setting target name to "target".
・"color" - Adjust the color saturation level. ・"brightness" - Adjust the luminance level of the screen. ・"contrast" - Adjust the picture white level. ・"sharpness" - Adjust the picture detail. ・"pictureMode" - Set picture mode. ・"lightSensor" - Optimize brightness according to ambient light. ・"colorSpace" - Change the color reproduction range. ・"colorTemperature" - Adjust the color temperature. ・"autoPictureMode" - Automatically selects the picture mode based on the viewing content. ・"hdrMode" - Picture that is suitable for a High Dynamic Range signal. ・"autoLocalDimming" - Optimizes contrast by adjusting brightness in individual sections of the screen. ・"xtendedDynamicRange" - Adjust peak luminance for the brightness whites and blackest blacks. ・"" - Settings of all targets.
Error Code No additional error codes are defined. Refer to error code for common errors.
getPictureQualitySettings (v1.1)
This API provides current settings and supported settings related to picture quality configuration items.
Syntax
HTML
http://{IP address} or {Host name}/sony/video
Authentication Level
none
Request
params' Elements An object composed by following pair(s).
name
type
multiplicity
default
description
target
string
?
""
Target name. Default value is "". It means settings of all targets. Client can get all custom picture quality settings information by setting empty string to "target". Client can get specific custom picture quality setting value by explicitly setting target name to "target".
Error Code No additional error codes are defined. Refer to error code for common errors.
Response for all targets
Please see page.14; “Appendix 2: getPictureQualitySettings: Response for all targets”.
setPictureQualitySettings (v1.0)
This API provides a function to change settings related to picture quality setting items.
Syntax
HTML
http://{IP address} or {Host name}/sony/video
Authentication Level
generic
Request
params' Elements An object composed by following pair(s).
name
type
multiplicity
default
description
target
string
?
null
Target name (UI setting target). Please use getPictureQualitySettings to acquire the available targets.
・"color" - Adjust the color saturation level. ・"brightness" - Adjust the luminance level of the screen. ・"contrast" - Adjust the picture white level. ・"sharpness" - Adjust the picture detail. ・"pictureMode" - Set picture mode. ・"lightSensor" - Optimize brightness according to ambient light. ・"colorSpace" - Change the color reproduction range. ・"colorTemperature" - Adjust the color temperature. ・"autoPictureMode" - Automatically selects the picture mode based on the viewing content. ・"hdrMode" - Picture that is suitable for a High Dynamic Range signal. ・"autoLocalDimming" - Optimizes contrast by adjusting brightness in individual sections of the screen. ・"xtendedDynamicRange" - Adjust peak luminance for the brightness whites and blackest blacks.
value
string
?
null
The value to set for target name. Please use getPictureQualitySettings to acquire the candidate values of target.
One or more settings are not set by error when multiple settings are set. Client needs to call paired APIs (getXXXSettings) to identify which parameters fail to be updated.
setPictureQualitySettings (v1.1)
This API provides a function to change settings related to picture quality setting items.
Syntax
HTML
http://{IP address} or {Host name}/sony/video
Authentication Level
generic
Request
params' Elements An object composed by following pair(s).
name
type
multiplicity
default
description
target
string
?
""
Target name (UI setting target). Please use getPictureQualitySettings v1.1 to acquire the available targets. For reference, please also see page.11; "Appendix 1: Target list".
value
string
?
null
The value to set for target name. Please use getPictureQualitySettings v1.1 to acquire the candidate values of target.
It also supports specifying multiple targets. The following example means that the contentType is changed to ‘video’, the pictureMode is changed to ‘standard’, and then the color and brightness are changed to 50.
One or more settings are not set by error when multiple settings are set. Client needs to call paired APIs (getXXXSettings) to identify which parameters fail to be updated.
Response
About HDMI signal format (hdmiSignalFormat and hdmiSignalFormatVrr)
Specifying multiple targets in a single http request with this API may cause the API to fail under certain signal conditions. To avoid this issue, ensure that only one target is specified per http request.
videoScreen
This service handles APIs that are related to video screen functions.
getSceneSetting (v1.0)
Note:
BZ40P / BZ35P / BZ30P: not supported.
This API provides function to get current scene setting value and the list of scene setting values which are able to be set.
Note
This API retrieves scene information at the time of the API call. The returned values may vary depending on the device state — for example, the currently selected input source — and the available scene setting options are also dependent on the current input source. If scene settings are not supported for the active input source, the candidate list will be empty.
Syntax
HTML
http://{IP address} or {Host name}/sony/videoScreenws://{IP address} or {Host name}/sony/videoScreen
result's Elements An array of objects composed of the following pairs.
currentValue
type
multiplicity
default
description
string
1
Current scene setting value. "auto" - Automatically selects the scene based on the viewing content. "auto24pSync" - Automatically selects "Cinema" for 24Hz signal content. Behaves as "Auto" for all other signals. "general" - Turn off scene select for general content.
This API provides the function to change the current scene setting value.
Note
This API is able to set the value at API call timing, which might vary depending on the device state. (For example, depending on the "current" input source.)
Syntax
HTML
http://{IP address} or {Host name}/sony/videoScreen
Authentication Level
generic
Request
params' ElementsAn object composed of the following pair(s).
name
type
multiplicity
default
description
value
string
1
Scene of the input source. ・"auto" - Automatically selects the scene based on the viewing content. ・"auto24pSync" - Automatically selects "Cinema" for 24Hz signal content. Behaves as "Auto" for all other signals. ・"general" - Turns off scene select for general content.
The value of "value" in Request is not supported by the current input source of the device.
Error Code
In the REST API protocol, HTTP and JSON-RPC are used, so you can use the status codes of both layers. This document describes handling errors in different layers and lists examples for major errors.
Overview
The error code is defined between 0-65535. The error code is divided into two areas (REST API system area and user area).
error code
area
0 - 32767
REST API system area
32768 - 65535
user area
The user area is divided between the common area and each service.
error code
area
32768 - 39999
Unused areas.
40000 - 40199
Service common areas.
40200 - 40399
System service area.
40400 - 40599
Camera service area.
40600 - 40799
videoScreen service area.
40800 - 40999
Audio service area.
41000 - 41199
avContent service area.
41200 - 41399
Recording service area.
41400 - 41599
appControl service area.
41600 - 41799
Browser service area.
42000 - 42199
accessControl service.
42200 - 42399
contentDownload service.
42400 - 42599
Encryption service.
42600 - 42799
contentSync service.
42800 - 42999
contentSync service.
43000 - 65535
A reserved area.
This is legend of error code’s explanation table.
code
Reason phrase example
JSON example
Explanation
Error code. This is the 1st Element of “error”.
Example of the error reason message. This is the 2nd Element of “error”.
Example of the “error” member’s response. This is shown in bold and italics.
Explanation of the error case.
HTTP Major Error Codes in REST API.
This is the basic policy.
Should follow the original HTTP definition.
Should not map others to HTTP errors forcibly.
If the HTTP status code is anything other than 200 OK. and if the HTTP server returns a response body in accordance with the REST API protocol, the error code must be same as the HTTP error code. Major error codes are listed as follows.
code
Reason phrase example
JSON example
Explanation
401
Unauthorized
“error”: [401, “Unauthorized”]
Request requires user authentication.
403
Forbidden
“error”: [403, “Forbidden”]
Server understood the request, but is refusing to fulfill it. The client does not have permission to access.
404
Not Found
“error”: [404, “Not Found”]
For cases where the request is not matched to any supported API version.
413
Request Entity Too Large
“error”: [413, “Request Entity Too Large”]
The accepted body size of the client request exceeds the maximum limit.
414
Request-URI Too Long
“error”: [414, “Request-URI Too Long”]
The accepted URI length of the client request exceeds the maximum limit.
501
Not Implemented
“error”: [501, “Not Implemented”]
When the request method is not implemented on the server.
503
Service Unavailable
“error”: [503, “Service Unavailable”]
When the server is in a temporarily unavailable state which may occur due to other concurrent connections. (The number of maximum connections is not defined because it depends on the server.)
System Error Code
code
Reason phrase example
JSON Example
Explanation
1
Any
“error”: [1, “Any”]
A generic error code which can be used with any error.
2
Timeout
“error”: [2, “Timeout”]
For cases when the server cannot reply in time.
3
Illegal Argument
“error”: [3, “Illegal Argument”]
For cases when the “params” value in the request does not follow API specifications.
5
Illegal Request
“error”: [5, “Illegal Request”]
For cases when the request body is empty, has no ID or has an invalid ID, has no method, has no params, or the params is not an array.
7
Illegal State
“error”: [7, “Illegal State”]
For cases when the server cannot handle the request at this time.
12
No Such Method
“error”: [12, “No Such Method”]
For cases when the requested API does not exist.
14
Unsupported Version
“error”: [14, “Unsupported Version”]
For cases when the requested version is not supported on the specified service.
15
Unsupported Operation
“error”: [15, “Unsupported Operation”]
For cases when the server cannot handle the request with respect to the specified parameters.
Common Error Code
code
Reason phrase example
JSON Example
Explanation
40000
Request Retry
“error”: [40000, “Request Retry”]
Long Polling timeout happens.
40001
Client Over Maximum
“error”: [40001, “Clients Over Maximum”]
The number of Long Polling clients exceeds the maximum limit.
40002
Encryption Failed
“error”: [40002, “Encryption Failed”]
Encryption error. Failed to encrypt/decrypt in the encryption API.
40003
Request Duplicated
“error”: [40003, “Request Duplicated”]
Client must wait for the previous response.
40004
Multiple Settings Failed
“error”: [40004, “Multiple Settings Failed”]
One or more settings are not set by error when multiple settings are set. The client needs to call paired APIs (getXXXSettings) to identify which parameters failed to be updated.
40005
Display is turned off
“error”: [40005, “Display is turned off”]
Display is turned off.
40006
Please contact the inquiry counter
“error”: [40006, “Exxxx”]
A common error code used among services to be used for general errors. This error code can be used only to identify general errors, but has different messages (like error codes) in “error_message” just for debugging or display purposes.
system Service Error Code
code
Reason phrase example
JSON Example
Explanation
40200
Password expired
“error”: [40200, “Password expired”]
Password is expired.
40201
AC power required
“error”: [40201, “AC power required”]
Server cannot run this method without AC power.
videoScreen Service Error Code
code
Reason phrase example
JSON Example
Explanation
40600
Screen Change in Progress
“error”: [40600, “Screen Change in Progress”]
Another request is in progress.
audio Service Error Code
code
Reason phrase example
JSON Example
Explanation
40800
Target Not Supported
“error”: [40800, “Target Not Supported”]
Target is not supported or cannot be controlled for some device specific reason.
40801
Volume Out of Range
“error”: [40801, “Volume Out of Range”]
Volume is out of range.
avContent Service Error Code
code
Reason phrase example
JSON Example
Explanation
41000
Content is Protected
“error”: [41000, “Content is Protected”]
Content is protected.
41001
Content does Not Exist
“error”: [41001, “Content does Not Exist”]
Content does not exist.
41002
Storage has no content.
“error”: [41002, “Storage has no content.”]
Storage has no content.
41003
Some content could not be deleted
“error”: [41003, “Some content could not be deleted”]
Some content could not be deleted.
41011
Channel Fixed by USB Recording
“error”: [41011, “Channel Fixed by USB Recording”]
Channel is fixed by USB recording.
41012
Channel Fixed by SCART Recording
“error”: [41012, “Channel Fixed by SCART Recording”]
Channel is fixed by SCART recording.
41013
Chapter doesn’t exist
“error”: [41013, “Chapter doesn’t exist”]
Chapter doesn’t exist.
41014
Channel can’t be uniquely determind.
“error”: [41014, “Channel can’t be uniquely determind”]