Archive:JSON-RPC API/v6: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
Version 6 is a stable version of Kodi's JSON-RPC API and is published with the release of v12 (Frodo). It continues to be used for v13, v14, v15 and v16 (Jarvis). It comes with support for [http://en.wikipedia.org/wiki/WebSocket WebSockets] as an alternative transport for third party clients. Using WebSockets will allow webinterfaces (which are currently restricted to the HTTP transport only) to get access to a bidirectional transport with Kodi's JSON-RPC API and can therefore also profit from additional features like notifications. | Version 6 is a stable version of Kodi's JSON-RPC API and is published with the release of v12 (Frodo). It continues to be used for v13, v14, v15 and v16 (Jarvis). It comes with support for [http://en.wikipedia.org/wiki/WebSocket WebSockets] as an alternative transport for third party clients. Using WebSockets will allow webinterfaces (which are currently restricted to the HTTP transport only) to get access to a bidirectional transport with Kodi's JSON-RPC API and can therefore also profit from additional features like notifications. | ||
Line 14,568: | Line 14,566: | ||
}</syntaxhighlight>}} | }</syntaxhighlight>}} | ||
== External links == | == External links == | ||
Line 14,577: | Line 14,571: | ||
* [http://tools.ietf.org/html/draft-zyp-json-schema-03 A JSON Media Type for Describing the Structure and Meaning of JSON Documents (Draft 03)] | * [http://tools.ietf.org/html/draft-zyp-json-schema-03 A JSON Media Type for Describing the Structure and Meaning of JSON Documents (Draft 03)] | ||
[[Category: | [[Category:JSON-RPC]] |
Revision as of 23:31, 27 August 2020
Version 6 is a stable version of Kodi's JSON-RPC API and is published with the release of v12 (Frodo). It continues to be used for v13, v14, v15 and v16 (Jarvis). It comes with support for WebSockets as an alternative transport for third party clients. Using WebSockets will allow webinterfaces (which are currently restricted to the HTTP transport only) to get access to a bidirectional transport with Kodi's JSON-RPC API and can therefore also profit from additional features like notifications.
Some of the methods have been changed or removed, so v6 is not 100% backwards compatible with older versions. A rough and incomplete list of changes compared to version 4 can be found here. A more complete and detailed list can be found in the forum.
JSON-RPC 2.0 compatibility
Version | Method calls | Notifications (server-side) |
Notifications (client-side) |
Parameters by-name |
Parameters by-position |
Batch requests |
---|---|---|---|---|---|---|
Version 6 | Yes | Yes | Yes | Yes | Yes | Yes |
Documentation (JSON Schema)
Supported features of JSON Schema
Schema | IETF Draft 03 |
---|---|
type | Yes |
properties | Yes |
patternProperties | No |
additionalProperties | Yes |
items | Yes |
additionalItems | Yes |
required | Yes |
dependencies | No |
minimum | Yes |
maximum | Yes |
Schema | IETF Draft 03 |
---|---|
exclusiveMinimum | Yes |
exclusiveMaximum | Yes |
minItems | Yes |
maxItems | Yes |
uniqueItems | Yes |
pattern | No |
minLength | Yes |
maxLength | Yes |
enum | Yes |
default | Yes |
Schema | IETF Draft 03 |
---|---|
title | No |
description | Yes |
format | No |
divisibleBy | Yes |
disallow | No |
extends | Yes |
id | Yes |
$ref | Yes |
$schema | No |
Hyper Schema | No |
Error message
If Kodi detects a bad or missing parameter in a JSON-RPC request it returns an error object. The JSON schema description of that error object is
{ "type": "object", "properties": { "code": { "type": "integer", "required": true }, "message": { "type": "string", "required": true }, "data": { "type": "object", "properties": { "method": { "type": "string", "required": true }, "stack": { "type": "object", "id": "Error.Stack", "properties": { "name": { "type": "string", "required": true }, "type": { "type": "string", "required": true }, "message": { "type": "string", "required": true }, "property": { "$ref": "Error.Stack" } } } } } } } |
Namespaces
The Kodi JSON-RPC API is split up into namespaces, which contain methods that can be called. These namespaces are:
Addons List, enable and execute addons Application Application information and control AudioLibrary Audio Library information Favourites Favourites GetFavourites and AddFavourite Files Shares information & filesystem listings GUI Window properties and activation Input Allows limited navigation within Kodi JSONRPC A variety of standard JSONRPC calls Player Manages all available players Playlist Playlist modification Profiles Support for Profiles operations to xbmc. PVR Live TV control Settings Allows manipulation of Kodi settings. System System controls and information Textures with GetTextures and RemoveTexture VideoLibrary Video Library information XBMC Dumping ground for very Kodi specific operations |
Methods
Addons
Addons.ExecuteAddon
Executes the given addon with the given parameters (if possible)
Permissions:
- ExecuteAddon
Parameters:
- string addonid
- [ mixed params = null ]
- [ boolean wait = False ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "name": "addonid", "required": true, "type": "string" }, { "name": "params", "type": [ { "additionalProperties": { "type": "string", "default": "" }, "type": "object" }, { "items": { "type": "string" }, "type": "array" } ], "default": null }, { "name": "wait", "type": "boolean", "default": false } ], "description": "Executes the given addon with the given parameters (if possible)", "returns": { "type": "string" } } |
Addons.GetAddonDetails
Gets the details of a specific addon
Permissions:
- ReadData
Parameters:
- string addonid
- [ Addon.Fields properties ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- Addon.Details addon
JSON Schema Description |
---|
{ "params": [ { "name": "addonid", "required": true, "type": "string" }, { "$ref": "Addon.Fields", "name": "properties" } ], "description": "Gets the details of a specific addon", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "addon": { "$ref": "Addon.Details", "required": true } }, "type": "object" } } |
Addons.GetAddons
Gets all available addons
Permissions:
- ReadData
Parameters:
- [ Addon.Types type = "unknown" ]
- [ Addon.Content content = "unknown" ]
- [ mixed enabled = "all" ]
- [ Addon.Fields properties ]
- [ List.Limits limits ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Addon.Details[] addons ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Addon.Types", "name": "type", "default": "unknown" }, { "$ref": "Addon.Content", "description": "Content provided by the addon. Only considered for plugins and scripts.", "name": "content", "default": "unknown" }, { "name": "enabled", "type": [ { "type": "boolean" }, { "enums": [ "all" ], "type": "string" } ], "default": "all" }, { "$ref": "Addon.Fields", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" } ], "description": "Gets all available addons", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "addons": { "items": { "$ref": "Addon.Details" }, "type": "array" } }, "type": "object" } } |
Addons.SetAddonEnabled
Enables/Disables a specific addon
Permissions:
- ManageAddon
Parameters:
- string addonid
- Global.Toggle enabled
Returns: string
JSON Schema Description |
---|
{ "params": [ { "name": "addonid", "required": true, "type": "string" }, { "$ref": "Global.Toggle", "name": "enabled", "required": true } ], "description": "Enables/Disables a specific addon", "returns": { "type": "string" } } |
Application
Application.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- Application.Property.Name[] properties
Returns: Application.Property.Value
JSON Schema Description |
---|
{ "params": [ { "uniqueItems": true, "items": { "$ref": "Application.Property.Name" }, "name": "properties", "type": "array", "required": true } ], "description": "Retrieves the values of the given properties", "returns": { "$ref": "Application.Property.Value" } } |
Application.Quit
Quit application
Permissions:
- ControlPower
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Quit application", "returns": { "type": "string" } } |
Application.SetMute
Toggle mute/unmute
Permissions:
- ControlPlayback
Parameters:
- Global.Toggle mute
Returns: boolean
JSON Schema Description |
---|
{ "params": [ { "$ref": "Global.Toggle", "name": "mute", "required": true } ], "description": "Toggle mute/unmute", "returns": { "description": "Mute state", "type": "boolean" } } |
Application.SetVolume
Set the current volume
Permissions:
- ControlPlayback
Parameters:
- mixed volume
Returns: integer
JSON Schema Description |
---|
{ "params": [ { "name": "volume", "required": true, "type": [ { "minimum": 0, "type": "integer", "maximum": 100 }, { "$ref": "Global.IncrementDecrement" } ] } ], "description": "Set the current volume", "returns": { "type": "integer" } } |
AudioLibrary
AudioLibrary.Clean
Cleans the audio library from non-existent items
Permissions:
- RemoveData
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Cleans the audio library from non-existent items", "returns": { "type": "string" } } |
AudioLibrary.Export
Exports all items from the audio library
Permissions:
- WriteFile
Parameters:
- [ mixed options ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "name": "options", "type": [ { "additionalProperties": false, "properties": { "path": { "description": "Path to the directory to where the data should be exported", "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "overwrite": { "description": "Whether to overwrite existing exported files", "type": "boolean", "default": false }, "images": { "description": "Whether to export thumbnails and fanart images", "type": "boolean", "default": false } }, "type": "object" } ] } ], "description": "Exports all items from the audio library", "returns": { "type": "string" } } |
AudioLibrary.GetAlbumDetails
Retrieve details about a specific album
Permissions:
- ReadData
Parameters:
- Library.Id albumid
- [ Audio.Fields.Album properties ]
Returns:
Type: object
Properties:
- [ Audio.Details.Album albumdetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "albumid", "required": true }, { "$ref": "Audio.Fields.Album", "name": "properties" } ], "description": "Retrieve details about a specific album", "returns": { "properties": { "albumdetails": { "$ref": "Audio.Details.Album" } }, "type": "object" } } |
AudioLibrary.GetAlbums
Retrieve all albums from specified artist or genre
Permissions:
- ReadData
Parameters:
- [ Audio.Fields.Album properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
- [ mixed filter ]
Returns:
Type: object
Properties:
- [ Audio.Details.Album[] albums ]
- List.LimitsReturned limits
JSON Schema Description |
---|
{ "params": [ { "$ref": "Audio.Fields.Album", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" }, { "name": "filter", "type": [ { "additionalProperties": false, "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "genre": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "artistid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "artist": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "$ref": "List.Filter.Albums" } ] } ], "description": "Retrieve all albums from specified artist or genre", "returns": { "properties": { "albums": { "items": { "$ref": "Audio.Details.Album" }, "type": "array" }, "limits": { "$ref": "List.LimitsReturned", "required": true } }, "type": "object" } } |
AudioLibrary.GetArtistDetails
Retrieve details about a specific artist
Permissions:
- ReadData
Parameters:
- Library.Id artistid
- [ Audio.Fields.Artist properties ]
Returns:
Type: object
Properties:
- [ Audio.Details.Artist artistdetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "artistid", "required": true }, { "$ref": "Audio.Fields.Artist", "name": "properties" } ], "description": "Retrieve details about a specific artist", "returns": { "properties": { "artistdetails": { "$ref": "Audio.Details.Artist" } }, "type": "object" } } |
AudioLibrary.GetArtists
Retrieve all artists
Permissions:
- ReadData
Parameters:
- [ Optional.Boolean albumartistsonly = null ]
- [ Audio.Fields.Artist properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
- [ mixed filter ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Audio.Details.Artist[] artists ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Optional.Boolean", "description": "Whether or not to include artists only appearing in compilations. If the parameter is not passed or is passed as null the GUI setting will be used", "name": "albumartistsonly", "default": null }, { "$ref": "Audio.Fields.Artist", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" }, { "name": "filter", "type": [ { "additionalProperties": false, "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "genre": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "albumid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "album": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "songid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "$ref": "List.Filter.Artists" } ] } ], "description": "Retrieve all artists", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "artists": { "items": { "$ref": "Audio.Details.Artist" }, "type": "array" } }, "type": "object" } } |
AudioLibrary.GetGenres
Retrieve all genres
Permissions:
- ReadData
Parameters:
- [ Library.Fields.Genre properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- Library.Details.Genre[] genres
- List.LimitsReturned limits
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Fields.Genre", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve all genres", "returns": { "properties": { "genres": { "items": { "$ref": "Library.Details.Genre" }, "required": true, "type": "array" }, "limits": { "$ref": "List.LimitsReturned", "required": true } }, "type": "object" } } |
AudioLibrary.GetRecentlyAddedAlbums
Retrieve recently added albums
Permissions:
- ReadData
Parameters:
- [ Audio.Fields.Album properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- [ Audio.Details.Album[] albums ]
- List.LimitsReturned limits
JSON Schema Description |
---|
{ "params": [ { "$ref": "Audio.Fields.Album", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve recently added albums", "returns": { "properties": { "albums": { "items": { "$ref": "Audio.Details.Album" }, "type": "array" }, "limits": { "$ref": "List.LimitsReturned", "required": true } }, "type": "object" } } |
AudioLibrary.GetRecentlyAddedSongs
Retrieve recently added songs
Permissions:
- ReadData
Parameters:
- [ List.Amount albumlimit = -1 ]
- [ Audio.Fields.Song properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Audio.Details.Song[] songs ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "List.Amount", "description": "The amount of recently added albums from which to return the songs", "name": "albumlimit", "default": -1 }, { "$ref": "Audio.Fields.Song", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve recently added songs", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "songs": { "items": { "$ref": "Audio.Details.Song" }, "type": "array" } }, "type": "object" } } |
AudioLibrary.GetRecentlyPlayedAlbums
Retrieve recently played albums
Permissions:
- ReadData
Parameters:
- [ Audio.Fields.Album properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- [ Audio.Details.Album[] albums ]
- List.LimitsReturned limits
JSON Schema Description |
---|
{ "params": [ { "$ref": "Audio.Fields.Album", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve recently played albums", "returns": { "properties": { "albums": { "items": { "$ref": "Audio.Details.Album" }, "type": "array" }, "limits": { "$ref": "List.LimitsReturned", "required": true } }, "type": "object" } } |
AudioLibrary.GetRecentlyPlayedSongs
Retrieve recently played songs
Permissions:
- ReadData
Parameters:
- [ Audio.Fields.Song properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Audio.Details.Song[] songs ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Audio.Fields.Song", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve recently played songs", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "songs": { "items": { "$ref": "Audio.Details.Song" }, "type": "array" } }, "type": "object" } } |
AudioLibrary.GetSongDetails
Retrieve details about a specific song
Permissions:
- ReadData
Parameters:
- Library.Id songid
- [ Audio.Fields.Song properties ]
Returns:
Type: object
Properties:
- [ Audio.Details.Song songdetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "songid", "required": true }, { "$ref": "Audio.Fields.Song", "name": "properties" } ], "description": "Retrieve details about a specific song", "returns": { "properties": { "songdetails": { "$ref": "Audio.Details.Song" } }, "type": "object" } } |
AudioLibrary.GetSongs
Retrieve all songs from specified album, artist or genre
Permissions:
- ReadData
Parameters:
- [ Audio.Fields.Song properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
- [ mixed filter ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Audio.Details.Song[] songs ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Audio.Fields.Song", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" }, { "name": "filter", "type": [ { "additionalProperties": false, "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "genre": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "artistid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "artist": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "albumid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "album": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "$ref": "List.Filter.Songs" } ] } ], "description": "Retrieve all songs from specified album, artist or genre", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "songs": { "items": { "$ref": "Audio.Details.Song" }, "type": "array" } }, "type": "object" } } |
AudioLibrary.Scan
Scans the audio sources for new library items
Permissions:
- UpdateData
Parameters:
- [ string directory = "" ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "name": "directory", "type": "string", "default": "" } ], "description": "Scans the audio sources for new library items", "returns": { "type": "string" } } |
AudioLibrary.SetAlbumDetails
Update the given album with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id albumid
- [ Optional.String title = null ]
- [ mixed artist = null ]
- [ Optional.String description = null ]
- [ mixed genre = null ]
- [ mixed theme = null ]
- [ mixed mood = null ]
- [ mixed style = null ]
- [ Optional.String type = null ]
- [ Optional.String albumlabel = null ]
- [ Optional.Integer rating = null ]
- [ Optional.Integer year = null ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "albumid", "required": true }, { "$ref": "Optional.String", "name": "title", "default": null }, { "name": "artist", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.String", "name": "description", "default": null }, { "name": "genre", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "theme", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "mood", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "style", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.String", "name": "type", "default": null }, { "$ref": "Optional.String", "name": "albumlabel", "default": null }, { "$ref": "Optional.Integer", "name": "rating", "default": null }, { "$ref": "Optional.Integer", "name": "year", "default": null } ], "description": "Update the given album with the given details", "returns": { "type": "string" } } |
AudioLibrary.SetArtistDetails
Update the given artist with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id artistid
- [ Optional.String artist = null ]
- [ mixed instrument = null ]
- [ mixed style = null ]
- [ mixed mood = null ]
- [ Optional.String born = null ]
- [ Optional.String formed = null ]
- [ Optional.String description = null ]
- [ mixed genre = null ]
- [ Optional.String died = null ]
- [ Optional.String disbanded = null ]
- [ mixed yearsactive = null ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "artistid", "required": true }, { "$ref": "Optional.String", "name": "artist", "default": null }, { "name": "instrument", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "style", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "mood", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.String", "name": "born", "default": null }, { "$ref": "Optional.String", "name": "formed", "default": null }, { "$ref": "Optional.String", "name": "description", "default": null }, { "name": "genre", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.String", "name": "died", "default": null }, { "$ref": "Optional.String", "name": "disbanded", "default": null }, { "name": "yearsactive", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null } ], "description": "Update the given artist with the given details", "returns": { "type": "string" } } |
AudioLibrary.SetSongDetails
Update the given song with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id songid
- [ Optional.String title = null ]
- [ mixed artist = null ]
- [ mixed albumartist = null ]
- [ mixed genre = null ]
- [ Optional.Integer year = null ]
- [ Optional.Integer rating = null ]
- [ Optional.String album = null ]
- [ Optional.Integer track = null ]
- [ Optional.Integer disc = null ]
- [ Optional.Integer duration = null ]
- [ Optional.String comment = null ]
- [ Optional.String musicbrainztrackid = null ]
- [ Optional.String musicbrainzartistid = null ]
- [ Optional.String musicbrainzalbumid = null ]
- [ Optional.String musicbrainzalbumartistid = null ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "songid", "required": true }, { "$ref": "Optional.String", "name": "title", "default": null }, { "name": "artist", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "albumartist", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "genre", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.Integer", "name": "year", "default": null }, { "$ref": "Optional.Integer", "name": "rating", "default": null }, { "$ref": "Optional.String", "name": "album", "default": null }, { "$ref": "Optional.Integer", "name": "track", "default": null }, { "$ref": "Optional.Integer", "name": "disc", "default": null }, { "$ref": "Optional.Integer", "name": "duration", "default": null }, { "$ref": "Optional.String", "name": "comment", "default": null }, { "$ref": "Optional.String", "name": "musicbrainztrackid", "default": null }, { "$ref": "Optional.String", "name": "musicbrainzartistid", "default": null }, { "$ref": "Optional.String", "name": "musicbrainzalbumid", "default": null }, { "$ref": "Optional.String", "name": "musicbrainzalbumartistid", "default": null } ], "description": "Update the given song with the given details", "returns": { "type": "string" } } |
Files
Files.Download
Downloads the given file
Permissions:
- ReadData
Parameters:
- string path
Returns: any
JSON Schema Description |
---|
{ "params": [ { "name": "path", "required": true, "type": "string" } ], "description": "Downloads the given file", "returns": { "type": "any" } } |
Files.GetDirectory
Get the directories and files in the given directory
Permissions:
- ReadData
Parameters:
- string directory
- [ Files.Media media = "files" ]
- [ List.Fields.Files properties ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- List.Item.File[] files
JSON Schema Description |
---|
{ "params": [ { "name": "directory", "required": true, "type": "string" }, { "$ref": "Files.Media", "name": "media", "default": "files" }, { "$ref": "List.Fields.Files", "name": "properties" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Get the directories and files in the given directory", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "files": { "items": { "$ref": "List.Item.File" }, "required": true, "type": "array" } }, "type": "object" } } |
Files.GetFileDetails
Get details for a specific file
Permissions:
- ReadData
Parameters:
- string file
- [ Files.Media media = "files" ]
- [ List.Fields.Files properties ]
Returns:
Type: object
Properties:
- List.Item.File filedetails
JSON Schema Description |
---|
{ "params": [ { "description": "Full path to the file", "name": "file", "type": "string", "required": true }, { "$ref": "Files.Media", "name": "media", "default": "files" }, { "$ref": "List.Fields.Files", "name": "properties" } ], "description": "Get details for a specific file", "returns": { "properties": { "filedetails": { "$ref": "List.Item.File", "required": true } }, "type": "object" } } |
Files.GetSources
Get the sources of the media windows
Permissions:
- ReadData
Parameters:
- Files.Media media
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- List.Items.Sources sources
JSON Schema Description |
---|
{ "params": [ { "$ref": "Files.Media", "name": "media", "required": true }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Get the sources of the media windows", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "sources": { "$ref": "List.Items.Sources", "required": true } }, "type": "object" } } |
Files.PrepareDownload
Provides a way to download a given file (e.g. providing an URL to the real file location)
Permissions:
- ReadData
Parameters:
- string path
Returns:
Type: object
Properties:
- string mode
- string protocol
- any details
JSON Schema Description |
---|
{ "params": [ { "name": "path", "required": true, "type": "string" } ], "description": "Provides a way to download a given file (e.g. providing an URL to the real file location)", "returns": { "properties": { "mode": { "enums": [ "redirect", "direct" ], "description": "Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol", "required": true, "type": "string" }, "protocol": { "enums": [ "http" ], "required": true, "type": "string" }, "details": { "description": "Transport specific details on how/from where to download the given file", "required": true, "type": "any" } }, "type": "object" } } |
GUI
GUI.ActivateWindow
Activates the given window
Permissions:
- ControlGUI
Parameters:
- GUI.Window window
- [ array[1..X] parameters ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "GUI.Window", "name": "window", "required": true }, { "minItems": 1, "items": { "minLength": 1, "type": "string" }, "name": "parameters", "type": "array" } ], "description": "Activates the given window", "returns": { "type": "string" } } |
GUI.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- GUI.Property.Name[] properties
Returns: GUI.Property.Value
JSON Schema Description |
---|
{ "params": [ { "uniqueItems": true, "items": { "$ref": "GUI.Property.Name" }, "name": "properties", "type": "array", "required": true } ], "description": "Retrieves the values of the given properties", "returns": { "$ref": "GUI.Property.Value" } } |
GUI.SetFullscreen
Toggle fullscreen/GUI
Permissions:
- ControlGUI
Parameters:
- Global.Toggle fullscreen
Returns: boolean
JSON Schema Description |
---|
{ "params": [ { "$ref": "Global.Toggle", "name": "fullscreen", "required": true } ], "description": "Toggle fullscreen/GUI", "returns": { "description": "Fullscreen state", "type": "boolean" } } |
GUI.ShowNotification
Shows a GUI notification
Permissions:
- ControlGUI
Parameters:
- string title
- string message
- [ mixed image = "" ]
- [ integer displaytime = 5000 ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "name": "title", "required": true, "type": "string" }, { "name": "message", "required": true, "type": "string" }, { "name": "image", "type": [ { "enums": [ "info", "warning", "error" ], "type": "string" }, { "type": "string" } ], "default": "" }, { "minimum": 1500, "description": "The time in milliseconds the notification will be visible", "name": "displaytime", "default": 5000, "type": "integer" } ], "description": "Shows a GUI notification", "returns": { "type": "string" } } |
Input
Input.Back
Goes back in GUI
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Goes back in GUI", "returns": { "type": "string" } } |
Input.ContextMenu
Shows the context menu
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Shows the context menu", "returns": { "type": "string" } } |
Input.Down
Navigate down in GUI
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Navigate down in GUI", "returns": { "type": "string" } } |
Input.ExecuteAction
Execute a specific action
Permissions:
- Navigate
Parameters:
- Input.Action action
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Input.Action", "name": "action", "required": true } ], "description": "Execute a specific action", "returns": { "type": "string" } } |
Input.Home
Goes to home window in GUI
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Goes to home window in GUI", "returns": { "type": "string" } } |
Input.Info
Shows the information dialog
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Shows the information dialog", "returns": { "type": "string" } } |
Input.Left
Navigate left in GUI
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Navigate left in GUI", "returns": { "type": "string" } } |
Input.Right
Navigate right in GUI
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Navigate right in GUI", "returns": { "type": "string" } } |
Input.Select
Select current item in GUI
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Select current item in GUI", "returns": { "type": "string" } } |
Input.SendText
Send a generic (unicode) text
Permissions:
- Navigate
Parameters:
- string text
- [ boolean done = True ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "description": "Unicode text", "name": "text", "type": "string", "required": true }, { "description": "Whether this is the whole input or not (closes an open input dialog if true).", "name": "done", "default": true, "type": "boolean" } ], "description": "Send a generic (unicode) text", "returns": { "type": "string" } } |
Input.ShowCodec
Show codec information of the playing item
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Show codec information of the playing item", "returns": { "type": "string" } } |
Input.ShowOSD
Show the on-screen display for the current player
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Show the on-screen display for the current player", "returns": { "type": "string" } } |
Input.Up
Navigate up in GUI
Permissions:
- Navigate
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Navigate up in GUI", "returns": { "type": "string" } } |
JSONRPC
JSONRPC.GetConfiguration
Get client-specific configurations
Permissions:
- ReadData
Parameters: None
Returns: Configuration
JSON Schema Description |
---|
{ "params": [], "description": "Get client-specific configurations", "returns": { "$ref": "Configuration" } } |
JSONRPC.Introspect
Enumerates all actions and descriptions
Permissions:
- ReadData
Parameters:
- [ boolean getdescriptions = True ]
- [ boolean getmetadata = False ]
- [ boolean filterbytransport = True ]
- [ object filter ]
Properties:
- [ boolean getreferences = True ]
- string id
- string type
Returns:
Type: object
JSON Schema Description |
---|
{ "params": [ { "name": "getdescriptions", "type": "boolean", "default": true }, { "name": "getmetadata", "type": "boolean", "default": false }, { "name": "filterbytransport", "type": "boolean", "default": true }, { "name": "filter", "properties": { "getreferences": { "description": "Whether or not to print the schema for referenced types", "type": "boolean", "default": true }, "id": { "description": "Name of a namespace, method or type", "required": true, "type": "string" }, "type": { "enums": [ "method", "namespace", "type", "notification" ], "description": "Type of the given name", "required": true, "type": "string" } }, "type": "object" } ], "description": "Enumerates all actions and descriptions", "returns": { "additionalProperties": false, "type": "object" } } |
JSONRPC.NotifyAll
Notify all other connected clients
Permissions:
- ReadData
Parameters:
- string sender
- string message
- [ any data = null ]
Returns: any
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "message", "required": true, "type": "string" }, { "name": "data", "type": "any", "default": null } ], "description": "Notify all other connected clients", "returns": { "type": "any" } } |
JSONRPC.Permission
Retrieve the clients permissions
Permissions:
- ReadData
Parameters: None
Returns:
Type: object
Properties:
- boolean readdata
- boolean writefile
- boolean controlpvr
- boolean controlsystem
- boolean removedata
- boolean controlplayback
- boolean navigate
- boolean controlpower
- boolean executeaddon
- boolean manageaddon
- boolean controlgui
- boolean controlnotify
- boolean updatedata
JSON Schema Description |
---|
{ "params": [], "description": "Retrieve the clients permissions", "returns": { "properties": { "readdata": { "required": true, "type": "boolean" }, "writefile": { "required": true, "type": "boolean" }, "controlpvr": { "required": true, "type": "boolean" }, "controlsystem": { "required": true, "type": "boolean" }, "removedata": { "required": true, "type": "boolean" }, "controlplayback": { "required": true, "type": "boolean" }, "navigate": { "required": true, "type": "boolean" }, "controlpower": { "required": true, "type": "boolean" }, "executeaddon": { "required": true, "type": "boolean" }, "manageaddon": { "required": true, "type": "boolean" }, "controlgui": { "required": true, "type": "boolean" }, "controlnotify": { "required": true, "type": "boolean" }, "updatedata": { "required": true, "type": "boolean" } }, "type": "object" } } |
JSONRPC.Ping
Ping responder
Permissions:
- ReadData
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Ping responder", "returns": { "type": "string" } } |
JSONRPC.SetConfiguration
Change the client-specific configuration
Permissions:
- ControlNotify
Parameters:
- [ object notifications ]
Properties:
- [ Optional.Boolean gui = null ]
- [ Optional.Boolean other = null ]
- [ Optional.Boolean input = null ]
- [ Optional.Boolean videolibrary = null ]
- [ Optional.Boolean audiolibrary = null ]
- [ Optional.Boolean playlist = null ]
- [ Optional.Boolean system = null ]
- [ Optional.Boolean player = null ]
- [ Optional.Boolean application = null ]
Returns: Configuration
JSON Schema Description |
---|
{ "params": [ { "name": "notifications", "properties": { "gui": { "$ref": "Optional.Boolean", "default": null }, "other": { "$ref": "Optional.Boolean", "default": null }, "input": { "$ref": "Optional.Boolean", "default": null }, "videolibrary": { "$ref": "Optional.Boolean", "default": null }, "audiolibrary": { "$ref": "Optional.Boolean", "default": null }, "playlist": { "$ref": "Optional.Boolean", "default": null }, "system": { "$ref": "Optional.Boolean", "default": null }, "player": { "$ref": "Optional.Boolean", "default": null }, "application": { "$ref": "Optional.Boolean", "default": null } }, "type": "object" } ], "description": "Change the client-specific configuration", "returns": { "$ref": "Configuration" } } |
JSONRPC.Version
Retrieve the JSON-RPC protocol version.
Permissions:
- ReadData
Parameters: None
Returns:
Type: object
Properties:
- integer minor
- integer patch
- integer major
JSON Schema Description |
---|
{ "params": [], "description": "Retrieve the JSON-RPC protocol version.", "returns": { "properties": { "minor": { "minimum": 0, "description": "Bumped on backwards compatible additions/changes to the API definition", "required": true, "type": "integer" }, "patch": { "minimum": 0, "description": "Bumped on any changes to the internal implementation but not to the API definition", "required": true, "type": "integer" }, "major": { "minimum": 0, "description": "Bumped on backwards incompatible changes to the API definition", "required": true, "type": "integer" } }, "type": "object" } } |
PVR
PVR.GetChannelDetails
Retrieves the details of a specific channel
Permissions:
- ReadData
Parameters:
- Library.Id channelid
- [ PVR.Fields.Channel properties ]
Returns:
Type: object
Properties:
- [ PVR.Details.Channel channeldetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "channelid", "required": true }, { "$ref": "PVR.Fields.Channel", "name": "properties" } ], "description": "Retrieves the details of a specific channel", "returns": { "properties": { "channeldetails": { "$ref": "PVR.Details.Channel" } }, "type": "object" } } |
PVR.GetChannelGroupDetails
Retrieves the details of a specific channel group
Permissions:
- ReadData
Parameters:
- PVR.ChannelGroup.Id channelgroupid
- [ object channels ]
Properties:
- [ List.Limits limits ]
- [ PVR.Fields.Channel properties ]
Returns:
Type: object
Properties:
- [ PVR.Details.ChannelGroup.Extended channelgroupdetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "PVR.ChannelGroup.Id", "name": "channelgroupid", "required": true }, { "name": "channels", "properties": { "limits": { "$ref": "List.Limits" }, "properties": { "$ref": "PVR.Fields.Channel" } }, "type": "object" } ], "description": "Retrieves the details of a specific channel group", "returns": { "properties": { "channelgroupdetails": { "$ref": "PVR.Details.ChannelGroup.Extended" } }, "type": "object" } } |
PVR.GetChannelGroups
Retrieves the channel groups for the specified type
Permissions:
- ReadData
Parameters:
- PVR.Channel.Type channeltype
- [ List.Limits limits ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- PVR.Details.ChannelGroup[] channelgroups
JSON Schema Description |
---|
{ "params": [ { "$ref": "PVR.Channel.Type", "name": "channeltype", "required": true }, { "$ref": "List.Limits", "name": "limits" } ], "description": "Retrieves the channel groups for the specified type", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "channelgroups": { "items": { "$ref": "PVR.Details.ChannelGroup" }, "required": true, "type": "array" } }, "type": "object" } } |
PVR.GetChannels
Retrieves the channel list
Permissions:
- ReadData
Parameters:
- PVR.ChannelGroup.Id channelgroupid
- [ PVR.Fields.Channel properties ]
- [ List.Limits limits ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- PVR.Details.Channel[] channels
JSON Schema Description |
---|
{ "params": [ { "$ref": "PVR.ChannelGroup.Id", "name": "channelgroupid", "required": true }, { "$ref": "PVR.Fields.Channel", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" } ], "description": "Retrieves the channel list", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "channels": { "items": { "$ref": "PVR.Details.Channel" }, "required": true, "type": "array" } }, "type": "object" } } |
PVR.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- PVR.Property.Name[] properties
Returns: PVR.Property.Value
JSON Schema Description |
---|
{ "params": [ { "uniqueItems": true, "items": { "$ref": "PVR.Property.Name" }, "name": "properties", "type": "array", "required": true } ], "description": "Retrieves the values of the given properties", "returns": { "$ref": "PVR.Property.Value" } } |
PVR.Record
Toggle recording of a channel
Permissions:
- ControlPVR
Parameters:
- [ Global.Toggle record = "toggle" ]
- [ mixed channel = "current" ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Global.Toggle", "name": "record", "default": "toggle" }, { "name": "channel", "type": [ { "enums": [ "current" ], "type": "string" }, { "$ref": "Library.Id" } ], "default": "current" } ], "description": "Toggle recording of a channel", "returns": { "type": "string" } } |
PVR.Scan
Starts a channel scan
Permissions:
- ControlPVR
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Starts a channel scan", "returns": { "type": "string" } } |
Player
Player.GetActivePlayers
Returns all active players
Permissions:
- ReadData
Parameters: None
Returns:
Type: array
JSON Schema Description |
---|
{ "params": [], "description": "Returns all active players", "returns": { "uniqueItems": true, "items": { "properties": { "type": { "$ref": "Player.Type", "required": true }, "playerid": { "$ref": "Player.Id", "required": true } }, "type": "object" }, "type": "array" } } |
Player.GetItem
Retrieves the currently played item
Permissions:
- ReadData
Parameters:
- Player.Id playerid
- [ List.Fields.All properties ]
Returns:
Type: object
Properties:
- List.Item.All item
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "$ref": "List.Fields.All", "name": "properties" } ], "description": "Retrieves the currently played item", "returns": { "properties": { "item": { "$ref": "List.Item.All", "required": true } }, "type": "object" } } |
Player.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- Player.Id playerid
- Player.Property.Name[] properties
Returns: Player.Property.Value
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "uniqueItems": true, "items": { "$ref": "Player.Property.Name" }, "name": "properties", "type": "array", "required": true } ], "description": "Retrieves the values of the given properties", "returns": { "$ref": "Player.Property.Value" } } |
Player.GoTo
Go to previous/next/specific item in the playlist
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed to
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "name": "to", "required": true, "type": [ { "enums": [ "previous", "next" ], "type": "string" }, { "$ref": "Playlist.Position", "description": "position in playlist" } ] } ], "description": "Go to previous/next/specific item in the playlist", "returns": { "type": "string" } } |
Player.Move
If picture is zoomed move viewport left/right/up/down otherwise skip previous/next
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- string direction
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "enums": [ "left", "right", "up", "down" ], "name": "direction", "required": true, "type": "string" } ], "description": "If picture is zoomed move viewport left/right/up/down otherwise skip previous/next", "returns": { "type": "string" } } |
Player.Open
Start playback of either the playlist with the given ID, a slideshow with the pictures from the given directory or a single file or an item from the database.
Permissions:
- ControlPlayback
Parameters:
- [ mixed item ]
- [ object options ]
Properties:
- [ Optional.Boolean shuffled = null ]
- [ mixed repeat = null ]
- [ mixed resume = False ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "name": "item", "type": [ { "additionalProperties": false, "properties": { "position": { "$ref": "Playlist.Position", "default": 0 }, "playlistid": { "$ref": "Playlist.Id", "required": true } }, "type": "object" }, { "$ref": "Playlist.Item" }, { "additionalProperties": false, "properties": { "path": { "required": true, "type": "string" }, "random": { "description": "Deprecated, use the shuffled property of the options parameter instead", "type": "boolean", "default": true }, "recursive": { "type": "boolean", "default": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "partymode": { "type": [ { "enums": [ "music", "video" ], "type": "string" }, { "description": "Path to a smartplaylist (*.xsp) file", "minLength": 5, "type": "string" } ], "default": "" } }, "type": "object" }, { "additionalProperties": false, "properties": { "channelid": { "$ref": "Library.Id", "required": true } }, "type": "object" } ] }, { "additionalProperties": false, "name": "options", "properties": { "shuffled": { "$ref": "Optional.Boolean", "default": null }, "repeat": { "type": [ { "type": "null" }, { "$ref": "Player.Repeat" } ], "default": null }, "resume": { "type": [ { "description": "Whether to resume from the resume point or not", "type": "boolean" }, { "$ref": "Player.Position.Percentage", "description": "Percentage value to start from" }, { "$ref": "Player.Position.Time", "description": "Time to start from" } ], "default": false } }, "type": "object" } ], "description": "Start playback of either the playlist with the given ID, a slideshow with the pictures from the given directory or a single file or an item from the database.", "returns": { "type": "string" } } |
Player.PlayPause
Pauses or unpause playback and returns the new state
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- [ Global.Toggle play = "toggle" ]
Returns: Player.Speed
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "$ref": "Global.Toggle", "name": "play", "default": "toggle" } ], "description": "Pauses or unpause playback and returns the new state", "returns": { "$ref": "Player.Speed" } } |
Player.Rotate
Rotates current picture
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- [ string value = "clockwise" ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "enums": [ "clockwise", "counterclockwise" ], "name": "value", "type": "string", "default": "clockwise" } ], "description": "Rotates current picture", "returns": { "type": "string" } } |
Player.Seek
Seek through the playing item
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed value
Returns:
Type: object
Properties:
- [ Player.Position.Percentage percentage = 0 ]
- [ Global.Time time ]
- [ Global.Time totaltime ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "name": "value", "required": true, "type": [ { "$ref": "Player.Position.Percentage", "description": "Percentage value to seek to" }, { "$ref": "Player.Position.Time", "description": "Time to seek to" }, { "enums": [ "smallforward", "smallbackward", "bigforward", "bigbackward" ], "description": "Seek by predefined jumps", "type": "string" } ] } ], "description": "Seek through the playing item", "returns": { "properties": { "percentage": { "$ref": "Player.Position.Percentage", "default": 0 }, "time": { "$ref": "Global.Time" }, "totaltime": { "$ref": "Global.Time" } }, "type": "object" } } |
Player.SetAudioStream
Set the audio stream played by the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed stream
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "name": "stream", "required": true, "type": [ { "enums": [ "previous", "next" ], "type": "string" }, { "minimum": 0, "description": "Index of the audio stream to play", "type": "integer" } ] } ], "description": "Set the audio stream played by the player", "returns": { "type": "string" } } |
Player.SetPartymode
Turn partymode on or off
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- Global.Toggle partymode
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "$ref": "Global.Toggle", "name": "partymode", "required": true } ], "description": "Turn partymode on or off", "returns": { "type": "string" } } |
Player.SetRepeat
Set the repeat mode of the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed repeat
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "name": "repeat", "required": true, "type": [ { "$ref": "Player.Repeat" }, { "enums": [ "cycle" ], "type": "string" } ] } ], "description": "Set the repeat mode of the player", "returns": { "type": "string" } } |
Player.SetShuffle
Shuffle/Unshuffle items in the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- Global.Toggle shuffle
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "$ref": "Global.Toggle", "name": "shuffle", "required": true } ], "description": "Shuffle/Unshuffle items in the player", "returns": { "type": "string" } } |
Player.SetSpeed
Set the speed of the current playback
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed speed
Returns: Player.Speed
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "name": "speed", "required": true, "type": [ { "enums": [ -32, -16, -8, -4, -2, -1, 0, 1, 2, 4, 8, 16, 32 ], "type": "integer" }, { "$ref": "Global.IncrementDecrement" } ] } ], "description": "Set the speed of the current playback", "returns": { "$ref": "Player.Speed" } } |
Player.SetSubtitle
Set the subtitle displayed by the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed subtitle
- [ boolean enable = False ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "name": "subtitle", "required": true, "type": [ { "enums": [ "previous", "next", "off", "on" ], "type": "string" }, { "minimum": 0, "description": "Index of the subtitle to display", "type": "integer" } ] }, { "description": "Whether to enable subtitles to be displayed after setting the new subtitle", "name": "enable", "default": false, "type": "boolean" } ], "description": "Set the subtitle displayed by the player", "returns": { "type": "string" } } |
Player.Stop
Stops playback
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true } ], "description": "Stops playback", "returns": { "type": "string" } } |
Player.Zoom
Zoom current picture
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed zoom
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Player.Id", "name": "playerid", "required": true }, { "name": "zoom", "required": true, "type": [ { "enums": [ "in", "out" ], "type": "string" }, { "minimum": 1, "description": "zoom level", "type": "integer", "maximum": 10 } ] } ], "description": "Zoom current picture", "returns": { "type": "string" } } |
Playlist
Playlist.Add
Add item(s) to playlist
Permissions:
- ControlPlayback
Parameters:
- Playlist.Id playlistid
- Playlist.Item item
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Playlist.Id", "name": "playlistid", "required": true }, { "$ref": "Playlist.Item", "name": "item", "required": true } ], "description": "Add item(s) to playlist", "returns": { "type": "string" } } |
Playlist.Clear
Clear playlist
Permissions:
- ControlPlayback
Parameters:
- Playlist.Id playlistid
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Playlist.Id", "name": "playlistid", "required": true } ], "description": "Clear playlist", "returns": { "type": "string" } } |
Playlist.GetItems
Get all items from playlist
Permissions:
- ReadData
Parameters:
- Playlist.Id playlistid
- [ List.Fields.All properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- List.Item.All[] items
JSON Schema Description |
---|
{ "params": [ { "$ref": "Playlist.Id", "name": "playlistid", "required": true }, { "$ref": "List.Fields.All", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Get all items from playlist", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "items": { "items": { "$ref": "List.Item.All" }, "required": true, "type": "array" } }, "type": "object" } } |
Playlist.GetPlaylists
Returns all existing playlists. These are the active queue for 'music', 'mixed', and 'video', not the complete list of playlists in .kodi/userdata/playlists. Use the Files APIs to retrieve those.
Permissions:
- ReadData
Parameters: None
Returns:
Type: array
JSON Schema Description |
---|
{ "params": [], "description": "Returns all existing playlists", "returns": { "uniqueItems": true, "items": { "properties": { "playlistid": { "$ref": "Playlist.Id", "required": true }, "type": { "$ref": "Playlist.Type", "required": true } }, "type": "object" }, "type": "array" } } |
Playlist.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- Playlist.Id playlistid
- Playlist.Property.Name[] properties
Returns: Playlist.Property.Value
JSON Schema Description |
---|
{ "params": [ { "$ref": "Playlist.Id", "name": "playlistid", "required": true }, { "uniqueItems": true, "items": { "$ref": "Playlist.Property.Name" }, "name": "properties", "type": "array", "required": true } ], "description": "Retrieves the values of the given properties", "returns": { "$ref": "Playlist.Property.Value" } } |
Playlist.Insert
Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).
Permissions:
- ControlPlayback
Parameters:
- Playlist.Id playlistid
- Playlist.Position position
- Playlist.Item item
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Playlist.Id", "name": "playlistid", "required": true }, { "$ref": "Playlist.Position", "name": "position", "required": true }, { "$ref": "Playlist.Item", "name": "item", "required": true } ], "description": "Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).", "returns": { "type": "string" } } |
Playlist.Remove
Remove item from playlist. Does not work for picture playlists (aka slideshows).
Permissions:
- ControlPlayback
Parameters:
- Playlist.Id playlistid
- Playlist.Position position
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Playlist.Id", "name": "playlistid", "required": true }, { "$ref": "Playlist.Position", "name": "position", "required": true } ], "description": "Remove item from playlist. Does not work for picture playlists (aka slideshows).", "returns": { "type": "string" } } |
Playlist.Swap
Swap items in the playlist. Does not work for picture playlists (aka slideshows).
Permissions:
- ControlPlayback
Parameters:
- Playlist.Id playlistid
- Playlist.Position position1
- Playlist.Position position2
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Playlist.Id", "name": "playlistid", "required": true }, { "$ref": "Playlist.Position", "name": "position1", "required": true }, { "$ref": "Playlist.Position", "name": "position2", "required": true } ], "description": "Swap items in the playlist. Does not work for picture playlists (aka slideshows).", "returns": { "type": "string" } } |
System
System.EjectOpticalDrive
Ejects or closes the optical disc drive (if available)
Permissions:
- ControlSystem
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Ejects or closes the optical disc drive (if available)", "returns": { "type": "string" } } |
System.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- System.Property.Name[] properties
Returns: System.Property.Value
JSON Schema Description |
---|
{ "params": [ { "uniqueItems": true, "items": { "$ref": "System.Property.Name" }, "name": "properties", "type": "array", "required": true } ], "description": "Retrieves the values of the given properties", "returns": { "$ref": "System.Property.Value" } } |
System.Hibernate
Puts the system running Kodi into hibernate mode
Permissions:
- ControlPower
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Puts the system running Kodi into hibernate mode", "returns": { "type": "string" } } |
System.Reboot
Reboots the system running Kodi
Permissions:
- ControlPower
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Reboots the system running Kodi", "returns": { "type": "string" } } |
System.Shutdown
Shuts the system running Kodi down
Permissions:
- ControlPower
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Shuts the system running Kodi down", "returns": { "type": "string" } } |
System.Suspend
Suspends the system running Kodi
Permissions:
- ControlPower
Parameters: None
Returns: string
JSON Schema Description |
---|
{ "params": [], "description": "Suspends the system running Kodi", "returns": { "type": "string" } } |
VideoLibrary
VideoLibrary.Clean
Cleans the video library from non-existent items
Permissions:
- RemoveData
Parameters:
- [ boolean showdialogs = True ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "description": "Whether to permit UI dialogs to be presented", "name": "showdialogs", "default": true, "type": "boolean" } ], "description": "Cleans the video library from non-existent items", "returns": { "type": "string" } } |
VideoLibrary.Export
Exports all items from the video library
Permissions:
- WriteFile
Parameters:
- [ mixed options ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "name": "options", "type": [ { "additionalProperties": false, "properties": { "path": { "description": "Path to the directory to where the data should be exported", "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "overwrite": { "description": "Whether to overwrite existing exported files", "type": "boolean", "default": false }, "actorthumbs": { "description": "Whether to export actor thumbnails", "type": "boolean", "default": false }, "images": { "description": "Whether to export thumbnails and fanart images", "type": "boolean", "default": false } }, "type": "object" } ] } ], "description": "Exports all items from the video library", "returns": { "type": "string" } } |
VideoLibrary.GetEpisodeDetails
Retrieve details about a specific tv show episode
Permissions:
- ReadData
Parameters:
- Library.Id episodeid
- [ Video.Fields.Episode properties ]
Returns:
Type: object
Properties:
- [ Video.Details.Episode episodedetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "episodeid", "required": true }, { "$ref": "Video.Fields.Episode", "name": "properties" } ], "description": "Retrieve details about a specific tv show episode", "returns": { "properties": { "episodedetails": { "$ref": "Video.Details.Episode" } }, "type": "object" } } |
VideoLibrary.GetEpisodes
Retrieve all tv show episodes
Permissions:
- ReadData
Parameters:
- [ Library.Id tvshowid = -1 ]
- [ integer season = -1 ]
- [ Video.Fields.Episode properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
- [ mixed filter ]
Returns:
Type: object
Properties:
- [ Video.Details.Episode[] episodes ]
- List.LimitsReturned limits
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "tvshowid", "default": -1 }, { "minimum": 0, "name": "season", "type": "integer", "default": -1 }, { "$ref": "Video.Fields.Episode", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" }, { "name": "filter", "type": [ { "additionalProperties": false, "properties": { "genreid": { "$ref": "Library.Id", "description": "Requires tvshowid to be set", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "genre": { "description": "Requires tvshowid to be set", "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "year": { "minimum": 0, "required": true, "type": "integer" } }, "type": "object" }, { "additionalProperties": false, "properties": { "actor": { "description": "Requires tvshowid to be set", "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "director": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "$ref": "List.Filter.Episodes" } ] } ], "description": "Retrieve all tv show episodes", "returns": { "properties": { "episodes": { "items": { "$ref": "Video.Details.Episode" }, "type": "array" }, "limits": { "$ref": "List.LimitsReturned", "required": true } }, "type": "object" } } |
VideoLibrary.GetGenres
Retrieve all genres
Permissions:
- ReadData
Parameters:
- string type
- [ Library.Fields.Genre properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- Library.Details.Genre[] genres
- List.LimitsReturned limits
JSON Schema Description |
---|
{ "params": [ { "enums": [ "movie", "tvshow", "musicvideo" ], "name": "type", "required": true, "type": "string" }, { "$ref": "Library.Fields.Genre", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve all genres", "returns": { "properties": { "genres": { "items": { "$ref": "Library.Details.Genre" }, "required": true, "type": "array" }, "limits": { "$ref": "List.LimitsReturned", "required": true } }, "type": "object" } } |
VideoLibrary.GetMovieDetails
Retrieve details about a specific movie
Permissions:
- ReadData
Parameters:
- Library.Id movieid
- [ Video.Fields.Movie properties ]
Returns:
Type: object
Properties:
- [ Video.Details.Movie moviedetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "movieid", "required": true }, { "$ref": "Video.Fields.Movie", "name": "properties" } ], "description": "Retrieve details about a specific movie", "returns": { "properties": { "moviedetails": { "$ref": "Video.Details.Movie" } }, "type": "object" } } |
VideoLibrary.GetMovieSetDetails
Retrieve details about a specific movie set
Permissions:
- ReadData
Parameters:
- Library.Id setid
- [ Video.Fields.MovieSet properties ]
- [ object movies ]
Properties:
- [ List.Limits limits ]
- [ Video.Fields.Movie properties ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- [ Video.Details.MovieSet.Extended setdetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "setid", "required": true }, { "$ref": "Video.Fields.MovieSet", "name": "properties" }, { "name": "movies", "properties": { "limits": { "$ref": "List.Limits" }, "properties": { "$ref": "Video.Fields.Movie" }, "sort": { "$ref": "List.Sort" } }, "type": "object" } ], "description": "Retrieve details about a specific movie set", "returns": { "properties": { "setdetails": { "$ref": "Video.Details.MovieSet.Extended" } }, "type": "object" } } |
VideoLibrary.GetMovieSets
Retrieve all movie sets
Permissions:
- ReadData
Parameters:
- [ Video.Fields.MovieSet properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Video.Details.MovieSet[] sets ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Video.Fields.MovieSet", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve all movie sets", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "sets": { "items": { "$ref": "Video.Details.MovieSet" }, "type": "array" } }, "type": "object" } } |
VideoLibrary.GetMovies
Retrieve all movies
Permissions:
- ReadData
Parameters:
- [ Video.Fields.Movie properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
- [ mixed filter ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Video.Details.Movie[] movies ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Video.Fields.Movie", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" }, { "name": "filter", "type": [ { "additionalProperties": false, "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "genre": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "year": { "minimum": 0, "required": true, "type": "integer" } }, "type": "object" }, { "additionalProperties": false, "properties": { "actor": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "director": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "studio": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "country": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "setid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "set": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "tag": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "$ref": "List.Filter.Movies" } ] } ], "description": "Retrieve all movies", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "movies": { "items": { "$ref": "Video.Details.Movie" }, "type": "array" } }, "type": "object" } } |
VideoLibrary.GetMusicVideoDetails
Retrieve details about a specific music video
Permissions:
- ReadData
Parameters:
- Library.Id musicvideoid
- [ Video.Fields.MusicVideo properties ]
Returns:
Type: object
Properties:
- [ Video.Details.MusicVideo musicvideodetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "musicvideoid", "required": true }, { "$ref": "Video.Fields.MusicVideo", "name": "properties" } ], "description": "Retrieve details about a specific music video", "returns": { "properties": { "musicvideodetails": { "$ref": "Video.Details.MusicVideo" } }, "type": "object" } } |
VideoLibrary.GetMusicVideos
Retrieve all music videos
Permissions:
- ReadData
Parameters:
- [ Video.Fields.MusicVideo properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
- [ mixed filter ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Video.Details.MusicVideo[] musicvideos ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Video.Fields.MusicVideo", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" }, { "name": "filter", "type": [ { "additionalProperties": false, "properties": { "artist": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "genre": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "year": { "minimum": 0, "required": true, "type": "integer" } }, "type": "object" }, { "additionalProperties": false, "properties": { "director": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "studio": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "tag": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "$ref": "List.Filter.MusicVideos" } ] } ], "description": "Retrieve all music videos", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "musicvideos": { "items": { "$ref": "Video.Details.MusicVideo" }, "type": "array" } }, "type": "object" } } |
VideoLibrary.GetRecentlyAddedEpisodes
Retrieve all recently added tv episodes
Permissions:
- ReadData
Parameters:
- [ Video.Fields.Episode properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- [ Video.Details.Episode[] episodes ]
- List.LimitsReturned limits
JSON Schema Description |
---|
{ "params": [ { "$ref": "Video.Fields.Episode", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve all recently added tv episodes", "returns": { "properties": { "episodes": { "items": { "$ref": "Video.Details.Episode" }, "type": "array" }, "limits": { "$ref": "List.LimitsReturned", "required": true } }, "type": "object" } } |
VideoLibrary.GetRecentlyAddedMovies
Retrieve all recently added movies
Permissions:
- ReadData
Parameters:
- [ Video.Fields.Movie properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Video.Details.Movie[] movies ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Video.Fields.Movie", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve all recently added movies", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "movies": { "items": { "$ref": "Video.Details.Movie" }, "type": "array" } }, "type": "object" } } |
VideoLibrary.GetRecentlyAddedMusicVideos
Retrieve all recently added music videos
Permissions:
- ReadData
Parameters:
- [ Video.Fields.MusicVideo properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Video.Details.MusicVideo[] musicvideos ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Video.Fields.MusicVideo", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve all recently added music videos", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "musicvideos": { "items": { "$ref": "Video.Details.MusicVideo" }, "type": "array" } }, "type": "object" } } |
VideoLibrary.GetSeasons
Retrieve all tv seasons
Permissions:
- ReadData
Parameters:
- Library.Id tvshowid
- [ Video.Fields.Season properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Video.Details.Season[] seasons ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "tvshowid", "required": true }, { "$ref": "Video.Fields.Season", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" } ], "description": "Retrieve all tv seasons", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "seasons": { "items": { "$ref": "Video.Details.Season" }, "type": "array" } }, "type": "object" } } |
VideoLibrary.GetTVShowDetails
Retrieve details about a specific tv show
Permissions:
- ReadData
Parameters:
- Library.Id tvshowid
- [ Video.Fields.TVShow properties ]
Returns:
Type: object
Properties:
- [ Video.Details.TVShow tvshowdetails ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "tvshowid", "required": true }, { "$ref": "Video.Fields.TVShow", "name": "properties" } ], "description": "Retrieve details about a specific tv show", "returns": { "properties": { "tvshowdetails": { "$ref": "Video.Details.TVShow" } }, "type": "object" } } |
VideoLibrary.GetTVShows
Retrieve all tv shows
Permissions:
- ReadData
Parameters:
- [ Video.Fields.TVShow properties ]
- [ List.Limits limits ]
- [ List.Sort sort ]
- [ mixed filter ]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [ Video.Details.TVShow[] tvshows ]
JSON Schema Description |
---|
{ "params": [ { "$ref": "Video.Fields.TVShow", "name": "properties" }, { "$ref": "List.Limits", "name": "limits" }, { "$ref": "List.Sort", "name": "sort" }, { "name": "filter", "type": [ { "additionalProperties": false, "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "genre": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "year": { "minimum": 0, "required": true, "type": "integer" } }, "type": "object" }, { "additionalProperties": false, "properties": { "actor": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "studio": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "tag": { "minLength": 1, "required": true, "type": "string" } }, "type": "object" }, { "$ref": "List.Filter.TVShows" } ] } ], "description": "Retrieve all tv shows", "returns": { "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "tvshows": { "items": { "$ref": "Video.Details.TVShow" }, "type": "array" } }, "type": "object" } } |
VideoLibrary.RemoveEpisode
Removes the given episode from the library
Permissions:
- RemoveData
Parameters:
- Library.Id episodeid
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "episodeid", "required": true } ], "description": "Removes the given episode from the library", "returns": { "type": "string" } } |
VideoLibrary.RemoveMovie
Removes the given movie from the library
Permissions:
- RemoveData
Parameters:
- Library.Id movieid
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "movieid", "required": true } ], "description": "Removes the given movie from the library", "returns": { "type": "string" } } |
VideoLibrary.RemoveMusicVideo
Removes the given music video from the library
Permissions:
- RemoveData
Parameters:
- Library.Id musicvideoid
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "musicvideoid", "required": true } ], "description": "Removes the given music video from the library", "returns": { "type": "string" } } |
VideoLibrary.RemoveTVShow
Removes the given tv show from the library
Permissions:
- RemoveData
Parameters:
- Library.Id tvshowid
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "tvshowid", "required": true } ], "description": "Removes the given tv show from the library", "returns": { "type": "string" } } |
VideoLibrary.Scan
Scans the video sources for new library items
Permissions:
- UpdateData
Parameters:
- [ string directory = "" ]
- [ boolean showdialogs = True ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "name": "directory", "type": "string", "default": "" }, { "description": "Whether to permit UI dialogs to be presented", "name": "showdialogs", "default": true, "type": "boolean" } ], "description": "Scans the video sources for new library items", "returns": { "type": "string" } } |
VideoLibrary.SetEpisodeDetails
Update the given episode with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id episodeid
- [ Optional.String title = null ]
- [ Optional.Integer playcount = null ]
- [ Optional.Integer runtime = null ]
- [ mixed director = null ]
- [ Optional.String plot = null ]
- [ Optional.Number rating = null ]
- [ Optional.String votes = null ]
- [ Optional.String lastplayed = null ]
- [ mixed writer = null ]
- [ Optional.String firstaired = null ]
- [ Optional.String productioncode = null ]
- [ Optional.Integer season = null ]
- [ Optional.Integer episode = null ]
- [ Optional.String originaltitle = null ]
- [ Optional.String thumbnail = null ]
- [ Optional.String fanart = null ]
- [ mixed art = null ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "episodeid", "required": true }, { "$ref": "Optional.String", "name": "title", "default": null }, { "$ref": "Optional.Integer", "name": "playcount", "default": null }, { "$ref": "Optional.Integer", "description": "Runtime in seconds", "name": "runtime", "default": null }, { "name": "director", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.String", "name": "plot", "default": null }, { "$ref": "Optional.Number", "name": "rating", "default": null }, { "$ref": "Optional.String", "name": "votes", "default": null }, { "$ref": "Optional.String", "name": "lastplayed", "default": null }, { "name": "writer", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.String", "name": "firstaired", "default": null }, { "$ref": "Optional.String", "name": "productioncode", "default": null }, { "$ref": "Optional.Integer", "name": "season", "default": null }, { "$ref": "Optional.Integer", "name": "episode", "default": null }, { "$ref": "Optional.String", "name": "originaltitle", "default": null }, { "$ref": "Optional.String", "name": "thumbnail", "default": null }, { "$ref": "Optional.String", "name": "fanart", "default": null }, { "name": "art", "type": [ { "type": "null" }, { "$ref": "Media.Artwork" } ], "default": null } ], "description": "Update the given episode with the given details", "returns": { "type": "string" } } |
VideoLibrary.SetMovieDetails
Update the given movie with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id movieid
- [ Optional.String title = null ]
- [ Optional.Integer playcount = null ]
- [ Optional.Integer runtime = null ]
- [ mixed director = null ]
- [ mixed studio = null ]
- [ Optional.Integer year = null ]
- [ Optional.String plot = null ]
- [ mixed genre = null ]
- [ Optional.Number rating = null ]
- [ Optional.String mpaa = null ]
- [ Optional.String imdbnumber = null ]
- [ Optional.String votes = null ]
- [ Optional.String lastplayed = null ]
- [ Optional.String originaltitle = null ]
- [ Optional.String trailer = null ]
- [ Optional.String tagline = null ]
- [ Optional.String plotoutline = null ]
- [ mixed writer = null ]
- [ mixed country = null ]
- [ Optional.Integer top250 = null ]
- [ Optional.String sorttitle = null ]
- [ Optional.String set = null ]
- [ mixed showlink = null ]
- [ Optional.String thumbnail = null ]
- [ Optional.String fanart = null ]
- [ mixed tag = null ]
- [ mixed art = null ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "movieid", "required": true }, { "$ref": "Optional.String", "name": "title", "default": null }, { "$ref": "Optional.Integer", "name": "playcount", "default": null }, { "$ref": "Optional.Integer", "description": "Runtime in seconds", "name": "runtime", "default": null }, { "name": "director", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "studio", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.Integer", "name": "year", "default": null }, { "$ref": "Optional.String", "name": "plot", "default": null }, { "name": "genre", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.Number", "name": "rating", "default": null }, { "$ref": "Optional.String", "name": "mpaa", "default": null }, { "$ref": "Optional.String", "name": "imdbnumber", "default": null }, { "$ref": "Optional.String", "name": "votes", "default": null }, { "$ref": "Optional.String", "name": "lastplayed", "default": null }, { "$ref": "Optional.String", "name": "originaltitle", "default": null }, { "$ref": "Optional.String", "name": "trailer", "default": null }, { "$ref": "Optional.String", "name": "tagline", "default": null }, { "$ref": "Optional.String", "name": "plotoutline", "default": null }, { "name": "writer", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "country", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.Integer", "name": "top250", "default": null }, { "$ref": "Optional.String", "name": "sorttitle", "default": null }, { "$ref": "Optional.String", "name": "set", "default": null }, { "name": "showlink", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.String", "name": "thumbnail", "default": null }, { "$ref": "Optional.String", "name": "fanart", "default": null }, { "name": "tag", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "art", "type": [ { "type": "null" }, { "$ref": "Media.Artwork" } ], "default": null } ], "description": "Update the given movie with the given details", "returns": { "type": "string" } } |
VideoLibrary.SetMusicVideoDetails
Update the given music video with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id musicvideoid
- [ Optional.String title = null ]
- [ Optional.Integer playcount = null ]
- [ Optional.Integer runtime = null ]
- [ mixed director = null ]
- [ mixed studio = null ]
- [ Optional.Integer year = null ]
- [ Optional.String plot = null ]
- [ Optional.String album = null ]
- [ mixed artist = null ]
- [ mixed genre = null ]
- [ Optional.Integer track = null ]
- [ Optional.String lastplayed = null ]
- [ Optional.String thumbnail = null ]
- [ Optional.String fanart = null ]
- [ mixed tag = null ]
- [ mixed art = null ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "musicvideoid", "required": true }, { "$ref": "Optional.String", "name": "title", "default": null }, { "$ref": "Optional.Integer", "name": "playcount", "default": null }, { "$ref": "Optional.Integer", "description": "Runtime in seconds", "name": "runtime", "default": null }, { "name": "director", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "studio", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.Integer", "name": "year", "default": null }, { "$ref": "Optional.String", "name": "plot", "default": null }, { "$ref": "Optional.String", "name": "album", "default": null }, { "name": "artist", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "genre", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.Integer", "name": "track", "default": null }, { "$ref": "Optional.String", "name": "lastplayed", "default": null }, { "$ref": "Optional.String", "name": "thumbnail", "default": null }, { "$ref": "Optional.String", "name": "fanart", "default": null }, { "name": "tag", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "art", "type": [ { "type": "null" }, { "$ref": "Media.Artwork" } ], "default": null } ], "description": "Update the given music video with the given details", "returns": { "type": "string" } } |
VideoLibrary.SetTVShowDetails
Update the given tvshow with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id tvshowid
- [ Optional.String title = null ]
- [ Optional.Integer playcount = null ]
- [ mixed studio = null ]
- [ Optional.String plot = null ]
- [ mixed genre = null ]
- [ Optional.Number rating = null ]
- [ Optional.String mpaa = null ]
- [ Optional.String imdbnumber = null ]
- [ Optional.String premiered = null ]
- [ Optional.String votes = null ]
- [ Optional.String lastplayed = null ]
- [ Optional.String originaltitle = null ]
- [ Optional.String sorttitle = null ]
- [ Optional.String episodeguide = null ]
- [ Optional.String thumbnail = null ]
- [ Optional.String fanart = null ]
- [ mixed tag = null ]
- [ mixed art = null ]
Returns: string
JSON Schema Description |
---|
{ "params": [ { "$ref": "Library.Id", "name": "tvshowid", "required": true }, { "$ref": "Optional.String", "name": "title", "default": null }, { "$ref": "Optional.Integer", "name": "playcount", "default": null }, { "name": "studio", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.String", "name": "plot", "default": null }, { "name": "genre", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "$ref": "Optional.Number", "name": "rating", "default": null }, { "$ref": "Optional.String", "name": "mpaa", "default": null }, { "$ref": "Optional.String", "name": "imdbnumber", "default": null }, { "$ref": "Optional.String", "name": "premiered", "default": null }, { "$ref": "Optional.String", "name": "votes", "default": null }, { "$ref": "Optional.String", "name": "lastplayed", "default": null }, { "$ref": "Optional.String", "name": "originaltitle", "default": null }, { "$ref": "Optional.String", "name": "sorttitle", "default": null }, { "$ref": "Optional.String", "name": "episodeguide", "default": null }, { "$ref": "Optional.String", "name": "thumbnail", "default": null }, { "$ref": "Optional.String", "name": "fanart", "default": null }, { "name": "tag", "type": [ { "type": "null" }, { "$ref": "Array.String" } ], "default": null }, { "name": "art", "type": [ { "type": "null" }, { "$ref": "Media.Artwork" } ], "default": null } ], "description": "Update the given tvshow with the given details", "returns": { "type": "string" } } |
Kodi
XBMC.GetInfoBooleans
Retrieve info booleans about Kodi and the system
Permissions:
- ReadData
Parameters:
- array[1..X] booleans
Returns:
Type: object
JSON Schema Description |
---|
{ "params": [ { "minItems": 1, "items": { "type": "string" }, "name": "booleans", "type": "array", "required": true } ], "description": "Retrieve info booleans about Kodi and the system", "returns": { "additionalProperties": { "type": "string", "default": "" }, "description": "Object containing key-value pairs of the retrieved info booleans", "type": "object" } } |
XBMC.GetInfoLabels
Retrieve info labels about Kodi and the system
Permissions:
- ReadData
Parameters:
- array[1..X] labels
Returns:
Type: object
JSON Schema Description |
---|
{ "params": [ { "description": "See http://kodi.wiki/index.php?title=InfoLabels for a list of possible info labels", "name": "labels", "type": "array", "minItems": 1, "items": { "type": "string" }, "required": true } ], "description": "Retrieve info labels about Kodi and the system", "returns": { "additionalProperties": { "type": "string", "default": "" }, "description": "Object containing key-value pairs of the retrieved info labels", "type": "object" } } |
Global Types
Addon
Addon.Content
Type: string
JSON Schema Description |
---|
{ "enums": [ "unknown", "video", "audio", "image", "executable" ], "id": "Addon.Content", "type": "string", "default": "unknown" } |
Addon.Details
Extends:
Properties:
- string addonid
- [ string author ]
- [ mixed: boolean|string broken ]
- [ object dependencies ]
- [ string description ]
- [ string disclaimer ]
- [ boolean enabled = false ]
- [ object extrainfo ]
- [ string fanart ]
- [ boolean installed = false ]
- [ string name ]
- [ string path ]
- [ integer rating = "0" ]
- [ string summary ]
- [ string thumbnail ]
- Addon.Types type
- [ string version ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "Addon.Details", "properties": { "addonid": { "type": "string", "name": "addonid", "required": true }, "author": { "default": "", "type": "string", "name": "author" }, "broken": { "type": [ { "type": "boolean" }, { "type": "string" } ], "name": "broken" }, "dependencies": { "items": { "properties": { "addonid": { "required": true, "type": "string" }, "optional": { "required": true, "type": "boolean" }, "version": { "required": true, "type": "string" } }, "type": "object" }, "type": "array", "name": "dependencies" }, "description": { "default": "", "type": "string", "name": "description" }, "disclaimer": { "default": "", "type": "string", "name": "disclaimer" }, "enabled": { "default": "false", "type": "boolean", "name": "enabled" }, "extrainfo": { "items": { "properties": { "key": { "required": true, "type": "string" }, "value": { "required": true, "type": "string" } }, "type": "object" }, "type": "array", "name": "extrainfo" }, "fanart": { "default": "", "type": "string", "name": "fanart" }, "installed": { "default": "false", "type": "boolean", "name": "installed" }, "name": { "default": "", "type": "string", "name": "name" }, "path": { "default": "", "type": "string", "name": "path" }, "rating": { "default": "0", "type": "integer", "name": "rating" }, "summary": { "default": "", "type": "string", "name": "summary" }, "thumbnail": { "default": "", "type": "string", "name": "thumbnail" }, "type": { "$ref": "Addon.Types", "name": "type", "required": true }, "version": { "default": "", "type": "string", "name": "version" } } } |
Addon.Fields
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Addon.Fields", "items": { "enums": [ "name", "version", "summary", "description", "path", "author", "thumbnail", "disclaimer", "fanart", "dependencies", "broken", "extrainfo", "rating", "enabled", "installed" ], "type": "string" } } |
Addon.Types
Type: string
JSON Schema Description |
---|
{ "enums": [ "unknown", "xbmc.player.musicviz", "xbmc.gui.skin", "xbmc.pvrclient", "kodi.adsp", "kodi.inputstream", "kodi.peripheral", "xbmc.python.script", "xbmc.python.weather", "xbmc.subtitle.module", "xbmc.python.lyrics", "xbmc.metadata.scraper.albums", "xbmc.metadata.scraper.artists", "xbmc.metadata.scraper.movies", "xbmc.metadata.scraper.musicvideos", "xbmc.metadata.scraper.tvshows", "xbmc.ui.screensaver", "xbmc.python.pluginsource", "xbmc.addon.repository", "xbmc.webinterface", "xbmc.service", "xbmc.audioencoder", "kodi.context.item", "kodi.audiodecoder", "kodi.resource.images", "kodi.resource.language", "kodi.resource.uisounds", "xbmc.addon.video", "xbmc.addon.audio", "xbmc.addon.image", "xbmc.addon.executable", "xbmc.metadata.scraper.library", "xbmc.python.library", "xbmc.python.module", "kodi.game.controller" ], "id": "Addon.Types", "type": "string", "default": "unknown" } |
Application
Application.Property.Name
Type: string
JSON Schema Description |
---|
{ "enums": [ "volume", "muted", "name", "version" ], "id": "Application.Property.Name", "type": "string", "default": "volume" } |
Application.Property.Value
Type: mixed Properties:
- [ boolean muted = false ]
- [ string name ]
- [ mixed version ]
- [ integer volume = "0" ]
JSON Schema Description |
---|
{ "id": "Application.Property.Value", "type": "object", "properties": { "muted": { "default": "false", "type": "boolean", "name": "muted" }, "name": { "default": "", "type": "string", "name": "name" }, "version": { "type": "object", "name": "version" }, "volume": { "default": "0", "type": "integer", "name": "volume" } } } |
Array
Array.Integer
Type: mixed
JSON Schema Description |
---|
{ "id": "Array.Integer", "type": "array", "items": { "type": "integer" } } |
Array.String
Type: mixed
JSON Schema Description |
---|
{ "id": "Array.String", "type": "array", "items": { "minLength": 1, "type": "string" } } |
Audio
Audio.Album.ReleaseType
Type: string
JSON Schema Description |
---|
{ "enums": [ "album", "single" ], "id": "Audio.Album.ReleaseType", "type": "string", "default": "album" } |
Audio.Artist.Roles
Type: mixed
JSON Schema Description |
---|
{ "id": "Audio.Artist.Roles", "type": "array", "items": { "additionalProperties": false, "description": "The various roles contributed by an artist to one or more songs", "properties": { "role": { "required": true, "type": "string" }, "roleid": { "$ref": "Library.Id", "required": true } }, "type": "object" } } |
Audio.Contributors
Type: mixed
JSON Schema Description |
---|
{ "id": "Audio.Contributors", "type": "array", "items": { "additionalProperties": false, "description": "The artist and the role they contribute to a song", "properties": { "artistid": { "$ref": "Library.Id", "required": true }, "name": { "required": true, "type": "string" }, "role": { "required": true, "type": "string" }, "roleid": { "$ref": "Library.Id", "required": true } }, "type": "object" } } |
Audio.Details.Album
Extends:
Properties:
- Library.Id albumid
- [ string albumlabel ]
- [ boolean compilation = false ]
- [ string description ]
- [ Array.String mood ]
- [ integer playcount = "0" ]
- [ Audio.Album.ReleaseType releasetype = "album" ]
- [ Array.String style ]
- [ Array.String theme ]
- [ string type ]
JSON Schema Description |
---|
{ "extends": [ "Audio.Details.Media" ], "id": "Audio.Details.Album", "properties": { "albumid": { "$ref": "Library.Id", "name": "albumid", "required": true }, "albumlabel": { "default": "", "type": "string", "name": "albumlabel" }, "compilation": { "default": "false", "type": "boolean", "name": "compilation" }, "description": { "default": "", "type": "string", "name": "description" }, "mood": { "$ref": "Array.String", "name": "mood" }, "playcount": { "default": "0", "type": "integer", "name": "playcount" }, "releasetype": { "default": "album", "$ref": "Audio.Album.ReleaseType", "name": "releasetype" }, "style": { "$ref": "Array.String", "name": "style" }, "theme": { "$ref": "Array.String", "name": "theme" }, "type": { "default": "", "type": "string", "name": "type" } } } |
Audio.Details.Artist
Extends:
Properties:
- string artist
- Library.Id artistid
- [ string born ]
- [ boolean compilationartist = false ]
- [ string description ]
- [ string died ]
- [ string disbanded ]
- [ string formed ]
- [ Array.String instrument ]
- [ boolean isalbumartist = false ]
- [ Array.String mood ]
- [ string musicbrainzartistid ]
- [ Audio.Artist.Roles roles ]
- [ Audio.Details.Genres songgenres ]
- [ Array.String style ]
- [ Array.String yearsactive ]
JSON Schema Description |
---|
{ "extends": [ "Audio.Details.Base" ], "id": "Audio.Details.Artist", "properties": { "artist": { "type": "string", "name": "artist", "required": true }, "artistid": { "$ref": "Library.Id", "name": "artistid", "required": true }, "born": { "default": "", "type": "string", "name": "born" }, "compilationartist": { "default": "false", "type": "boolean", "name": "compilationartist" }, "description": { "default": "", "type": "string", "name": "description" }, "died": { "default": "", "type": "string", "name": "died" }, "disbanded": { "default": "", "type": "string", "name": "disbanded" }, "formed": { "default": "", "type": "string", "name": "formed" }, "instrument": { "$ref": "Array.String", "name": "instrument" }, "isalbumartist": { "default": "false", "type": "boolean", "name": "isalbumartist" }, "mood": { "$ref": "Array.String", "name": "mood" }, "musicbrainzartistid": { "default": "", "type": "string", "name": "musicbrainzartistid" }, "roles": { "$ref": "Audio.Artist.Roles", "name": "roles" }, "songgenres": { "$ref": "Audio.Details.Genres", "name": "songgenres" }, "style": { "$ref": "Array.String", "name": "style" }, "yearsactive": { "$ref": "Array.String", "name": "yearsactive" } } } |
Audio.Details.Base
Extends:
Properties:
- [ string dateadded ]
- [ Array.String genre ]
JSON Schema Description |
---|
{ "extends": [ "Media.Details.Base" ], "id": "Audio.Details.Base", "properties": { "dateadded": { "default": "", "type": "string", "name": "dateadded" }, "genre": { "$ref": "Array.String", "name": "genre" } } } |
Audio.Details.Genres
Type: mixed
JSON Schema Description |
---|
{ "id": "Audio.Details.Genres", "type": "array", "items": { "properties": { "genreid": { "$ref": "Library.Id", "required": true }, "title": { "default": "", "type": "string" } }, "type": "object" } } |
Audio.Details.Media
Extends:
Properties:
- [ Array.String artist ]
- [ Array.Integer artistid ]
- [ string displayartist ]
- [ Array.Integer genreid ]
- [ string musicbrainzalbumartistid ]
- [ string musicbrainzalbumid ]
- [ number rating = "0" ]
- [ string title ]
- [ integer userrating = "0" ]
- [ integer votes = "0" ]
- [ integer year = "0" ]
JSON Schema Description |
---|
{ "extends": [ "Audio.Details.Base" ], "id": "Audio.Details.Media", "properties": { "artist": { "$ref": "Array.String", "name": "artist" }, "artistid": { "$ref": "Array.Integer", "name": "artistid" }, "displayartist": { "default": "", "type": "string", "name": "displayartist" }, "genreid": { "$ref": "Array.Integer", "name": "genreid" }, "musicbrainzalbumartistid": { "default": "", "type": "string", "name": "musicbrainzalbumartistid" }, "musicbrainzalbumid": { "default": "", "type": "string", "name": "musicbrainzalbumid" }, "rating": { "default": "0", "type": "number", "name": "rating" }, "title": { "default": "", "type": "string", "name": "title" }, "userrating": { "default": "0", "type": "integer", "name": "userrating" }, "votes": { "default": "0", "type": "integer", "name": "votes" }, "year": { "default": "0", "type": "integer", "name": "year" } } } |
Audio.Details.Role
Extends:
Properties:
- Library.Id roleid
- [ string title ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "Audio.Details.Role", "properties": { "roleid": { "$ref": "Library.Id", "name": "roleid", "required": true }, "title": { "default": "", "type": "string", "name": "title" } } } |
Audio.Details.Song
Extends:
Properties:
- [ string album ]
- [ Array.String albumartist ]
- [ Array.Integer albumartistid ]
- [ Library.Id albumid = "-1" ]
- [ Audio.Album.ReleaseType albumreleasetype = "album" ]
- [ string comment ]
- [ Audio.Contributors contributors ]
- [ integer disc = "0" ]
- [ string displaycomposer ]
- [ string displayconductor ]
- [ string displaylyricist ]
- [ string displayorchestra ]
- [ integer duration = "0" ]
- [ string file ]
- [ string lastplayed ]
- [ string lyrics ]
- [ string mood ]
- [ string musicbrainzartistid ]
- [ string musicbrainztrackid ]
- [ integer playcount = "0" ]
- Library.Id songid
- [ integer track = "0" ]
JSON Schema Description |
---|
{ "extends": [ "Audio.Details.Media" ], "id": "Audio.Details.Song", "properties": { "album": { "default": "", "type": "string", "name": "album" }, "albumartist": { "$ref": "Array.String", "name": "albumartist" }, "albumartistid": { "$ref": "Array.Integer", "name": "albumartistid" }, "albumid": { "default": "-1", "$ref": "Library.Id", "name": "albumid" }, "albumreleasetype": { "default": "album", "$ref": "Audio.Album.ReleaseType", "name": "albumreleasetype" }, "comment": { "default": "", "type": "string", "name": "comment" }, "contributors": { "$ref": "Audio.Contributors", "name": "contributors" }, "disc": { "default": "0", "type": "integer", "name": "disc" }, "displaycomposer": { "default": "", "type": "string", "name": "displaycomposer" }, "displayconductor": { "default": "", "type": "string", "name": "displayconductor" }, "displaylyricist": { "default": "", "type": "string", "name": "displaylyricist" }, "displayorchestra": { "default": "", "type": "string", "name": "displayorchestra" }, "duration": { "default": "0", "type": "integer", "name": "duration" }, "file": { "default": "", "type": "string", "name": "file" }, "lastplayed": { "default": "", "type": "string", "name": "lastplayed" }, "lyrics": { "default": "", "type": "string", "name": "lyrics" }, "mood": { "default": "", "type": "string", "name": "mood" }, "musicbrainzartistid": { "default": "", "type": "string", "name": "musicbrainzartistid" }, "musicbrainztrackid": { "default": "", "type": "string", "name": "musicbrainztrackid" }, "playcount": { "default": "0", "type": "integer", "name": "playcount" }, "songid": { "$ref": "Library.Id", "name": "songid", "required": true }, "track": { "default": "0", "type": "integer", "name": "track" } } } |
Audio.Fields.Album
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Audio.Fields.Album", "items": { "description": "Requesting the genreid and/or artistid field will result in increased response times", "enums": [ "title", "description", "artist", "genre", "theme", "mood", "style", "type", "albumlabel", "rating", "votes", "userrating", "year", "musicbrainzalbumid", "musicbrainzalbumartistid", "fanart", "thumbnail", "playcount", "genreid", "artistid", "displayartist", "compilation", "releasetype", "dateadded" ], "type": "string" } } |
Audio.Fields.Artist
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Audio.Fields.Artist", "items": { "description": "Requesting the (song)genreid/genre, or roleid/role fields will result in increased response times", "enums": [ "instrument", "style", "mood", "born", "formed", "description", "genre", "died", "disbanded", "yearsactive", "musicbrainzartistid", "fanart", "thumbnail", "compilationartist", "dateadded", "roles", "songgenres", "isalbumartist" ], "type": "string" } } |
Audio.Fields.Role
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Audio.Fields.Role", "items": { "enums": [ "title" ], "type": "string" } } |
Audio.Fields.Song
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Audio.Fields.Song", "items": { "description": "Requesting the genreid, artistid and/or albumartistid field will result in increased response times", "enums": [ "title", "artist", "albumartist", "genre", "year", "rating", "album", "track", "duration", "comment", "lyrics", "musicbrainztrackid", "musicbrainzartistid", "musicbrainzalbumid", "musicbrainzalbumartistid", "playcount", "fanart", "thumbnail", "file", "albumid", "lastplayed", "disc", "genreid", "artistid", "displayartist", "albumartistid", "albumreleasetype", "dateadded", "votes", "userrating", "mood", "contributors", "displaycomposer", "displayconductor", "displayorchestra", "displaylyricist" ], "type": "string" } } |
Audio.Property.Name
Type: string
JSON Schema Description |
---|
{ "enums": [ "missingartistid" ], "id": "Audio.Property.Name", "type": "string", "default": "missingartistid" } |
Audio.Property.Value
Type: mixed Properties:
- [ Library.Id missingartistid = "-1" ]
JSON Schema Description |
---|
{ "id": "Audio.Property.Value", "type": "object", "properties": { "missingartistid": { "default": "-1", "$ref": "Library.Id", "name": "missingartistid" } } } |
Configuration
Configuration.Configuration
Type: mixed Properties:
- Configuration.Notifications notifications
JSON Schema Description |
---|
{ "id": "Configuration", "type": "object", "properties": { "notifications": { "$ref": "Configuration.Notifications", "name": "notifications", "required": true } } } |
Configuration.Notifications
Type: mixed Properties:
- boolean application
- boolean audiolibrary
- boolean gui
- boolean input
- boolean other
- boolean player
- boolean playlist
- boolean pvr
- boolean system
- boolean videolibrary
JSON Schema Description |
---|
{ "id": "Configuration.Notifications", "type": "object", "properties": { "application": { "type": "boolean", "name": "application", "required": true }, "audiolibrary": { "type": "boolean", "name": "audiolibrary", "required": true }, "gui": { "type": "boolean", "name": "gui", "required": true }, "input": { "type": "boolean", "name": "input", "required": true }, "other": { "type": "boolean", "name": "other", "required": true }, "player": { "type": "boolean", "name": "player", "required": true }, "playlist": { "type": "boolean", "name": "playlist", "required": true }, "pvr": { "type": "boolean", "name": "pvr", "required": true }, "system": { "type": "boolean", "name": "system", "required": true }, "videolibrary": { "type": "boolean", "name": "videolibrary", "required": true } } } |
Favourite
Favourite.Details.Favourite
Type: mixed Properties:
- [ string path ]
- [ string thumbnail ]
- string title
- Favourite.Type type
- [ string window ]
- [ string windowparameter ]
JSON Schema Description |
---|
{ "id": "Favourite.Details.Favourite", "type": "object", "properties": { "path": { "default": "", "type": "string", "name": "path" }, "thumbnail": { "default": "", "type": "string", "name": "thumbnail" }, "title": { "type": "string", "name": "title", "required": true }, "type": { "$ref": "Favourite.Type", "name": "type", "required": true }, "window": { "default": "", "type": "string", "name": "window" }, "windowparameter": { "default": "", "type": "string", "name": "windowparameter" } } } |
Favourite.Fields.Favourite
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Favourite.Fields.Favourite", "items": { "enums": [ "window", "windowparameter", "thumbnail", "path" ], "type": "string" } } |
Favourite.Type
Type: string
JSON Schema Description |
---|
{ "enums": [ "media", "window", "script", "unknown" ], "id": "Favourite.Type", "type": "string", "default": "media" } |
Files
Files.Media
Type: string
JSON Schema Description |
---|
{ "enums": [ "video", "music", "pictures", "files", "programs" ], "id": "Files.Media", "type": "string", "default": "video" } |
Global
Global.IncrementDecrement
Type: string
JSON Schema Description |
---|
{ "enums": [ "increment", "decrement" ], "id": "Global.IncrementDecrement", "type": "string", "default": "increment" } |
Global.String.NotEmpty
Type: string
JSON Schema Description |
---|
{ "id": "Global.String.NotEmpty", "type": "string", "default": "" } |
Global.Time
Type: mixed Properties:
- integer hours
- integer milliseconds
- integer minutes
- integer seconds
JSON Schema Description |
---|
{ "id": "Global.Time", "type": "object", "properties": { "hours": { "type": "integer", "name": "hours", "required": true }, "milliseconds": { "type": "integer", "name": "milliseconds", "required": true }, "minutes": { "type": "integer", "name": "minutes", "required": true }, "seconds": { "type": "integer", "name": "seconds", "required": true } } } |
Global.Toggle
Type: mixed
JSON Schema Description |
---|
{ "id": "Global.Toggle", "type": [ { "type": "boolean" }, { "enums": [ "toggle" ], "type": "string" } ] } |
Global.Weekday
Type: string
JSON Schema Description |
---|
{ "enums": [ "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" ], "id": "Global.Weekday", "type": "string", "default": "monday" } |
GUI
GUI.Property.Name
Type: string
JSON Schema Description |
---|
{ "enums": [ "currentwindow", "currentcontrol", "skin", "fullscreen", "stereoscopicmode" ], "id": "GUI.Property.Name", "type": "string", "default": "currentwindow" } |
GUI.Property.Value
Type: mixed Properties:
- [ mixed currentcontrol ]
- [ mixed currentwindow ]
- [ boolean fullscreen = false ]
- [ mixed skin ]
- [ GUI.Stereoscopy.Mode stereoscopicmode ]
JSON Schema Description |
---|
{ "id": "GUI.Property.Value", "type": "object", "properties": { "currentcontrol": { "type": "object", "name": "currentcontrol" }, "currentwindow": { "type": "object", "name": "currentwindow" }, "fullscreen": { "default": "false", "type": "boolean", "name": "fullscreen" }, "skin": { "type": "object", "name": "skin" }, "stereoscopicmode": { "$ref": "GUI.Stereoscopy.Mode", "name": "stereoscopicmode" } } } |
GUI.Stereoscopy.Mode
Type: mixed Properties:
- string label
- string mode
JSON Schema Description |
---|
{ "id": "GUI.Stereoscopy.Mode", "type": "object", "properties": { "label": { "type": "string", "name": "label", "required": true }, "mode": { "type": "string", "name": "mode", "required": true } } } |
GUI.Window
Type: string
JSON Schema Description |
---|
{ "enums": [ "home", "programs", "pictures", "filemanager", "settings", "music", "videos", "tvchannels", "tvrecordings", "tvguide", "tvtimers", "tvsearch", "radiochannels", "radiorecordings", "radioguide", "radiotimers", "radiosearch", "gamecontrollers", "pvrguideinfo", "pvrrecordinginfo", "pvrradiordsinfo", "pvrtimersetting", "pvrgroupmanager", "pvrchannelmanager", "pvrguidesearch", "pvrchannelscan", "pvrupdateprogress", "pvrosdchannels", "pvrosdguide", "pvrosdteletext", "systeminfo", "testpattern", "screencalibration", "systemsettings", "servicesettings", "pvrsettings", "playersettings", "mediasettings", "interfacesettings", "appearancesettings", "videoplaylist", "loginscreen", "profiles", "skinsettings", "addonbrowser", "yesnodialog", "progressdialog", "virtualkeyboard", "volumebar", "submenu", "favourites", "contextmenu", "notification", "numericinput", "gamepadinput", "shutdownmenu", "playercontrols", "playerprocessinfo", "seekbar", "musicosd", "addonsettings", "visualisationpresetlist", "osdcmssettings", "osdvideosettings", "osdaudiosettings", "audiodspmanager", "osdaudiodspsettings", "videobookmarks", "filebrowser", "networksetup", "mediasource", "profilesettings", "locksettings", "contentsettings", "songinformation", "smartplaylisteditor", "smartplaylistrule", "busydialog", "pictureinfo", "accesspoints", "fullscreeninfo", "sliderdialog", "addoninformation", "subtitlesearch", "musicplaylist", "musicplaylisteditor", "teletext", "selectdialog", "musicinformation", "okdialog", "movieinformation", "textviewer", "fullscreenvideo", "fullscreenlivetv", "fullscreenradio", "visualisation", "slideshow", "weather", "screensaver", "videoosd", "videomenu", "videotimeseek", "startwindow", "startup", "peripheralsettings", "extendedprogressdialog", "mediafilter", "addon", "eventlog", "tvtimerrules", "radiotimerrules" ], "id": "GUI.Window", "type": "string", "default": "home" } |
Input
Input.Action
Type: string
JSON Schema Description |
---|
{ "enums": [ "left", "right", "up", "down", "pageup", "pagedown", "select", "highlight", "parentdir", "parentfolder", "back", "menu", "previousmenu", "info", "pause", "stop", "skipnext", "skipprevious", "fullscreen", "aspectratio", "stepforward", "stepback", "bigstepforward", "bigstepback", "chapterorbigstepforward", "chapterorbigstepback", "osd", "showsubtitles", "nextsubtitle", "cyclesubtitle", "playerdebug", "codecinfo", "playerprocessinfo", "nextpicture", "previouspicture", "zoomout", "zoomin", "playlist", "queue", "zoomnormal", "zoomlevel1", "zoomlevel2", "zoomlevel3", "zoomlevel4", "zoomlevel5", "zoomlevel6", "zoomlevel7", "zoomlevel8", "zoomlevel9", "nextcalibration", "resetcalibration", "analogmove", "analogmovex", "analogmovey", "rotate", "rotateccw", "close", "subtitledelayminus", "subtitledelay", "subtitledelayplus", "audiodelayminus", "audiodelay", "audiodelayplus", "subtitleshiftup", "subtitleshiftdown", "subtitlealign", "audionextlanguage", "verticalshiftup", "verticalshiftdown", "nextresolution", "audiotoggledigital", "number0", "number1", "number2", "number3", "number4", "number5", "number6", "number7", "number8", "number9", "smallstepback", "fastforward", "rewind", "play", "playpause", "switchplayer", "delete", "copy", "move", "screenshot", "rename", "togglewatched", "scanitem", "reloadkeymaps", "volumeup", "volumedown", "mute", "backspace", "scrollup", "scrolldown", "analogfastforward", "analogrewind", "moveitemup", "moveitemdown", "contextmenu", "shift", "symbols", "cursorleft", "cursorright", "showtime", "analogseekforward", "analogseekback", "showpreset", "nextpreset", "previouspreset", "lockpreset", "randompreset", "increasevisrating", "decreasevisrating", "showvideomenu", "enter", "increaserating", "decreaserating", "setrating", "togglefullscreen", "nextscene", "previousscene", "nextletter", "prevletter", "jumpsms2", "jumpsms3", "jumpsms4", "jumpsms5", "jumpsms6", "jumpsms7", "jumpsms8", "jumpsms9", "filter", "filterclear", "filtersms2", "filtersms3", "filtersms4", "filtersms5", "filtersms6", "filtersms7", "filtersms8", "filtersms9", "firstpage", "lastpage", "guiprofile", "red", "green", "yellow", "blue", "increasepar", "decreasepar", "volampup", "volampdown", "volumeamplification", "createbookmark", "createepisodebookmark", "settingsreset", "settingslevelchange", "stereomode", "nextstereomode", "previousstereomode", "togglestereomode", "stereomodetomono", "channelup", "channeldown", "previouschannelgroup", "nextchannelgroup", "playpvr", "playpvrtv", "playpvrradio", "record", "togglecommskip", "showtimerrule", "leftclick", "rightclick", "middleclick", "doubleclick", "longclick", "wheelup", "wheeldown", "mousedrag", "mousemove", "tap", "longpress", "pangesture", "zoomgesture", "rotategesture", "swipeleft", "swiperight", "swipeup", "swipedown", "error", "noop" ], "id": "Input.Action", "type": "string", "default": "left" } |
Item
Item.Details.Base
Type: mixed Properties:
- string label
JSON Schema Description |
---|
{ "id": "Item.Details.Base", "type": "object", "properties": { "label": { "type": "string", "name": "label", "required": true } } } |
Item.Fields.Base
Type: mixed
JSON Schema Description |
---|
{ "id": "Item.Fields.Base", "type": "array", "items": { "type": "string" } } |
Library
Library.Details.Genre
Extends:
Properties:
- Library.Id genreid
- [ string thumbnail ]
- [ string title ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "Library.Details.Genre", "properties": { "genreid": { "$ref": "Library.Id", "name": "genreid", "required": true }, "thumbnail": { "default": "", "type": "string", "name": "thumbnail" }, "title": { "default": "", "type": "string", "name": "title" } } } |
Library.Details.Tag
Extends:
Properties:
- Library.Id tagid
- [ string title ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "Library.Details.Tag", "properties": { "tagid": { "$ref": "Library.Id", "name": "tagid", "required": true }, "title": { "default": "", "type": "string", "name": "title" } } } |
Library.Fields.Genre
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Library.Fields.Genre", "items": { "enums": [ "title", "thumbnail" ], "type": "string" } } |
Library.Fields.Tag
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Library.Fields.Tag", "items": { "enums": [ "title" ], "type": "string" } } |
Library.Id
Type: integer
JSON Schema Description |
---|
{ "id": "Library.Id", "type": "integer", "default": -1 } |
List
List.Amount
Type: integer
JSON Schema Description |
---|
{ "id": "List.Amount", "type": "integer", "default": -1 } |
List.Fields.All
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "List.Fields.All", "items": { "enums": [ "title", "artist", "albumartist", "genre", "year", "rating", "album", "track", "duration", "comment", "lyrics", "musicbrainztrackid", "musicbrainzartistid", "musicbrainzalbumid", "musicbrainzalbumartistid", "playcount", "fanart", "director", "trailer", "tagline", "plot", "plotoutline", "originaltitle", "lastplayed", "writer", "studio", "mpaa", "cast", "country", "imdbnumber", "premiered", "productioncode", "runtime", "set", "showlink", "streamdetails", "top250", "votes", "firstaired", "season", "episode", "showtitle", "thumbnail", "file", "resume", "artistid", "albumid", "tvshowid", "setid", "watchedepisodes", "disc", "tag", "art", "genreid", "displayartist", "albumartistid", "description", "theme", "mood", "style", "albumlabel", "sorttitle", "episodeguide", "uniqueid", "dateadded", "channel", "channeltype", "hidden", "locked", "channelnumber", "starttime", "endtime", "specialsortseason", "specialsortepisode", "compilation", "releasetype", "albumreleasetype", "contributors", "displaycomposer", "displayconductor", "displayorchestra", "displaylyricist", "userrating" ], "type": "string" } } |
List.Fields.Files
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "List.Fields.Files", "items": { "enums": [ "title", "artist", "albumartist", "genre", "year", "rating", "album", "track", "duration", "comment", "lyrics", "musicbrainztrackid", "musicbrainzartistid", "musicbrainzalbumid", "musicbrainzalbumartistid", "playcount", "fanart", "director", "trailer", "tagline", "plot", "plotoutline", "originaltitle", "lastplayed", "writer", "studio", "mpaa", "cast", "country", "imdbnumber", "premiered", "productioncode", "runtime", "set", "showlink", "streamdetails", "top250", "votes", "firstaired", "season", "episode", "showtitle", "thumbnail", "file", "resume", "artistid", "albumid", "tvshowid", "setid", "watchedepisodes", "disc", "tag", "art", "genreid", "displayartist", "albumartistid", "description", "theme", "mood", "style", "albumlabel", "sorttitle", "episodeguide", "uniqueid", "dateadded", "size", "lastmodified", "mimetype", "specialsortseason", "specialsortepisode" ], "type": "string" } } |
List.Filter.Albums
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Filter.Albums", "type": [ { "properties": { "and": { "items": { "$ref": "List.Filter.Albums" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "properties": { "or": { "items": { "$ref": "List.Filter.Albums" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "$ref": "List.Filter.Rule.Albums" } ] } |
List.Filter.Artists
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Filter.Artists", "type": [ { "properties": { "and": { "items": { "$ref": "List.Filter.Artists" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "properties": { "or": { "items": { "$ref": "List.Filter.Artists" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "$ref": "List.Filter.Rule.Artists" } ] } |
List.Filter.Episodes
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Filter.Episodes", "type": [ { "properties": { "and": { "items": { "$ref": "List.Filter.Episodes" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "properties": { "or": { "items": { "$ref": "List.Filter.Episodes" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "$ref": "List.Filter.Rule.Episodes" } ] } |
List.Filter.Fields.Albums
Type: string
JSON Schema Description |
---|
{ "enums": [ "genre", "album", "artist", "albumartist", "year", "review", "themes", "moods", "styles", "compilation", "type", "label", "rating", "userrating", "playcount", "lastplayed", "path", "playlist", "virtualfolder" ], "id": "List.Filter.Fields.Albums", "type": "string", "default": "genre" } |
List.Filter.Fields.Artists
Type: string
JSON Schema Description |
---|
{ "enums": [ "artist", "genre", "moods", "styles", "instruments", "biography", "born", "bandformed", "disbanded", "died", "role", "path", "playlist", "virtualfolder" ], "id": "List.Filter.Fields.Artists", "type": "string", "default": "artist" } |
List.Filter.Fields.Episodes
Type: string
JSON Schema Description |
---|
{ "enums": [ "title", "tvshow", "plot", "votes", "rating", "userrating", "time", "writers", "airdate", "playcount", "lastplayed", "inprogress", "genre", "year", "director", "actor", "episode", "season", "filename", "path", "studio", "mpaarating", "dateadded", "tag", "videoresolution", "audiochannels", "audiocount", "subtitlecount", "videocodec", "audiocodec", "audiolanguage", "subtitlelanguage", "videoaspect", "playlist", "virtualfolder" ], "id": "List.Filter.Fields.Episodes", "type": "string", "default": "title" } |
List.Filter.Fields.Movies
Type: string
JSON Schema Description |
---|
{ "enums": [ "title", "plot", "plotoutline", "tagline", "votes", "rating", "userrating", "time", "writers", "playcount", "lastplayed", "inprogress", "genre", "country", "year", "director", "actor", "mpaarating", "top250", "studio", "hastrailer", "filename", "path", "set", "tag", "dateadded", "videoresolution", "audiochannels", "audiocount", "subtitlecount", "videocodec", "audiocodec", "audiolanguage", "subtitlelanguage", "videoaspect", "playlist", "virtualfolder" ], "id": "List.Filter.Fields.Movies", "type": "string", "default": "title" } |
List.Filter.Fields.MusicVideos
Type: string
JSON Schema Description |
---|
{ "enums": [ "title", "genre", "album", "year", "artist", "filename", "path", "playcount", "lastplayed", "rating", "userrating", "time", "director", "studio", "plot", "tag", "dateadded", "videoresolution", "audiochannels", "audiocount", "subtitlecount", "videocodec", "audiocodec", "audiolanguage", "subtitlelanguage", "videoaspect", "playlist", "virtualfolder" ], "id": "List.Filter.Fields.MusicVideos", "type": "string", "default": "title" } |
List.Filter.Fields.Songs
Type: string
JSON Schema Description |
---|
{ "enums": [ "genre", "album", "artist", "albumartist", "title", "year", "time", "tracknumber", "filename", "path", "playcount", "lastplayed", "rating", "userrating", "comment", "moods", "playlist", "virtualfolder" ], "id": "List.Filter.Fields.Songs", "type": "string", "default": "genre" } |
List.Filter.Fields.Textures
Type: string
JSON Schema Description |
---|
{ "enums": [ "textureid", "url", "cachedurl", "lasthashcheck", "imagehash", "width", "height", "usecount", "lastused" ], "id": "List.Filter.Fields.Textures", "type": "string", "default": "textureid" } |
List.Filter.Fields.TVShows
Type: string
JSON Schema Description |
---|
{ "enums": [ "title", "plot", "status", "votes", "rating", "userrating", "year", "genre", "director", "actor", "numepisodes", "numwatched", "playcount", "path", "studio", "mpaarating", "dateadded", "lastplayed", "inprogress", "tag", "playlist", "virtualfolder" ], "id": "List.Filter.Fields.TVShows", "type": "string", "default": "title" } |
List.Filter.Movies
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Filter.Movies", "type": [ { "properties": { "and": { "items": { "$ref": "List.Filter.Movies" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "properties": { "or": { "items": { "$ref": "List.Filter.Movies" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "$ref": "List.Filter.Rule.Movies" } ] } |
List.Filter.MusicVideos
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Filter.MusicVideos", "type": [ { "properties": { "and": { "items": { "$ref": "List.Filter.MusicVideos" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "properties": { "or": { "items": { "$ref": "List.Filter.MusicVideos" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "$ref": "List.Filter.Rule.MusicVideos" } ] } |
List.Filter.Operators
Type: string
JSON Schema Description |
---|
{ "enums": [ "contains", "doesnotcontain", "is", "isnot", "startswith", "endswith", "greaterthan", "lessthan", "after", "before", "inthelast", "notinthelast", "true", "false", "between" ], "id": "List.Filter.Operators", "type": "string", "default": "contains" } |
List.Filter.Rule
Type: mixed Properties:
- List.Filter.Operators operator
- mixed: string|array value
JSON Schema Description |
---|
{ "id": "List.Filter.Rule", "type": "object", "properties": { "operator": { "$ref": "List.Filter.Operators", "name": "operator", "required": true }, "value": { "type": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ], "name": "value", "required": true } } } |
List.Filter.Rule.Albums
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": [ "List.Filter.Rule" ], "id": "List.Filter.Rule.Albums", "properties": { "field": { "$ref": "List.Filter.Fields.Albums", "name": "field", "required": true } } } |
List.Filter.Rule.Artists
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": [ "List.Filter.Rule" ], "id": "List.Filter.Rule.Artists", "properties": { "field": { "$ref": "List.Filter.Fields.Artists", "name": "field", "required": true } } } |
List.Filter.Rule.Episodes
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": [ "List.Filter.Rule" ], "id": "List.Filter.Rule.Episodes", "properties": { "field": { "$ref": "List.Filter.Fields.Episodes", "name": "field", "required": true } } } |
List.Filter.Rule.Movies
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": [ "List.Filter.Rule" ], "id": "List.Filter.Rule.Movies", "properties": { "field": { "$ref": "List.Filter.Fields.Movies", "name": "field", "required": true } } } |
List.Filter.Rule.MusicVideos
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": [ "List.Filter.Rule" ], "id": "List.Filter.Rule.MusicVideos", "properties": { "field": { "$ref": "List.Filter.Fields.MusicVideos", "name": "field", "required": true } } } |
List.Filter.Rule.Songs
Extends:
Properties:
- List.Filter.Fields.Songs field
JSON Schema Description |
---|
{ "extends": [ "List.Filter.Rule" ], "id": "List.Filter.Rule.Songs", "properties": { "field": { "$ref": "List.Filter.Fields.Songs", "name": "field", "required": true } } } |
List.Filter.Rule.Textures
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": [ "List.Filter.Rule" ], "id": "List.Filter.Rule.Textures", "properties": { "field": { "$ref": "List.Filter.Fields.Textures", "name": "field", "required": true } } } |
List.Filter.Rule.TVShows
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": [ "List.Filter.Rule" ], "id": "List.Filter.Rule.TVShows", "properties": { "field": { "$ref": "List.Filter.Fields.TVShows", "name": "field", "required": true } } } |
List.Filter.Songs
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Filter.Songs", "type": [ { "properties": { "and": { "items": { "$ref": "List.Filter.Songs" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "properties": { "or": { "items": { "$ref": "List.Filter.Songs" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "$ref": "List.Filter.Rule.Songs" } ] } |
List.Filter.Textures
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Filter.Textures", "type": [ { "properties": { "and": { "items": { "$ref": "List.Filter.Textures" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "properties": { "or": { "items": { "$ref": "List.Filter.Textures" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "$ref": "List.Filter.Rule.Textures" } ] } |
List.Filter.TVShows
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Filter.TVShows", "type": [ { "properties": { "and": { "items": { "$ref": "List.Filter.TVShows" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "properties": { "or": { "items": { "$ref": "List.Filter.TVShows" }, "minItems": 1, "required": true, "type": "array" } }, "type": "object" }, { "$ref": "List.Filter.Rule.TVShows" } ] } |
List.Item.All
Extends:
Properties:
- [ string channel ]
- [ integer channelnumber = "0" ]
- [ PVR.Channel.Type channeltype = "tv" ]
- [ string endtime ]
- [ boolean hidden = false ]
- [ boolean locked = false ]
- [ string starttime ]
JSON Schema Description |
---|
{ "extends": [ "List.Item.Base" ], "id": "List.Item.All", "properties": { "channel": { "default": "", "type": "string", "name": "channel" }, "channelnumber": { "default": "0", "type": "integer", "name": "channelnumber" }, "channeltype": { "default": "tv", "$ref": "PVR.Channel.Type", "name": "channeltype" }, "endtime": { "default": "", "type": "string", "name": "endtime" }, "hidden": { "default": "false", "type": "boolean", "name": "hidden" }, "locked": { "default": "false", "type": "boolean", "name": "locked" }, "starttime": { "default": "", "type": "string", "name": "starttime" } } } |
List.Item.Base
Extends:
Properties:
- [ string album ]
- [ Array.String albumartist ]
- [ Array.Integer albumartistid ]
- [ Library.Id albumid = "-1" ]
- [ string albumlabel ]
- [ Audio.Album.ReleaseType albumreleasetype = "album" ]
- [ Video.Cast cast ]
- [ string comment ]
- [ boolean compilation = false ]
- [ Audio.Contributors contributors ]
- [ Array.String country ]
- [ string description ]
- [ integer disc = "0" ]
- [ string displaycomposer ]
- [ string displayconductor ]
- [ string displaylyricist ]
- [ string displayorchestra ]
- [ integer duration = "0" ]
- [ integer episode = "0" ]
- [ string episodeguide ]
- [ string firstaired ]
- [ Library.Id id = "-1" ]
- [ string imdbnumber ]
- [ string lyrics ]
- [ Array.String mood ]
- [ string mpaa ]
- [ string musicbrainzartistid ]
- [ string musicbrainztrackid ]
- [ string originaltitle ]
- [ string plotoutline ]
- [ string premiered ]
- [ string productioncode ]
- [ Audio.Album.ReleaseType releasetype = "album" ]
- [ integer season = "0" ]
- [ string set ]
- [ Library.Id setid = "-1" ]
- [ Array.String showlink ]
- [ string showtitle ]
- [ string sorttitle ]
- [ integer specialsortepisode = "0" ]
- [ integer specialsortseason = "0" ]
- [ Array.String studio ]
- [ Array.String style ]
- [ Array.String tag ]
- [ string tagline ]
- [ Array.String theme ]
- [ integer top250 = "0" ]
- [ integer track = "0" ]
- [ string trailer ]
- [ Library.Id tvshowid = "-1" ]
- [ string type = "unknown" ]
- [ Media.UniqueID uniqueid ]
- [ string votes ]
- [ integer watchedepisodes = "0" ]
- [ Array.String writer ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.File", "Audio.Details.Media" ], "id": "List.Item.Base", "properties": { "album": { "default": "", "type": "string", "name": "album" }, "albumartist": { "$ref": "Array.String", "name": "albumartist" }, "albumartistid": { "$ref": "Array.Integer", "name": "albumartistid" }, "albumid": { "default": "-1", "$ref": "Library.Id", "name": "albumid" }, "albumlabel": { "default": "", "type": "string", "name": "albumlabel" }, "albumreleasetype": { "default": "album", "$ref": "Audio.Album.ReleaseType", "name": "albumreleasetype" }, "cast": { "$ref": "Video.Cast", "name": "cast" }, "comment": { "default": "", "type": "string", "name": "comment" }, "compilation": { "default": "false", "type": "boolean", "name": "compilation" }, "contributors": { "$ref": "Audio.Contributors", "name": "contributors" }, "country": { "$ref": "Array.String", "name": "country" }, "description": { "default": "", "type": "string", "name": "description" }, "disc": { "default": "0", "type": "integer", "name": "disc" }, "displaycomposer": { "default": "", "type": "string", "name": "displaycomposer" }, "displayconductor": { "default": "", "type": "string", "name": "displayconductor" }, "displaylyricist": { "default": "", "type": "string", "name": "displaylyricist" }, "displayorchestra": { "default": "", "type": "string", "name": "displayorchestra" }, "duration": { "default": "0", "type": "integer", "name": "duration" }, "episode": { "default": "0", "type": "integer", "name": "episode" }, "episodeguide": { "default": "", "type": "string", "name": "episodeguide" }, "firstaired": { "default": "", "type": "string", "name": "firstaired" }, "id": { "default": "-1", "$ref": "Library.Id", "name": "id" }, "imdbnumber": { "default": "", "type": "string", "name": "imdbnumber" }, "lyrics": { "default": "", "type": "string", "name": "lyrics" }, "mood": { "$ref": "Array.String", "name": "mood" }, "mpaa": { "default": "", "type": "string", "name": "mpaa" }, "musicbrainzartistid": { "default": "", "type": "string", "name": "musicbrainzartistid" }, "musicbrainztrackid": { "default": "", "type": "string", "name": "musicbrainztrackid" }, "originaltitle": { "default": "", "type": "string", "name": "originaltitle" }, "plotoutline": { "default": "", "type": "string", "name": "plotoutline" }, "premiered": { "default": "", "type": "string", "name": "premiered" }, "productioncode": { "default": "", "type": "string", "name": "productioncode" }, "releasetype": { "default": "album", "$ref": "Audio.Album.ReleaseType", "name": "releasetype" }, "season": { "default": "0", "type": "integer", "name": "season" }, "set": { "default": "", "type": "string", "name": "set" }, "setid": { "default": "-1", "$ref": "Library.Id", "name": "setid" }, "showlink": { "$ref": "Array.String", "name": "showlink" }, "showtitle": { "default": "", "type": "string", "name": "showtitle" }, "sorttitle": { "default": "", "type": "string", "name": "sorttitle" }, "specialsortepisode": { "default": "0", "type": "integer", "name": "specialsortepisode" }, "specialsortseason": { "default": "0", "type": "integer", "name": "specialsortseason" }, "studio": { "$ref": "Array.String", "name": "studio" }, "style": { "$ref": "Array.String", "name": "style" }, "tag": { "$ref": "Array.String", "name": "tag" }, "tagline": { "default": "", "type": "string", "name": "tagline" }, "theme": { "$ref": "Array.String", "name": "theme" }, "top250": { "default": "0", "type": "integer", "name": "top250" }, "track": { "default": "0", "type": "integer", "name": "track" }, "trailer": { "default": "", "type": "string", "name": "trailer" }, "tvshowid": { "default": "-1", "$ref": "Library.Id", "name": "tvshowid" }, "type": { "default": "unknown", "type": "string", "name": "type" }, "uniqueid": { "$ref": "Media.UniqueID", "name": "uniqueid" }, "votes": { "default": "", "type": "string", "name": "votes" }, "watchedepisodes": { "default": "0", "type": "integer", "name": "watchedepisodes" }, "writer": { "$ref": "Array.String", "name": "writer" } } } |
List.Item.File
Extends:
Properties:
- string file
- string filetype
- [ string lastmodified ]
- [ string mimetype ]
- [ integer size = "0" ] Size of the file in bytes
JSON Schema Description |
---|
{ "extends": [ "List.Item.Base" ], "id": "List.Item.File", "properties": { "file": { "type": "string", "name": "file", "required": true }, "filetype": { "type": "string", "name": "filetype", "required": true }, "lastmodified": { "default": "", "type": "string", "name": "lastmodified" }, "mimetype": { "default": "", "type": "string", "name": "mimetype" }, "size": { "default": "0", "description": "Size of the file in bytes", "type": "integer", "name": "size" } } } |
List.Items.Sources
Type: mixed
JSON Schema Description |
---|
{ "id": "List.Items.Sources", "type": "array", "items": { "extends": "Item.Details.Base", "properties": { "file": { "required": true, "type": "string" } } } } |
List.Limits
Type: mixed Properties:
- [ List.Amount end = "-1" ] Index of the last item to return
- [ integer start = "0" ] Index of the first item to return
JSON Schema Description |
---|
{ "id": "List.Limits", "type": "object", "properties": { "end": { "default": "-1", "description": "Index of the last item to return", "$ref": "List.Amount", "name": "end" }, "start": { "default": "0", "description": "Index of the first item to return", "type": "integer", "name": "start" } } } |
List.LimitsReturned
Type: mixed Properties:
- [ List.Amount end = "-1" ]
- [ integer start = "0" ]
- integer total
JSON Schema Description |
---|
{ "id": "List.LimitsReturned", "type": "object", "properties": { "end": { "default": "-1", "$ref": "List.Amount", "name": "end" }, "start": { "default": "0", "type": "integer", "name": "start" }, "total": { "type": "integer", "name": "total", "required": true } } } |
List.Sort
Type: mixed Properties:
- [ boolean ignorearticle = false ]
- [ string method = "none" ]
- [ string order = "ascending" ]
JSON Schema Description |
---|
{ "id": "List.Sort", "type": "object", "properties": { "ignorearticle": { "default": "false", "type": "boolean", "name": "ignorearticle" }, "method": { "default": "none", "type": "string", "name": "method" }, "order": { "default": "ascending", "type": "string", "name": "order" } } } |
Media
Media.Artwork
Type: mixed Properties:
- [ Global.String.NotEmpty banner ]
- [ Global.String.NotEmpty fanart ]
- [ Global.String.NotEmpty poster ]
- [ Global.String.NotEmpty thumb ]
JSON Schema Description |
---|
{ "id": "Media.Artwork", "type": "object", "properties": { "banner": { "default": "", "$ref": "Global.String.NotEmpty", "name": "banner" }, "fanart": { "default": "", "$ref": "Global.String.NotEmpty", "name": "fanart" }, "poster": { "default": "", "$ref": "Global.String.NotEmpty", "name": "poster" }, "thumb": { "default": "", "$ref": "Global.String.NotEmpty", "name": "thumb" } } } |
Media.Artwork.Set
Type: mixed Properties:
- [ mixed banner ]
- [ mixed fanart ]
- [ mixed poster ]
- [ mixed thumb ]
JSON Schema Description |
---|
{ "id": "Media.Artwork.Set", "type": "object", "properties": { "banner": { "default": "", "type": [ { "type": "null" }, { "$ref": "Global.String.NotEmpty" } ], "name": "banner" }, "fanart": { "default": "", "type": [ { "type": "null" }, { "$ref": "Global.String.NotEmpty" } ], "name": "fanart" }, "poster": { "default": "", "type": [ { "type": "null" }, { "$ref": "Global.String.NotEmpty" } ], "name": "poster" }, "thumb": { "default": "", "type": [ { "type": "null" }, { "$ref": "Global.String.NotEmpty" } ], "name": "thumb" } } } |
Media.Details.Base
Extends:
Properties:
- [ string fanart ]
- [ string thumbnail ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "Media.Details.Base", "properties": { "fanart": { "default": "", "type": "string", "name": "fanart" }, "thumbnail": { "default": "", "type": "string", "name": "thumbnail" } } } |
Media.UniqueID
Type: mixed
JSON Schema Description |
---|
{ "id": "Media.UniqueID", "type": "object" } |
Media.UniqueID.Set
Type: mixed
JSON Schema Description |
---|
{ "id": "Media.UniqueID.Set", "type": "object" } |
Notifications
Notifications.Item
Type: mixed
JSON Schema Description |
---|
{ "id": "Notifications.Item", "type": [ { "description": "An unknown item does not have any additional information.", "properties": { "type": { "$ref": "Notifications.Item.Type", "required": true } }, "type": "object" }, { "description": "An item known to the database has an identification.", "properties": { "id": { "$ref": "Library.Id", "required": true }, "type": { "$ref": "Notifications.Item.Type", "required": true } }, "type": "object" }, { "description": "A movie item has a title and may have a release year.", "properties": { "title": { "required": true, "type": "string" }, "type": { "$ref": "Notifications.Item.Type", "required": true }, "year": { "default": 0, "type": "integer" } }, "type": "object" }, { "description": "A tv episode has a title and may have an episode number, season number and the title of the show it belongs to.", "properties": { "episode": { "default": 0, "type": "integer" }, "season": { "default": 0, "type": "integer" }, "showtitle": { "default": "", "type": "string" }, "title": { "required": true, "type": "string" }, "type": { "$ref": "Notifications.Item.Type", "required": true } }, "type": "object" }, { "description": "A music video has a title and may have an album and an artist.", "properties": { "album": { "default": "", "type": "string" }, "artist": { "default": "", "type": "string" }, "title": { "required": true, "type": "string" }, "type": { "$ref": "Notifications.Item.Type", "required": true } }, "type": "object" }, { "description": "A song has a title and may have an album, an artist and a track number.", "properties": { "album": { "default": "", "type": "string" }, "artist": { "default": "", "type": "string" }, "title": { "required": true, "type": "string" }, "track": { "default": 0, "type": "integer" }, "type": { "$ref": "Notifications.Item.Type", "required": true } }, "type": "object" }, { "description": "A picture has a file path.", "properties": { "file": { "required": true, "type": "string" }, "type": { "$ref": "Notifications.Item.Type", "required": true } }, "type": "object" }, { "description": "A PVR channel is either a radio or tv channel and has a title.", "properties": { "channeltype": { "$ref": "PVR.Channel.Type", "required": true }, "id": { "$ref": "Library.Id", "required": true }, "title": { "required": true, "type": "string" }, "type": { "$ref": "Notifications.Item.Type", "required": true } }, "type": "object" } ] } |
Notifications.Item.Type
Type: string
JSON Schema Description |
---|
{ "enums": [ "unknown", "movie", "episode", "musicvideo", "song", "picture", "channel" ], "id": "Notifications.Item.Type", "type": "string", "default": "unknown" } |
Optional
Optional.Boolean
Type: mixed
JSON Schema Description |
---|
{ "id": "Optional.Boolean", "type": [ { "type": "null" }, { "type": "boolean" } ] } |
Optional.Integer
Type: mixed
JSON Schema Description |
---|
{ "id": "Optional.Integer", "type": [ { "type": "null" }, { "type": "integer" } ] } |
Optional.Number
Type: mixed
JSON Schema Description |
---|
{ "id": "Optional.Number", "type": [ { "type": "null" }, { "type": "number" } ] } |
Optional.String
Type: mixed
JSON Schema Description |
---|
{ "id": "Optional.String", "type": [ { "type": "null" }, { "type": "string" } ] } |
Player
Player.Audio.Stream
Type: mixed Properties:
- integer bitrate
- integer channels
- string codec
- integer index
- string language
- string name
JSON Schema Description |
---|
{ "id": "Player.Audio.Stream", "type": "object", "properties": { "bitrate": { "type": "integer", "name": "bitrate", "required": true }, "channels": { "type": "integer", "name": "channels", "required": true }, "codec": { "type": "string", "name": "codec", "required": true }, "index": { "type": "integer", "name": "index", "required": true }, "language": { "type": "string", "name": "language", "required": true }, "name": { "type": "string", "name": "name", "required": true } } } |
Player.Id
Type: integer
JSON Schema Description |
---|
{ "id": "Player.Id", "type": "integer", "default": -1 } |
Player.Notifications.Data
Type: mixed Properties:
- Notifications.Item item
- Player.Notifications.Player player
JSON Schema Description |
---|
{ "id": "Player.Notifications.Data", "type": "object", "properties": { "item": { "$ref": "Notifications.Item", "name": "item", "required": true }, "player": { "$ref": "Player.Notifications.Player", "name": "player", "required": true } } } |
Player.Notifications.Player
Type: mixed Properties:
- Player.Id playerid
- [ integer speed = "0" ]
JSON Schema Description |
---|
{ "id": "Player.Notifications.Player", "type": "object", "properties": { "playerid": { "$ref": "Player.Id", "name": "playerid", "required": true }, "speed": { "default": "0", "type": "integer", "name": "speed" } } } |
Player.Notifications.Player.Seek
Extends:
Properties:
- [ Global.Time seekoffset ]
- [ Global.Time time ]
JSON Schema Description |
---|
{ "extends": [ "Player.Notifications.Player" ], "id": "Player.Notifications.Player.Seek", "properties": { "seekoffset": { "$ref": "Global.Time", "name": "seekoffset" }, "time": { "$ref": "Global.Time", "name": "time" } } } |
Player.Position.Percentage
Type: number
JSON Schema Description |
---|
{ "id": "Player.Position.Percentage", "type": "number", "default": 0 } |
Player.Position.Time
Type: mixed Properties:
- [ integer hours = "0" ]
- [ integer milliseconds = "0" ]
- [ integer minutes = "0" ]
- [ integer seconds = "0" ]
JSON Schema Description |
---|
{ "id": "Player.Position.Time", "type": "object", "properties": { "hours": { "default": "0", "type": "integer", "name": "hours" }, "milliseconds": { "default": "0", "type": "integer", "name": "milliseconds" }, "minutes": { "default": "0", "type": "integer", "name": "minutes" }, "seconds": { "default": "0", "type": "integer", "name": "seconds" } } } |
Player.Property.Name
Type: string
JSON Schema Description |
---|
{ "enums": [ "type", "partymode", "speed", "time", "percentage", "totaltime", "playlistid", "position", "repeat", "shuffled", "canseek", "canchangespeed", "canmove", "canzoom", "canrotate", "canshuffle", "canrepeat", "currentaudiostream", "audiostreams", "subtitleenabled", "currentsubtitle", "subtitles", "live", "currentvideostream", "videostreams" ], "id": "Player.Property.Name", "type": "string", "default": "type" } |
Player.Property.Value
Type: mixed Properties:
- [ Player.Audio.Stream[] audiostreams ]
- [ boolean canchangespeed = false ]
- [ boolean canmove = false ]
- [ boolean canrepeat = false ]
- [ boolean canrotate = false ]
- [ boolean canseek = false ]
- [ boolean canshuffle = false ]
- [ boolean canzoom = false ]
- [ Player.Audio.Stream currentaudiostream ]
- [ Player.Subtitle currentsubtitle ]
- [ Player.Video.Stream currentvideostream ]
- [ boolean live = false ]
- [ boolean partymode = false ]
- [ Player.Position.Percentage percentage = "0" ]
- [ Playlist.Id playlistid = "-1" ]
- [ Playlist.Position position = "-1" ]
- [ Player.Repeat repeat = "off" ]
- [ boolean shuffled = false ]
- [ integer speed = "0" ]
- [ boolean subtitleenabled = false ]
- [ Player.Subtitle[] subtitles ]
- [ Global.Time time ]
- [ Global.Time totaltime ]
- [ Player.Type type = "video" ]
- [ Player.Video.Stream[] videostreams ]
JSON Schema Description |
---|
{ "id": "Player.Property.Value", "type": "object", "properties": { "audiostreams": { "items": { "$ref": "Player.Audio.Stream" }, "type": "array", "name": "audiostreams" }, "canchangespeed": { "default": "false", "type": "boolean", "name": "canchangespeed" }, "canmove": { "default": "false", "type": "boolean", "name": "canmove" }, "canrepeat": { "default": "false", "type": "boolean", "name": "canrepeat" }, "canrotate": { "default": "false", "type": "boolean", "name": "canrotate" }, "canseek": { "default": "false", "type": "boolean", "name": "canseek" }, "canshuffle": { "default": "false", "type": "boolean", "name": "canshuffle" }, "canzoom": { "default": "false", "type": "boolean", "name": "canzoom" }, "currentaudiostream": { "$ref": "Player.Audio.Stream", "name": "currentaudiostream" }, "currentsubtitle": { "$ref": "Player.Subtitle", "name": "currentsubtitle" }, "currentvideostream": { "$ref": "Player.Video.Stream", "name": "currentvideostream" }, "live": { "default": "false", "type": "boolean", "name": "live" }, "partymode": { "default": "false", "type": "boolean", "name": "partymode" }, "percentage": { "default": "0", "$ref": "Player.Position.Percentage", "name": "percentage" }, "playlistid": { "default": "-1", "$ref": "Playlist.Id", "name": "playlistid" }, "position": { "default": "-1", "$ref": "Playlist.Position", "name": "position" }, "repeat": { "default": "off", "$ref": "Player.Repeat", "name": "repeat" }, "shuffled": { "default": "false", "type": "boolean", "name": "shuffled" }, "speed": { "default": "0", "type": "integer", "name": "speed" }, "subtitleenabled": { "default": "false", "type": "boolean", "name": "subtitleenabled" }, "subtitles": { "items": { "$ref": "Player.Subtitle" }, "type": "array", "name": "subtitles" }, "time": { "$ref": "Global.Time", "name": "time" }, "totaltime": { "$ref": "Global.Time", "name": "totaltime" }, "type": { "default": "video", "$ref": "Player.Type", "name": "type" }, "videostreams": { "items": { "$ref": "Player.Video.Stream" }, "type": "array", "name": "videostreams" } } } |
Player.Repeat
Type: string
JSON Schema Description |
---|
{ "enums": [ "off", "one", "all" ], "id": "Player.Repeat", "type": "string", "default": "off" } |
Player.Speed
Type: mixed Properties:
- [ integer speed = "0" ]
JSON Schema Description |
---|
{ "id": "Player.Speed", "type": "object", "properties": { "speed": { "default": "0", "type": "integer", "name": "speed" } } } |
Player.Subtitle
Type: mixed Properties:
- integer index
- string language
- string name
JSON Schema Description |
---|
{ "id": "Player.Subtitle", "type": "object", "properties": { "index": { "type": "integer", "name": "index", "required": true }, "language": { "type": "string", "name": "language", "required": true }, "name": { "type": "string", "name": "name", "required": true } } } |
Player.Type
Type: string
JSON Schema Description |
---|
{ "enums": [ "video", "audio", "picture" ], "id": "Player.Type", "type": "string", "default": "video" } |
Player.Video.Stream
Type: mixed Properties:
- string codec
- integer height
- integer index
- string language
- string name
- integer width
JSON Schema Description |
---|
{ "id": "Player.Video.Stream", "type": "object", "properties": { "codec": { "type": "string", "name": "codec", "required": true }, "height": { "type": "integer", "name": "height", "required": true }, "index": { "type": "integer", "name": "index", "required": true }, "language": { "type": "string", "name": "language", "required": true }, "name": { "type": "string", "name": "name", "required": true }, "width": { "type": "integer", "name": "width", "required": true } } } |
Playlist
Playlist.Id
Type: integer
JSON Schema Description |
---|
{ "id": "Playlist.Id", "type": "integer", "default": -1 } |
Playlist.Item
Type: mixed
JSON Schema Description |
---|
{ "id": "Playlist.Item", "type": [ { "additionalProperties": false, "properties": { "file": { "description": "Path to a file (not a directory) to be added to the playlist", "required": true, "type": "string" } }, "type": "object" }, { "additionalProperties": false, "properties": { "directory": { "required": true, "type": "string" }, "media": { "$ref": "Files.Media", "default": "files" }, "recursive": { "default": false, "type": "boolean" } }, "type": "object" }, { "additionalProperties": false, "properties": { "movieid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "episodeid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "musicvideoid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "artistid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "albumid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "songid": { "$ref": "Library.Id", "required": true } }, "type": "object" }, { "additionalProperties": false, "properties": { "genreid": { "$ref": "Library.Id", "description": "Identification of a genre from the AudioLibrary", "required": true } }, "type": "object" } ] } |
Playlist.Position
Type: integer
JSON Schema Description |
---|
{ "id": "Playlist.Position", "type": "integer", "default": -1 } |
Playlist.Property.Name
Type: string
JSON Schema Description |
---|
{ "enums": [ "type", "size" ], "id": "Playlist.Property.Name", "type": "string", "default": "type" } |
Playlist.Property.Value
Type: mixed Properties:
- [ integer size = "0" ]
- [ Playlist.Type type = "unknown" ]
JSON Schema Description |
---|
{ "id": "Playlist.Property.Value", "type": "object", "properties": { "size": { "default": "0", "type": "integer", "name": "size" }, "type": { "default": "unknown", "$ref": "Playlist.Type", "name": "type" } } } |
Playlist.Type
Type: string
JSON Schema Description |
---|
{ "enums": [ "unknown", "video", "audio", "picture", "mixed" ], "id": "Playlist.Type", "type": "string", "default": "unknown" } |
Profiles
Profiles.Details.Profile
Extends:
Properties:
- [ integer lockmode = "0" ]
- [ string thumbnail ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "Profiles.Details.Profile", "properties": { "lockmode": { "default": "0", "type": "integer", "name": "lockmode" }, "thumbnail": { "default": "", "type": "string", "name": "thumbnail" } } } |
Profiles.Fields.Profile
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Profiles.Fields.Profile", "items": { "enums": [ "thumbnail", "lockmode" ], "type": "string" } } |
Profiles.Password
Type: mixed Properties:
- [ string encryption = "md5" ] Password Encryption
- string value Password
JSON Schema Description |
---|
{ "id": "Profiles.Password", "type": "object", "properties": { "encryption": { "default": "md5", "description": "Password Encryption", "type": "string", "name": "encryption" }, "value": { "description": "Password", "type": "string", "name": "value", "required": true } } } |
PVR
PVR.Channel.Type
Type: string
JSON Schema Description |
---|
{ "enums": [ "tv", "radio" ], "id": "PVR.Channel.Type", "type": "string", "default": "tv" } |
PVR.ChannelGroup.Id
Type: mixed
JSON Schema Description |
---|
{ "id": "PVR.ChannelGroup.Id", "type": [ { "$ref": "Library.Id" }, { "enums": [ "alltv", "allradio" ], "type": "string" } ] } |
PVR.Details.Broadcast
Extends:
Properties:
- Library.Id broadcastid
- [ string cast ]
- [ string director ]
- [ string endtime ]
- [ string episodename ]
- [ integer episodenum = "0" ]
- [ integer episodepart = "0" ]
- [ string firstaired ]
- [ string genre ]
- [ boolean hasrecording = false ]
- [ boolean hastimer = false ]
- [ boolean hastimerrule = false ]
- [ integer imdbnumber = "0" ]
- [ boolean isactive = false ]
- [ boolean isseries = false ]
- [ string originaltitle ]
- [ integer parentalrating = "0" ]
- [ string plot ]
- [ string plotoutline ]
- [ integer progress = "0" ]
- [ number progresspercentage = "0" ]
- [ integer rating = "0" ]
- [ string recording ]
- [ integer runtime = "0" ]
- [ string starttime ]
- [ string thumbnail ]
- [ string title ]
- [ boolean wasactive = false ]
- [ string writer ]
- [ integer year = "0" ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "PVR.Details.Broadcast", "properties": { "broadcastid": { "$ref": "Library.Id", "name": "broadcastid", "required": true }, "cast": { "default": "", "type": "string", "name": "cast" }, "director": { "default": "", "type": "string", "name": "director" }, "endtime": { "default": "", "type": "string", "name": "endtime" }, "episodename": { "default": "", "type": "string", "name": "episodename" }, "episodenum": { "default": "0", "type": "integer", "name": "episodenum" }, "episodepart": { "default": "0", "type": "integer", "name": "episodepart" }, "firstaired": { "default": "", "type": "string", "name": "firstaired" }, "genre": { "default": "", "type": "string", "name": "genre" }, "hasrecording": { "default": "false", "type": "boolean", "name": "hasrecording" }, "hastimer": { "default": "false", "type": "boolean", "name": "hastimer" }, "hastimerrule": { "default": "false", "type": "boolean", "name": "hastimerrule" }, "imdbnumber": { "default": "0", "type": "integer", "name": "imdbnumber" }, "isactive": { "default": "false", "type": "boolean", "name": "isactive" }, "isseries": { "default": "false", "type": "boolean", "name": "isseries" }, "originaltitle": { "default": "", "type": "string", "name": "originaltitle" }, "parentalrating": { "default": "0", "type": "integer", "name": "parentalrating" }, "plot": { "default": "", "type": "string", "name": "plot" }, "plotoutline": { "default": "", "type": "string", "name": "plotoutline" }, "progress": { "default": "0", "type": "integer", "name": "progress" }, "progresspercentage": { "default": "0", "type": "number", "name": "progresspercentage" }, "rating": { "default": "0", "type": "integer", "name": "rating" }, "recording": { "default": "", "type": "string", "name": "recording" }, "runtime": { "default": "0", "type": "integer", "name": "runtime" }, "starttime": { "default": "", "type": "string", "name": "starttime" }, "thumbnail": { "default": "", "type": "string", "name": "thumbnail" }, "title": { "default": "", "type": "string", "name": "title" }, "wasactive": { "default": "false", "type": "boolean", "name": "wasactive" }, "writer": { "default": "", "type": "string", "name": "writer" }, "year": { "default": "0", "type": "integer", "name": "year" } } } |
PVR.Details.Channel
Extends:
Properties:
- [ PVR.Details.Broadcast broadcastnext ]
- [ PVR.Details.Broadcast broadcastnow ]
- [ string channel ]
- Library.Id channelid
- [ integer channelnumber = "0" ]
- [ PVR.Channel.Type channeltype = "tv" ]
- [ boolean hidden = false ]
- [ string icon ]
- [ boolean isrecording = false ]
- [ string lastplayed ]
- [ boolean locked = false ]
- [ integer subchannelnumber = "0" ]
- [ string thumbnail ]
- integer uniqueid
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "PVR.Details.Channel", "properties": { "broadcastnext": { "$ref": "PVR.Details.Broadcast", "name": "broadcastnext" }, "broadcastnow": { "$ref": "PVR.Details.Broadcast", "name": "broadcastnow" }, "channel": { "default": "", "type": "string", "name": "channel" }, "channelid": { "$ref": "Library.Id", "name": "channelid", "required": true }, "channelnumber": { "default": "0", "type": "integer", "name": "channelnumber" }, "channeltype": { "default": "tv", "$ref": "PVR.Channel.Type", "name": "channeltype" }, "hidden": { "default": "false", "type": "boolean", "name": "hidden" }, "icon": { "default": "", "type": "string", "name": "icon" }, "isrecording": { "default": "false", "type": "boolean", "name": "isrecording" }, "lastplayed": { "default": "", "type": "string", "name": "lastplayed" }, "locked": { "default": "false", "type": "boolean", "name": "locked" }, "subchannelnumber": { "default": "0", "type": "integer", "name": "subchannelnumber" }, "thumbnail": { "default": "", "type": "string", "name": "thumbnail" }, "uniqueid": { "type": "integer", "name": "uniqueid", "required": true } } } |
PVR.Details.ChannelGroup
Extends:
Properties:
- Library.Id channelgroupid
- PVR.Channel.Type channeltype
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "PVR.Details.ChannelGroup", "properties": { "channelgroupid": { "$ref": "Library.Id", "name": "channelgroupid", "required": true }, "channeltype": { "$ref": "PVR.Channel.Type", "name": "channeltype", "required": true } } } |
PVR.Details.ChannelGroup.Extended
Extends:
Properties:
- [ PVR.Details.Channel[] channels ]
- List.LimitsReturned limits
JSON Schema Description |
---|
{ "extends": [ "PVR.Details.ChannelGroup" ], "id": "PVR.Details.ChannelGroup.Extended", "properties": { "channels": { "items": { "$ref": "PVR.Details.Channel" }, "type": "array", "name": "channels" }, "limits": { "$ref": "List.LimitsReturned", "name": "limits", "required": true } } } |
PVR.Details.Recording
Extends:
Properties:
- [ Media.Artwork art ]
- [ string channel ]
- [ integer channeluid = "0" ]
- [ string directory ]
- [ string endtime ]
- [ integer epgeventid = "0" ]
- [ string file ]
- [ string genre ]
- [ string icon ]
- [ boolean isdeleted = false ]
- [ integer lifetime = "0" ]
- [ integer playcount = "0" ]
- [ string plot ]
- [ string plotoutline ]
- [ boolean radio = false ]
- Library.Id recordingid
- [ Video.Resume resume ]
- [ integer runtime = "0" ]
- [ string starttime ]
- [ string streamurl ]
- [ string title ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "PVR.Details.Recording", "properties": { "art": { "$ref": "Media.Artwork", "name": "art" }, "channel": { "default": "", "type": "string", "name": "channel" }, "channeluid": { "default": "0", "type": "integer", "name": "channeluid" }, "directory": { "default": "", "type": "string", "name": "directory" }, "endtime": { "default": "", "type": "string", "name": "endtime" }, "epgeventid": { "default": "0", "type": "integer", "name": "epgeventid" }, "file": { "default": "", "type": "string", "name": "file" }, "genre": { "default": "", "type": "string", "name": "genre" }, "icon": { "default": "", "type": "string", "name": "icon" }, "isdeleted": { "default": "false", "type": "boolean", "name": "isdeleted" }, "lifetime": { "default": "0", "type": "integer", "name": "lifetime" }, "playcount": { "default": "0", "type": "integer", "name": "playcount" }, "plot": { "default": "", "type": "string", "name": "plot" }, "plotoutline": { "default": "", "type": "string", "name": "plotoutline" }, "radio": { "default": "false", "type": "boolean", "name": "radio" }, "recordingid": { "$ref": "Library.Id", "name": "recordingid", "required": true }, "resume": { "$ref": "Video.Resume", "name": "resume" }, "runtime": { "default": "0", "type": "integer", "name": "runtime" }, "starttime": { "default": "", "type": "string", "name": "starttime" }, "streamurl": { "default": "", "type": "string", "name": "streamurl" }, "title": { "default": "", "type": "string", "name": "title" } } } |
PVR.Details.Timer
Extends:
Properties:
- [ Library.Id channelid = "-1" ]
- [ string directory ]
- [ boolean endanytime = false ]
- [ integer endmargin = "0" ]
- [ string endtime ]
- [ string epgsearchstring ]
- [ integer epguid = "0" ]
- [ string file ]
- [ string firstday ]
- [ boolean fulltextepgsearch = false ]
- [ boolean ismanual = false ]
- [ boolean isradio = false ]
- [ boolean isreadonly = false ]
- [ boolean istimerrule = false ]
- [ integer lifetime = "0" ]
- [ integer maxrecordings = "0" ]
- [ integer preventduplicateepisodes = "0" ]
- [ integer priority = "0" ]
- [ integer recordinggroup = "0" ]
- [ integer runtime = "0" ]
- [ boolean startanytime = false ]
- [ integer startmargin = "0" ]
- [ string starttime ]
- [ PVR.TimerState state = "unknown" ]
- [ string summary ]
- Library.Id timerid
- [ string title ]
- [ Global.Weekday[] weekdays ]
JSON Schema Description |
---|
{ "extends": [ "Item.Details.Base" ], "id": "PVR.Details.Timer", "properties": { "channelid": { "default": "-1", "$ref": "Library.Id", "name": "channelid" }, "directory": { "default": "", "type": "string", "name": "directory" }, "endanytime": { "default": "false", "type": "boolean", "name": "endanytime" }, "endmargin": { "default": "0", "type": "integer", "name": "endmargin" }, "endtime": { "default": "", "type": "string", "name": "endtime" }, "epgsearchstring": { "default": "", "type": "string", "name": "epgsearchstring" }, "epguid": { "default": "0", "type": "integer", "name": "epguid" }, "file": { "default": "", "type": "string", "name": "file" }, "firstday": { "default": "", "type": "string", "name": "firstday" }, "fulltextepgsearch": { "default": "false", "type": "boolean", "name": "fulltextepgsearch" }, "ismanual": { "default": "false", "type": "boolean", "name": "ismanual" }, "isradio": { "default": "false", "type": "boolean", "name": "isradio" }, "isreadonly": { "default": "false", "type": "boolean", "name": "isreadonly" }, "istimerrule": { "default": "false", "type": "boolean", "name": "istimerrule" }, "lifetime": { "default": "0", "type": "integer", "name": "lifetime" }, "maxrecordings": { "default": "0", "type": "integer", "name": "maxrecordings" }, "preventduplicateepisodes": { "default": "0", "type": "integer", "name": "preventduplicateepisodes" }, "priority": { "default": "0", "type": "integer", "name": "priority" }, "recordinggroup": { "default": "0", "type": "integer", "name": "recordinggroup" }, "runtime": { "default": "0", "type": "integer", "name": "runtime" }, "startanytime": { "default": "false", "type": "boolean", "name": "startanytime" }, "startmargin": { "default": "0", "type": "integer", "name": "startmargin" }, "starttime": { "default": "", "type": "string", "name": "starttime" }, "state": { "default": "unknown", "$ref": "PVR.TimerState", "name": "state" }, "summary": { "default": "", "type": "string", "name": "summary" }, "timerid": { "$ref": "Library.Id", "name": "timerid", "required": true }, "title": { "default": "", "type": "string", "name": "title" }, "weekdays": { "items": { "$ref": "Global.Weekday" }, "type": "array", "name": "weekdays" } } } |
PVR.Fields.Broadcast
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "PVR.Fields.Broadcast", "items": { "enums": [ "title", "plot", "plotoutline", "starttime", "endtime", "runtime", "progress", "progresspercentage", "genre", "episodename", "episodenum", "episodepart", "firstaired", "hastimer", "isactive", "parentalrating", "wasactive", "thumbnail", "rating", "originaltitle", "cast", "director", "writer", "year", "imdbnumber", "hastimerrule", "hasrecording", "recording", "isseries" ], "type": "string" } } |
PVR.Fields.Channel
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "PVR.Fields.Channel", "items": { "enums": [ "thumbnail", "channeltype", "hidden", "locked", "channel", "lastplayed", "broadcastnow", "broadcastnext", "uniqueid", "icon", "channelnumber", "subchannelnumber", "isrecording" ], "type": "string" } } |
PVR.Fields.Recording
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "PVR.Fields.Recording", "items": { "enums": [ "title", "plot", "plotoutline", "genre", "playcount", "resume", "channel", "starttime", "endtime", "runtime", "lifetime", "icon", "art", "streamurl", "file", "directory", "radio", "isdeleted", "epgeventid", "channeluid" ], "type": "string" } } |
PVR.Fields.Timer
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "PVR.Fields.Timer", "items": { "enums": [ "title", "summary", "channelid", "isradio", "istimerrule", "ismanual", "starttime", "endtime", "runtime", "lifetime", "firstday", "weekdays", "priority", "startmargin", "endmargin", "state", "file", "directory", "preventduplicateepisodes", "startanytime", "endanytime", "epgsearchstring", "fulltextepgsearch", "recordinggroup", "maxrecordings", "epguid", "isreadonly" ], "type": "string" } } |
PVR.Property.Name
Type: string
JSON Schema Description |
---|
{ "enums": [ "available", "recording", "scanning" ], "id": "PVR.Property.Name", "type": "string", "default": "available" } |
PVR.Property.Value
Type: mixed Properties:
- [ boolean available = false ]
- [ boolean recording = false ]
- [ boolean scanning = false ]
JSON Schema Description |
---|
{ "id": "PVR.Property.Value", "type": "object", "properties": { "available": { "default": "false", "type": "boolean", "name": "available" }, "recording": { "default": "false", "type": "boolean", "name": "recording" }, "scanning": { "default": "false", "type": "boolean", "name": "scanning" } } } |
PVR.TimerState
Type: string
JSON Schema Description |
---|
{ "enums": [ "unknown", "new", "scheduled", "recording", "completed", "aborted", "cancelled", "conflict_ok", "conflict_notok", "error", "disabled" ], "id": "PVR.TimerState", "type": "string", "default": "unknown" } |
Setting
Setting.Details.Base
Type: mixed Properties:
- [ string help ]
- string id
- string label
JSON Schema Description |
---|
{ "id": "Setting.Details.Base", "type": "object", "properties": { "help": { "default": "", "type": "string", "name": "help" }, "id": { "type": "string", "name": "id", "required": true }, "label": { "type": "string", "name": "label", "required": true } } } |
Setting.Details.Category
Extends:
Properties:
- [ Setting.Details.Group[] groups ]
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.Base" ], "id": "Setting.Details.Category", "properties": { "groups": { "items": { "$ref": "Setting.Details.Group" }, "type": "array", "name": "groups" } } } |
Setting.Details.Control
Type: mixed
JSON Schema Description |
---|
{ "id": "Setting.Details.Control", "type": [ { "$ref": "Setting.Details.ControlCheckmark" }, { "$ref": "Setting.Details.ControlSpinner" }, { "$ref": "Setting.Details.ControlEdit" }, { "$ref": "Setting.Details.ControlButton" }, { "$ref": "Setting.Details.ControlList" }, { "$ref": "Setting.Details.ControlSlider" }, { "$ref": "Setting.Details.ControlRange" } ] } |
Setting.Details.ControlBase
Type: mixed Properties:
- boolean delayed
- string format
- string type
JSON Schema Description |
---|
{ "id": "Setting.Details.ControlBase", "type": "object", "properties": { "delayed": { "type": "boolean", "name": "delayed", "required": true }, "format": { "type": "string", "name": "format", "required": true }, "type": { "type": "string", "name": "type", "required": true } } } |
Setting.Details.ControlButton
Extends:
Properties:
- string type
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.ControlHeading" ], "id": "Setting.Details.ControlButton", "properties": { "type": { "type": "string", "name": "type", "required": true } } } |
Setting.Details.ControlCheckmark
Extends:
Properties:
- string format
- string type
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.ControlBase" ], "id": "Setting.Details.ControlCheckmark", "properties": { "format": { "type": "string", "name": "format", "required": true }, "type": { "type": "string", "name": "type", "required": true } } } |
Setting.Details.ControlEdit
Extends:
Properties:
- boolean hidden
- string type
- boolean verifynewvalue
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.ControlHeading" ], "id": "Setting.Details.ControlEdit", "properties": { "hidden": { "type": "boolean", "name": "hidden", "required": true }, "type": { "type": "string", "name": "type", "required": true }, "verifynewvalue": { "type": "boolean", "name": "verifynewvalue", "required": true } } } |
Setting.Details.ControlHeading
Extends:
Properties:
- [ string heading ]
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.ControlBase" ], "id": "Setting.Details.ControlHeading", "properties": { "heading": { "default": "", "type": "string", "name": "heading" } } } |
Setting.Details.ControlList
Extends:
Properties:
- boolean multiselect
- string type
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.ControlHeading" ], "id": "Setting.Details.ControlList", "properties": { "multiselect": { "type": "boolean", "name": "multiselect", "required": true }, "type": { "type": "string", "name": "type", "required": true } } } |
Setting.Details.ControlRange
Extends:
Properties:
- string formatlabel
- string formatvalue
- string type
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.ControlBase" ], "id": "Setting.Details.ControlRange", "properties": { "formatlabel": { "type": "string", "name": "formatlabel", "required": true }, "formatvalue": { "type": "string", "name": "formatvalue", "required": true }, "type": { "type": "string", "name": "type", "required": true } } } |
Setting.Details.ControlSlider
Extends:
Properties:
- string formatlabel
- boolean popup
- string type
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.ControlHeading" ], "id": "Setting.Details.ControlSlider", "properties": { "formatlabel": { "type": "string", "name": "formatlabel", "required": true }, "popup": { "type": "boolean", "name": "popup", "required": true }, "type": { "type": "string", "name": "type", "required": true } } } |
Setting.Details.ControlSpinner
Extends:
Properties:
- [ string formatlabel ]
- [ string minimumlabel ]
- string type
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.ControlBase" ], "id": "Setting.Details.ControlSpinner", "properties": { "formatlabel": { "default": "", "type": "string", "name": "formatlabel" }, "minimumlabel": { "default": "", "type": "string", "name": "minimumlabel" }, "type": { "type": "string", "name": "type", "required": true } } } |
Setting.Details.Group
Type: mixed Properties:
- string id
- [ Setting.Details.Setting[] settings ]
JSON Schema Description |
---|
{ "id": "Setting.Details.Group", "type": "object", "properties": { "id": { "type": "string", "name": "id", "required": true }, "settings": { "items": { "$ref": "Setting.Details.Setting" }, "type": "array", "name": "settings" } } } |
Setting.Details.Section
Extends:
Properties:
- [ Setting.Details.Category[] categories ]
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.Base" ], "id": "Setting.Details.Section", "properties": { "categories": { "items": { "$ref": "Setting.Details.Category" }, "type": "array", "name": "categories" } } } |
Setting.Details.Setting
Type: mixed
JSON Schema Description |
---|
{ "id": "Setting.Details.Setting", "type": [ { "$ref": "Setting.Details.SettingBool" }, { "$ref": "Setting.Details.SettingInt" }, { "$ref": "Setting.Details.SettingNumber" }, { "$ref": "Setting.Details.SettingString" }, { "$ref": "Setting.Details.SettingAction" }, { "$ref": "Setting.Details.SettingList" }, { "$ref": "Setting.Details.SettingPath" }, { "$ref": "Setting.Details.SettingAddon" } ] } |
Setting.Details.SettingAction
Extends:
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.SettingBase" ], "id": "Setting.Details.SettingAction" } |
Setting.Details.SettingAddon
Extends:
Properties:
- Addon.Types addontype
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.SettingString" ], "id": "Setting.Details.SettingAddon", "properties": { "addontype": { "$ref": "Addon.Types", "name": "addontype", "required": true } } } |
Setting.Details.SettingBase
Extends:
Properties:
- [ Setting.Details.Control control ]
- boolean enabled
- Setting.Level level
- [ string parent ]
- Setting.Type type
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.Base" ], "id": "Setting.Details.SettingBase", "properties": { "control": { "$ref": "Setting.Details.Control", "name": "control" }, "enabled": { "type": "boolean", "name": "enabled", "required": true }, "level": { "$ref": "Setting.Level", "name": "level", "required": true }, "parent": { "default": "", "type": "string", "name": "parent" }, "type": { "$ref": "Setting.Type", "name": "type", "required": true } } } |
Setting.Details.SettingBool
Extends:
Properties:
- boolean default
- boolean value
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.SettingBase" ], "id": "Setting.Details.SettingBool", "properties": { "default": { "type": "boolean", "name": "default", "required": true }, "value": { "type": "boolean", "name": "value", "required": true } } } |
Setting.Details.SettingInt
Extends:
Properties:
- integer default
- [ integer maximum = "0" ]
- [ integer minimum = "0" ]
- [ object options ]
- [ integer step = "0" ]
- integer value
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.SettingBase" ], "id": "Setting.Details.SettingInt", "properties": { "default": { "type": "integer", "name": "default", "required": true }, "maximum": { "default": "0", "type": "integer", "name": "maximum" }, "minimum": { "default": "0", "type": "integer", "name": "minimum" }, "options": { "items": { "properties": { "label": { "required": true, "type": "string" }, "value": { "required": true, "type": "integer" } }, "type": "object" }, "type": "array", "name": "options" }, "step": { "default": "0", "type": "integer", "name": "step" }, "value": { "type": "integer", "name": "value", "required": true } } } |
Setting.Details.SettingList
Extends:
Properties:
- Setting.Value.List default
- Setting.Details.Setting definition
- string delimiter
- Setting.Type elementtype
- [ integer maximumitems = "0" ]
- [ integer minimumitems = "0" ]
- Setting.Value.List value
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.SettingBase" ], "id": "Setting.Details.SettingList", "properties": { "default": { "$ref": "Setting.Value.List", "name": "default", "required": true }, "definition": { "$ref": "Setting.Details.Setting", "name": "definition", "required": true }, "delimiter": { "type": "string", "name": "delimiter", "required": true }, "elementtype": { "$ref": "Setting.Type", "name": "elementtype", "required": true }, "maximumitems": { "default": "0", "type": "integer", "name": "maximumitems" }, "minimumitems": { "default": "0", "type": "integer", "name": "minimumitems" }, "value": { "$ref": "Setting.Value.List", "name": "value", "required": true } } } |
Setting.Details.SettingNumber
Extends:
Properties:
- number default
- number maximum
- number minimum
- number step
- number value
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.SettingBase" ], "id": "Setting.Details.SettingNumber", "properties": { "default": { "type": "number", "name": "default", "required": true }, "maximum": { "type": "number", "name": "maximum", "required": true }, "minimum": { "type": "number", "name": "minimum", "required": true }, "step": { "type": "number", "name": "step", "required": true }, "value": { "type": "number", "name": "value", "required": true } } } |
Setting.Details.SettingPath
Extends:
Properties:
- [ string[] sources ]
- boolean writable
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.SettingString" ], "id": "Setting.Details.SettingPath", "properties": { "sources": { "items": { "type": "string" }, "type": "array", "name": "sources" }, "writable": { "type": "boolean", "name": "writable", "required": true } } } |
Setting.Details.SettingString
Extends:
Properties:
- boolean allowempty
- string default
- [ object options ]
- string value
JSON Schema Description |
---|
{ "extends": [ "Setting.Details.SettingBase" ], "id": "Setting.Details.SettingString", "properties": { "allowempty": { "type": "boolean", "name": "allowempty", "required": true }, "default": { "type": "string", "name": "default", "required": true }, "options": { "items": { "properties": { "label": { "required": true, "type": "string" }, "value": { "required": true, "type": "string" } }, "type": "object" }, "type": "array", "name": "options" }, "value": { "type": "string", "name": "value", "required": true } } } |
Setting.Level
Type: string
JSON Schema Description |
---|
{ "enums": [ "basic", "standard", "advanced", "expert" ], "id": "Setting.Level", "type": "string", "default": "basic" } |
Setting.Type
Type: string
JSON Schema Description |
---|
{ "enums": [ "boolean", "integer", "number", "string", "action", "list", "path", "addon" ], "id": "Setting.Type", "type": "string", "default": "boolean" } |
Setting.Value
Type: mixed
JSON Schema Description |
---|
{ "id": "Setting.Value", "type": [ { "type": "boolean" }, { "type": "integer" }, { "type": "number" }, { "type": "string" } ] } |
Setting.Value.Extended
Type: mixed
JSON Schema Description |
---|
{ "id": "Setting.Value.Extended", "type": [ { "type": "boolean" }, { "type": "integer" }, { "type": "number" }, { "type": "string" }, { "$ref": "Setting.Value.List" } ] } |
Setting.Value.List
Type: mixed
JSON Schema Description |
---|
{ "id": "Setting.Value.List", "type": "array", "items": { "$ref": "Setting.Value" } } |
System
System.Property.Name
Type: string
JSON Schema Description |
---|
{ "enums": [ "canshutdown", "cansuspend", "canhibernate", "canreboot" ], "id": "System.Property.Name", "type": "string", "default": "canshutdown" } |
System.Property.Value
Type: mixed Properties:
- [ boolean canhibernate = false ]
- [ boolean canreboot = false ]
- [ boolean canshutdown = false ]
- [ boolean cansuspend = false ]
JSON Schema Description |
---|
{ "id": "System.Property.Value", "type": "object", "properties": { "canhibernate": { "default": "false", "type": "boolean", "name": "canhibernate" }, "canreboot": { "default": "false", "type": "boolean", "name": "canreboot" }, "canshutdown": { "default": "false", "type": "boolean", "name": "canshutdown" }, "cansuspend": { "default": "false", "type": "boolean", "name": "cansuspend" } } } |
Textures
Textures.Details.Size
Type: mixed Properties:
- [ integer height = "0" ] Height of texture
- [ string lastused ] Date of last use
- [ integer size = "0" ] Size of the texture (1 == largest)
- [ integer usecount = "0" ] Number of uses
- [ integer width = "0" ] Width of texture
JSON Schema Description |
---|
{ "id": "Textures.Details.Size", "type": "object", "properties": { "height": { "default": "0", "description": "Height of texture", "type": "integer", "name": "height" }, "lastused": { "default": "", "description": "Date of last use", "type": "string", "name": "lastused" }, "size": { "default": "0", "description": "Size of the texture (1 == largest)", "type": "integer", "name": "size" }, "usecount": { "default": "0", "description": "Number of uses", "type": "integer", "name": "usecount" }, "width": { "default": "0", "description": "Width of texture", "type": "integer", "name": "width" } } } |
Textures.Details.Texture
Type: mixed Properties:
- [ string cachedurl ] Cached URL on disk
- [ string imagehash ] Hash of image
- [ string lasthashcheck ] Last time source was checked for changes
- [ Textures.Details.Size[] sizes ]
- [ Library.Id textureid = "-1" ]
- [ string url ] Original source URL
JSON Schema Description |
---|
{ "id": "Textures.Details.Texture", "type": "object", "properties": { "cachedurl": { "default": "", "description": "Cached URL on disk", "type": "string", "name": "cachedurl" }, "imagehash": { "default": "", "description": "Hash of image", "type": "string", "name": "imagehash" }, "lasthashcheck": { "default": "", "description": "Last time source was checked for changes", "type": "string", "name": "lasthashcheck" }, "sizes": { "items": { "$ref": "Textures.Details.Size" }, "type": "array", "name": "sizes" }, "textureid": { "default": "-1", "$ref": "Library.Id", "name": "textureid" }, "url": { "default": "", "description": "Original source URL", "type": "string", "name": "url" } } } |
Textures.Fields.Texture
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Textures.Fields.Texture", "items": { "enums": [ "url", "cachedurl", "lasthashcheck", "imagehash", "sizes" ], "type": "string" } } |
Video
Video.Cast
Type: mixed
JSON Schema Description |
---|
{ "id": "Video.Cast", "type": "array", "items": { "additionalProperties": false, "properties": { "name": { "required": true, "type": "string" }, "order": { "required": true, "type": "integer" }, "role": { "required": true, "type": "string" }, "thumbnail": { "default": "", "type": "string" } }, "type": "object" } } |
Video.Details.Base
Extends:
Properties:
- [ Media.Artwork art ]
- [ integer playcount = "0" ]
JSON Schema Description |
---|
{ "extends": [ "Media.Details.Base" ], "id": "Video.Details.Base", "properties": { "art": { "$ref": "Media.Artwork", "name": "art" }, "playcount": { "default": "0", "type": "integer", "name": "playcount" } } } |
Video.Details.Episode
Extends:
Properties:
- [ Video.Cast cast ]
- [ integer episode = "0" ]
- Library.Id episodeid
- [ string firstaired ]
- [ string originaltitle ]
- [ string productioncode ]
- [ number rating = "0" ]
- [ mixed ratings ]
- [ integer season = "0" ]
- [ Library.Id seasonid = "-1" ]
- [ string showtitle ]
- [ integer specialsortepisode = "0" ]
- [ integer specialsortseason = "0" ]
- [ Library.Id tvshowid = "-1" ]
- [ Media.UniqueID uniqueid ]
- [ integer userrating = "0" ]
- [ string votes ]
- [ Array.String writer ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.File" ], "id": "Video.Details.Episode", "properties": { "cast": { "$ref": "Video.Cast", "name": "cast" }, "episode": { "default": "0", "type": "integer", "name": "episode" }, "episodeid": { "$ref": "Library.Id", "name": "episodeid", "required": true }, "firstaired": { "default": "", "type": "string", "name": "firstaired" }, "originaltitle": { "default": "", "type": "string", "name": "originaltitle" }, "productioncode": { "default": "", "type": "string", "name": "productioncode" }, "rating": { "default": "0", "type": "number", "name": "rating" }, "ratings": { "type": "any", "name": "ratings" }, "season": { "default": "0", "type": "integer", "name": "season" }, "seasonid": { "default": "-1", "$ref": "Library.Id", "name": "seasonid" }, "showtitle": { "default": "", "type": "string", "name": "showtitle" }, "specialsortepisode": { "default": "0", "type": "integer", "name": "specialsortepisode" }, "specialsortseason": { "default": "0", "type": "integer", "name": "specialsortseason" }, "tvshowid": { "default": "-1", "$ref": "Library.Id", "name": "tvshowid" }, "uniqueid": { "$ref": "Media.UniqueID", "name": "uniqueid" }, "userrating": { "default": "0", "type": "integer", "name": "userrating" }, "votes": { "default": "", "type": "string", "name": "votes" }, "writer": { "$ref": "Array.String", "name": "writer" } } } |
Video.Details.File
Extends:
Properties:
- [ Array.String director ]
- [ Video.Resume resume ]
- [ integer runtime = "0" ] Runtime in seconds
- [ Video.Streams streamdetails ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.Item" ], "id": "Video.Details.File", "properties": { "director": { "$ref": "Array.String", "name": "director" }, "resume": { "$ref": "Video.Resume", "name": "resume" }, "runtime": { "default": "0", "description": "Runtime in seconds", "type": "integer", "name": "runtime" }, "streamdetails": { "$ref": "Video.Streams", "name": "streamdetails" } } } |
Video.Details.Item
Extends:
Properties:
- [ string dateadded ]
- [ string file ]
- [ string lastplayed ]
- [ string plot ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.Media" ], "id": "Video.Details.Item", "properties": { "dateadded": { "default": "", "type": "string", "name": "dateadded" }, "file": { "default": "", "type": "string", "name": "file" }, "lastplayed": { "default": "", "type": "string", "name": "lastplayed" }, "plot": { "default": "", "type": "string", "name": "plot" } } } |
Video.Details.Media
Extends:
Properties:
- [ string title ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.Base" ], "id": "Video.Details.Media", "properties": { "title": { "default": "", "type": "string", "name": "title" } } } |
Video.Details.Movie
Extends:
Properties:
- [ Video.Cast cast ]
- [ Array.String country ]
- [ Array.String genre ]
- [ string imdbnumber ]
- Library.Id movieid
- [ string mpaa ]
- [ string originaltitle ]
- [ string plotoutline ]
- [ string premiered ]
- [ number rating = "0" ]
- [ mixed ratings ]
- [ string set ]
- [ Library.Id setid = "-1" ]
- [ Array.String showlink ]
- [ string sorttitle ]
- [ Array.String studio ]
- [ Array.String tag ]
- [ string tagline ]
- [ integer top250 = "0" ]
- [ string trailer ]
- [ Media.UniqueID uniqueid ]
- [ integer userrating = "0" ]
- [ string votes ]
- [ Array.String writer ]
- [ integer year = "0" ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.File" ], "id": "Video.Details.Movie", "properties": { "cast": { "$ref": "Video.Cast", "name": "cast" }, "country": { "$ref": "Array.String", "name": "country" }, "genre": { "$ref": "Array.String", "name": "genre" }, "imdbnumber": { "default": "", "type": "string", "name": "imdbnumber" }, "movieid": { "$ref": "Library.Id", "name": "movieid", "required": true }, "mpaa": { "default": "", "type": "string", "name": "mpaa" }, "originaltitle": { "default": "", "type": "string", "name": "originaltitle" }, "plotoutline": { "default": "", "type": "string", "name": "plotoutline" }, "premiered": { "default": "", "type": "string", "name": "premiered" }, "rating": { "default": "0", "type": "number", "name": "rating" }, "ratings": { "type": "any", "name": "ratings" }, "set": { "default": "", "type": "string", "name": "set" }, "setid": { "default": "-1", "$ref": "Library.Id", "name": "setid" }, "showlink": { "$ref": "Array.String", "name": "showlink" }, "sorttitle": { "default": "", "type": "string", "name": "sorttitle" }, "studio": { "$ref": "Array.String", "name": "studio" }, "tag": { "$ref": "Array.String", "name": "tag" }, "tagline": { "default": "", "type": "string", "name": "tagline" }, "top250": { "default": "0", "type": "integer", "name": "top250" }, "trailer": { "default": "", "type": "string", "name": "trailer" }, "uniqueid": { "$ref": "Media.UniqueID", "name": "uniqueid" }, "userrating": { "default": "0", "type": "integer", "name": "userrating" }, "votes": { "default": "", "type": "string", "name": "votes" }, "writer": { "$ref": "Array.String", "name": "writer" }, "year": { "default": "0", "type": "integer", "name": "year" } } } |
Video.Details.MovieSet
Extends:
Properties:
- [ string plot ]
- Library.Id setid
JSON Schema Description |
---|
{ "extends": [ "Video.Details.Media" ], "id": "Video.Details.MovieSet", "properties": { "plot": { "default": "", "type": "string", "name": "plot" }, "setid": { "$ref": "Library.Id", "name": "setid", "required": true } } } |
Video.Details.MovieSet.Extended
Extends:
Properties:
- List.LimitsReturned limits
- [ Video.Details.Movie[] movies ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.MovieSet" ], "id": "Video.Details.MovieSet.Extended", "properties": { "limits": { "$ref": "List.LimitsReturned", "name": "limits", "required": true }, "movies": { "items": { "$ref": "Video.Details.Movie" }, "type": "array", "name": "movies" } } } |
Video.Details.MusicVideo
Extends:
Properties:
- [ string album ]
- [ Array.String artist ]
- [ Array.String genre ]
- Library.Id musicvideoid
- [ string premiered ]
- [ number rating = "0" ]
- [ Array.String studio ]
- [ Array.String tag ]
- [ integer track = "0" ]
- [ integer userrating = "0" ]
- [ integer year = "0" ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.File" ], "id": "Video.Details.MusicVideo", "properties": { "album": { "default": "", "type": "string", "name": "album" }, "artist": { "$ref": "Array.String", "name": "artist" }, "genre": { "$ref": "Array.String", "name": "genre" }, "musicvideoid": { "$ref": "Library.Id", "name": "musicvideoid", "required": true }, "premiered": { "default": "", "type": "string", "name": "premiered" }, "rating": { "default": "0", "type": "number", "name": "rating" }, "studio": { "$ref": "Array.String", "name": "studio" }, "tag": { "$ref": "Array.String", "name": "tag" }, "track": { "default": "0", "type": "integer", "name": "track" }, "userrating": { "default": "0", "type": "integer", "name": "userrating" }, "year": { "default": "0", "type": "integer", "name": "year" } } } |
Video.Details.Season
Extends:
Properties:
- [ integer episode = "0" ]
- integer season
- Library.Id seasonid
- [ string showtitle ]
- [ Library.Id tvshowid = "-1" ]
- [ integer userrating = "0" ]
- [ integer watchedepisodes = "0" ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.Base" ], "id": "Video.Details.Season", "properties": { "episode": { "default": "0", "type": "integer", "name": "episode" }, "season": { "type": "integer", "name": "season", "required": true }, "seasonid": { "$ref": "Library.Id", "name": "seasonid", "required": true }, "showtitle": { "default": "", "type": "string", "name": "showtitle" }, "tvshowid": { "default": "-1", "$ref": "Library.Id", "name": "tvshowid" }, "userrating": { "default": "0", "type": "integer", "name": "userrating" }, "watchedepisodes": { "default": "0", "type": "integer", "name": "watchedepisodes" } } } |
Video.Details.TVShow
Extends:
Properties:
- [ Video.Cast cast ]
- [ integer episode = "0" ]
- [ string episodeguide ]
- [ Array.String genre ]
- [ string imdbnumber ]
- [ string mpaa ]
- [ string originaltitle ]
- [ string premiered ]
- [ number rating = "0" ]
- [ mixed ratings ]
- [ integer runtime = "0" ] Runtime in seconds
- [ integer season = "0" ]
- [ string sorttitle ]
- [ Array.String studio ]
- [ Array.String tag ]
- Library.Id tvshowid
- [ Media.UniqueID uniqueid ]
- [ integer userrating = "0" ]
- [ string votes ]
- [ integer watchedepisodes = "0" ]
- [ integer year = "0" ]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.Item" ], "id": "Video.Details.TVShow", "properties": { "cast": { "$ref": "Video.Cast", "name": "cast" }, "episode": { "default": "0", "type": "integer", "name": "episode" }, "episodeguide": { "default": "", "type": "string", "name": "episodeguide" }, "genre": { "$ref": "Array.String", "name": "genre" }, "imdbnumber": { "default": "", "type": "string", "name": "imdbnumber" }, "mpaa": { "default": "", "type": "string", "name": "mpaa" }, "originaltitle": { "default": "", "type": "string", "name": "originaltitle" }, "premiered": { "default": "", "type": "string", "name": "premiered" }, "rating": { "default": "0", "type": "number", "name": "rating" }, "ratings": { "type": "any", "name": "ratings" }, "runtime": { "default": "0", "description": "Runtime in seconds", "type": "integer", "name": "runtime" }, "season": { "default": "0", "type": "integer", "name": "season" }, "sorttitle": { "default": "", "type": "string", "name": "sorttitle" }, "studio": { "$ref": "Array.String", "name": "studio" }, "tag": { "$ref": "Array.String", "name": "tag" }, "tvshowid": { "$ref": "Library.Id", "name": "tvshowid", "required": true }, "uniqueid": { "$ref": "Media.UniqueID", "name": "uniqueid" }, "userrating": { "default": "0", "type": "integer", "name": "userrating" }, "votes": { "default": "", "type": "string", "name": "votes" }, "watchedepisodes": { "default": "0", "type": "integer", "name": "watchedepisodes" }, "year": { "default": "0", "type": "integer", "name": "year" } } } |
Video.Fields.Episode
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Video.Fields.Episode", "items": { "description": "Requesting the cast, ratings, streamdetails, uniqueid and/or tag field will result in increased response times", "enums": [ "title", "plot", "votes", "rating", "writer", "firstaired", "playcount", "runtime", "director", "productioncode", "season", "episode", "originaltitle", "showtitle", "cast", "streamdetails", "lastplayed", "fanart", "thumbnail", "file", "resume", "tvshowid", "dateadded", "uniqueid", "art", "specialsortseason", "specialsortepisode", "userrating", "seasonid", "ratings" ], "type": "string" } } |
Video.Fields.Movie
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Video.Fields.Movie", "items": { "description": "Requesting the cast, ratings, showlink, streamdetails, uniqueid and/or tag field will result in increased response times", "enums": [ "title", "genre", "year", "rating", "director", "trailer", "tagline", "plot", "plotoutline", "originaltitle", "lastplayed", "playcount", "writer", "studio", "mpaa", "cast", "country", "imdbnumber", "runtime", "set", "showlink", "streamdetails", "top250", "votes", "fanart", "thumbnail", "file", "sorttitle", "resume", "setid", "dateadded", "tag", "art", "userrating", "ratings", "premiered", "uniqueid" ], "type": "string" } } |
Video.Fields.MovieSet
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Video.Fields.MovieSet", "items": { "enums": [ "title", "playcount", "fanart", "thumbnail", "art", "plot" ], "type": "string" } } |
Video.Fields.MusicVideo
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Video.Fields.MusicVideo", "items": { "description": "Requesting the streamdetails and/or tag field will result in increased response times", "enums": [ "title", "playcount", "runtime", "director", "studio", "year", "plot", "album", "artist", "genre", "track", "streamdetails", "lastplayed", "fanart", "thumbnail", "file", "resume", "dateadded", "tag", "art", "rating", "userrating", "premiered" ], "type": "string" } } |
Video.Fields.Season
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Video.Fields.Season", "items": { "enums": [ "season", "showtitle", "playcount", "episode", "fanart", "thumbnail", "tvshowid", "watchedepisodes", "art", "userrating" ], "type": "string" } } |
Video.Fields.TVShow
Extends:
JSON Schema Description |
---|
{ "extends": [ "Item.Fields.Base" ], "id": "Video.Fields.TVShow", "items": { "description": "Requesting the cast, ratings, uniqueid and/or tag field will result in increased response times", "enums": [ "title", "genre", "year", "rating", "plot", "studio", "mpaa", "cast", "playcount", "episode", "imdbnumber", "premiered", "votes", "lastplayed", "fanart", "thumbnail", "file", "originaltitle", "sorttitle", "episodeguide", "season", "watchedepisodes", "dateadded", "tag", "art", "userrating", "ratings", "runtime", "uniqueid" ], "type": "string" } } |
Video.Rating
Type: mixed Properties:
- [ boolean default = false ]
- number rating
- [ integer votes = "0" ]
JSON Schema Description |
---|
{ "id": "Video.Rating", "type": "object", "properties": { "default": { "default": "false", "type": "boolean", "name": "default" }, "rating": { "type": "number", "name": "rating", "required": true }, "votes": { "default": "0", "type": "integer", "name": "votes" } } } |
Video.Ratings
Type: mixed
JSON Schema Description |
---|
{ "id": "Video.Ratings", "type": "object" } |
Video.Ratings.Set
Type: mixed
JSON Schema Description |
---|
{ "id": "Video.Ratings.Set", "type": "object" } |
Video.Resume
Type: mixed Properties:
- [ number position = "0" ]
- [ number total = "0" ]
JSON Schema Description |
---|
{ "id": "Video.Resume", "type": "object", "properties": { "position": { "default": "0", "type": "number", "name": "position" }, "total": { "default": "0", "type": "number", "name": "total" } } } |
Video.Streams
Type: mixed Properties:
- [ object audio ]
- [ object subtitle ]
- [ object video ]
JSON Schema Description |
---|
{ "id": "Video.Streams", "type": "object", "properties": { "audio": { "items": { "properties": { "channels": { "default": 0, "type": "integer" }, "codec": { "default": "", "type": "string" }, "language": { "default": "", "type": "string" } }, "type": "object" }, "type": "array", "name": "audio" }, "subtitle": { "items": { "properties": { "language": { "default": "", "type": "string" } }, "type": "object" }, "type": "array", "name": "subtitle" }, "video": { "items": { "properties": { "aspect": { "default": 0, "type": "number" }, "codec": { "default": "", "type": "string" }, "duration": { "default": 0, "type": "integer" }, "height": { "default": 0, "type": "integer" }, "width": { "default": 0, "type": "integer" } }, "type": "object" }, "type": "array", "name": "video" } } } |
Notifications
Application
Application.OnVolumeChanged
The volume of the application has changed.
Parameters:
- string sender
- object data
Properties:
- integer volume
- boolean muted
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "volume": { "minimum": 0, "required": true, "type": "integer", "maximum": 100 }, "muted": { "required": true, "type": "boolean" } }, "required": true, "type": "object" } ], "description": "The volume of the application has changed." } |
AudioLibrary
AudioLibrary.OnCleanFinished
The audio library has been cleaned.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "The audio library has been cleaned." } |
AudioLibrary.OnCleanStarted
An audio library clean operation has started.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "An audio library clean operation has started." } |
AudioLibrary.OnRemove
An audio item has been removed.
Parameters:
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "id": { "$ref": "Library.Id", "required": true }, "type": { "$ref": "Notifications.Library.Audio.Type", "required": true } }, "required": true, "type": "object" } ], "description": "An audio item has been removed." } |
AudioLibrary.OnScanFinished
Scanning the audio library has been finished.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "Scanning the audio library has been finished." } |
AudioLibrary.OnScanStarted
An audio library scan has started.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "An audio library scan has started." } |
AudioLibrary.OnUpdate
An audio item has been updated.
Parameters:
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "id": { "$ref": "Library.Id", "required": true }, "type": { "enum": [ "song" ], "id": "Notifications.Library.Audio.Type", "required": true, "type": "string" } }, "required": true, "type": "object" } ], "description": "An audio item has been updated." } |
Input
Input.OnInputFinished
The user has provided the requested input.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "The user has provided the requested input." } |
Input.OnInputRequested
The user is requested to provide some information.
Parameters:
- string sender
- object data
Properties:
- string value
- [ string title ]
- string type
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "value": { "required": true, "type": "string" }, "title": { "type": "string" }, "type": { "enum": [ "keyboard", "time", "date", "ip", "password", "numericpassword", "number", "seconds" ], "required": true, "type": "string" } }, "required": true, "type": "object" } ], "description": "The user is requested to provide some information." } |
Player
Player.OnPause
Playback of a media item has been paused. If there is no ID available extra information will be provided.
Parameters:
- string sender
- Player.Notifications.Data data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "$ref": "Player.Notifications.Data", "name": "data", "required": true } ], "description": "Playback of a media item has been paused. If there is no ID available extra information will be provided." } |
Player.OnPlay
Playback of a media item has been started or the playback speed has changed. If there is no ID available extra information will be provided.
Parameters:
- string sender
- Player.Notifications.Data data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "$ref": "Player.Notifications.Data", "name": "data", "required": true } ], "description": "Playback of a media item has been started or the playback speed has changed. If there is no ID available extra information will be provided." } |
Player.OnPropertyChanged
A property of the playing items has changed.
Parameters:
- string sender
- object data
Properties:
- [ Player.Property.Value property ]
- Player.Notifications.Player player
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "property": { "$ref": "Player.Property.Value" }, "player": { "$ref": "Player.Notifications.Player", "required": true } }, "required": true, "type": "object" } ], "description": "A property of the playing items has changed." } |
Player.OnSeek
The playback position has been changed. If there is no ID available extra information will be provided.
Parameters:
- string sender
- object data
Properties:
- Player.Notifications.Player.Seek player
- [ Notifications.Item item ]
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "player": { "$ref": "Player.Notifications.Player.Seek", "required": true }, "item": { "$ref": "Notifications.Item" } }, "required": true, "type": "object" } ], "description": "The playback position has been changed. If there is no ID available extra information will be provided." } |
Player.OnSpeedChanged
Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.
Parameters:
- string sender
- Player.Notifications.Data data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "$ref": "Player.Notifications.Data", "name": "data", "required": true } ], "description": "Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided." } |
Player.OnStop
Playback of a media item has been stopped. If there is no ID available extra information will be provided.
Parameters:
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "end": { "description": "Whether the player has reached the end of the playable item(s) or not", "required": true, "type": "boolean" }, "item": { "$ref": "Notifications.Item" } }, "required": true, "type": "object" } ], "description": "Playback of a media item has been stopped. If there is no ID available extra information will be provided." } |
Playlist
Playlist.OnAdd
A playlist item has been added.
Parameters:
- string sender
- object data
Properties:
- [ Playlist.Position position ]
- [ Notifications.Item item ]
- Playlist.Id playlistid
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "position": { "$ref": "Playlist.Position" }, "item": { "$ref": "Notifications.Item" }, "playlistid": { "$ref": "Playlist.Id", "required": true } }, "required": true, "type": "object" } ], "description": "A playlist item has been added." } |
Playlist.OnClear
A playlist item has been cleared.
Parameters:
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "playlistid": { "$ref": "Playlist.Id", "required": true } }, "required": true, "type": "object" } ], "description": "A playlist item has been cleared." } |
Playlist.OnRemove
A playlist item has been removed.
Parameters:
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "position": { "$ref": "Playlist.Position" }, "playlistid": { "$ref": "Playlist.Id", "required": true } }, "required": true, "type": "object" } ], "description": "A playlist item has been removed." } |
System
System.OnLowBattery
The system is on low battery.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "The system is on low battery." } |
System.OnQuit
Kodi will be closed.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "Kodi will be closed." } |
System.OnRestart
The system will be restarted.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "The system will be restarted." } |
System.OnSleep
The system will be suspended.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "The system will be suspended." } |
System.OnWake
The system woke up from suspension.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "The system woke up from suspension." } |
VideoLibrary
VideoLibrary.OnCleanFinished
The video library has been cleaned.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "The video library has been cleaned." } |
VideoLibrary.OnCleanStarted
A video library clean operation has started.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "A video library clean operation has started." } |
VideoLibrary.OnRemove
A video item has been removed.
Parameters:
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "id": { "$ref": "Library.Id", "required": true }, "type": { "$ref": "Notifications.Library.Video.Type", "required": true } }, "required": true, "type": "object" } ], "description": "A video item has been removed." } |
VideoLibrary.OnScanFinished
Scanning the video library has been finished.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "Scanning the video library has been finished." } |
VideoLibrary.OnScanStarted
A video library scan has started.
Parameters:
- string sender
- null data
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "required": true, "type": "null" } ], "description": "A video library scan has started." } |
VideoLibrary.OnUpdate
A video item has been updated.
Parameters:
JSON Schema Description |
---|
{ "params": [ { "name": "sender", "required": true, "type": "string" }, { "name": "data", "properties": { "id": { "$ref": "Library.Id", "required": true }, "playcount": { "minimum": 0, "type": "integer", "default": -1 }, "type": { "enum": [ "movie", "tvshow", "episode", "musicvideo" ], "id": "Notifications.Library.Video.Type", "required": true, "type": "string" } }, "required": true, "type": "object" } ], "description": "A video item has been updated." } |