User:Ronie
Development | JSON-RPC API | Ronie |
Version 12 is the current development version of Kodi's JSON-RPC API and will be published with the release of v19 (Matrix).
This document has been updated to version 11.8.1. Recent changes are announced on the forum
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.
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 Supplies GetTextures and RemoveTexture. Textures are images. 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: object|array|string params = ""]
- [boolean wait = False]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Executes the given addon with the given parameters (if possible)", "transport": "Response", "permission": "ExecuteAddon", "params": [ { "name": "addonid", "type": "string", "required": true }, { "name": "params", "type": [ { "type": "object", "additionalProperties": { "type": "string" } }, { "type": "array", "items": { "type": "string" } }, { "type": "string", "description": "URL path (must start with / or ?" } ], "default": "" }, { "name": "wait", "type": "boolean", "default": false } ], "returns": "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 |
---|
{ "type": "method", "description": "Gets the details of a specific addon", "transport": "Response", "permission": "ReadData", "params": [ { "name": "addonid", "type": "string", "required": true }, { "name": "properties", "$ref": "Addon.Fields" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "addon": { "$ref": "Addon.Details", "required": true } } } } |
Addons.GetAddons
Gets all available addons
Permissions:
- ReadData
Parameters:
- [Addon.Types type]
- [Addon.Content content] (Content provided by the addon. Only considered for plugins and scripts.)
- [mixed: boolean|string enabled = all]
- [Addon.Fields properties]
- [List.Limits limits]
- [mixed: boolean|string installed = True]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayAddon.Details addons]
JSON Schema Description |
---|
{ "type": "method", "description": "Gets all available addons", "transport": "Response", "permission": "ReadData", "params": [ { "name": "type", "$ref": "Addon.Types" }, { "name": "content", "$ref": "Addon.Content", "description": "Content provided by the addon. Only considered for plugins and scripts." }, { "name": "enabled", "type": [ { "type": "boolean" }, { "type": "string", "enum": [ "all" ] } ], "default": "all" }, { "name": "properties", "$ref": "Addon.Fields" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "installed", "type": [ { "type": "boolean" }, { "type": "string", "enum": [ "all" ] } ], "default": true } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "addons": { "type": "array", "items": { "$ref": "Addon.Details" } } } } } |
Addons.SetAddonEnabled
Enables/Disables a specific addon
Permissions:
- ManageAddon
Parameters:
- string addonid
- Global.Toggle enabled
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Enables/Disables a specific addon", "transport": "Response", "permission": "ManageAddon", "params": [ { "name": "addonid", "type": "string", "required": true }, { "name": "enabled", "$ref": "Global.Toggle", "required": true } ], "returns": "string" } |
Application
Application.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- array properties
Returns:
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the values of the given properties", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Application.Property.Name" } } ], "returns": { "$ref": "Application.Property.Value", "required": true } } |
Application.Quit
Quit application
Permissions:
- ControlPower
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Quit application", "transport": "Response", "permission": "ControlPower", "params": [], "returns": "string" } |
Application.SetMute
Toggle mute/unmute
Permissions:
- ControlPlayback
Parameters:
- Global.Toggle mute
Returns:
Type: boolean (Mute state)
JSON Schema Description |
---|
{ "type": "method", "description": "Toggle mute/unmute", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "mute", "required": true, "$ref": "Global.Toggle" } ], "returns": { "type": "boolean", "description": "Mute state" } } |
Application.SetVolume
Set the current volume
Permissions:
- ControlPlayback
Parameters:
- mixed: integer|Global.IncrementDecrement volume
Returns:
Type: integer
JSON Schema Description |
---|
{ "type": "method", "description": "Set the current volume", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "volume", "type": [ { "type": "integer", "minimum": 0, "maximum": 100, "required": true }, { "$ref": "Global.IncrementDecrement", "required": true } ], "required": true } ], "returns": "integer" } |
AudioLibrary
AudioLibrary.Clean
Cleans the audio library from non-existent items
Permissions:
- RemoveData
Parameters:
- [boolean showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Cleans the audio library from non-existent items", "transport": "Response", "permission": "RemoveData", "params": [ { "name": "showdialogs", "type": "boolean", "default": true, "description": "Whether or not to show the progress bar or any other GUI dialog" } ], "returns": "string" } |
AudioLibrary.Export
Exports all items from the audio library
Permissions:
- WriteFile
Parameters:
- [mixed: object|object options]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Exports all items from the audio library", "transport": "Response", "permission": "WriteFile", "params": [ { "name": "options", "type": [ { "type": "object", "required": true, "additionalProperties": false, "properties": { "path": { "type": "string", "required": true, "minLength": 1, "description": "Path to the directory to where the data should be exported" } } }, { "type": "object", "required": true, "additionalProperties": false, "properties": { "overwrite": { "type": "boolean", "default": false, "description": "Whether to overwrite existing exported files" }, "images": { "type": "boolean", "default": false, "description": "Whether to export thumbnails and fanart images" } } } ] } ], "returns": "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 |
---|
{ "type": "method", "description": "Retrieve details about a specific album", "transport": "Response", "permission": "ReadData", "params": [ { "name": "albumid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Audio.Fields.Album" } ], "returns": { "type": "object", "properties": { "albumdetails": { "$ref": "Audio.Details.Album" } } } } |
AudioLibrary.GetAlbums
Retrieve all albums from specified artist (and role) or that has songs of the specified genre
Permissions:
- ReadData
Parameters:
- [Audio.Fields.Album properties]
- [List.Limits limits]
- [List.Sort sort]
- [mixed: object|object|object|object|object|object|object|object|List.Filter.Albums filter]
- [boolean includesingles = False]
- [boolean allroles = False] (Whether or not to include all roles when filtering by artist, rather than the default of excluding other contributions. When true it overrides any role filter value.)
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayAudio.Details.Album albums]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all albums from specified artist (and role) or that has songs of the specified genre", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Audio.Fields.Album" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" }, { "name": "filter", "type": [ { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true, "description": "Song genre. Filter for existence of songs with this genre" } }, "additionalProperties": false }, { "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true, "description": "Song genre. Filter for existence of songs with this genre" } }, "additionalProperties": false }, { "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true }, "roleid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true }, "role": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true }, "roleid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true }, "role": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "$ref": "List.Filter.Albums" } ] }, { "name": "includesingles", "type": "boolean", "default": false }, { "name": "allroles", "type": "boolean", "default": false, "description": "Whether or not to include all roles when filtering by artist, rather than the default of excluding other contributions. When true it overrides any role filter value." } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "albums": { "type": "array", "items": { "$ref": "Audio.Details.Album" } } } } } |
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 |
---|
{ "type": "method", "description": "Retrieve details about a specific artist", "transport": "Response", "permission": "ReadData", "params": [ { "name": "artistid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Audio.Fields.Artist" } ], "returns": { "type": "object", "properties": { "artistdetails": { "$ref": "Audio.Details.Artist" } } } } |
AudioLibrary.GetArtists
Retrieve all artists. For backward compatibility by default this implicity does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true
Permissions:
- ReadData
Parameters:
- [Optional.Boolean albumartistsonly] (Whether or not to only include album artists rather than the artists of only individual songs as well. If the parameter is not passed or is passed as null the GUI setting will be used)
- [Audio.Fields.Artist properties]
- [List.Limits limits]
- [List.Sort sort]
- [mixed: object|object|object|object|object|object|object|object|object|object|object|object|object|object|object|List.Filter.Artists filter]
- [boolean allroles = False] (Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value.)
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayAudio.Details.Artist artists]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all artists. For backward compatibility by default this implicity does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true", "transport": "Response", "permission": "ReadData", "params": [ { "name": "albumartistsonly", "$ref": "Optional.Boolean", "description": "Whether or not to only include album artists rather than the artists of only individual songs as well. If the parameter is not passed or is passed as null the GUI setting will be used" }, { "name": "properties", "$ref": "Audio.Fields.Artist" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" }, { "name": "filter", "type": [ { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true, "description": "Deprecated, use songgenreid. Filter for existence of songs with this genre" } }, "additionalProperties": false }, { "type": "object", "properties": { "songgenreid": { "$ref": "Library.Id", "required": true, "description": "Song genreid. Filter for existence of songs with this genre" } }, "additionalProperties": false }, { "type": "object", "properties": { "songgenreid": { "$ref": "Library.Id", "required": true }, "roleid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "songgenreid": { "$ref": "Library.Id", "required": true }, "role": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true, "description": "Deprecated, use songgenre. Filter for existence of songs with this genre" } }, "additionalProperties": false }, { "type": "object", "properties": { "songgenre": { "type": "string", "minLength": 1, "required": true, "description": "Song genre. Filter for existence of songs with this genre" } }, "additionalProperties": false }, { "type": "object", "properties": { "songgenre": { "type": "string", "minLength": 1, "required": true }, "roleid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "songgenre": { "type": "string", "minLength": 1, "required": true }, "role": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "albumid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "album": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "songid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "songid": { "$ref": "Library.Id", "required": true }, "roleid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "songid": { "$ref": "Library.Id", "required": true }, "role": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "roleid": { "$ref": "Library.Id", "required": true, "description": "Role contributed by artist. Overridden by allroles parameter" } }, "additionalProperties": false }, { "type": "object", "properties": { "role": { "type": "string", "minLength": 1, "required": true, "description": "Role contributed by artist. Overridden by allroles parameter" } }, "additionalProperties": false }, { "$ref": "List.Filter.Artists" } ] }, { "name": "allroles", "type": "boolean", "default": false, "description": "Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value." } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "artists": { "type": "array", "items": { "$ref": "Audio.Details.Artist" } } } } } |
AudioLibrary.GetGenres
Retrieve all genres
Permissions:
- ReadData
Parameters:
- [Library.Fields.Genre properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayLibrary.Details.Genre genres
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all genres", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Library.Fields.Genre" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "genres": { "type": "array", "required": true, "items": { "$ref": "Library.Details.Genre" } } } } } |
AudioLibrary.GetProperties
Retrieves the values of the music library properties
Permissions:
- ReadData
Parameters:
- array properties
Returns:
Type: Audio.Property.Value
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the values of the music library properties", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Audio.Property.Name" } } ], "returns": { "$ref": "Audio.Property.Value", "required": true } } |
AudioLibrary.GetRecentlyAddedAlbums
Retrieve recently added albums
Permissions:
- ReadData
Parameters:
- [Audio.Fields.Album properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayAudio.Details.Album albums]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve recently added albums", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Audio.Fields.Album" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "albums": { "type": "array", "items": { "$ref": "Audio.Details.Album" } } } } } |
AudioLibrary.GetRecentlyAddedSongs
Retrieve recently added songs
Permissions:
- ReadData
Parameters:
- [List.Amount albumlimit] (The amount of recently added albums from which to return the songs)
- [Audio.Fields.Song properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayAudio.Details.Song songs]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve recently added songs", "transport": "Response", "permission": "ReadData", "params": [ { "name": "albumlimit", "$ref": "List.Amount", "description": "The amount of recently added albums from which to return the songs" }, { "name": "properties", "$ref": "Audio.Fields.Song" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "songs": { "type": "array", "items": { "$ref": "Audio.Details.Song" } } } } } |
AudioLibrary.GetRecentlyPlayedAlbums
Retrieve recently played albums
Permissions:
- ReadData
Parameters:
- [Audio.Fields.Album properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayAudio.Details.Album albums]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve recently played albums", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Audio.Fields.Album" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "albums": { "type": "array", "items": { "$ref": "Audio.Details.Album" } } } } } |
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
- [arrayAudio.Details.Song songs]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve recently played songs", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Audio.Fields.Song" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "songs": { "type": "array", "items": { "$ref": "Audio.Details.Song" } } } } } |
AudioLibrary.GetRoles
Retrieve all contributor roles
Permissions:
- ReadData
Parameters:
- [Audio.Fields.Role properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayAudio.Details.Role roles
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all contributor roles", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Audio.Fields.Role" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "roles": { "type": "array", "required": true, "items": { "$ref": "Audio.Details.Role" } } } } } |
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 |
---|
{ "type": "method", "description": "Retrieve details about a specific song", "transport": "Response", "permission": "ReadData", "params": [ { "name": "songid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Audio.Fields.Song" } ], "returns": { "type": "object", "properties": { "songdetails": { "$ref": "Audio.Details.Song" } } } } |
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: object|object|object|object|object|object|object|object|object|object|List.Filter.Songs filter]
- [boolean includesingles = True] (Only songs from albums are returned when false, but overidden when singlesonly parameter is true)
- [boolean allroles = False] (Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.)
- [boolean singlesonly = False] (Only singles are returned when true, and overides includesingles parameter)
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayAudio.Details.Song songs]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all songs from specified album, artist or genre", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Audio.Fields.Song" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" }, { "name": "filter", "type": [ { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true, "description": "Song genre. Filter for existence of songs with this genre" } }, "additionalProperties": false }, { "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true, "description": "Song genre. Filter for existence of songs with this genre" } }, "additionalProperties": false }, { "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true }, "roleid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true }, "role": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true }, "roleid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true }, "role": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "albumid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "album": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "$ref": "List.Filter.Songs" } ] }, { "name": "includesingles", "type": "boolean", "default": true, "description": "Only songs from albums are returned when false, but overidden when singlesonly parameter is true" }, { "name": "allroles", "type": "boolean", "default": false, "description": "Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value." }, { "name": "singlesonly", "type": "boolean", "default": false, "description": "Only singles are returned when true, and overides includesingles parameter" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "songs": { "type": "array", "items": { "$ref": "Audio.Details.Song" } } } } } |
AudioLibrary.GetSources
Get all music sources, including unique ID
Permissions:
- ReadData
Parameters:
- [Library.Fields.Source properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayLibrary.Details.Source sources
JSON Schema Description |
---|
{ "type": "method", "description": "Get all music sources, including unique ID", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Library.Fields.Source" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "sources": { "type": "array", "required": true, "items": { "$ref": "Library.Details.Source" } } } } } |
AudioLibrary.Scan
Scans the audio sources for new library items
Permissions:
- UpdateData
Parameters:
- [string directory = ""]
- [boolean showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Scans the audio sources for new library items", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "directory", "type": "string", "default": "" }, { "name": "showdialogs", "type": "boolean", "default": true, "description": "Whether or not to show the progress bar or any other GUI dialog" } ], "returns": "string" } |
AudioLibrary.SetAlbumDetails
Update the given album with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id albumid
- [Optional.String title]
- [mixed: Array.String artist = None]
- [Optional.String description]
- [mixed: Array.String genre = None]
- [mixed: Array.String theme = None]
- [mixed: Array.String mood = None]
- [mixed: Array.String style = None]
- [Optional.String type]
- [Optional.String albumlabel]
- [Optional.Number rating]
- [Optional.Integer year]
- [Optional.Integer userrating]
- [Optional.Integer votes]
- [Optional.String musicbrainzalbumid]
- [Optional.String musicbrainzreleasegroupid]
- [Optional.String sortartist]
- [Optional.String displayartist]
- [mixed: Array.String musicbrainzalbumartistid = None]
- [mixed: Media.Artwork.Set art = None]
- [Optional.Boolean isboxset]
- [Optional.String releasedate]
- [Optional.String originaldate]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given album with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "albumid", "$ref": "Library.Id", "required": true }, { "name": "title", "$ref": "Optional.String" }, { "name": "artist", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "description", "$ref": "Optional.String" }, { "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "theme", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "mood", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "style", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "type", "$ref": "Optional.String" }, { "name": "albumlabel", "$ref": "Optional.String" }, { "name": "rating", "$ref": "Optional.Number" }, { "name": "year", "$ref": "Optional.Integer" }, { "name": "userrating", "$ref": "Optional.Integer" }, { "name": "votes", "$ref": "Optional.Integer" }, { "name": "musicbrainzalbumid", "$ref": "Optional.String" }, { "name": "musicbrainzreleasegroupid", "$ref": "Optional.String" }, { "name": "sortartist", "$ref": "Optional.String" }, { "name": "displayartist", "$ref": "Optional.String" }, { "name": "musicbrainzalbumartistid", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null }, { "name": "isboxset", "$ref": "Optional.Boolean" }, { "name": "releasedate", "$ref": "Optional.String" }, { "name": "originaldate", "$ref": "Optional.String" } ], "returns": "string" } |
AudioLibrary.SetArtistDetails
Update the given artist with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id artistid
- [Optional.String artist]
- [mixed: Array.String instrument = None]
- [mixed: Array.String style = None]
- [mixed: Array.String mood = None]
- [Optional.String born]
- [Optional.String formed]
- [Optional.String description]
- [mixed: Array.String genre = None]
- [Optional.String died]
- [Optional.String disbanded]
- [mixed: Array.String yearsactive = None]
- [Optional.String musicbrainzartistid]
- [Optional.String sortname]
- [Optional.String type]
- [Optional.String gender]
- [Optional.String disambiguation]
- [mixed: Media.Artwork.Set art = None]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given artist with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "artistid", "$ref": "Library.Id", "required": true }, { "name": "artist", "$ref": "Optional.String" }, { "name": "instrument", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "style", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "mood", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "born", "$ref": "Optional.String" }, { "name": "formed", "$ref": "Optional.String" }, { "name": "description", "$ref": "Optional.String" }, { "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "died", "$ref": "Optional.String" }, { "name": "disbanded", "$ref": "Optional.String" }, { "name": "yearsactive", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "musicbrainzartistid", "$ref": "Optional.String" }, { "name": "sortname", "$ref": "Optional.String" }, { "name": "type", "$ref": "Optional.String" }, { "name": "gender", "$ref": "Optional.String" }, { "name": "disambiguation", "$ref": "Optional.String" }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null } ], "returns": "string" } |
AudioLibrary.SetSongDetails
Update the given song with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id songid
- [Optional.String title]
- [mixed: Array.String artist = None]
- [mixed: Array.String genre = None]
- [Optional.Integer year]
- [Optional.Number rating]
- [Optional.Integer track]
- [Optional.Integer disc]
- [Optional.Integer duration]
- [Optional.String comment]
- [Optional.String musicbrainztrackid]
- [Optional.String musicbrainzartistid]
- [Optional.Integer playcount]
- [Optional.String lastplayed]
- [Optional.Integer userrating]
- [Optional.Integer votes]
- [Optional.String displayartist]
- [Optional.String sortartist]
- [Optional.String mood]
- [mixed: Media.Artwork.Set art = None]
- [Optional.String disctitle]
- [Optional.String releasedate]
- [Optional.String originaldate]
- [Optional.Integer bpm]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given song with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "songid", "$ref": "Library.Id", "required": true }, { "name": "title", "$ref": "Optional.String" }, { "name": "artist", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "year", "$ref": "Optional.Integer" }, { "name": "rating", "$ref": "Optional.Number" }, { "name": "track", "$ref": "Optional.Integer" }, { "name": "disc", "$ref": "Optional.Integer" }, { "name": "duration", "$ref": "Optional.Integer" }, { "name": "comment", "$ref": "Optional.String" }, { "name": "musicbrainztrackid", "$ref": "Optional.String" }, { "name": "musicbrainzartistid", "$ref": "Optional.String" }, { "name": "playcount", "$ref": "Optional.Integer" }, { "name": "lastplayed", "$ref": "Optional.String" }, { "name": "userrating", "$ref": "Optional.Integer" }, { "name": "votes", "$ref": "Optional.Integer" }, { "name": "displayartist", "$ref": "Optional.String" }, { "name": "sortartist", "$ref": "Optional.String" }, { "name": "mood", "$ref": "Optional.String" }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null }, { "name": "disctitle", "$ref": "Optional.String" }, { "name": "releasedate", "$ref": "Optional.String" }, { "name": "originaldate", "$ref": "Optional.String" }, { "name": "bpm", "$ref": "Optional.Integer" } ], "returns": "string" } |
Favourites
Favourites.AddFavourite
Add a favourite with the given details
Permissions:
- UpdateData
Parameters:
- string title
- Favourite.Type type
- [Optional.String path] (Required for media, script and androidapp favourites types)
- [Optional.String window] (Required for window favourite type)
- [Optional.String windowparameter]
- [Optional.String thumbnail]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Add a favourite with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "title", "type": "string", "required": true }, { "name": "type", "$ref": "Favourite.Type", "required": true }, { "name": "path", "$ref": "Optional.String", "description": "Required for media, script and androidapp favourites types" }, { "name": "window", "$ref": "Optional.String", "description": "Required for window favourite type" }, { "name": "windowparameter", "$ref": "Optional.String" }, { "name": "thumbnail", "$ref": "Optional.String" } ], "returns": "string" } |
Favourites.GetFavourites
Retrieve all favourites
Permissions:
- ReadData
Parameters:
- [mixed: Favourite.Type type = None]
- [Favourite.Fields.Favourite properties]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayFavourite.Details.Favourite favourites]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all favourites", "transport": "Response", "permission": "ReadData", "params": [ { "name": "type", "type": [ "null", { "$ref": "Favourite.Type" } ], "default": null }, { "name": "properties", "$ref": "Favourite.Fields.Favourite" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "favourites": { "type": "array", "items": { "$ref": "Favourite.Details.Favourite" } } } } } |
Files
Files.Download
Downloads the given file
Permissions:
- ReadData
Parameters:
- string path
Returns:
Type: any
JSON Schema Description |
---|
{ "type": "method", "description": "Downloads the given file", "transport": [ "Response", "FileDownloadDirect" ], "permission": "ReadData", "params": [ { "name": "path", "type": "string", "required": true } ], "returns": { "type": "any", "required": true } } |
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]
- [List.Limits limits] (Limits are applied after getting the directory content thus retrieval is not faster when they are applied.)
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayList.Item.File files
JSON Schema Description |
---|
{ "type": "method", "description": "Get the directories and files in the given directory", "transport": "Response", "permission": "ReadData", "params": [ { "name": "directory", "type": "string", "required": true }, { "name": "media", "$ref": "Files.Media", "default": "files" }, { "name": "properties", "$ref": "List.Fields.Files" }, { "name": "sort", "$ref": "List.Sort" }, { "name": "limits", "$ref": "List.Limits", "description": "Limits are applied after getting the directory content thus retrieval is not faster when they are applied." } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "files": { "type": "array", "items": { "$ref": "List.Item.File" }, "required": true } } } } |
Files.GetFileDetails
Get details for a specific file
Permissions:
- ReadData
Parameters:
- string file (Full path to the file)
- [Files.Media media = files]
- [List.Fields.Files properties]
Returns:
Type: object
Properties:
- List.Item.File filedetails
JSON Schema Description |
---|
{ "type": "method", "description": "Get details for a specific file", "transport": "Response", "permission": "ReadData", "params": [ { "name": "file", "type": "string", "required": true, "description": "Full path to the file" }, { "name": "media", "$ref": "Files.Media", "default": "files" }, { "name": "properties", "$ref": "List.Fields.Files" } ], "returns": { "type": "object", "properties": { "filedetails": { "$ref": "List.Item.File", "required": true } } } } |
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 |
---|
{ "type": "method", "description": "Get the sources of the media windows", "transport": "Response", "permission": "ReadData", "params": [ { "name": "media", "$ref": "Files.Media", "required": true }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "sources": { "$ref": "List.Items.Sources", "required": true } } } } |
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 protocol
- any details (Transport specific details on how/from where to download the given file)
- string mode (Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol)
JSON Schema Description |
---|
{ "type": "method", "description": "Provides a way to download a given file (e.g. providing an URL to the real file location)", "transport": [ "Response", "FileDownloadRedirect" ], "permission": "ReadData", "params": [ { "name": "path", "type": "string", "required": true } ], "returns": { "type": "object", "properties": { "protocol": { "type": "string", "enum": [ "http" ], "required": true }, "details": { "type": "any", "required": true, "description": "Transport specific details on how/from where to download the given file" }, "mode": { "type": "string", "enum": [ "redirect", "direct" ], "required": true, "description": "Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol" } } } } |
Files.SetFileDetails
Update the given specific file with the given details
Permissions:
- UpdateData
Parameters:
- string file (Full path to the file)
- Files.Media media (File type to update correct database. Currently only "video" is supported.)
- [Optional.Integer playcount]
- [Optional.String lastplayed] (Setting a valid lastplayed without a playcount will force playcount to 1.)
- [mixed: Video.Resume resume = None]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given specific file with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "file", "type": "string", "required": true, "description": "Full path to the file" }, { "name": "media", "$ref": "Files.Media", "required": true, "description": "File type to update correct database. Currently only \"video\" is supported." }, { "name": "playcount", "$ref": "Optional.Integer" }, { "name": "lastplayed", "$ref": "Optional.String", "description": "Setting a valid lastplayed without a playcount will force playcount to 1." }, { "name": "resume", "type": [ "null", { "$ref": "Video.Resume", "required": true } ], "default": null } ], "returns": "string" } |
GUI
GUI.ActivateWindow
Activates the given window
Permissions:
- ControlGUI
Parameters:
- GUI.Window window
- [array parameters]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Activates the given window", "transport": "Response", "permission": "ControlGUI", "params": [ { "name": "window", "$ref": "GUI.Window", "required": true }, { "name": "parameters", "type": "array", "items": { "type": "string", "minLength": 1, "required": true }, "minItems": 1 } ], "returns": "string" } |
GUI.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- array properties
Returns:
Type: GUI.Property.Value
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the values of the given properties", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "GUI.Property.Name" } } ], "returns": { "$ref": "GUI.Property.Value", "required": true } } |
GUI.GetStereoscopicModes
Returns the supported stereoscopic modes of the GUI
Permissions:
- ReadData
Returns:
Type: object
Properties:
- [arrayGUI.Stereoscopy.Mode stereoscopicmodes]
JSON Schema Description |
---|
{ "type": "method", "description": "Returns the supported stereoscopic modes of the GUI", "transport": "Response", "permission": "ReadData", "params": [], "returns": { "type": "object", "properties": { "stereoscopicmodes": { "type": "array", "uniqueItems": true, "items": { "$ref": "GUI.Stereoscopy.Mode" } } } } } |
GUI.SetFullscreen
Toggle fullscreen/GUI
Permissions:
- ControlGUI
Parameters:
- Global.Toggle fullscreen
Returns:
Type: boolean (Fullscreen state)
JSON Schema Description |
---|
{ "type": "method", "description": "Toggle fullscreen/GUI", "transport": "Response", "permission": "ControlGUI", "params": [ { "name": "fullscreen", "required": true, "$ref": "Global.Toggle" } ], "returns": { "type": "boolean", "description": "Fullscreen state" } } |
GUI.SetStereoscopicMode
Sets the stereoscopic mode of the GUI to the given mode
Permissions:
- ControlGUI
Parameters:
- string mode
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Sets the stereoscopic mode of the GUI to the given mode", "transport": "Response", "permission": "ControlGUI", "params": [ { "name": "mode", "type": "string", "enum": [ "toggle", "tomono", "next", "previous", "select", "off", "split_vertical", "split_horizontal", "row_interleaved", "hardware_based", "anaglyph_cyan_red", "anaglyph_green_magenta", "monoscopic" ], "required": true } ], "returns": "string" } |
GUI.ShowNotification
Shows a GUI notification
Permissions:
- ControlGUI
Parameters:
- string title
- string message
- [mixed: string|string image = ""]
- [integer displaytime = 5000] (The time in milliseconds the notification will be visible)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Shows a GUI notification", "transport": "Response", "permission": "ControlGUI", "params": [ { "name": "title", "type": "string", "required": true }, { "name": "message", "type": "string", "required": true }, { "name": "image", "type": [ { "type": "string", "required": true, "enum": [ "info", "warning", "error" ] }, { "type": "string", "required": true } ], "default": "" }, { "name": "displaytime", "type": "integer", "minimum": 1500, "default": 5000, "description": "The time in milliseconds the notification will be visible" } ], "returns": "string" } |
Input
Input.Back
Goes back in GUI
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Goes back in GUI", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.ButtonEvent
Send a button press event
Permissions:
- Navigate
Parameters:
- string button (Button name)
- string keymap (Keymap name (KB, XG, R1, or R2))
- integer holdtime = 0 (Number of milliseconds to simulate button hold.)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Send a button press event", "transport": "Response", "permission": "Navigate", "params": [ { "name": "button", "type": "string", "required": true, "description": "Button name" }, { "name": "keymap", "type": "string", "required": true, "description": "Keymap name (KB, XG, R1, or R2)", "enum": [ "KB", "XG", "R1", "R2" ] }, { "name": "holdtime", "type": "integer", "required": false, "minimum": 0, "default": 0, "description": "Number of milliseconds to simulate button hold." } ], "returns": "string" } |
Input.ContextMenu
Shows the context menu
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Shows the context menu", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.Down
Navigate down in GUI
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Navigate down in GUI", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.ExecuteAction
Execute a specific action
Permissions:
- Navigate
Parameters:
- Input.Action action
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Execute a specific action", "transport": "Response", "permission": "Navigate", "params": [ { "name": "action", "$ref": "Input.Action", "required": true } ], "returns": "string" } |
Input.Home
Goes to home window in GUI
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Goes to home window in GUI", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.Info
Shows the information dialog
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Shows the information dialog", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.Left
Navigate left in GUI
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Navigate left in GUI", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.Right
Navigate right in GUI
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Navigate right in GUI", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.Select
Select current item in GUI
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Select current item in GUI", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.SendText
Send a generic (unicode) text
Permissions:
- Navigate
Parameters:
- string text (Unicode text)
- [boolean done = True] (Whether this is the whole input or not (closes an open input dialog if true).)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Send a generic (unicode) text", "transport": "Response", "permission": "Navigate", "params": [ { "name": "text", "type": "string", "required": true, "description": "Unicode text" }, { "name": "done", "type": "boolean", "default": true, "description": "Whether this is the whole input or not (closes an open input dialog if true)." } ], "returns": "string" } |
Input.ShowCodec
Show codec information of the playing item
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Show codec information of the playing item", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.ShowOSD
Show the on-screen display for the current player
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Show the on-screen display for the current player", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.ShowPlayerProcessInfo
Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
Input.Up
Navigate up in GUI
Permissions:
- Navigate
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Navigate up in GUI", "transport": "Response", "permission": "Navigate", "params": [], "returns": "string" } |
JSONRPC
JSONRPC.GetConfiguration
Get client-specific configurations
Permissions:
- ReadData
Returns:
Type: Configuration
JSON Schema Description |
---|
{ "type": "method", "description": "Get client-specific configurations", "transport": "Announcing", "permission": "ReadData", "params": [], "returns": { "$ref": "Configuration" } } |
JSONRPC.Introspect
Enumerates all actions and descriptions
Permissions:
- ReadData
Parameters:
- [boolean getdescriptions = True]
- [boolean getmetadata = False]
- [boolean filterbytransport = True]
- [object filter]
Returns:
Type: object
JSON Schema Description |
---|
{ "type": "method", "description": "Enumerates all actions and descriptions", "transport": "Response", "permission": "ReadData", "params": [ { "name": "getdescriptions", "type": "boolean", "default": true }, { "name": "getmetadata", "type": "boolean", "default": false }, { "name": "filterbytransport", "type": "boolean", "default": true }, { "name": "filter", "type": "object", "properties": { "id": { "type": "string", "required": true, "description": "Name of a namespace, method or type" }, "type": { "type": "string", "required": true, "enum": [ "method", "namespace", "type", "notification" ], "description": "Type of the given name" }, "getreferences": { "type": "boolean", "default": true, "description": "Whether or not to print the schema for referenced types" } } } ], "returns": "object" } |
JSONRPC.NotifyAll
Notify all other connected clients
Permissions:
- ReadData
Parameters:
- string sender
- string message
- [any data = None]
Returns:
Type: any
JSON Schema Description |
---|
{ "type": "method", "description": "Notify all other connected clients", "transport": "Response", "permission": "ReadData", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "message", "type": "string", "required": true }, { "name": "data", "type": "any", "default": null } ], "returns": "any" } |
JSONRPC.Permission
Retrieve the clients permissions
Permissions:
- ReadData
Returns:
Type: object
Properties:
- boolean ReadData
- boolean ControlPlayback
- boolean ControlNotify
- boolean ControlPower
- boolean UpdateData
- boolean RemoveData
- boolean Navigate
- boolean WriteFile
- boolean ControlSystem
- boolean ControlGUI
- boolean ManageAddon
- boolean ExecuteAddon
- boolean ControlPVR
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve the clients permissions", "transport": "Response", "permission": "ReadData", "params": [], "returns": { "type": "object", "properties": { "ReadData": { "type": "boolean", "required": true }, "ControlPlayback": { "type": "boolean", "required": true }, "ControlNotify": { "type": "boolean", "required": true }, "ControlPower": { "type": "boolean", "required": true }, "UpdateData": { "type": "boolean", "required": true }, "RemoveData": { "type": "boolean", "required": true }, "Navigate": { "type": "boolean", "required": true }, "WriteFile": { "type": "boolean", "required": true }, "ControlSystem": { "type": "boolean", "required": true }, "ControlGUI": { "type": "boolean", "required": true }, "ManageAddon": { "type": "boolean", "required": true }, "ExecuteAddon": { "type": "boolean", "required": true }, "ControlPVR": { "type": "boolean", "required": true } } } } |
JSONRPC.Ping
Ping responder
Permissions:
- ReadData
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Ping responder", "transport": "Response", "permission": "ReadData", "params": [], "returns": "string" } |
JSONRPC.SetConfiguration
Change the client-specific configuration
Permissions:
- ControlNotify
Parameters:
- [object notifications]
Returns:
Type: Configuration
JSON Schema Description |
---|
{ "type": "method", "description": "Change the client-specific configuration", "transport": "Announcing", "permission": "ControlNotify", "params": [ { "name": "notifications", "type": "object", "properties": { "Player": { "$ref": "Optional.Boolean" }, "Playlist": { "$ref": "Optional.Boolean" }, "GUI": { "$ref": "Optional.Boolean" }, "System": { "$ref": "Optional.Boolean" }, "AudioLibrary": { "$ref": "Optional.Boolean" }, "VideoLibrary": { "$ref": "Optional.Boolean" }, "Application": { "$ref": "Optional.Boolean" }, "Input": { "$ref": "Optional.Boolean" }, "Other": { "$ref": "Optional.Boolean" } } } ], "returns": { "$ref": "Configuration" } } |
JSONRPC.Version
Retrieve the JSON-RPC protocol version.
Permissions:
- ReadData
Returns:
Type: object
Properties:
- object version
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve the JSON-RPC protocol version.", "transport": "Response", "permission": "ReadData", "params": [], "returns": { "type": "object", "properties": { "version": { "type": "object", "required": true, "properties": { "major": { "type": "integer", "minimum": 0, "required": true, "description": "Bumped on backwards incompatible changes to the API definition" }, "minor": { "type": "integer", "minimum": 0, "required": true, "description": "Bumped on backwards compatible additions/changes to the API definition" }, "patch": { "type": "integer", "minimum": 0, "required": true, "description": "Bumped on any changes to the internal implementation but not to the API definition" } } } } } } |
PVR
PVR.AddTimer
Adds a timer to record the given show one times or a timer rule to record all showings of the given show
Permissions:
- ControlPVR
Parameters:
- Library.Id broadcastid (the broadcast id of the item to record)
- [boolean timerrule = False] (controls whether to create a timer rule or a onetime timer)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Adds a timer to record the given show one times or a timer rule to record all showings of the given show", "transport": "Response", "permission": "ControlPVR", "params": [ { "name": "broadcastid", "$ref": "Library.Id", "required": true, "description": "the broadcast id of the item to record" }, { "name": "timerrule", "type": "boolean", "default": false, "description": "controls whether to create a timer rule or a onetime timer" } ], "returns": "string" } |
PVR.DeleteTimer
Deletes a onetime timer or a timer rule
Permissions:
- ControlPVR
Parameters:
- Library.Id timerid (the id of the onetime timer or timer rule to delete)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Deletes a onetime timer or a timer rule", "transport": "Response", "permission": "ControlPVR", "params": [ { "name": "timerid", "$ref": "Library.Id", "required": true, "description": "the id of the onetime timer or timer rule to delete" } ], "returns": "string" } |
PVR.GetBroadcastDetails
Retrieves the details of a specific broadcast
Permissions:
- ReadData
Parameters:
- Library.Id broadcastid
- [PVR.Fields.Broadcast properties]
Returns:
Type: object
Properties:
- [PVR.Details.Broadcast broadcastdetails]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the details of a specific broadcast", "transport": "Response", "permission": "ReadData", "params": [ { "name": "broadcastid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "PVR.Fields.Broadcast" } ], "returns": { "type": "object", "properties": { "broadcastdetails": { "$ref": "PVR.Details.Broadcast" } } } } |
PVR.GetBroadcasts
Retrieves the program of a specific channel
Permissions:
- ReadData
Parameters:
- Library.Id channelid
- [PVR.Fields.Broadcast properties]
- [List.Limits limits]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayPVR.Details.Broadcast broadcasts
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the program of a specific channel", "transport": "Response", "permission": "ReadData", "params": [ { "name": "channelid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "PVR.Fields.Broadcast" }, { "name": "limits", "$ref": "List.Limits" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "broadcasts": { "type": "array", "required": true, "items": { "$ref": "PVR.Details.Broadcast" } } } } } |
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 |
---|
{ "type": "method", "description": "Retrieves the details of a specific channel", "transport": "Response", "permission": "ReadData", "params": [ { "name": "channelid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "PVR.Fields.Channel" } ], "returns": { "type": "object", "properties": { "channeldetails": { "$ref": "PVR.Details.Channel" } } } } |
PVR.GetChannelGroupDetails
Retrieves the details of a specific channel group
Permissions:
- ReadData
Parameters:
- PVR.ChannelGroup.Id channelgroupid
- [object channels]
Returns:
Type: object
Properties:
- [PVR.Details.ChannelGroup.Extended channelgroupdetails]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the details of a specific channel group", "transport": "Response", "permission": "ReadData", "params": [ { "name": "channelgroupid", "$ref": "PVR.ChannelGroup.Id", "required": true }, { "name": "channels", "type": "object", "properties": { "properties": { "$ref": "PVR.Fields.Channel" }, "limits": { "$ref": "List.Limits" } } } ], "returns": { "type": "object", "properties": { "channelgroupdetails": { "$ref": "PVR.Details.ChannelGroup.Extended" } } } } |
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
- arrayPVR.Details.ChannelGroup channelgroups
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the channel groups for the specified type", "transport": "Response", "permission": "ReadData", "params": [ { "name": "channeltype", "$ref": "PVR.Channel.Type", "required": true }, { "name": "limits", "$ref": "List.Limits" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "channelgroups": { "type": "array", "required": true, "items": { "$ref": "PVR.Details.ChannelGroup" } } } } } |
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
- arrayPVR.Details.Channel channels
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the channel list", "transport": "Response", "permission": "ReadData", "params": [ { "name": "channelgroupid", "$ref": "PVR.ChannelGroup.Id", "required": true }, { "name": "properties", "$ref": "PVR.Fields.Channel" }, { "name": "limits", "$ref": "List.Limits" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "channels": { "type": "array", "required": true, "items": { "$ref": "PVR.Details.Channel" } } } } } |
PVR.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- array properties
Returns:
Type: PVR.Property.Value
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the values of the given properties", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "PVR.Property.Name" } } ], "returns": { "$ref": "PVR.Property.Value", "required": true } } |
PVR.GetRecordingDetails
Retrieves the details of a specific recording
Permissions:
- ReadData
Parameters:
- Library.Id recordingid
- [PVR.Fields.Recording properties]
Returns:
Type: object
Properties:
- [PVR.Details.Recording recordingdetails]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the details of a specific recording", "transport": "Response", "permission": "ReadData", "params": [ { "name": "recordingid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "PVR.Fields.Recording" } ], "returns": { "type": "object", "properties": { "recordingdetails": { "$ref": "PVR.Details.Recording" } } } } |
PVR.GetRecordings
Retrieves the recordings
Permissions:
- ReadData
Parameters:
- [PVR.Fields.Recording properties]
- [List.Limits limits]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayPVR.Details.Recording recordings
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the recordings", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "PVR.Fields.Recording" }, { "name": "limits", "$ref": "List.Limits" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "recordings": { "type": "array", "required": true, "items": { "$ref": "PVR.Details.Recording" } } } } } |
PVR.GetTimerDetails
Retrieves the details of a specific timer
Permissions:
- ReadData
Parameters:
- Library.Id timerid
- [PVR.Fields.Timer properties]
Returns:
Type: object
Properties:
- [PVR.Details.Timer timerdetails]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the details of a specific timer", "transport": "Response", "permission": "ReadData", "params": [ { "name": "timerid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "PVR.Fields.Timer" } ], "returns": { "type": "object", "properties": { "timerdetails": { "$ref": "PVR.Details.Timer" } } } } |
PVR.GetTimers
Retrieves the timers
Permissions:
- ReadData
Parameters:
- [PVR.Fields.Timer properties]
- [List.Limits limits]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayPVR.Details.Timer timers
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the timers", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "PVR.Fields.Timer" }, { "name": "limits", "$ref": "List.Limits" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "timers": { "type": "array", "required": true, "items": { "$ref": "PVR.Details.Timer" } } } } } |
PVR.Record
Toggle recording of a channel
Permissions:
- ControlPVR
Parameters:
- [Global.Toggle record = toggle]
- [mixed: string|Library.Id channel = current]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Toggle recording of a channel", "transport": "Response", "permission": "ControlPVR", "params": [ { "name": "record", "$ref": "Global.Toggle", "default": "toggle" }, { "name": "channel", "type": [ { "type": "string", "enum": [ "current" ], "required": true }, { "$ref": "Library.Id", "required": true } ], "default": "current" } ], "returns": "string" } |
PVR.Scan
Starts a channel scan
Permissions:
- ControlPVR
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Starts a channel scan", "transport": "Response", "permission": "ControlPVR", "params": [], "returns": "string" } |
PVR.ToggleTimer
Creates or deletes a onetime timer or timer rule for a given show. If it exists, it will be deleted. If it does not exist, it will be created
Permissions:
- ControlPVR
Parameters:
- Library.Id broadcastid (the broadcast id of the item to toggle a onetime timer or time rule for)
- [boolean timerrule = False] (controls whether to create / delete a timer rule or a onetime timer)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Creates or deletes a onetime timer or timer rule for a given show. If it exists, it will be deleted. If it does not exist, it will be created", "transport": "Response", "permission": "ControlPVR", "params": [ { "name": "broadcastid", "$ref": "Library.Id", "required": true, "description": "the broadcast id of the item to toggle a onetime timer or time rule for" }, { "name": "timerrule", "type": "boolean", "default": false, "description": "controls whether to create / delete a timer rule or a onetime timer" } ], "returns": "string" } |
Player
Player.GetActivePlayers
Returns all active players
Permissions:
- ReadData
Returns:
Type: array
JSON Schema Description |
---|
{ "type": "method", "description": "Returns all active players", "transport": "Response", "permission": "ReadData", "params": [], "returns": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "playerid": { "$ref": "Player.Id", "required": true }, "type": { "$ref": "Player.Type", "required": true }, "playertype": { "type": "string", "enum": [ "internal", "external", "remote" ], "required": true } } } } } |
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 |
---|
{ "type": "method", "description": "Retrieves the currently played item", "transport": "Response", "permission": "ReadData", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "properties", "$ref": "List.Fields.All" } ], "returns": { "type": "object", "properties": { "item": { "$ref": "List.Item.All", "required": true } } } } |
Player.GetPlayers
Get a list of available players
Permissions:
- ReadData
Parameters:
- [string media = all]
Returns:
Type: array
JSON Schema Description |
---|
{ "type": "method", "description": "Get a list of available players", "transport": "Response", "permission": "ReadData", "params": [ { "name": "media", "type": "string", "enum": [ "all", "video", "audio" ], "default": "all" } ], "returns": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "name": { "$ref": "Global.String.NotEmpty", "required": true }, "type": { "type": "string", "enum": [ "internal", "external", "remote" ], "required": true }, "playsvideo": { "type": "boolean", "required": true }, "playsaudio": { "type": "boolean", "required": true } } } } } |
Player.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- Player.Id playerid
- array properties
Returns:
Type: Player.Property.Value
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the values of the given properties", "transport": "Response", "permission": "ReadData", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Player.Property.Name" } } ], "returns": { "$ref": "Player.Property.Value", "required": true } } |
Player.GetViewMode
Get view mode of video player
Permissions:
- ReadData
Returns:
Type: object
Properties:
- Player.ViewMode viewmode
- number zoom
- number pixelratio
- number verticalshift
- boolean nonlinearstretch
JSON Schema Description |
---|
{ "type": "method", "description": "Get view mode of video player", "transport": "Response", "permission": "ReadData", "params": [], "returns": { "type": "object", "properties": { "viewmode": { "$ref": "Player.ViewMode", "required": true }, "zoom": { "type": "number", "required": true }, "pixelratio": { "type": "number", "required": true }, "verticalshift": { "type": "number", "required": true }, "nonlinearstretch": { "type": "boolean", "required": true } } } } |
Player.GoTo
Go to previous/next/specific item in the playlist
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed: string|Playlist.Position to
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Go to previous/next/specific item in the playlist", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "to", "type": [ { "type": "string", "enum": [ "previous", "next" ], "required": true }, { "$ref": "Playlist.Position", "description": "position in playlist", "required": true } ], "required": true } ], "returns": "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:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "If picture is zoomed move viewport left/right/up/down otherwise skip previous/next", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "direction", "type": "string", "enum": [ "left", "right", "up", "down" ], "required": true } ], "returns": "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: object|Playlist.Item|object|object|object|object item]
- [object options]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "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.", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "item", "type": [ { "type": "object", "required": true, "additionalProperties": false, "properties": { "playlistid": { "$ref": "Playlist.Id", "required": true }, "position": { "$ref": "Playlist.Position", "default": 0 } } }, { "$ref": "Playlist.Item", "required": true }, { "type": "object", "required": true, "additionalProperties": false, "properties": { "path": { "type": "string", "required": true }, "random": { "type": "boolean", "default": true, "description": "Deprecated, use the shuffled property of the options parameter instead" }, "recursive": { "type": "boolean", "default": true } } }, { "type": "object", "required": true, "additionalProperties": false, "properties": { "partymode": { "type": [ { "type": "string", "required": true, "enum": [ "music", "video" ] }, { "type": "string", "required": true, "minLength": 5, "description": "Path to a smartplaylist (*.xsp) file" } ] } } }, { "type": "object", "required": true, "additionalProperties": false, "properties": { "channelid": { "$ref": "Library.Id", "required": true } } }, { "type": "object", "required": true, "additionalProperties": false, "properties": { "recordingid": { "$ref": "Library.Id", "required": true } } } ] }, { "name": "options", "type": "object", "additionalProperties": false, "properties": { "playername": { "type": [ "null", { "type": "string", "enum": [ "default" ], "required": true }, { "type": "string", "minLength": 1, "required": true, "description": "name of player" } ], "default": null }, "shuffled": { "$ref": "Optional.Boolean" }, "repeat": { "type": [ "null", { "$ref": "Player.Repeat", "required": true } ], "default": null }, "resume": { "type": [ { "type": "boolean", "required": true, "description": "Whether to resume from the resume point or not" }, { "$ref": "Player.Position.Percentage", "required": true, "description": "Percentage value to start from" }, { "$ref": "Player.Position.Time", "required": true, "description": "Time to start from" } ], "default": false } } } ], "returns": "string" } |
Player.PlayPause
Pauses or unpause playback and returns the new state
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- [Global.Toggle play = toggle]
Returns:
Type: Player.Speed
JSON Schema Description |
---|
{ "type": "method", "description": "Pauses or unpause playback and returns the new state", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "play", "$ref": "Global.Toggle", "default": "toggle" } ], "returns": { "$ref": "Player.Speed" } } |
Player.Rotate
Rotates current picture
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- [string value = clockwise]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Rotates current picture", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "value", "type": "string", "enum": [ "clockwise", "counterclockwise" ], "default": "clockwise" } ], "returns": "string" } |
Player.Seek
Seek through the playing item
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed: object|object|object|object value
Returns:
Type: object
Properties:
- [Player.Position.Percentage percentage]
- [Global.Time time]
- [Global.Time totaltime]
JSON Schema Description |
---|
{ "type": "method", "description": "Seek through the playing item", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "value", "required": true, "type": [ { "type": "object", "properties": { "percentage": { "$ref": "Player.Position.Percentage", "required": true, "description": "Percentage value to seek to" } }, "additionalProperties": false, "required": true }, { "type": "object", "properties": { "time": { "$ref": "Player.Position.Time", "required": true, "description": "Time to seek to" } }, "additionalProperties": false, "required": true }, { "type": "object", "properties": { "step": { "type": "string", "enum": [ "smallforward", "smallbackward", "bigforward", "bigbackward" ], "required": true, "description": "Seek by predefined jumps" } }, "additionalProperties": false, "required": true }, { "type": "object", "properties": { "seconds": { "type": "integer", "required": true, "description": "Seek by the given number of seconds" } }, "additionalProperties": false, "required": true } ] } ], "returns": { "type": "object", "properties": { "percentage": { "$ref": "Player.Position.Percentage" }, "time": { "$ref": "Global.Time" }, "totaltime": { "$ref": "Global.Time" } } } } |
Player.SetAudioStream
Set the audio stream played by the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed: string|integer stream
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Set the audio stream played by the player", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "stream", "required": true, "type": [ { "type": "string", "enum": [ "previous", "next" ] }, { "type": "integer", "minimum": 0, "description": "Index of the audio stream to play" } ] } ], "returns": "string" } |
Player.SetPartymode
Turn partymode on or off
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- Global.Toggle partymode
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Turn partymode on or off", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "partymode", "$ref": "Global.Toggle", "required": true } ], "returns": "string" } |
Player.SetRepeat
Set the repeat mode of the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed: Player.Repeat|string repeat
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Set the repeat mode of the player", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "repeat", "type": [ { "$ref": "Player.Repeat", "required": true }, { "type": "string", "enum": [ "cycle" ], "required": true } ], "required": true } ], "returns": "string" } |
Player.SetShuffle
Shuffle/Unshuffle items in the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- Global.Toggle shuffle
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Shuffle/Unshuffle items in the player", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "shuffle", "$ref": "Global.Toggle", "required": true } ], "returns": "string" } |
Player.SetSpeed
Set the speed of the current playback
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed: integer|Global.IncrementDecrement speed
Returns:
Type: Player.Speed
JSON Schema Description |
---|
{ "type": "method", "description": "Set the speed of the current playback", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "speed", "type": [ { "type": "integer", "required": true, "enum": [ -32, -16, -8, -4, -2, -1, 0, 1, 2, 4, 8, 16, 32 ] }, { "$ref": "Global.IncrementDecrement", "required": true } ], "required": true } ], "returns": { "$ref": "Player.Speed" } } |
Player.SetSubtitle
Set the subtitle displayed by the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed: string|integer subtitle
- [boolean enable = False] (Whether to enable subtitles to be displayed after setting the new subtitle)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Set the subtitle displayed by the player", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "subtitle", "required": true, "type": [ { "type": "string", "enum": [ "previous", "next", "off", "on" ] }, { "type": "integer", "minimum": 0, "description": "Index of the subtitle to display" } ] }, { "name": "enable", "type": "boolean", "default": false, "description": "Whether to enable subtitles to be displayed after setting the new subtitle" } ], "returns": "string" } |
Player.SetVideoStream
Set the video stream played by the player
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed: string|integer stream
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Set the video stream played by the player", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "stream", "required": true, "type": [ { "type": "string", "enum": [ "previous", "next" ] }, { "type": "integer", "minimum": 0, "description": "Index of the video stream to play" } ] } ], "returns": "string" } |
Player.SetViewMode
Set view mode of video player
Permissions:
- ControlPlayback
Parameters:
- mixed: Player.CustomViewMode|Player.ViewMode viewmode
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Set view mode of video player", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "viewmode", "type": [ { "$ref": "Player.CustomViewMode", "description": "Custom view mode", "required": true }, { "name": "value", "$ref": "Player.ViewMode", "required": true } ], "required": true } ], "returns": "string" } |
Player.Stop
Stops playback
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Stops playback", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true } ], "returns": "string" } |
Player.Zoom
Zoom current picture
Permissions:
- ControlPlayback
Parameters:
- Player.Id playerid
- mixed: string|integer zoom
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Zoom current picture", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playerid", "$ref": "Player.Id", "required": true }, { "name": "zoom", "type": [ { "type": "string", "enum": [ "in", "out" ], "required": true }, { "type": "integer", "minimum": 1, "maximum": 10, "description": "zoom level", "required": true } ], "required": true } ], "returns": "string" } |
Playlist
Playlist.Add
Add item(s) to playlist
Permissions:
- ControlPlayback
Parameters:
- Playlist.Id playlistid
- mixed: Playlist.Item|array item
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Add item(s) to playlist", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playlistid", "$ref": "Playlist.Id", "required": true }, { "name": "item", "type": [ { "$ref": "Playlist.Item", "required": true }, { "type": "array", "items": { "$ref": "Playlist.Item" }, "required": true } ], "required": true } ], "returns": "string" } |
Playlist.Clear
Clear playlist
Permissions:
- ControlPlayback
Parameters:
- Playlist.Id playlistid
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Clear playlist", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playlistid", "$ref": "Playlist.Id", "required": true } ], "returns": "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
- arrayList.Item.All items
JSON Schema Description |
---|
{ "type": "method", "description": "Get all items from playlist", "transport": "Response", "permission": "ReadData", "params": [ { "name": "playlistid", "$ref": "Playlist.Id", "required": true }, { "name": "properties", "$ref": "List.Fields.All" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "items": { "type": "array", "items": { "$ref": "List.Item.All" }, "required": true } } } } |
Playlist.GetPlaylists
Returns all existing playlists
Permissions:
- ReadData
Returns:
Type: array
JSON Schema Description |
---|
{ "type": "method", "description": "Returns all existing playlists", "transport": "Response", "permission": "ReadData", "params": [], "returns": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "playlistid": { "$ref": "Playlist.Id", "required": true }, "type": { "$ref": "Playlist.Type", "required": true } } } } } |
Playlist.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- Playlist.Id playlistid
- array properties
Returns:
Type: Playlist.Property.Value
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the values of the given properties", "transport": "Response", "permission": "ReadData", "params": [ { "name": "playlistid", "$ref": "Playlist.Id", "required": true }, { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Playlist.Property.Name" } } ], "returns": { "$ref": "Playlist.Property.Value", "required": true } } |
Playlist.Insert
Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).
Permissions:
- ControlPlayback
Parameters:
- Playlist.Id playlistid
- Playlist.Position position
- mixed: Playlist.Item|array item
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playlistid", "$ref": "Playlist.Id", "required": true }, { "name": "position", "$ref": "Playlist.Position", "required": true }, { "name": "item", "type": [ { "$ref": "Playlist.Item", "required": true }, { "type": "array", "items": { "$ref": "Playlist.Item" }, "required": true } ], "required": true } ], "returns": "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:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Remove item from playlist. Does not work for picture playlists (aka slideshows).", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playlistid", "$ref": "Playlist.Id", "required": true }, { "name": "position", "$ref": "Playlist.Position", "required": true } ], "returns": "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:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Swap items in the playlist. Does not work for picture playlists (aka slideshows).", "transport": "Response", "permission": "ControlPlayback", "params": [ { "name": "playlistid", "$ref": "Playlist.Id", "required": true }, { "name": "position1", "$ref": "Playlist.Position", "required": true }, { "name": "position2", "$ref": "Playlist.Position", "required": true } ], "returns": "string" } |
Profiles
Profiles.GetCurrentProfile
Retrieve the current profile
Permissions:
- ReadData
Parameters:
- [Profiles.Fields.Profile properties]
Returns:
Type: Profiles.Details.Profile
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve the current profile", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Profiles.Fields.Profile" } ], "returns": { "$ref": "Profiles.Details.Profile", "required": true } } |
Profiles.GetProfiles
Retrieve all profiles
Permissions:
- ReadData
Parameters:
- [Profiles.Fields.Profile properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayProfiles.Details.Profile profiles
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all profiles", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Profiles.Fields.Profile" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "profiles": { "type": "array", "required": true, "items": { "$ref": "Profiles.Details.Profile" } } } } } |
Profiles.LoadProfile
Load the specified profile
Permissions:
- Navigate
Parameters:
- string profile (Profile name)
- [boolean prompt] (Prompt for password)
- [Profiles.Password password]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Load the specified profile", "transport": "Response", "permission": "Navigate", "params": [ { "name": "profile", "type": "string", "required": true, "description": "Profile name" }, { "name": "prompt", "type": "boolean", "description": "Prompt for password" }, { "name": "password", "$ref": "Profiles.Password" } ], "returns": "string" } |
Settings
Settings.GetCategories
Retrieves all setting categories
Permissions:
- ReadData
Parameters:
- [Setting.Level level = standard]
- [string section = ""]
- [string properties]
Returns:
Type: object
Properties:
- [arraySetting.Details.Category categories]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves all setting categories", "transport": "Response", "permission": "ReadData", "params": [ { "name": "level", "$ref": "Setting.Level", "default": "standard" }, { "name": "section", "type": "string", "default": "" }, { "name": "properties", "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "settings" ] } } ], "returns": { "type": "object", "properties": { "categories": { "type": "array", "items": { "$ref": "Setting.Details.Category" } } } } } |
Settings.GetSections
Retrieves all setting sections
Permissions:
- ReadData
Parameters:
- [Setting.Level level = standard]
- [Setting.Level properties]
Returns:
Type: object
Properties:
- [arraySetting.Details.Section sections]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves all setting sections", "transport": "Response", "permission": "ReadData", "params": [ { "name": "level", "$ref": "Setting.Level", "default": "standard" }, { "name": "properties", "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "categories" ] } } ], "returns": { "type": "object", "properties": { "sections": { "type": "array", "items": { "$ref": "Setting.Details.Section" } } } } } |
Settings.GetSettingValue
Retrieves the value of a setting
Permissions:
- ReadData
Parameters:
- string setting
Returns:
Type: object
Properties:
- Setting.Value.Extended value
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the value of a setting", "transport": "Response", "permission": "ReadData", "params": [ { "name": "setting", "type": "string", "required": true, "minLength": 1 } ], "returns": { "type": "object", "properties": { "value": { "$ref": "Setting.Value.Extended", "required": true } } } } |
Settings.GetSettings
Retrieves all settings
Permissions:
- ReadData
Parameters:
- [Setting.Level level = standard]
- [mixed: object filter = None]
Returns:
Type: object
Properties:
- [arraySetting.Details.Setting settings]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves all settings", "transport": "Response", "permission": "ReadData", "params": [ { "name": "level", "$ref": "Setting.Level", "default": "standard" }, { "name": "filter", "type": [ { "type": "object", "properties": { "section": { "type": "string", "required": true, "minLength": 1 }, "category": { "type": "string", "required": true, "minLength": 1 } }, "additionalProperties": false, "required": true } ], "default": null } ], "returns": { "type": "object", "properties": { "settings": { "type": "array", "items": { "$ref": "Setting.Details.Setting" } } } } } |
Settings.ResetSettingValue
Resets the value of a setting
Permissions:
- WriteSetting
Parameters:
- string setting
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Resets the value of a setting", "transport": "Response", "permission": "WriteSetting", "params": [ { "name": "setting", "type": "string", "required": true, "minLength": 1 } ], "returns": "string" } |
Settings.SetSettingValue
Changes the value of a setting
Permissions:
- WriteSetting
Parameters:
- string setting
- Setting.Value.Extended value
Returns:
Type: boolean
JSON Schema Description |
---|
{ "type": "method", "description": "Changes the value of a setting", "transport": "Response", "permission": "WriteSetting", "params": [ { "name": "setting", "type": "string", "required": true, "minLength": 1 }, { "name": "value", "$ref": "Setting.Value.Extended", "required": true } ], "returns": "boolean" } |
System
System.EjectOpticalDrive
Ejects or closes the optical disc drive (if available)
Permissions:
- ControlSystem
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Ejects or closes the optical disc drive (if available)", "transport": "Response", "permission": "ControlSystem", "params": [], "returns": "string" } |
System.GetProperties
Retrieves the values of the given properties
Permissions:
- ReadData
Parameters:
- array properties
Returns:
Type: System.Property.Value
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieves the values of the given properties", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "System.Property.Name" } } ], "returns": { "$ref": "System.Property.Value", "required": true } } |
System.Hibernate
Puts the system running Kodi into hibernate mode
Permissions:
- ControlPower
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Puts the system running Kodi into hibernate mode", "transport": "Response", "permission": "ControlPower", "params": [], "returns": "string" } |
System.Reboot
Reboots the system running Kodi
Permissions:
- ControlPower
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Reboots the system running Kodi", "transport": "Response", "permission": "ControlPower", "params": [], "returns": "string" } |
System.Shutdown
Shuts the system running Kodi down
Permissions:
- ControlPower
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Shuts the system running Kodi down", "transport": "Response", "permission": "ControlPower", "params": [], "returns": "string" } |
System.Suspend
Suspends the system running Kodi
Permissions:
- ControlPower
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Suspends the system running Kodi", "transport": "Response", "permission": "ControlPower", "params": [], "returns": "string" } |
Textures
Textures.GetTextures
Retrieve all textures
Permissions:
- ReadData
Parameters:
- [Textures.Fields.Texture properties]
- [List.Filter.Textures filter]
Returns:
Type: object
Properties:
- arrayTextures.Details.Texture textures
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all textures", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Textures.Fields.Texture" }, { "name": "filter", "$ref": "List.Filter.Textures" } ], "returns": { "type": "object", "properties": { "textures": { "type": "array", "required": true, "items": { "$ref": "Textures.Details.Texture" } } } } } |
Textures.RemoveTexture
Remove the specified texture
Permissions:
- RemoveData
Parameters:
- Library.Id textureid (Texture database identifier)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Remove the specified texture", "transport": "Response", "permission": "RemoveData", "params": [ { "name": "textureid", "$ref": "Library.Id", "required": true, "description": "Texture database identifier" } ], "returns": "string" } |
VideoLibrary
VideoLibrary.Clean
Cleans the video library for non-existent items
Permissions:
- RemoveData
Parameters:
- [boolean showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)
- [string content = video] (Content type to clean for)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Cleans the video library for non-existent items", "transport": "Response", "permission": "RemoveData", "params": [ { "name": "showdialogs", "type": "boolean", "default": true, "description": "Whether or not to show the progress bar or any other GUI dialog" }, { "name": "content", "type": "string", "default": "video", "enum": [ "video", "movies", "tvshows", "musicvideos" ], "description": "Content type to clean for" } ], "returns": "string" } |
VideoLibrary.Export
Exports all items from the video library
Permissions:
- WriteFile
Parameters:
- [mixed: object|object options]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Exports all items from the video library", "transport": "Response", "permission": "WriteFile", "params": [ { "name": "options", "type": [ { "type": "object", "required": true, "additionalProperties": false, "properties": { "path": { "type": "string", "required": true, "minLength": 1, "description": "Path to the directory to where the data should be exported" } } }, { "type": "object", "required": true, "additionalProperties": false, "properties": { "overwrite": { "type": "boolean", "default": false, "description": "Whether to overwrite existing exported files" }, "images": { "type": "boolean", "default": false, "description": "Whether to export thumbnails and fanart images" }, "actorthumbs": { "type": "boolean", "default": false, "description": "Whether to export actor thumbnails" } } } ] } ], "returns": "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 |
---|
{ "type": "method", "description": "Retrieve details about a specific tv show episode", "transport": "Response", "permission": "ReadData", "params": [ { "name": "episodeid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Video.Fields.Episode" } ], "returns": { "type": "object", "properties": { "episodedetails": { "$ref": "Video.Details.Episode" } } } } |
VideoLibrary.GetEpisodes
Retrieve all tv show episodes
Permissions:
- ReadData
Parameters:
- [Library.Id tvshowid]
- [integer season = -1]
- [Video.Fields.Episode properties]
- [List.Limits limits]
- [List.Sort sort]
- [mixed: object|object|object|object|object|List.Filter.Episodes filter]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayVideo.Details.Episode episodes]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all tv show episodes", "transport": "Response", "permission": "ReadData", "params": [ { "name": "tvshowid", "$ref": "Library.Id" }, { "name": "season", "type": "integer", "minimum": 0, "default": -1 }, { "name": "properties", "$ref": "Video.Fields.Episode" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" }, { "name": "filter", "type": [ { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true, "description": "Requires tvshowid to be set" } }, "additionalProperties": false }, { "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true, "description": "Requires tvshowid to be set" } }, "additionalProperties": false }, { "type": "object", "properties": { "year": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "actor": { "type": "string", "minLength": 1, "required": true, "description": "Requires tvshowid to be set" } }, "additionalProperties": false }, { "type": "object", "properties": { "director": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "$ref": "List.Filter.Episodes" } ] } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "episodes": { "type": "array", "items": { "$ref": "Video.Details.Episode" } } } } } |
VideoLibrary.GetGenres
Retrieve all genres
Permissions:
- ReadData
Parameters:
- string type
- [Library.Fields.Genre properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayLibrary.Details.Genre genres
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all genres", "transport": "Response", "permission": "ReadData", "params": [ { "name": "type", "type": "string", "required": true, "enum": [ "movie", "tvshow", "musicvideo" ] }, { "name": "properties", "$ref": "Library.Fields.Genre" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "genres": { "type": "array", "required": true, "items": { "$ref": "Library.Details.Genre" } } } } } |
VideoLibrary.GetInProgressTVShows
Retrieve all in progress tvshows
Permissions:
- ReadData
Parameters:
- [Video.Fields.TVShow properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayVideo.Details.TVShow tvshows]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all in progress tvshows", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Video.Fields.TVShow" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "tvshows": { "type": "array", "items": { "$ref": "Video.Details.TVShow" } } } } } |
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 |
---|
{ "type": "method", "description": "Retrieve details about a specific movie", "transport": "Response", "permission": "ReadData", "params": [ { "name": "movieid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Video.Fields.Movie" } ], "returns": { "type": "object", "properties": { "moviedetails": { "$ref": "Video.Details.Movie" } } } } |
VideoLibrary.GetMovieSetDetails
Retrieve details about a specific movie set
Permissions:
- ReadData
Parameters:
- Library.Id setid
- [Video.Fields.MovieSet properties]
- [object movies]
Returns:
Type: object
Properties:
- [Video.Details.MovieSet.Extended setdetails]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve details about a specific movie set", "transport": "Response", "permission": "ReadData", "params": [ { "name": "setid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Video.Fields.MovieSet" }, { "name": "movies", "type": "object", "properties": { "properties": { "$ref": "Video.Fields.Movie" }, "limits": { "$ref": "List.Limits" }, "sort": { "$ref": "List.Sort" } } } ], "returns": { "type": "object", "properties": { "setdetails": { "$ref": "Video.Details.MovieSet.Extended" } } } } |
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
- [arrayVideo.Details.MovieSet sets]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all movie sets", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Video.Fields.MovieSet" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "sets": { "type": "array", "items": { "$ref": "Video.Details.MovieSet" } } } } } |
VideoLibrary.GetMovies
Retrieve all movies
Permissions:
- ReadData
Parameters:
- [Video.Fields.Movie properties]
- [List.Limits limits]
- [List.Sort sort]
- [mixed: object|object|object|object|object|object|object|object|object|object|List.Filter.Movies filter]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayVideo.Details.Movie movies]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all movies", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Video.Fields.Movie" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" }, { "name": "filter", "type": [ { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "year": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "actor": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "director": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "studio": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "country": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "setid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "set": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "tag": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "$ref": "List.Filter.Movies" } ] } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "movies": { "type": "array", "items": { "$ref": "Video.Details.Movie" } } } } } |
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 |
---|
{ "type": "method", "description": "Retrieve details about a specific music video", "transport": "Response", "permission": "ReadData", "params": [ { "name": "musicvideoid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Video.Fields.MusicVideo" } ], "returns": { "type": "object", "properties": { "musicvideodetails": { "$ref": "Video.Details.MusicVideo" } } } } |
VideoLibrary.GetMusicVideos
Retrieve all music videos
Permissions:
- ReadData
Parameters:
- [Video.Fields.MusicVideo properties]
- [List.Limits limits]
- [List.Sort sort]
- [mixed: object|object|object|object|object|object|object|List.Filter.MusicVideos filter]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayVideo.Details.MusicVideo musicvideos]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all music videos", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Video.Fields.MusicVideo" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" }, { "name": "filter", "type": [ { "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "year": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "director": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "studio": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "tag": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "$ref": "List.Filter.MusicVideos" } ] } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "musicvideos": { "type": "array", "items": { "$ref": "Video.Details.MusicVideo" } } } } } |
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:
- List.LimitsReturned limits
- [arrayVideo.Details.Episode episodes]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all recently added tv episodes", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Video.Fields.Episode" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "episodes": { "type": "array", "items": { "$ref": "Video.Details.Episode" } } } } } |
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
- [arrayVideo.Details.Movie movies]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all recently added movies", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Video.Fields.Movie" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "movies": { "type": "array", "items": { "$ref": "Video.Details.Movie" } } } } } |
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
- [arrayVideo.Details.MusicVideo musicvideos]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all recently added music videos", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Video.Fields.MusicVideo" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "musicvideos": { "type": "array", "items": { "$ref": "Video.Details.MusicVideo" } } } } } |
VideoLibrary.GetSeasonDetails
Retrieve details about a specific tv show season
Permissions:
- ReadData
Parameters:
- Library.Id seasonid
- [Video.Fields.Season properties]
Returns:
Type: object
Properties:
- [Video.Details.Season seasondetails]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve details about a specific tv show season", "transport": "Response", "permission": "ReadData", "params": [ { "name": "seasonid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Video.Fields.Season" } ], "returns": { "type": "object", "properties": { "seasondetails": { "$ref": "Video.Details.Season" } } } } |
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
- [arrayVideo.Details.Season seasons]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all tv seasons", "transport": "Response", "permission": "ReadData", "params": [ { "name": "tvshowid", "$ref": "Library.Id" }, { "name": "properties", "$ref": "Video.Fields.Season" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "seasons": { "type": "array", "items": { "$ref": "Video.Details.Season" } } } } } |
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 |
---|
{ "type": "method", "description": "Retrieve details about a specific tv show", "transport": "Response", "permission": "ReadData", "params": [ { "name": "tvshowid", "$ref": "Library.Id", "required": true }, { "name": "properties", "$ref": "Video.Fields.TVShow" } ], "returns": { "type": "object", "properties": { "tvshowdetails": { "$ref": "Video.Details.TVShow" } } } } |
VideoLibrary.GetTVShows
Retrieve all tv shows
Permissions:
- ReadData
Parameters:
- [Video.Fields.TVShow properties]
- [List.Limits limits]
- [List.Sort sort]
- [mixed: object|object|object|object|object|object|List.Filter.TVShows filter]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- [arrayVideo.Details.TVShow tvshows]
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all tv shows", "transport": "Response", "permission": "ReadData", "params": [ { "name": "properties", "$ref": "Video.Fields.TVShow" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" }, { "name": "filter", "type": [ { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "year": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "actor": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "studio": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "tag": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false }, { "$ref": "List.Filter.TVShows" } ] } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "tvshows": { "type": "array", "items": { "$ref": "Video.Details.TVShow" } } } } } |
VideoLibrary.GetTags
Retrieve all tags
Permissions:
- ReadData
Parameters:
- string type
- [Library.Fields.Tag properties]
- [List.Limits limits]
- [List.Sort sort]
Returns:
Type: object
Properties:
- List.LimitsReturned limits
- arrayLibrary.Details.Tag tags
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve all tags", "transport": "Response", "permission": "ReadData", "params": [ { "name": "type", "type": "string", "required": true, "enum": [ "movie", "tvshow", "musicvideo" ] }, { "name": "properties", "$ref": "Library.Fields.Tag" }, { "name": "limits", "$ref": "List.Limits" }, { "name": "sort", "$ref": "List.Sort" } ], "returns": { "type": "object", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "tags": { "type": "array", "required": true, "items": { "$ref": "Library.Details.Tag" } } } } } |
VideoLibrary.RefreshEpisode
Refresh the given episode in the library
Permissions:
- UpdateData
Parameters:
- Library.Id episodeid
- boolean ignorenfo = False (Whether or not to ignore a local NFO if present.)
- string title = "" (Title to use for searching (instead of determining it from the item's filename/path).)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Refresh the given episode in the library", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "episodeid", "$ref": "Library.Id", "required": true }, { "name": "ignorenfo", "type": "boolean", "required": false, "default": false, "description": "Whether or not to ignore a local NFO if present." }, { "name": "title", "type": "string", "required": "false", "default": "", "description": "Title to use for searching (instead of determining it from the item's filename/path)." } ], "returns": "string" } |
VideoLibrary.RefreshMovie
Refresh the given movie in the library
Permissions:
- UpdateData
Parameters:
- Library.Id movieid
- boolean ignorenfo = False (Whether or not to ignore a local NFO if present.)
- string title = "" (Title to use for searching (instead of determining it from the item's filename/path).)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Refresh the given movie in the library", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "movieid", "$ref": "Library.Id", "required": true }, { "name": "ignorenfo", "type": "boolean", "required": false, "default": false, "description": "Whether or not to ignore a local NFO if present." }, { "name": "title", "type": "string", "required": "false", "default": "", "description": "Title to use for searching (instead of determining it from the item's filename/path)." } ], "returns": "string" } |
VideoLibrary.RefreshMusicVideo
Refresh the given music video in the library
Permissions:
- UpdateData
Parameters:
- Library.Id musicvideoid
- boolean ignorenfo = False (Whether or not to ignore a local NFO if present.)
- string title = "" (Title to use for searching (instead of determining it from the item's filename/path).)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Refresh the given music video in the library", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "musicvideoid", "$ref": "Library.Id", "required": true }, { "name": "ignorenfo", "type": "boolean", "required": false, "default": false, "description": "Whether or not to ignore a local NFO if present." }, { "name": "title", "type": "string", "required": "false", "default": "", "description": "Title to use for searching (instead of determining it from the item's filename/path)." } ], "returns": "string" } |
VideoLibrary.RefreshTVShow
Refresh the given tv show in the library
Permissions:
- UpdateData
Parameters:
- Library.Id tvshowid
- boolean ignorenfo = False (Whether or not to ignore a local NFO if present.)
- boolean refreshepisodes = False (Whether or not to refresh all episodes belonging to the TV show.)
- string title = "" (Title to use for searching (instead of determining it from the item's filename/path).)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Refresh the given tv show in the library", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "tvshowid", "$ref": "Library.Id", "required": true }, { "name": "ignorenfo", "type": "boolean", "required": false, "default": false, "description": "Whether or not to ignore a local NFO if present." }, { "name": "refreshepisodes", "type": "boolean", "required": false, "default": false, "description": "Whether or not to refresh all episodes belonging to the TV show." }, { "name": "title", "type": "string", "required": "false", "default": "", "description": "Title to use for searching (instead of determining it from the item's filename/path)." } ], "returns": "string" } |
VideoLibrary.RemoveEpisode
Removes the given episode from the library
Permissions:
- RemoveData
Parameters:
- Library.Id episodeid
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Removes the given episode from the library", "transport": "Response", "permission": "RemoveData", "params": [ { "name": "episodeid", "$ref": "Library.Id", "required": true } ], "returns": "string" } |
VideoLibrary.RemoveMovie
Removes the given movie from the library
Permissions:
- RemoveData
Parameters:
- Library.Id movieid
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Removes the given movie from the library", "transport": "Response", "permission": "RemoveData", "params": [ { "name": "movieid", "$ref": "Library.Id", "required": true } ], "returns": "string" } |
VideoLibrary.RemoveMusicVideo
Removes the given music video from the library
Permissions:
- RemoveData
Parameters:
- Library.Id musicvideoid
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Removes the given music video from the library", "transport": "Response", "permission": "RemoveData", "params": [ { "name": "musicvideoid", "$ref": "Library.Id", "required": true } ], "returns": "string" } |
VideoLibrary.RemoveTVShow
Removes the given tv show from the library
Permissions:
- RemoveData
Parameters:
- Library.Id tvshowid
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Removes the given tv show from the library", "transport": "Response", "permission": "RemoveData", "params": [ { "name": "tvshowid", "$ref": "Library.Id", "required": true } ], "returns": "string" } |
VideoLibrary.Scan
Scans the video sources for new library items
Permissions:
- UpdateData
Parameters:
- [string directory = ""]
- [boolean showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Scans the video sources for new library items", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "directory", "type": "string", "default": "" }, { "name": "showdialogs", "type": "boolean", "default": true, "description": "Whether or not to show the progress bar or any other GUI dialog" } ], "returns": "string" } |
VideoLibrary.SetEpisodeDetails
Update the given episode with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id episodeid
- [Optional.String title]
- [Optional.Integer playcount]
- [Optional.Integer runtime] (Runtime in seconds)
- [mixed: Array.String director = None]
- [Optional.String plot]
- [Optional.Number rating]
- [Optional.String votes]
- [Optional.String lastplayed]
- [mixed: Array.String writer = None]
- [Optional.String firstaired]
- [Optional.String productioncode]
- [Optional.Integer season]
- [Optional.Integer episode]
- [Optional.String originaltitle]
- [Optional.String thumbnail]
- [Optional.String fanart]
- [mixed: Media.Artwork.Set art = None]
- [mixed: Video.Resume resume = None]
- [Optional.Integer userrating]
- [Video.Ratings.Set ratings]
- [Optional.String dateadded]
- [mixed: Media.UniqueID.Set uniqueid = None]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given episode with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "episodeid", "$ref": "Library.Id", "required": true }, { "name": "title", "$ref": "Optional.String" }, { "name": "playcount", "$ref": "Optional.Integer" }, { "name": "runtime", "$ref": "Optional.Integer", "description": "Runtime in seconds" }, { "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "plot", "$ref": "Optional.String" }, { "name": "rating", "$ref": "Optional.Number" }, { "name": "votes", "$ref": "Optional.String" }, { "name": "lastplayed", "$ref": "Optional.String" }, { "name": "writer", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "firstaired", "$ref": "Optional.String" }, { "name": "productioncode", "$ref": "Optional.String" }, { "name": "season", "$ref": "Optional.Integer" }, { "name": "episode", "$ref": "Optional.Integer" }, { "name": "originaltitle", "$ref": "Optional.String" }, { "name": "thumbnail", "$ref": "Optional.String" }, { "name": "fanart", "$ref": "Optional.String" }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null }, { "name": "resume", "type": [ "null", { "$ref": "Video.Resume", "required": true } ], "default": null }, { "name": "userrating", "$ref": "Optional.Integer" }, { "name": "ratings", "$ref": "Video.Ratings.Set" }, { "name": "dateadded", "$ref": "Optional.String" }, { "name": "uniqueid", "type": [ "null", { "$ref": "Media.UniqueID.Set", "required": true } ], "default": null } ], "returns": "string" } |
VideoLibrary.SetMovieDetails
Update the given movie with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id movieid
- [Optional.String title]
- [Optional.Integer playcount]
- [Optional.Integer runtime] (Runtime in seconds)
- [mixed: Array.String director = None]
- [mixed: Array.String studio = None]
- [Optional.Integer year] (linked with premiered. Overridden by premiered parameter)
- [Optional.String plot]
- [mixed: Array.String genre = None]
- [Optional.Number rating]
- [Optional.String mpaa]
- [Optional.String imdbnumber]
- [Optional.String votes]
- [Optional.String lastplayed]
- [Optional.String originaltitle]
- [Optional.String trailer]
- [Optional.String tagline]
- [Optional.String plotoutline]
- [mixed: Array.String writer = None]
- [mixed: Array.String country = None]
- [Optional.Integer top250]
- [Optional.String sorttitle]
- [Optional.String set]
- [mixed: Array.String showlink = None]
- [Optional.String thumbnail]
- [Optional.String fanart]
- [mixed: Array.String tag = None]
- [mixed: Media.Artwork.Set art = None]
- [mixed: Video.Resume resume = None]
- [Optional.Integer userrating]
- [Video.Ratings.Set ratings]
- [Optional.String dateadded]
- [Optional.String premiered] (linked with year. Overrides year)
- [mixed: Media.UniqueID.Set uniqueid = None]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given movie with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "movieid", "$ref": "Library.Id", "required": true }, { "name": "title", "$ref": "Optional.String" }, { "name": "playcount", "$ref": "Optional.Integer" }, { "name": "runtime", "$ref": "Optional.Integer", "description": "Runtime in seconds" }, { "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "studio", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "year", "$ref": "Optional.Integer", "description": "linked with premiered. Overridden by premiered parameter" }, { "name": "plot", "$ref": "Optional.String" }, { "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "rating", "$ref": "Optional.Number" }, { "name": "mpaa", "$ref": "Optional.String" }, { "name": "imdbnumber", "$ref": "Optional.String" }, { "name": "votes", "$ref": "Optional.String" }, { "name": "lastplayed", "$ref": "Optional.String" }, { "name": "originaltitle", "$ref": "Optional.String" }, { "name": "trailer", "$ref": "Optional.String" }, { "name": "tagline", "$ref": "Optional.String" }, { "name": "plotoutline", "$ref": "Optional.String" }, { "name": "writer", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "country", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "top250", "$ref": "Optional.Integer" }, { "name": "sorttitle", "$ref": "Optional.String" }, { "name": "set", "$ref": "Optional.String" }, { "name": "showlink", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "thumbnail", "$ref": "Optional.String" }, { "name": "fanart", "$ref": "Optional.String" }, { "name": "tag", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null }, { "name": "resume", "type": [ "null", { "$ref": "Video.Resume", "required": true } ], "default": null }, { "name": "userrating", "$ref": "Optional.Integer" }, { "name": "ratings", "$ref": "Video.Ratings.Set" }, { "name": "dateadded", "$ref": "Optional.String" }, { "name": "premiered", "$ref": "Optional.String", "description": "linked with year. Overrides year" }, { "name": "uniqueid", "type": [ "null", { "$ref": "Media.UniqueID.Set", "required": true } ], "default": null } ], "returns": "string" } |
VideoLibrary.SetMovieSetDetails
Update the given movie set with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id setid
- [Optional.String title]
- [mixed: Media.Artwork.Set art = None]
- [Optional.String plot]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given movie set with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "setid", "$ref": "Library.Id", "required": true }, { "name": "title", "$ref": "Optional.String" }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null }, { "name": "plot", "$ref": "Optional.String" } ], "returns": "string" } |
VideoLibrary.SetMusicVideoDetails
Update the given music video with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id musicvideoid
- [Optional.String title]
- [Optional.Integer playcount]
- [Optional.Integer runtime] (Runtime in seconds)
- [mixed: Array.String director = None]
- [mixed: Array.String studio = None]
- [Optional.Integer year] (linked with premiered. Overridden by premiered parameter)
- [Optional.String plot]
- [Optional.String album]
- [mixed: Array.String artist]
- [mixed: Array.String genre = None]
- [Optional.Integer track]
- [Optional.String lastplayed]
- [Optional.String thumbnail]
- [Optional.String fanart]
- [mixed: Array.String tag = None]
- [mixed: Media.Artwork.Set art = None]
- [mixed: Video.Resume resume = None]
- [Optional.Number rating]
- [Optional.Integer userrating]
- [Optional.String dateadded]
- [Optional.String premiered] (linked with year. Overrides year)
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given music video with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "musicvideoid", "$ref": "Library.Id", "required": true }, { "name": "title", "$ref": "Optional.String" }, { "name": "playcount", "$ref": "Optional.Integer" }, { "name": "runtime", "$ref": "Optional.Integer", "description": "Runtime in seconds" }, { "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "studio", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "year", "$ref": "Optional.Integer", "description": "linked with premiered. Overridden by premiered parameter" }, { "name": "plot", "$ref": "Optional.String" }, { "name": "album", "$ref": "Optional.String" }, { "name": "artist", "type": [ "null", { "$ref": "Array.String", "required": true } ] }, { "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "track", "$ref": "Optional.Integer" }, { "name": "lastplayed", "$ref": "Optional.String" }, { "name": "thumbnail", "$ref": "Optional.String" }, { "name": "fanart", "$ref": "Optional.String" }, { "name": "tag", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null }, { "name": "resume", "type": [ "null", { "$ref": "Video.Resume", "required": true } ], "default": null }, { "name": "rating", "$ref": "Optional.Number" }, { "name": "userrating", "$ref": "Optional.Integer" }, { "name": "dateadded", "$ref": "Optional.String" }, { "name": "premiered", "$ref": "Optional.String", "description": "linked with year. Overrides year" } ], "returns": "string" } |
VideoLibrary.SetSeasonDetails
Update the given season with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id seasonid
- [mixed: Media.Artwork.Set art = None]
- [Optional.Integer userrating]
- [Optional.String title]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given season with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "seasonid", "$ref": "Library.Id", "required": true }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null }, { "name": "userrating", "$ref": "Optional.Integer" }, { "name": "title", "$ref": "Optional.String" } ], "returns": "string" } |
VideoLibrary.SetTVShowDetails
Update the given tvshow with the given details
Permissions:
- UpdateData
Parameters:
- Library.Id tvshowid
- [Optional.String title]
- [Optional.Integer playcount]
- [mixed: Array.String studio = None]
- [Optional.String plot]
- [mixed: Array.String genre = None]
- [Optional.Number rating]
- [Optional.String mpaa]
- [Optional.String imdbnumber]
- [Optional.String premiered]
- [Optional.String votes]
- [Optional.String lastplayed]
- [Optional.String originaltitle]
- [Optional.String sorttitle]
- [Optional.String episodeguide]
- [Optional.String thumbnail]
- [Optional.String fanart]
- [mixed: Array.String tag = None]
- [mixed: Media.Artwork.Set art = None]
- [Optional.Integer userrating]
- [Video.Ratings.Set ratings]
- [Optional.String dateadded]
- [Optional.Integer runtime] (Runtime in seconds)
- [Optional.String status] (Valid values: 'returning series', 'in production', 'planned', 'cancelled', 'ended')
- [mixed: Media.UniqueID.Set uniqueid = None]
Returns:
Type: string
JSON Schema Description |
---|
{ "type": "method", "description": "Update the given tvshow with the given details", "transport": "Response", "permission": "UpdateData", "params": [ { "name": "tvshowid", "$ref": "Library.Id", "required": true }, { "name": "title", "$ref": "Optional.String" }, { "name": "playcount", "$ref": "Optional.Integer" }, { "name": "studio", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "plot", "$ref": "Optional.String" }, { "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "rating", "$ref": "Optional.Number" }, { "name": "mpaa", "$ref": "Optional.String" }, { "name": "imdbnumber", "$ref": "Optional.String" }, { "name": "premiered", "$ref": "Optional.String" }, { "name": "votes", "$ref": "Optional.String" }, { "name": "lastplayed", "$ref": "Optional.String" }, { "name": "originaltitle", "$ref": "Optional.String" }, { "name": "sorttitle", "$ref": "Optional.String" }, { "name": "episodeguide", "$ref": "Optional.String" }, { "name": "thumbnail", "$ref": "Optional.String" }, { "name": "fanart", "$ref": "Optional.String" }, { "name": "tag", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }, { "name": "art", "type": [ "null", { "$ref": "Media.Artwork.Set", "required": true } ], "default": null }, { "name": "userrating", "$ref": "Optional.Integer" }, { "name": "ratings", "$ref": "Video.Ratings.Set" }, { "name": "dateadded", "$ref": "Optional.String" }, { "name": "runtime", "$ref": "Optional.Integer", "description": "Runtime in seconds" }, { "name": "status", "$ref": "Optional.String", "description": "Valid values: 'returning series', 'in production', 'planned', 'cancelled', 'ended'" }, { "name": "uniqueid", "type": [ "null", { "$ref": "Media.UniqueID.Set", "required": true } ], "default": null } ], "returns": "string" } |
XBMC
XBMC.GetInfoBooleans
Retrieve info booleans about Kodi and the system
Permissions:
- ReadData
Parameters:
- array booleans
Returns:
Type: object (Object containing key-value pairs of the retrieved info booleans)
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve info booleans about Kodi and the system", "transport": "Response", "permission": "ReadData", "params": [ { "name": "booleans", "type": "array", "required": true, "items": { "type": "string" }, "minItems": 1 } ], "returns": { "type": "object", "description": "Object containing key-value pairs of the retrieved info booleans", "additionalProperties": { "type": "string" } } } |
XBMC.GetInfoLabels
Retrieve info labels about Kodi and the system
Permissions:
- ReadData
Parameters:
- array labels (See http://kodi.wiki/view/InfoLabels for a list of possible info labels)
Returns:
Type: object (Object containing key-value pairs of the retrieved info labels)
JSON Schema Description |
---|
{ "type": "method", "description": "Retrieve info labels about Kodi and the system", "transport": "Response", "permission": "ReadData", "params": [ { "name": "labels", "type": "array", "required": true, "items": { "type": "string" }, "minItems": 1, "description": "See http://kodi.wiki/view/InfoLabels for a list of possible info labels" } ], "returns": { "type": "object", "description": "Object containing key-value pairs of the retrieved info labels", "additionalProperties": { "type": "string" } } } |
Global Types
Addon
Addon.Content
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "unknown", "video", "audio", "image", "executable" ], "default": "unknown" } |
Addon.Details
Extends:
Properties:
- string addonid
- Addon.Types type
- [string name]
- [string version]
- [string summary]
- [string description]
- [string path]
- [string author]
- [string thumbnail]
- [string disclaimer]
- [string fanart]
- [array dependencies]
- [mixed: broken]
- [array extrainfo]
- [integer rating]
- [boolean enabled]
- [boolean installed]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "addonid": { "type": "string", "required": true }, "type": { "$ref": "Addon.Types", "required": true }, "name": { "type": "string" }, "version": { "type": "string" }, "summary": { "type": "string" }, "description": { "type": "string" }, "path": { "type": "string" }, "author": { "type": "string" }, "thumbnail": { "type": "string" }, "disclaimer": { "type": "string" }, "fanart": { "type": "string" }, "dependencies": { "type": "array", "items": { "type": "object", "properties": { "addonid": { "type": "string", "required": true }, "version": { "type": "string", "required": true }, "optional": { "type": "boolean", "required": true } } } }, "broken": { "type": [ "boolean", "string" ] }, "extrainfo": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "required": true }, "value": { "type": "string", "required": true } } } }, "rating": { "type": "integer" }, "enabled": { "type": "boolean" }, "installed": { "type": "boolean" } } } |
Addon.Fields
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "name", "version", "summary", "description", "path", "author", "thumbnail", "disclaimer", "fanart", "dependencies", "broken", "extrainfo", "rating", "enabled", "installed" ] } } |
Application
Application.Property.Name
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "volume", "muted", "name", "version", "volume", "sorttokens", "language" ] } |
Application.Property.Value
Type: object
Properties:
- [integer volume]
- [boolean muted]
- [string name]
- [object version]
- [Array.String sorttokens]
- [string language]
JSON Schema Description |
---|
{ "type": "object", "properties": { "volume": { "type": "integer", "minimum": 0, "maximum": 100 }, "muted": { "type": "boolean" }, "name": { "type": "string", "minLength": 1 }, "version": { "type": "object", "properties": { "major": { "type": "integer", "minimum": 0, "required": true }, "minor": { "type": "integer", "minimum": 0, "required": true }, "revision": { "type": [ "string", "integer" ] }, "tag": { "type": "string", "enum": [ "prealpha", "alpha", "beta", "releasecandidate", "stable" ], "required": true }, "tagversion": { "type": "string" } } }, "sorttokens": { "$ref": "Array.String", "description": "Articles ignored during sorting when ignorearticle is enabled." }, "language": { "type": "string", "minLength": 1, "description": "Current language code and region e.g. en_GB" } } } |
Array
Array.Integer
Type: array
JSON Schema Description |
---|
{ "type": "array", "items": { "type": "integer" } } |
Array.String
Type: array
JSON Schema Description |
---|
{ "type": "array", "items": { "type": "string", "minLength": 1 } } |
Audio
Audio.Album.ReleaseType
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "album", "single" ], "default": "album" } |
Audio.Artist.Roles
Type: array
JSON Schema Description |
---|
{ "type": "array", "items": { "type": "object", "description": "The various roles contributed by an artist to one or more songs", "properties": { "roleid": { "$ref": "Library.Id", "required": true }, "role": { "type": "string", "required": true } }, "additionalProperties": false } } |
Audio.Contributors
Type: array
JSON Schema Description |
---|
{ "type": "array", "items": { "type": "object", "description": "The artist and the role they contribute to a song", "properties": { "name": { "type": "string", "required": true }, "role": { "type": "string", "required": true }, "roleid": { "$ref": "Library.Id", "required": true }, "artistid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false } } |
Audio.Details.Album
Extends:
Properties:
- Library.Id albumid
- [string description]
- [Array.String theme]
- [Array.String mood]
- [Array.String style]
- [string type]
- [string albumlabel]
- [integer playcount]
- [boolean compilation]
- [Audio.Album.ReleaseType releasetype]
- [string musicbrainzreleasegroupid]
- [string musicbrainzalbumid]
- [Audio.Details.Genres songgenres]
- [string lastplayed]
- [Array.Integer sourceid]
- [boolean isboxset]
- [integer totaldiscs]
JSON Schema Description |
---|
{ "extends": "Audio.Details.Media", "properties": { "albumid": { "$ref": "Library.Id", "required": true }, "description": { "type": "string" }, "theme": { "$ref": "Array.String" }, "mood": { "$ref": "Array.String" }, "style": { "$ref": "Array.String" }, "type": { "type": "string" }, "albumlabel": { "type": "string" }, "playcount": { "type": "integer" }, "compilation": { "type": "boolean" }, "releasetype": { "$ref": "Audio.Album.ReleaseType" }, "musicbrainzreleasegroupid": { "type": "string" }, "musicbrainzalbumid": { "type": "string" }, "songgenres": { "$ref": "Audio.Details.Genres" }, "lastplayed": { "type": "string" }, "sourceid": { "$ref": "Array.Integer" }, "isboxset": { "type": "boolean" }, "totaldiscs": { "type": "integer" } } } |
Audio.Details.Artist
Extends:
Properties:
- Library.Id artistid
- string artist
- [Array.String instrument]
- [Array.String style]
- [Array.String mood]
- [string born]
- [string formed]
- [string description]
- [string died]
- [string disbanded]
- [Array.String yearsactive]
- [boolean compilationartist]
- [Array.String musicbrainzartistid]
- [Audio.Artist.Roles roles]
- [Audio.Details.Genres songgenres]
- [boolean isalbumartist]
- [string sortname]
- [string type]
- [string gender]
- [string disambiguation]
- [Array.Integer sourceid]
JSON Schema Description |
---|
{ "extends": "Audio.Details.Base", "properties": { "artistid": { "$ref": "Library.Id", "required": true }, "artist": { "type": "string", "required": true }, "instrument": { "$ref": "Array.String" }, "style": { "$ref": "Array.String" }, "mood": { "$ref": "Array.String" }, "born": { "type": "string" }, "formed": { "type": "string" }, "description": { "type": "string" }, "died": { "type": "string" }, "disbanded": { "type": "string" }, "yearsactive": { "$ref": "Array.String" }, "compilationartist": { "type": "boolean" }, "musicbrainzartistid": { "$ref": "Array.String" }, "roles": { "$ref": "Audio.Artist.Roles" }, "songgenres": { "$ref": "Audio.Details.Genres" }, "isalbumartist": { "type": "boolean" }, "sortname": { "type": "string" }, "type": { "type": "string" }, "gender": { "type": "string" }, "disambiguation": { "type": "string" }, "sourceid": { "$ref": "Array.Integer" } } } |
Audio.Details.Base
Extends:
Properties:
- [Array.String genre]
- [string dateadded]
- [Media.Artwork art]
JSON Schema Description |
---|
{ "extends": "Media.Details.Base", "properties": { "genre": { "$ref": "Array.String" }, "dateadded": { "type": "string" }, "art": { "$ref": "Media.Artwork" } } } |
Audio.Details.Genres
Type: array
JSON Schema Description |
---|
{ "type": "array", "items": { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true }, "title": { "type": "string" } } } } |
Audio.Details.Media
Extends:
Properties:
- [string title]
- [Array.String artist]
- [integer year]
- [number rating]
- [Array.String musicbrainzalbumartistid]
- [Array.Integer artistid]
- [string displayartist]
- [integer votes]
- [integer userrating]
- [string sortartist]
- [string releasedate]
- [string originaldate]
JSON Schema Description |
---|
{ "extends": "Audio.Details.Base", "properties": { "title": { "type": "string" }, "artist": { "$ref": "Array.String" }, "year": { "type": "integer" }, "rating": { "type": "number" }, "musicbrainzalbumartistid": { "$ref": "Array.String" }, "artistid": { "$ref": "Array.Integer" }, "displayartist": { "type": "string" }, "votes": { "type": "integer" }, "userrating": { "type": "integer" }, "sortartist": { "type": "string" }, "releasedate": { "type": "string" }, "originaldate": { "type": "string" } } } |
Audio.Details.Role
Extends:
Properties:
- Library.Id roleid
- [string title]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "roleid": { "$ref": "Library.Id", "required": true }, "title": { "type": "string" } } } |
Audio.Details.Song
Extends:
Properties:
- Library.Id songid
- [string file]
- [Array.String albumartist]
- [string album]
- [integer track]
- [integer duration]
- [string comment]
- [string lyrics]
- [integer playcount]
- [string musicbrainztrackid]
- [Array.String musicbrainzartistid]
- [Library.Id albumid]
- [string lastplayed]
- [integer disc]
- [Array.Integer albumartistid]
- [Audio.Album.ReleaseType albumreleasetype]
- [string mood]
- [Audio.Contributors contributors]
- [string displaycomposer]
- [string displayconductor]
- [string displayorchestra]
- [string displaylyricist]
- [Array.Integer genreid]
- [Array.Integer sourceid]
- [string disctitle]
- [Integer bpm]
- [Integer samplerate]
- [Integer bitrate]
- [Integer channels]
JSON Schema Description |
---|
{ "extends": "Audio.Details.Media", "properties": { "songid": { "$ref": "Library.Id", "required": true }, "file": { "type": "string" }, "albumartist": { "$ref": "Array.String" }, "album": { "type": "string" }, "track": { "type": "integer" }, "duration": { "type": "integer" }, "comment": { "type": "string" }, "lyrics": { "type": "string" }, "playcount": { "type": "integer" }, "musicbrainztrackid": { "type": "string" }, "musicbrainzartistid": { "$ref": "Array.String" }, "albumid": { "$ref": "Library.Id" }, "lastplayed": { "type": "string" }, "disc": { "type": "integer" }, "albumartistid": { "$ref": "Array.Integer" }, "albumreleasetype": { "$ref": "Audio.Album.ReleaseType" }, "mood": { "type": "string" }, "contributors": { "$ref": "Audio.Contributors" }, "displaycomposer": { "type": "string" }, "displayconductor": { "type": "string" }, "displayorchestra": { "type": "string" }, "displaylyricist": { "type": "string" }, "genreid": { "$ref": "Array.Integer" }, "sourceid": { "$ref": "Array.Integer" }, "disctitle": { "type": "string" }, "bpm": { "type": "Integer" }, "samplerate": { "type": "Integer" }, "bitrate": { "type": "Integer" }, "channels": { "type": "Integer" } } } |
Audio.Fields.Album
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "description": "Requesting the songgenres, artistid and/or sourceid fields will result in increased response times", "enum": [ "title", "description", "artist", "genre", "theme", "mood", "style", "type", "albumlabel", "rating", "votes", "userrating", "year", "musicbrainzalbumid", "musicbrainzalbumartistid", "fanart", "thumbnail", "playcount", "artistid", "displayartist", "compilation", "releasetype", "dateadded", "sortartist", "musicbrainzreleasegroupid", "songgenres", "art", "lastplayed", "sourceid", "isboxset", "totaldiscs", "releasedate", "originaldate" ] } } |
Audio.Fields.Artist
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "description": "Requesting the (song)genreid/genre, roleid/role or sourceid fields will result in increased response times", "enum": [ "instrument", "style", "mood", "born", "formed", "description", "genre", "died", "disbanded", "yearsactive", "musicbrainzartistid", "fanart", "thumbnail", "compilationartist", "dateadded", "roles", "songgenres", "isalbumartist", "sortname", "type", "gender", "disambiguation", "art", "sourceid" ] } } |
Audio.Fields.Role
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "title" ] } } |
Audio.Fields.Song
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "description": "Requesting the genreid, artistid, albumartistid and/or sourceid fields will result in increased response times", "enum": [ "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", "sortartist", "art", "sourceid", "disctitle", "releasedate", "originaldate", "bpm", "samplerate", "bitrate", "channels" ] } } |
Audio.Property.Name
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "missingartistid", "librarylastupdated" ] } |
Audio.Property.Value
Type: object
Properties:
- [Library.Id missingartistid]
- [string librarylastupdated]
JSON Schema Description |
---|
{ "type": "object", "properties": { "missingartistid": { "$ref": "Library.Id" }, "librarylastupdated": { "type": "string" } } } |
Configuration
Configuration
Type: object
Properties:
- Configuration.Notifications notifications
JSON Schema Description |
---|
{ "type": "object", "required": true, "properties": { "notifications": { "$ref": "Configuration.Notifications", "required": true } } } |
Configuration.Notifications
Type: object
Properties:
- boolean Player
- boolean Playlist
- boolean GUI
- boolean System
- boolean VideoLibrary
- boolean AudioLibrary
- boolean Application
- boolean Input
- boolean PVR
- boolean Other
JSON Schema Description |
---|
{ "type": "object", "properties": { "Player": { "type": "boolean", "required": true }, "Playlist": { "type": "boolean", "required": true }, "GUI": { "type": "boolean", "required": true }, "System": { "type": "boolean", "required": true }, "VideoLibrary": { "type": "boolean", "required": true }, "AudioLibrary": { "type": "boolean", "required": true }, "Application": { "type": "boolean", "required": true }, "Input": { "type": "boolean", "required": true }, "PVR": { "type": "boolean", "required": true }, "Other": { "type": "boolean", "required": true } }, "additionalProperties": false } |
Favourite
Favourite.Details.Favourite
Type: object
Properties:
- string title
- Favourite.Type type
- [string path]
- [string window]
- [string windowparameter]
- [string thumbnail]
JSON Schema Description |
---|
{ "type": "object", "properties": { "title": { "type": "string", "required": true }, "type": { "$ref": "Favourite.Type", "required": true }, "path": { "type": "string" }, "window": { "type": "string" }, "windowparameter": { "type": "string" }, "thumbnail": { "type": "string" } }, "additionalProperties": false } |
Favourite.Fields.Favourite
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "window", "windowparameter", "thumbnail", "path" ] } } |
Favourite.Type
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "media", "window", "script", "androidapp", "unknown" ] } |
Files
Files.Media
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "video", "music", "pictures", "files", "programs" ] } |
GUI
GUI.Property.Name
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "currentwindow", "currentcontrol", "skin", "fullscreen", "stereoscopicmode" ] } |
GUI.Property.Value
Type: object
Properties:
- [object currentwindow]
- [object currentcontrol]
- [object skin]
- [boolean fullscreen]
- [GUI.Stereoscopy.Mode stereoscopicmode]
JSON Schema Description |
---|
{ "type": "object", "properties": { "currentwindow": { "type": "object", "properties": { "id": { "type": "integer", "required": true }, "label": { "type": "string", "required": true } } }, "currentcontrol": { "type": "object", "properties": { "label": { "type": "string", "required": true } } }, "skin": { "type": "object", "properties": { "id": { "type": "string", "required": true, "minLength": 1 }, "name": { "type": "string" } } }, "fullscreen": { "type": "boolean" }, "stereoscopicmode": { "$ref": "GUI.Stereoscopy.Mode" } } } |
GUI.Stereoscopy.Mode
Type: object
Properties:
- string mode
- string label
JSON Schema Description |
---|
{ "type": "object", "properties": { "mode": { "type": "string", "required": true, "enum": [ "off", "split_vertical", "split_horizontal", "row_interleaved", "hardware_based", "anaglyph_cyan_red", "anaglyph_green_magenta", "anaglyph_yellow_blue", "monoscopic" ] }, "label": { "type": "string", "required": true } } } |
Global
Global.IncrementDecrement
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "increment", "decrement" ] } |
Global.String.NotEmpty
Type: string
JSON Schema Description |
---|
{ "type": "string", "minLength": 1 } |
Global.Time
Type: object
Properties:
- integer hours
- integer minutes
- integer seconds
- integer milliseconds
JSON Schema Description |
---|
{ "type": "object", "properties": { "hours": { "type": "integer", "required": true, "minimum": 0, "maximum": 23 }, "minutes": { "type": "integer", "required": true, "minimum": 0, "maximum": 59 }, "seconds": { "type": "integer", "required": true, "minimum": 0, "maximum": 59 }, "milliseconds": { "type": "integer", "required": true, "minimum": 0, "maximum": 999 } }, "additionalProperties": false } |
Global.Toggle
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "boolean", "required": true }, { "type": "string", "enum": [ "toggle" ], "required": true } ] } |
Global.Weekday
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" ] } |
Item
Item.Details.Base
Type: object
Properties:
- string label
JSON Schema Description |
---|
{ "type": "object", "properties": { "label": { "type": "string", "required": true } } } |
Item.Fields.Base
Type: array
JSON Schema Description |
---|
{ "type": "array", "uniqueItems": true, "items": { "type": "string" } } |
Library
Library.Details.Genre
Extends:
Properties:
- Library.Id genreid
- [string title]
- [string thumbnail]
- [Array.Integer sourceid]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "genreid": { "$ref": "Library.Id", "required": true }, "title": { "type": "string" }, "thumbnail": { "type": "string" }, "sourceid": { "$ref": "Array.Integer", "description": "The ids of sources with songs of the genre" } } } |
Library.Details.Source
Extends:
Properties:
- Library.Id sourceid
- string file
- [Array.String paths]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "sourceid": { "$ref": "Library.Id", "required": true }, "file": { "type": "string", "description": "The url encoded multipath string combining all paths of the source ", "required": true }, "paths": { "$ref": "Array.String", "description": "The individual paths of the media source" } } } |
Library.Details.Tag
Extends:
Properties:
- Library.Id tagid
- [string title]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "tagid": { "$ref": "Library.Id", "required": true }, "title": { "type": "string" } } } |
Library.Fields.Genre
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "title", "thumbnail", "sourceid" ] } } |
Library.Fields.Source
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "file", "paths" ] } } |
Library.Fields.Tag
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "title" ] } } |
Library.Id
Type: integer
JSON Schema Description |
---|
{ "type": "integer", "default": -1, "minimum": 1 } |
List
List.Amount
Type: integer
JSON Schema Description |
---|
{ "type": "integer", "default": -1, "minimum": 0 } |
List.Fields.All
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "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", "votes", "sortartist", "musicbrainzreleasegroupid", "mediapath", "dynpath", "isboxset", "totaldiscs", "disctitle", "releasedate", "originaldate", "bpm", "bitrate", "samplerate", "channels" ] } } |
List.Fields.Files
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "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", "sortartist", "musicbrainzreleasegroupid", "isboxset", "totaldiscs", "disctitle", "releasedate", "originaldate", "bpm", "bitrate", "samplerate", "channels" ] } } |
List.Filter.Albums
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "List.Filter.Albums" }, "minItems": 1, "required": true } } }, { "type": "object", "properties": { "or": { "type": "array", "items": { "$ref": "List.Filter.Albums" }, "minItems": 1, "required": true } } }, { "$ref": "List.Filter.Rule.Albums" } ] } |
List.Filter.Artists
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "List.Filter.Artists" }, "minItems": 1, "required": true } } }, { "type": "object", "properties": { "or": { "type": "array", "items": { "$ref": "List.Filter.Artists" }, "minItems": 1, "required": true } } }, { "$ref": "List.Filter.Rule.Artists" } ] } |
List.Filter.Episodes
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "List.Filter.Episodes" }, "minItems": 1, "required": true } } }, { "type": "object", "properties": { "or": { "type": "array", "items": { "$ref": "List.Filter.Episodes" }, "minItems": 1, "required": true } } }, { "$ref": "List.Filter.Rule.Episodes" } ] } |
List.Filter.Movies
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "List.Filter.Movies" }, "minItems": 1, "required": true } } }, { "type": "object", "properties": { "or": { "type": "array", "items": { "$ref": "List.Filter.Movies" }, "minItems": 1, "required": true } } }, { "$ref": "List.Filter.Rule.Movies" } ] } |
List.Filter.MusicVideos
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "List.Filter.MusicVideos" }, "minItems": 1, "required": true } } }, { "type": "object", "properties": { "or": { "type": "array", "items": { "$ref": "List.Filter.MusicVideos" }, "minItems": 1, "required": true } } }, { "$ref": "List.Filter.Rule.MusicVideos" } ] } |
List.Filter.Rule
Type: object
Properties:
- List.Filter.Operators operator
- mixed: string|array value
JSON Schema Description |
---|
{ "type": "object", "properties": { "operator": { "$ref": "List.Filter.Operators", "required": true }, "value": { "type": [ { "type": "string", "required": true }, { "type": "array", "items": { "type": "string" }, "required": true } ], "required": true } } } |
List.Filter.Rule.Albums
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": "List.Filter.Rule", "properties": { "field": { "$ref": "List.Filter.Fields.Albums", "required": true } } } |
List.Filter.Rule.Artists
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": "List.Filter.Rule", "properties": { "field": { "$ref": "List.Filter.Fields.Artists", "required": true } } } |
List.Filter.Rule.Episodes
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": "List.Filter.Rule", "properties": { "field": { "$ref": "List.Filter.Fields.Episodes", "required": true } } } |
List.Filter.Rule.Movies
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": "List.Filter.Rule", "properties": { "field": { "$ref": "List.Filter.Fields.Movies", "required": true } } } |
List.Filter.Rule.MusicVideos
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": "List.Filter.Rule", "properties": { "field": { "$ref": "List.Filter.Fields.MusicVideos", "required": true } } } |
List.Filter.Rule.Songs
Extends:
Properties:
- List.Filter.Fields.Songs field
JSON Schema Description |
---|
{ "extends": "List.Filter.Rule", "properties": { "field": { "$ref": "List.Filter.Fields.Songs", "required": true } } } |
List.Filter.Rule.TVShows
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": "List.Filter.Rule", "properties": { "field": { "$ref": "List.Filter.Fields.TVShows", "required": true } } } |
List.Filter.Rule.Textures
Extends:
Properties:
JSON Schema Description |
---|
{ "extends": "List.Filter.Rule", "properties": { "field": { "$ref": "List.Filter.Fields.Textures", "required": true } } } |
List.Filter.Songs
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "List.Filter.Songs" }, "minItems": 1, "required": true } } }, { "type": "object", "properties": { "or": { "type": "array", "items": { "$ref": "List.Filter.Songs" }, "minItems": 1, "required": true } } }, { "$ref": "List.Filter.Rule.Songs" } ] } |
List.Filter.TVShows
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "List.Filter.TVShows" }, "minItems": 1, "required": true } } }, { "type": "object", "properties": { "or": { "type": "array", "items": { "$ref": "List.Filter.TVShows" }, "minItems": 1, "required": true } } }, { "$ref": "List.Filter.Rule.TVShows" } ] } |
List.Filter.Textures
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "and": { "type": "array", "items": { "$ref": "List.Filter.Textures" }, "minItems": 1, "required": true } } }, { "type": "object", "properties": { "or": { "type": "array", "items": { "$ref": "List.Filter.Textures" }, "minItems": 1, "required": true } } }, { "$ref": "List.Filter.Rule.Textures" } ] } |
List.Item.All
Extends:
Properties:
- [string channel]
- [PVR.Channel.Type channeltype]
- [boolean hidden]
- [boolean locked]
- [integer channelnumber]
- [string starttime]
- [string endtime]
JSON Schema Description |
---|
{ "extends": "List.Item.Base", "properties": { "channel": { "type": "string" }, "channeltype": { "$ref": "PVR.Channel.Type" }, "hidden": { "type": "boolean" }, "locked": { "type": "boolean" }, "channelnumber": { "type": "integer" }, "starttime": { "type": "string" }, "endtime": { "type": "string" } } } |
List.Item.Base
Extends:
Properties:
- [Library.Id id]
- [string type]
- [Array.String albumartist]
- [string album]
- [integer track]
- [integer duration]
- [string comment]
- [string lyrics]
- [string musicbrainztrackid]
- [Array.String musicbrainzartistid]
- [string trailer]
- [string tagline]
- [string plotoutline]
- [string originaltitle]
- [Array.String writer]
- [Array.String studio]
- [string mpaa]
- [Video.Cast cast]
- [Array.String country]
- [string imdbnumber]
- [string premiered]
- [string productioncode]
- [string set]
- [Array.String showlink]
- [integer top250]
- [string votes]
- [string firstaired]
- [integer season]
- [integer episode]
- [string showtitle]
- [Library.Id albumid]
- [Library.Id setid]
- [Library.Id tvshowid]
- [integer watchedepisodes]
- [integer disc]
- [Array.String tag]
- [Array.Integer albumartistid]
- [Media.UniqueID uniqueid]
- [string episodeguide]
- [string sorttitle]
- [string description]
- [Array.String theme]
- [Array.String mood]
- [Array.String style]
- [string albumlabel]
- [integer specialsortseason]
- [integer specialsortepisode]
- [boolean compilation]
- [Audio.Album.ReleaseType releasetype]
- [Audio.Album.ReleaseType albumreleasetype]
- [Audio.Contributors contributors]
- [string displaycomposer]
- [string displayconductor]
- [string displayorchestra]
- [string displaylyricist]
- [string mediapath]
- [string dynpath]
- [boolean isboxset]
- [integer totaldiscs]
- [string disctitle]
- [string releasedate]
- [string originaldate]
- [integer bpm]
- [integer bitrate]
- [integer samplerate]
- [integer channels]
JSON Schema Description |
---|
{ "extends": [ "Video.Details.File", "Audio.Details.Media" ], "properties": { "id": { "$ref": "Library.Id" }, "type": { "type": "string", "enum": [ "unknown", "movie", "episode", "musicvideo", "song", "picture", "channel" ] }, "albumartist": { "$ref": "Array.String" }, "album": { "type": "string" }, "track": { "type": "integer" }, "duration": { "type": "integer" }, "comment": { "type": "string" }, "lyrics": { "type": "string" }, "musicbrainztrackid": { "type": "string" }, "musicbrainzartistid": { "$ref": "Array.String" }, "trailer": { "type": "string" }, "tagline": { "type": "string" }, "plotoutline": { "type": "string" }, "originaltitle": { "type": "string" }, "writer": { "$ref": "Array.String" }, "studio": { "$ref": "Array.String" }, "mpaa": { "type": "string" }, "cast": { "$ref": "Video.Cast" }, "country": { "$ref": "Array.String" }, "imdbnumber": { "type": "string" }, "premiered": { "type": "string" }, "productioncode": { "type": "string" }, "set": { "type": "string" }, "showlink": { "$ref": "Array.String" }, "top250": { "type": "integer" }, "votes": { "type": "string" }, "firstaired": { "type": "string" }, "season": { "type": "integer" }, "episode": { "type": "integer" }, "showtitle": { "type": "string" }, "albumid": { "$ref": "Library.Id" }, "setid": { "$ref": "Library.Id" }, "tvshowid": { "$ref": "Library.Id" }, "watchedepisodes": { "type": "integer" }, "disc": { "type": "integer" }, "tag": { "$ref": "Array.String" }, "albumartistid": { "$ref": "Array.Integer" }, "uniqueid": { "$ref": "Media.UniqueID" }, "episodeguide": { "type": "string" }, "sorttitle": { "type": "string" }, "description": { "type": "string" }, "theme": { "$ref": "Array.String" }, "mood": { "$ref": "Array.String" }, "style": { "$ref": "Array.String" }, "albumlabel": { "type": "string" }, "specialsortseason": { "type": "integer" }, "specialsortepisode": { "type": "integer" }, "compilation": { "type": "boolean" }, "releasetype": { "$ref": "Audio.Album.ReleaseType" }, "albumreleasetype": { "$ref": "Audio.Album.ReleaseType" }, "contributors": { "$ref": "Audio.Contributors" }, "displaycomposer": { "type": "string" }, "displayconductor": { "type": "string" }, "displayorchestra": { "type": "string" }, "displaylyricist": { "type": "string" }, "mediapath": { "type": "string", "description": "Media source path that identifies the item" }, "dynpath": { "type": "string", "description": "An experimental property for debug purposes, often same as mediapath but when different gives the actual file playing that should also be in file property" }, "isboxset": { "type": "boolean" }, "totaldiscs": { "type": "integer" }, "disctitle": { "type": "string" }, "releasedate": { "type": "string" }, "originaldate": { "type": "string" }, "bpm": { "type": "integer" }, "bitrate": { "type": "integer" }, "samplerate": { "type": "integer" }, "channels": { "type": "integer" } } } |
List.Item.File
Extends:
Properties:
- string file
- string filetype
- [integer size]
- [string lastmodified]
- [string mimetype]
JSON Schema Description |
---|
{ "extends": "List.Item.Base", "properties": { "file": { "type": "string", "required": true }, "filetype": { "type": "string", "enum": [ "file", "directory" ], "required": true }, "size": { "type": "integer", "description": "Size of the file in bytes" }, "lastmodified": { "type": "string" }, "mimetype": { "type": "string" } } } |
List.Items.Sources
Type: array
JSON Schema Description |
---|
{ "type": "array", "items": { "extends": "Item.Details.Base", "properties": { "file": { "type": "string", "required": true } } } } |
List.Limits
Type: object
Properties:
- [integer start]
- [List.Amount end]
JSON Schema Description |
---|
{ "type": "object", "properties": { "start": { "type": "integer", "minimum": 0, "default": 0, "description": "Index of the first item to return" }, "end": { "$ref": "List.Amount", "description": "Index of the last item to return" } }, "additionalProperties": false } |
List.LimitsReturned
Type: object
Properties:
- [integer start]
- [List.Amount end]
- integer total
JSON Schema Description |
---|
{ "type": "object", "properties": { "start": { "type": "integer", "minimum": 0, "default": 0 }, "end": { "$ref": "List.Amount" }, "total": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false } |
List.Sort
Type: object
Properties:
- [string method = none]
- [string order = ascending]
- [boolean ignorearticle]
- [boolean useartistsortname]
JSON Schema Description |
---|
{ "type": "object", "properties": { "method": { "type": "string", "default": "none", "enum": [ "none", "label", "date", "size", "file", "path", "drivetype", "title", "track", "time", "artist", "album", "albumtype", "genre", "country", "year", "rating", "userrating", "votes", "top250", "programcount", "playlist", "episode", "season", "totalepisodes", "watchedepisodes", "tvshowstatus", "tvshowtitle", "sorttitle", "productioncode", "mpaa", "studio", "dateadded", "lastplayed", "playcount", "listeners", "bitrate", "random", "totaldiscs", "originaldate", "bpm" ] }, "order": { "type": "string", "default": "ascending", "enum": [ "ascending", "descending" ] }, "ignorearticle": { "type": "boolean", "default": false }, "useartistsortname": { "type": "boolean", "default": false } } } |
Media
Media.Artwork
Type: object
Properties:
- [Global.String.NotEmpty thumb]
- [Global.String.NotEmpty poster]
- [Global.String.NotEmpty banner]
- [Global.String.NotEmpty fanart]
JSON Schema Description |
---|
{ "type": "object", "properties": { "thumb": { "$ref": "Global.String.NotEmpty" }, "poster": { "$ref": "Global.String.NotEmpty" }, "banner": { "$ref": "Global.String.NotEmpty" }, "fanart": { "$ref": "Global.String.NotEmpty" } }, "additionalProperties": { "$ref": "Global.String.NotEmpty" } } |
Media.Artwork.Set
Type: object
Properties:
- [mixed: Global.String.NotEmpty thumb]
- [mixed: Global.String.NotEmpty poster]
- [mixed: Global.String.NotEmpty banner]
- [mixed: Global.String.NotEmpty fanart]
JSON Schema Description |
---|
{ "type": "object", "properties": { "thumb": { "type": [ "null", { "$ref": "Global.String.NotEmpty", "required": true } ], "default": "" }, "poster": { "type": [ "null", { "$ref": "Global.String.NotEmpty", "required": true } ], "default": "" }, "banner": { "type": [ "null", { "$ref": "Global.String.NotEmpty", "required": true } ], "default": "" }, "fanart": { "type": [ "null", { "$ref": "Global.String.NotEmpty", "required": true } ], "default": "" } }, "additionalProperties": { "type": [ "null", { "$ref": "Global.String.NotEmpty", "required": true } ] } } |
Media.Details.Base
Extends:
Properties:
- [string fanart]
- [string thumbnail]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "fanart": { "type": "string" }, "thumbnail": { "type": "string" } } } |
Media.UniqueID
Type: object
JSON Schema Description |
---|
{ "type": "object", "additionalProperties": { "$ref": "Global.String.NotEmpty" } } |
Media.UniqueID.Set
Type: object
JSON Schema Description |
---|
{ "type": "object", "additionalProperties": { "type": [ "null", { "$ref": "Global.String.NotEmpty", "required": true } ] } } |
Notifications
Notifications.Item
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "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": { "type": { "$ref": "Notifications.Item.Type", "required": true }, "id": { "$ref": "Library.Id", "required": true } } }, { "type": "object", "description": "A movie item has a title and may have a release year.", "properties": { "type": { "$ref": "Notifications.Item.Type", "required": true }, "title": { "type": "string", "required": true }, "year": { "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": { "type": { "$ref": "Notifications.Item.Type", "required": true }, "title": { "type": "string", "required": true }, "episode": { "type": "integer" }, "season": { "type": "integer" }, "showtitle": { "type": "string" } } }, { "type": "object", "description": "A music video has a title and may have an album and an artist.", "properties": { "type": { "$ref": "Notifications.Item.Type", "required": true }, "title": { "type": "string", "required": true }, "album": { "type": "string" }, "artist": { "type": "string" } } }, { "type": "object", "description": "A song has a title and may have an album, an artist and a track number.", "properties": { "type": { "$ref": "Notifications.Item.Type", "required": true }, "title": { "type": "string", "required": true }, "album": { "type": "string" }, "artist": { "type": "string" }, "track": { "type": "integer" } } }, { "type": "object", "description": "A picture has a file path.", "properties": { "type": { "$ref": "Notifications.Item.Type", "required": true }, "file": { "type": "string", "required": true } } }, { "type": "object", "description": "A PVR channel is either a radio or tv channel and has a title.", "properties": { "type": { "$ref": "Notifications.Item.Type", "required": true }, "id": { "$ref": "Library.Id", "required": true }, "title": { "type": "string", "required": true }, "channeltype": { "$ref": "PVR.Channel.Type", "required": true } } } ] } |
Notifications.Item.Type
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "unknown", "movie", "episode", "musicvideo", "song", "picture", "channel" ] } |
Optional
Optional.Boolean
Type: mixed
JSON Schema Description |
---|
{ "type": [ "null", "boolean" ], "default": null } |
Optional.Integer
Type: mixed
JSON Schema Description |
---|
{ "type": [ "null", "integer" ], "default": null } |
Optional.Number
Type: mixed
JSON Schema Description |
---|
{ "type": [ "null", "number" ], "default": null } |
Optional.String
Type: mixed
JSON Schema Description |
---|
{ "type": [ "null", "string" ], "default": null } |
PVR
PVR.Channel.Type
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "tv", "radio" ] } |
PVR.ChannelGroup.Id
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "$ref": "Library.Id", "required": true }, { "type": "string", "enum": [ "alltv", "allradio" ], "required": true } ] } |
PVR.Details.Broadcast
Extends:
Properties:
- Library.Id broadcastid
- [string title]
- [string plot]
- [string plotoutline]
- [string starttime]
- [string endtime]
- [integer runtime]
- [integer progress]
- [number progresspercentage]
- [string genre]
- [string episodename]
- [integer episodenum]
- [integer episodepart]
- [string firstaired]
- [boolean hastimer]
- [boolean isactive]
- [integer parentalrating]
- [boolean wasactive]
- [string thumbnail]
- [integer rating]
- [string originaltitle]
- [string cast]
- [string director]
- [string writer]
- [integer year]
- [integer imdbnumber]
- [boolean hastimerrule]
- [boolean hasrecording]
- [string recording]
- [boolean isseries]
- [boolean isplayable]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "broadcastid": { "$ref": "Library.Id", "required": true }, "title": { "type": "string" }, "plot": { "type": "string" }, "plotoutline": { "type": "string" }, "starttime": { "type": "string" }, "endtime": { "type": "string" }, "runtime": { "type": "integer" }, "progress": { "type": "integer" }, "progresspercentage": { "type": "number" }, "genre": { "type": "string" }, "episodename": { "type": "string" }, "episodenum": { "type": "integer" }, "episodepart": { "type": "integer" }, "firstaired": { "type": "string" }, "hastimer": { "type": "boolean" }, "isactive": { "type": "boolean" }, "parentalrating": { "type": "integer" }, "wasactive": { "type": "boolean" }, "thumbnail": { "type": "string" }, "rating": { "type": "integer" }, "originaltitle": { "type": "string" }, "cast": { "type": "string" }, "director": { "type": "string" }, "writer": { "type": "string" }, "year": { "type": "integer" }, "imdbnumber": { "type": "integer" }, "hastimerrule": { "type": "boolean" }, "hasrecording": { "type": "boolean" }, "recording": { "type": "string" }, "isseries": { "type": "boolean" }, "isplayable": { "type": "boolean" } } } |
PVR.Details.Channel
Extends:
Properties:
- Library.Id channelid
- [string channel]
- [PVR.Channel.Type channeltype]
- [boolean hidden]
- [boolean locked]
- [string thumbnail]
- [string lastplayed]
- [PVR.Details.Broadcast broadcastnow]
- [PVR.Details.Broadcast broadcastnext]
- integer uniqueid
- [string icon]
- [integer channelnumber]
- [integer subchannelnumber]
- [boolean isrecording]
- [boolean hasarchive]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "channelid": { "$ref": "Library.Id", "required": true }, "channel": { "type": "string" }, "channeltype": { "$ref": "PVR.Channel.Type" }, "hidden": { "type": "boolean" }, "locked": { "type": "boolean" }, "thumbnail": { "type": "string" }, "lastplayed": { "type": "string" }, "broadcastnow": { "$ref": "PVR.Details.Broadcast" }, "broadcastnext": { "$ref": "PVR.Details.Broadcast" }, "uniqueid": { "type": "integer", "required": true }, "icon": { "type": "string" }, "channelnumber": { "type": "integer" }, "subchannelnumber": { "type": "integer" }, "isrecording": { "type": "boolean" }, "hasarchive": { "type": "boolean" } } } |
PVR.Details.ChannelGroup
Extends:
Properties:
- Library.Id channelgroupid
- PVR.Channel.Type channeltype
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "channelgroupid": { "$ref": "Library.Id", "required": true }, "channeltype": { "$ref": "PVR.Channel.Type", "required": true } } } |
PVR.Details.ChannelGroup.Extended
Extends:
Properties:
- List.LimitsReturned limits
- [array channels]
JSON Schema Description |
---|
{ "extends": "PVR.Details.ChannelGroup", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "channels": { "type": "array", "items": { "$ref": "PVR.Details.Channel" } } } } |
PVR.Details.Recording
Extends:
Properties:
- Library.Id recordingid
- [string title]
- [string plot]
- [string plotoutline]
- [string genre]
- [integer playcount]
- [Video.Resume resume]
- [string channel]
- [string starttime]
- [string endtime]
- [integer runtime]
- [integer lifetime]
- [string icon]
- [Media.Artwork art]
- [string streamurl]
- [string file]
- [string directory]
- [boolean radio]
- [boolean isdeleted]
- [integer epgeventid]
- [integer channeluid]
- [integer season]
- [integer episode]
- [string showtitle]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "recordingid": { "$ref": "Library.Id", "required": true }, "title": { "type": "string" }, "plot": { "type": "string" }, "plotoutline": { "type": "string" }, "genre": { "type": "string" }, "playcount": { "type": "integer" }, "resume": { "$ref": "Video.Resume" }, "channel": { "type": "string" }, "starttime": { "type": "string" }, "endtime": { "type": "string" }, "runtime": { "type": "integer" }, "lifetime": { "type": "integer" }, "icon": { "type": "string" }, "art": { "$ref": "Media.Artwork" }, "streamurl": { "type": "string" }, "file": { "type": "string" }, "directory": { "type": "string" }, "radio": { "type": "boolean" }, "isdeleted": { "type": "boolean" }, "epgeventid": { "type": "integer" }, "channeluid": { "type": "integer" }, "season": { "type": "integer" }, "episode": { "type": "integer" }, "showtitle": { "type": "string" } } } |
PVR.Details.Timer
Extends:
Properties:
- Library.Id timerid
- [string title]
- [string summary]
- [Library.Id channelid]
- [boolean isradio]
- [boolean istimerrule]
- [boolean ismanual]
- [string starttime]
- [string endtime]
- [integer runtime]
- [integer lifetime]
- [string firstday]
- [array weekdays]
- [integer priority]
- [integer startmargin]
- [integer endmargin]
- [PVR.TimerState state]
- [string file]
- [string directory]
- [integer preventduplicateepisodes]
- [boolean startanytime]
- [boolean endanytime]
- [string epgsearchstring]
- [boolean fulltextepgsearch]
- [integer recordinggroup]
- [integer maxrecordings]
- [integer epguid]
- [boolean isreadonly]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "timerid": { "$ref": "Library.Id", "required": true }, "title": { "type": "string" }, "summary": { "type": "string" }, "channelid": { "$ref": "Library.Id" }, "isradio": { "type": "boolean" }, "istimerrule": { "type": "boolean" }, "ismanual": { "type": "boolean" }, "starttime": { "type": "string" }, "endtime": { "type": "string" }, "runtime": { "type": "integer" }, "lifetime": { "type": "integer" }, "firstday": { "type": "string" }, "weekdays": { "type": "array", "items": { "$ref": "Global.Weekday" }, "uniqueItems": true }, "priority": { "type": "integer" }, "startmargin": { "type": "integer" }, "endmargin": { "type": "integer" }, "state": { "$ref": "PVR.TimerState" }, "file": { "type": "string" }, "directory": { "type": "string" }, "preventduplicateepisodes": { "type": "integer" }, "startanytime": { "type": "boolean" }, "endanytime": { "type": "boolean" }, "epgsearchstring": { "type": "string" }, "fulltextepgsearch": { "type": "boolean" }, "recordinggroup": { "type": "integer" }, "maxrecordings": { "type": "integer" }, "epguid": { "type": "integer" }, "isreadonly": { "type": "boolean" } } } |
PVR.Fields.Broadcast
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "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", "isplayable" ] } } |
PVR.Fields.Channel
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "thumbnail", "channeltype", "hidden", "locked", "channel", "lastplayed", "broadcastnow", "broadcastnext", "uniqueid", "icon", "channelnumber", "subchannelnumber", "isrecording", "hasarchive" ] } } |
PVR.Fields.Recording
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "title", "plot", "plotoutline", "genre", "playcount", "resume", "channel", "starttime", "endtime", "runtime", "lifetime", "icon", "art", "streamurl", "file", "directory", "radio", "isdeleted", "epgeventid", "channeluid", "season", "episode", "showtitle" ] } } |
PVR.Fields.Timer
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "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" ] } } |
PVR.Property.Name
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "available", "recording", "scanning" ] } |
PVR.Property.Value
Type: object
Properties:
- [boolean available]
- [boolean recording]
- [boolean scanning]
JSON Schema Description |
---|
{ "type": "object", "properties": { "available": { "type": "boolean" }, "recording": { "type": "boolean" }, "scanning": { "type": "boolean" } } } |
PVR.TimerState
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "unknown", "new", "scheduled", "recording", "completed", "aborted", "cancelled", "conflict_ok", "conflict_notok", "error", "disabled" ] } |
Player
Player.Audio.Stream
Type: object
Properties:
- integer index
- string name
- string language
- string codec
- integer bitrate
- integer channels
- boolean isdefault
- boolean isoriginal
- boolean isimpaired
- integer samplerate
JSON Schema Description |
---|
{ "type": "object", "properties": { "index": { "type": "integer", "minimum": 0, "required": true }, "name": { "type": "string", "required": true }, "language": { "type": "string", "required": true }, "codec": { "type": "string", "required": true }, "bitrate": { "type": "integer", "required": true }, "channels": { "type": "integer", "required": true }, "isdefault": { "type": "boolean", "required": true }, "isoriginal": { "type": "boolean", "required": true }, "isimpaired": { "type": "boolean", "required": true }, "samplerate": { "type": "integer", "required": true } } } |
Player.CustomViewMode
Type: object
Properties:
- [mixed: string|Optional.Number zoom]
- [mixed: string|Optional.Number pixelratio]
- [mixed: string|Optional.Number verticalshift]
- [mixed: string|Optional.Boolean nonlinearstretch]
JSON Schema Description |
---|
{ "type": "object", "required": true, "properties": { "zoom": { "type": [ { "type": "string", "enum": [ "increase", "decrease" ], "required": true }, { "$ref": "Optional.Number", "minimum": 0.5, "maximum": 2.0, "description": "Zoom where 1.0 means 100%", "required": true } ] }, "pixelratio": { "type": [ { "type": "string", "enum": [ "increase", "decrease" ], "required": true }, { "$ref": "Optional.Number", "minimum": 0.5, "maximum": 2.0, "description": "Pixel aspect ratio where 1.0 means square pixel", "required": true } ] }, "verticalshift": { "type": [ { "type": "string", "enum": [ "increase", "decrease" ], "required": true }, { "$ref": "Optional.Number", "minimum": -2.0, "maximum": 2.0, "description": "Vertical shift 1.0 means shift to bottom", "required": true } ] }, "nonlinearstretch": { "type": [ { "type": "string", "enum": [ "increase", "decrease" ], "required": true }, { "$ref": "Optional.Boolean", "description": "Flag to enable nonlinear stretch", "required": true } ] } } } |
Player.Id
Type: integer
JSON Schema Description |
---|
{ "type": "integer", "minimum": 0, "maximum": 2, "default": -1 } |
Player.Notifications.Data
Type: object
Properties:
- Notifications.Item item
- Player.Notifications.Player player
JSON Schema Description |
---|
{ "type": "object", "properties": { "item": { "$ref": "Notifications.Item", "required": true }, "player": { "$ref": "Player.Notifications.Player", "required": true } } } |
Player.Notifications.Player
Type: object
Properties:
- Player.Id playerid
- [integer speed]
JSON Schema Description |
---|
{ "type": "object", "properties": { "playerid": { "$ref": "Player.Id", "required": true }, "speed": { "type": "integer" } } } |
Player.Notifications.Player.Seek
Extends:
Properties:
- [Global.Time time]
- [Global.Time seekoffset]
JSON Schema Description |
---|
{ "extends": "Player.Notifications.Player", "properties": { "time": { "$ref": "Global.Time" }, "seekoffset": { "$ref": "Global.Time" } } } |
Player.Position.Percentage
Type: number
JSON Schema Description |
---|
{ "type": "number", "minimum": 0.0, "maximum": 100.0 } |
Player.Position.Time
Type: object
Properties:
- [integer hours]
- [integer minutes]
- [integer seconds]
- [integer milliseconds]
JSON Schema Description |
---|
{ "type": "object", "additionalProperties": false, "properties": { "hours": { "type": "integer", "minimum": 0, "maximum": 23, "default": 0 }, "minutes": { "type": "integer", "minimum": 0, "maximum": 59, "default": 0 }, "seconds": { "type": "integer", "minimum": 0, "maximum": 59, "default": 0 }, "milliseconds": { "type": "integer", "minimum": 0, "maximum": 999, "default": 0 } } } |
Player.Property.Name
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "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" ] } |
Player.Property.Value
Type: object
Properties:
- [Player.Type type]
- [boolean partymode]
- [integer speed]
- [Global.Time time]
- [Player.Position.Percentage percentage]
- [Global.Time totaltime]
- [Playlist.Id playlistid]
- [Playlist.Position position]
- [Player.Repeat repeat]
- [boolean shuffled]
- [boolean canseek]
- [boolean canchangespeed]
- [boolean canmove]
- [boolean canzoom]
- [boolean canrotate]
- [boolean canshuffle]
- [boolean canrepeat]
- [Player.Audio.Stream currentaudiostream]
- [array audiostreams]
- [Player.Video.Stream currentvideostream]
- [array videostreams]
- [boolean subtitleenabled]
- [Player.Subtitle currentsubtitle]
- [array subtitles]
- [boolean live]
JSON Schema Description |
---|
{ "type": "object", "properties": { "type": { "$ref": "Player.Type" }, "partymode": { "type": "boolean" }, "speed": { "type": "integer" }, "time": { "$ref": "Global.Time" }, "percentage": { "$ref": "Player.Position.Percentage" }, "totaltime": { "$ref": "Global.Time" }, "playlistid": { "$ref": "Playlist.Id" }, "position": { "$ref": "Playlist.Position" }, "repeat": { "$ref": "Player.Repeat" }, "shuffled": { "type": "boolean" }, "canseek": { "type": "boolean" }, "canchangespeed": { "type": "boolean" }, "canmove": { "type": "boolean" }, "canzoom": { "type": "boolean" }, "canrotate": { "type": "boolean" }, "canshuffle": { "type": "boolean" }, "canrepeat": { "type": "boolean" }, "currentaudiostream": { "$ref": "Player.Audio.Stream" }, "audiostreams": { "type": "array", "items": { "$ref": "Player.Audio.Stream" } }, "currentvideostream": { "$ref": "Player.Video.Stream" }, "videostreams": { "type": "array", "items": { "$ref": "Player.Video.Stream" } }, "subtitleenabled": { "type": "boolean" }, "currentsubtitle": { "$ref": "Player.Subtitle" }, "subtitles": { "type": "array", "items": { "$ref": "Player.Subtitle" } }, "live": { "type": "boolean" } } } |
Player.Repeat
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "off", "one", "all" ] } |
Player.Speed
Type: object
Properties:
- [integer speed]
JSON Schema Description |
---|
{ "type": "object", "required": true, "properties": { "speed": { "type": "integer" } } } |
Player.Subtitle
Type: object
Properties:
- integer index
- string name
- string language
- boolean isdefault
- boolean isforced
- boolean isimpaired
JSON Schema Description |
---|
{ "type": "object", "properties": { "index": { "type": "integer", "minimum": 0, "required": true }, "name": { "type": "string", "required": true }, "language": { "type": "string", "required": true }, "isdefault": { "type": "boolean", "required": true }, "isforced": { "type": "boolean", "required": true }, "isimpaired": { "type": "boolean", "required": true } } } |
Player.Type
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "video", "audio", "picture" ] } |
Player.Video.Stream
Type: object
Properties:
- integer index
- string name
- string language
- string codec
- integer width
- integer height
JSON Schema Description |
---|
{ "type": "object", "properties": { "index": { "type": "integer", "minimum": 0, "required": true }, "name": { "type": "string", "required": true }, "language": { "type": "string", "required": true }, "codec": { "type": "string", "required": true }, "width": { "type": "integer", "required": true }, "height": { "type": "integer", "required": true } } } |
Player.ViewMode
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "normal", "zoom", "stretch4x3", "widezoom", "stretch16x9", "original", "stretch16x9nonlin", "zoom120width", "zoom110width" ] } |
Playlist
Playlist.Id
Type: integer
JSON Schema Description |
---|
{ "type": "integer", "minimum": 0, "maximum": 2, "default": -1 } |
Playlist.Item
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "object", "properties": { "file": { "type": "string", "description": "Path to a file (not a directory) to be added to the playlist", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "directory": { "type": "string", "required": true }, "recursive": { "type": "boolean", "default": false }, "media": { "$ref": "Files.Media", "default": "files" } }, "additionalProperties": false }, { "type": "object", "properties": { "movieid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "episodeid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "musicvideoid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "albumid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "songid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false }, { "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true, "description": "Identification of a genre from the AudioLibrary" } }, "additionalProperties": false } ] } |
Playlist.Position
Type: integer
JSON Schema Description |
---|
{ "type": "integer", "minimum": 0, "default": -1 } |
Playlist.Property.Name
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "type", "size" ] } |
Playlist.Property.Value
Type: object
Properties:
- [Playlist.Type type]
- [integer size]
JSON Schema Description |
---|
{ "type": "object", "properties": { "type": { "$ref": "Playlist.Type" }, "size": { "type": "integer", "minimum": 0 } } } |
Playlist.Type
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "unknown", "video", "audio", "picture", "mixed" ] } |
Profiles
Profiles.Details.Profile
Extends:
Properties:
- [string thumbnail]
- [integer lockmode]
JSON Schema Description |
---|
{ "extends": "Item.Details.Base", "properties": { "thumbnail": { "type": "string" }, "lockmode": { "type": "integer" } } } |
Profiles.Fields.Profile
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "thumbnail", "lockmode" ] } } |
Profiles.Password
Type: object
Properties:
- string value
- [string encryption = md5]
JSON Schema Description |
---|
{ "type": "object", "properties": { "value": { "type": "string", "required": true, "description": "Password" }, "encryption": { "type": "string", "description": "Password Encryption", "default": "md5", "enum": [ "none", "md5" ] } } } |
Setting
Setting.Details.Base
Type: object
Properties:
- string id
- string label
- [string help]
JSON Schema Description |
---|
{ "type": "object", "properties": { "id": { "type": "string", "required": true, "minLength": 1 }, "label": { "type": "string", "required": true }, "help": { "type": "string" } } } |
Setting.Details.Category
Extends:
Properties:
- [array groups]
JSON Schema Description |
---|
{ "extends": "Setting.Details.Base", "properties": { "groups": { "type": "array", "items": { "$ref": "Setting.Details.Group" }, "minItems": 1, "uniqueItems": true } }, "additionalProperties": false } |
Setting.Details.Control
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "$ref": "Setting.Details.ControlCheckmark", "required": true }, { "$ref": "Setting.Details.ControlSpinner", "required": true }, { "$ref": "Setting.Details.ControlEdit", "required": true }, { "$ref": "Setting.Details.ControlButton", "required": true }, { "$ref": "Setting.Details.ControlList", "required": true }, { "$ref": "Setting.Details.ControlSlider", "required": true }, { "$ref": "Setting.Details.ControlRange", "required": true }, { "$ref": "Setting.Details.ControlLabel", "required": true } ] } |
Setting.Details.ControlBase
Type: object
Properties:
- string type
- string format
- boolean delayed
JSON Schema Description |
---|
{ "type": "object", "properties": { "type": { "type": "string", "required": true }, "format": { "type": "string", "required": true }, "delayed": { "type": "boolean", "required": true } } } |
Setting.Details.ControlButton
Extends:
Properties:
- string type
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlHeading", "properties": { "type": { "type": "string", "required": true, "enum": [ "button" ] } } } |
Setting.Details.ControlCheckmark
Extends:
Properties:
- string type
- string format
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlBase", "properties": { "type": { "type": "string", "required": true, "enum": [ "toggle" ] }, "format": { "type": "string", "required": true, "enum": [ "boolean" ] } } } |
Setting.Details.ControlEdit
Extends:
Properties:
- string type
- boolean hidden
- boolean verifynewvalue
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlHeading", "properties": { "type": { "type": "string", "required": true, "enum": [ "edit" ] }, "hidden": { "type": "boolean", "required": true }, "verifynewvalue": { "type": "boolean", "required": true } } } |
Setting.Details.ControlHeading
Extends:
Properties:
- [string heading]
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlBase", "properties": { "heading": { "type": "string" } } } |
Setting.Details.ControlLabel
Extends:
Properties:
- string type
- string format
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlBase", "properties": { "type": { "type": "string", "required": true, "enum": [ "label" ] }, "format": { "type": "string", "required": true, "enum": [ "string" ] } } } |
Setting.Details.ControlList
Extends:
Properties:
- string type
- boolean multiselect
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlHeading", "properties": { "type": { "type": "string", "required": true, "enum": [ "list" ] }, "multiselect": { "type": "boolean", "required": true } } } |
Setting.Details.ControlRange
Extends:
Properties:
- string type
- string formatlabel
- string formatvalue
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlBase", "properties": { "type": { "type": "string", "required": true, "enum": [ "range" ] }, "formatlabel": { "type": "string", "required": true }, "formatvalue": { "type": "string", "required": true } } } |
Setting.Details.ControlSlider
Extends:
Properties:
- string type
- string formatlabel
- boolean popup
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlHeading", "properties": { "type": { "type": "string", "required": true, "enum": [ "slider" ] }, "formatlabel": { "type": "string", "required": true }, "popup": { "type": "boolean", "required": true } } } |
Setting.Details.ControlSpinner
Extends:
Properties:
- string type
- [string formatlabel]
- [string minimumlabel]
JSON Schema Description |
---|
{ "extends": "Setting.Details.ControlBase", "properties": { "type": { "type": "string", "required": true, "enum": [ "spinner" ] }, "formatlabel": { "type": "string" }, "minimumlabel": { "type": "string" } } } |
Setting.Details.Group
Type: object
Properties:
- string id
- [array settings]
JSON Schema Description |
---|
{ "type": "object", "properties": { "id": { "type": "string", "required": true, "minLength": 1 }, "settings": { "type": "array", "items": { "$ref": "Setting.Details.Setting" }, "minItems": 1, "uniqueItems": true } }, "additionalProperties": false } |
Setting.Details.Section
Extends:
Properties:
- [array categories]
JSON Schema Description |
---|
{ "extends": "Setting.Details.Base", "properties": { "categories": { "type": "array", "items": { "$ref": "Setting.Details.Category" }, "minItems": 1, "uniqueItems": true } }, "additionalProperties": false } |
Setting.Details.Setting
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "$ref": "Setting.Details.SettingBool", "required": true }, { "$ref": "Setting.Details.SettingInt", "required": true }, { "$ref": "Setting.Details.SettingNumber", "required": true }, { "$ref": "Setting.Details.SettingString", "required": true }, { "$ref": "Setting.Details.SettingAction", "required": true }, { "$ref": "Setting.Details.SettingList", "required": true }, { "$ref": "Setting.Details.SettingPath", "required": true }, { "$ref": "Setting.Details.SettingAddon", "required": true }, { "$ref": "Setting.Details.SettingDate", "required": true }, { "$ref": "Setting.Details.SettingTime", "required": true } ] } |
Setting.Details.SettingAction
Extends:
Properties:
- string data
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingBase", "properties": { "data": { "type": "string", "required": true } }, "additionalProperties": false } |
Setting.Details.SettingAddon
Extends:
Properties:
- Addon.Types addontype
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingString", "properties": { "addontype": { "$ref": "Addon.Types", "required": true } }, "additionalProperties": false } |
Setting.Details.SettingBase
Extends:
Properties:
- Setting.Type type
- boolean enabled
- Setting.Level level
- [string parent]
- [Setting.Details.Control control]
JSON Schema Description |
---|
{ "extends": "Setting.Details.Base", "properties": { "type": { "$ref": "Setting.Type", "required": true }, "enabled": { "type": "boolean", "required": true }, "level": { "$ref": "Setting.Level", "required": true }, "parent": { "type": "string" }, "control": { "$ref": "Setting.Details.Control" } }, "additionalProperties": false } |
Setting.Details.SettingBool
Extends:
Properties:
- boolean value
- boolean default
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingBase", "properties": { "value": { "type": "boolean", "required": true }, "default": { "type": "boolean", "required": true } }, "additionalProperties": false } |
Setting.Details.SettingDate
Extends:
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingString", "additionalProperties": false } |
Setting.Details.SettingInt
Extends:
Properties:
- integer value
- integer default
- [integer minimum]
- [integer step]
- [integer maximum]
- [array options]
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingBase", "properties": { "value": { "type": "integer", "required": true }, "default": { "type": "integer", "required": true }, "minimum": { "type": "integer" }, "step": { "type": "integer" }, "maximum": { "type": "integer" }, "options": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string", "required": true }, "value": { "type": "integer", "required": true } } } } }, "additionalProperties": false } |
Setting.Details.SettingList
Extends:
Properties:
- Setting.Value.List value
- Setting.Value.List default
- Setting.Type elementtype
- Setting.Details.Setting definition
- string delimiter
- [integer minimumItems]
- [integer maximumItems]
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingBase", "properties": { "value": { "$ref": "Setting.Value.List", "required": true }, "default": { "$ref": "Setting.Value.List", "required": true }, "elementtype": { "$ref": "Setting.Type", "required": true }, "definition": { "$ref": "Setting.Details.Setting", "required": true }, "delimiter": { "type": "string", "required": true }, "minimumItems": { "type": "integer" }, "maximumItems": { "type": "integer" } }, "additionalProperties": false } |
Setting.Details.SettingNumber
Extends:
Properties:
- number value
- number default
- number minimum
- number step
- number maximum
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingBase", "properties": { "value": { "type": "number", "required": true }, "default": { "type": "number", "required": true }, "minimum": { "type": "number", "required": true }, "step": { "type": "number", "required": true }, "maximum": { "type": "number", "required": true } }, "additionalProperties": false } |
Setting.Details.SettingPath
Extends:
Properties:
- boolean writable
- [array sources]
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingString", "properties": { "writable": { "type": "boolean", "required": true }, "sources": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false } |
Setting.Details.SettingString
Extends:
Properties:
- string value
- string default
- boolean allowempty
- [array options]
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingBase", "properties": { "value": { "type": "string", "required": true }, "default": { "type": "string", "required": true }, "allowempty": { "type": "boolean", "required": true }, "options": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string", "required": true }, "value": { "type": "string", "required": true } } } } } } |
Setting.Details.SettingTime
Extends:
JSON Schema Description |
---|
{ "extends": "Setting.Details.SettingString", "additionalProperties": false } |
Setting.Level
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "basic", "standard", "advanced", "expert" ] } |
Setting.Type
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "boolean", "integer", "number", "string", "action", "list", "path", "addon", "date", "time" ] } |
Setting.Value
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "boolean", "required": true }, { "type": "integer", "required": true }, { "type": "number", "required": true }, { "type": "string", "required": true } ] } |
Setting.Value.Extended
Type: mixed
JSON Schema Description |
---|
{ "type": [ { "type": "boolean", "required": true }, { "type": "integer", "required": true }, { "type": "number", "required": true }, { "type": "string", "required": true }, { "$ref": "Setting.Value.List", "required": true } ] } |
Setting.Value.List
Type: array
JSON Schema Description |
---|
{ "type": "array", "items": { "$ref": "Setting.Value" } } |
System
System.Property.Name
Type: string
JSON Schema Description |
---|
{ "type": "string", "enum": [ "canshutdown", "cansuspend", "canhibernate", "canreboot" ] } |
System.Property.Value
Type: object
Properties:
- [boolean canshutdown]
- [boolean cansuspend]
- [boolean canhibernate]
- [boolean canreboot]
JSON Schema Description |
---|
{ "type": "object", "properties": { "canshutdown": { "type": "boolean" }, "cansuspend": { "type": "boolean" }, "canhibernate": { "type": "boolean" }, "canreboot": { "type": "boolean" } } } |
Textures
Textures.Details.Size
Type: object
Properties:
- [integer size]
- [integer width]
- [integer height]
- [integer usecount]
- [string lastused]
JSON Schema Description |
---|
{ "type": "object", "properties": { "size": { "type": "integer", "description": "Size of the texture (1 == largest)" }, "width": { "type": "integer", "description": "Width of texture" }, "height": { "type": "integer", "description": "Height of texture" }, "usecount": { "type": "integer", "description": "Number of uses" }, "lastused": { "type": "string", "description": "Date of last use" } } } |
Textures.Details.Texture
Type: object
Properties:
- Library.Id textureid
- [string url]
- [string cachedurl]
- [string lasthashcheck]
- [string imagehash]
- [array sizes]
JSON Schema Description |
---|
{ "type": "object", "properties": { "textureid": { "$ref": "Library.Id", "required": "true" }, "url": { "type": "string", "description": "Original source URL" }, "cachedurl": { "type": "string", "description": "Cached URL on disk" }, "lasthashcheck": { "type": "string", "description": "Last time source was checked for changes" }, "imagehash": { "type": "string", "description": "Hash of image" }, "sizes": { "type": "array", "items": { "$ref": "Textures.Details.Size" } } } } |
Textures.Fields.Texture
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "url", "cachedurl", "lasthashcheck", "imagehash", "sizes" ] } } |
Video
Video.Cast
Type: array
JSON Schema Description |
---|
{ "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "role": { "type": "string", "required": true }, "order": { "type": "integer", "required": true }, "thumbnail": { "type": "string" } }, "additionalProperties": false } } |
Video.Details.Base
Extends:
Properties:
- [integer playcount]
- [Media.Artwork art]
JSON Schema Description |
---|
{ "extends": "Media.Details.Base", "properties": { "playcount": { "type": "integer" }, "art": { "$ref": "Media.Artwork" } } } |
Video.Details.Episode
Extends:
Properties:
- Library.Id episodeid
- [string votes]
- [number rating]
- [Array.String writer]
- [string firstaired]
- [string productioncode]
- [integer season]
- [integer episode]
- [Media.UniqueID uniqueid]
- [string originaltitle]
- [string showtitle]
- [Video.Cast cast]
- [Library.Id tvshowid]
- [integer specialsortseason]
- [integer specialsortepisode]
- [integer userrating]
- [Library.Id seasonid]
- [Video.Ratings ratings]
JSON Schema Description |
---|
{ "extends": "Video.Details.File", "properties": { "episodeid": { "$ref": "Library.Id", "required": true }, "votes": { "type": "string" }, "rating": { "type": "number" }, "writer": { "$ref": "Array.String" }, "firstaired": { "type": "string" }, "productioncode": { "type": "string" }, "season": { "type": "integer" }, "episode": { "type": "integer" }, "uniqueid": { "$ref": "Media.UniqueID" }, "originaltitle": { "type": "string" }, "showtitle": { "type": "string" }, "cast": { "$ref": "Video.Cast" }, "tvshowid": { "$ref": "Library.Id" }, "specialsortseason": { "type": "integer" }, "specialsortepisode": { "type": "integer" }, "userrating": { "type": "integer" }, "seasonid": { "$ref": "Library.Id" }, "ratings": { "type": "Video.Ratings" } } } |
Video.Details.File
Extends:
Properties:
- [integer runtime]
- [Array.String director]
- [Video.Streams streamdetails]
- [Video.Resume resume]
JSON Schema Description |
---|
{ "extends": "Video.Details.Item", "properties": { "runtime": { "type": "integer", "description": "Runtime in seconds" }, "director": { "$ref": "Array.String" }, "streamdetails": { "$ref": "Video.Streams" }, "resume": { "$ref": "Video.Resume" } } } |
Video.Details.Item
Extends:
Properties:
- [string file]
- [string plot]
- [string lastplayed]
- [string dateadded]
JSON Schema Description |
---|
{ "extends": "Video.Details.Media", "properties": { "file": { "type": "string" }, "plot": { "type": "string" }, "lastplayed": { "type": "string" }, "dateadded": { "type": "string" } } } |
Video.Details.Media
Extends:
Properties:
- [string title]
JSON Schema Description |
---|
{ "extends": "Video.Details.Base", "properties": { "title": { "type": "string" } } } |
Video.Details.Movie
Extends:
Properties:
- Library.Id movieid
- [Array.String genre]
- [integer year]
- [number rating]
- [string trailer]
- [string tagline]
- [string plotoutline]
- [string originaltitle]
- [string sorttitle]
- [Array.String writer]
- [Array.String studio]
- [string mpaa]
- [Video.Cast cast]
- [Array.String country]
- [string imdbnumber]
- [string set]
- [Array.String showlink]
- [integer top250]
- [string votes]
- [Library.Id setid]
- [Array.String tag]
- [integer userrating]
- [Video.Ratings ratings]
- [string premiered]
- [Media.UniqueID uniqueid]
JSON Schema Description |
---|
{ "extends": "Video.Details.File", "properties": { "movieid": { "$ref": "Library.Id", "required": true }, "genre": { "$ref": "Array.String" }, "year": { "type": "integer" }, "rating": { "type": "number" }, "trailer": { "type": "string" }, "tagline": { "type": "string" }, "plotoutline": { "type": "string" }, "originaltitle": { "type": "string" }, "sorttitle": { "type": "string" }, "writer": { "$ref": "Array.String" }, "studio": { "$ref": "Array.String" }, "mpaa": { "type": "string" }, "cast": { "$ref": "Video.Cast" }, "country": { "$ref": "Array.String" }, "imdbnumber": { "type": "string" }, "set": { "type": "string" }, "showlink": { "$ref": "Array.String" }, "top250": { "type": "integer" }, "votes": { "type": "string" }, "setid": { "$ref": "Library.Id" }, "tag": { "$ref": "Array.String" }, "userrating": { "type": "integer" }, "ratings": { "type": "Video.Ratings" }, "premiered": { "type": "string" }, "uniqueid": { "$ref": "Media.UniqueID" } } } |
Video.Details.MovieSet
Extends:
Properties:
- Library.Id setid
- [string plot]
JSON Schema Description |
---|
{ "extends": "Video.Details.Media", "properties": { "setid": { "$ref": "Library.Id", "required": true }, "plot": { "type": "string" } } } |
Video.Details.MovieSet.Extended
Extends:
Properties:
- List.LimitsReturned limits
- [array movies]
JSON Schema Description |
---|
{ "extends": "Video.Details.MovieSet", "properties": { "limits": { "$ref": "List.LimitsReturned", "required": true }, "movies": { "type": "array", "items": { "$ref": "Video.Details.Movie" } } } } |
Video.Details.MusicVideo
Extends:
Properties:
- Library.Id musicvideoid
- [Array.String studio]
- [integer year]
- [string album]
- [Array.String artist]
- [Array.String genre]
- [integer track]
- [Array.String tag]
- [number rating]
- [integer userrating]
- [string premiered]
JSON Schema Description |
---|
{ "extends": "Video.Details.File", "properties": { "musicvideoid": { "$ref": "Library.Id", "required": true }, "studio": { "$ref": "Array.String" }, "year": { "type": "integer" }, "album": { "type": "string" }, "artist": { "$ref": "Array.String" }, "genre": { "$ref": "Array.String" }, "track": { "type": "integer" }, "tag": { "$ref": "Array.String" }, "rating": { "type": "number" }, "userrating": { "type": "integer" }, "premiered": { "type": "string" } } } |
Video.Details.Season
Extends:
Properties:
- Library.Id seasonid
- integer season
- [string showtitle]
- [integer episode]
- [integer watchedepisodes]
- [Library.Id tvshowid]
- [integer userrating]
- [string title]
JSON Schema Description |
---|
{ "extends": "Video.Details.Base", "properties": { "seasonid": { "$ref": "Library.Id", "required": true }, "season": { "type": "integer", "required": true }, "showtitle": { "type": "string" }, "episode": { "type": "integer" }, "watchedepisodes": { "type": "integer" }, "tvshowid": { "$ref": "Library.Id" }, "userrating": { "type": "integer" }, "title": { "type": "string" } } } |
Video.Details.TVShow
Extends:
Properties:
- Library.Id tvshowid
- [Array.String genre]
- [integer year]
- [number rating]
- [string originaltitle]
- [string sorttitle]
- [Array.String studio]
- [string mpaa]
- [Video.Cast cast]
- [integer episode]
- [integer watchedepisodes]
- [string imdbnumber]
- [string premiered]
- [string votes]
- [string episodeguide]
- [integer season]
- [Array.String tag]
- [integer userrating]
- [Video.Ratings ratings]
- [integer runtime]
- [string status]
- [Media.UniqueID uniqueid]
JSON Schema Description |
---|
{ "extends": "Video.Details.Item", "properties": { "tvshowid": { "$ref": "Library.Id", "required": true }, "genre": { "$ref": "Array.String" }, "year": { "type": "integer" }, "rating": { "type": "number" }, "originaltitle": { "type": "string" }, "sorttitle": { "type": "string" }, "studio": { "$ref": "Array.String" }, "mpaa": { "type": "string" }, "cast": { "$ref": "Video.Cast" }, "episode": { "type": "integer" }, "watchedepisodes": { "type": "integer" }, "imdbnumber": { "type": "string" }, "premiered": { "type": "string" }, "votes": { "type": "string" }, "episodeguide": { "type": "string" }, "season": { "type": "integer" }, "tag": { "$ref": "Array.String" }, "userrating": { "type": "integer" }, "ratings": { "type": "Video.Ratings" }, "runtime": { "type": "integer", "description": "Runtime in seconds" }, "status": { "type": "string", "description": "Returns 'returning series', 'in production', 'planned', 'cancelled' or 'ended'" }, "uniqueid": { "$ref": "Media.UniqueID" } } } |
Video.Fields.Episode
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "description": "Requesting the cast, ratings, streamdetails, uniqueid and/or tag field will result in increased response times", "enum": [ "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" ] } } |
Video.Fields.Movie
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "description": "Requesting the cast, ratings, showlink, streamdetails, uniqueid and/or tag field will result in increased response times", "enum": [ "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" ] } } |
Video.Fields.MovieSet
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "title", "playcount", "fanart", "thumbnail", "art", "plot" ] } } |
Video.Fields.MusicVideo
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "description": "Requesting the streamdetails and/or tag field will result in increased response times", "enum": [ "title", "playcount", "runtime", "director", "studio", "year", "plot", "album", "artist", "genre", "track", "streamdetails", "lastplayed", "fanart", "thumbnail", "file", "resume", "dateadded", "tag", "art", "rating", "userrating", "premiered" ] } } |
Video.Fields.Season
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "enum": [ "season", "showtitle", "playcount", "episode", "fanart", "thumbnail", "tvshowid", "watchedepisodes", "art", "userrating", "title" ] } } |
Video.Fields.TVShow
Extends:
JSON Schema Description |
---|
{ "extends": "Item.Fields.Base", "items": { "type": "string", "description": "Requesting the cast, ratings, uniqueid and/or tag field will result in increased response times", "enum": [ "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" ] } } |
Video.Rating
Type: object
Properties:
- number rating
- [integer votes]
- [boolean default]
JSON Schema Description |
---|
{ "type": "object", "properties": { "rating": { "type": "number", "required": true }, "votes": { "type": "integer" }, "default": { "type": "boolean" } } } |
Video.Ratings
Type: object
JSON Schema Description |
---|
{ "type": "object", "additionalProperties": { "$ref": "Video.Rating" } } |
Video.Ratings.Set
Type: object
JSON Schema Description |
---|
{ "type": "object", "additionalProperties": { "type": [ "null", { "$ref": "Video.Rating", "required": true } ] } } |
Video.Resume
Type: object
Properties:
- [number position]
- [number total]
JSON Schema Description |
---|
{ "type": "object", "properties": { "position": { "type": "number", "minimum": 0.0 }, "total": { "type": "number", "minimum": 0.0 } }, "additionalProperties": false } |
Video.Streams
Type: object
Properties:
- [array audio]
- [array video]
- [array subtitle]
JSON Schema Description |
---|
{ "type": "object", "properties": { "audio": { "type": "array", "minItems": 1, "items": { "type": "object", "properties": { "codec": { "type": "string" }, "language": { "type": "string" }, "channels": { "type": "integer" } }, "additionalProperties": false } }, "video": { "type": "array", "minItems": 1, "items": { "type": "object", "properties": { "codec": { "type": "string" }, "aspect": { "type": "number" }, "width": { "type": "integer" }, "height": { "type": "integer" }, "duration": { "type": "integer" } }, "additionalProperties": false } }, "subtitle": { "type": "array", "minItems": 1, "items": { "type": "object", "properties": { "language": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false } |
Notifications
Application
Application.OnVolumeChanged
The volume of the application has changed.
Parameters:
- string sender
- object data:
- integer volume
- boolean muted
JSON Schema Description |
---|
{ "type": "notification", "description": "The volume of the application has changed.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "volume": { "type": "integer", "minimum": 0, "maximum": 100, "required": true }, "muted": { "type": "boolean", "required": true } } } ], "returns": null } |
AudioLibrary
AudioLibrary.OnCleanFinished
The audio library has been cleaned.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The audio library has been cleaned.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
AudioLibrary.OnCleanStarted
An audio library clean operation has started.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "An audio library clean operation has started.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
AudioLibrary.OnExport
An audio library export has finished.
Parameters:
- string sender
- [object data]:
- [string file = ""]
- [integer failcount = 0]
JSON Schema Description |
---|
{ "type": "notification", "description": "An audio library export has finished.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": false, "properties": { "file": { "type": "string", "required": false, "default": "" }, "failcount": { "type": "integer", "minimum": 0, "required": false, "default": 0 } } } ], "returns": null } |
AudioLibrary.OnRemove
An audio item has been removed.
Parameters:
- string sender
- object data:
- Library.Id id
- Notifications.Library.Audio.Type type
- Optional.Boolean transaction
JSON Schema Description |
---|
{ "type": "notification", "description": "An audio item has been removed.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "id": { "$ref": "Library.Id", "required": true }, "type": { "$ref": "Notifications.Library.Audio.Type", "required": true }, "transaction": { "$ref": "Optional.Boolean", "description": "True if the removal is being performed within a transaction." } } } ], "returns": null } |
AudioLibrary.OnScanFinished
Scanning the audio library has been finished.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "Scanning the audio library has been finished.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
AudioLibrary.OnScanStarted
An audio library scan has started.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "An audio library scan has started.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
AudioLibrary.OnUpdate
An audio item has been updated.
Parameters:
- string sender
- object data:
- Library.Id id
- string type
- Optional.Boolean transaction
- Optional.Boolean added
JSON Schema Description |
---|
{ "type": "notification", "description": "An audio item has been updated.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "id": { "$ref": "Library.Id", "required": true }, "type": { "type": "string", "id": "Notifications.Library.Audio.Type", "enum": [ "song" ], "required": true }, "transaction": { "$ref": "Optional.Boolean", "description": "True if the update is being performed within a transaction." }, "added": { "$ref": "Optional.Boolean", "description": "True if the update is for a newly added item." } } } ], "returns": null } |
GUI
GUI.OnDPMSActivated
Energy saving/DPMS has been activated.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "Energy saving/DPMS has been activated.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
GUI.OnDPMSDeactivated
Energy saving/DPMS has been deactivated.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "Energy saving/DPMS has been deactivated.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
GUI.OnScreensaverActivated
The screensaver has been activated.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The screensaver has been activated.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
GUI.OnScreensaverDeactivated
The screensaver has been deactivated.
Parameters:
- string sender
- object data:
- boolean shuttingdown
JSON Schema Description |
---|
{ "type": "notification", "description": "The screensaver has been deactivated.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "shuttingdown": { "type": "boolean", "required": true } } } ], "returns": null } |
Input
Input.OnInputFinished
The user has provided the requested input.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The user has provided the requested input.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
Input.OnInputRequested
The user is requested to provide some information.
Parameters:
- string sender
- object data:
- string type
- string value
- string title
JSON Schema Description |
---|
{ "type": "notification", "description": "The user is requested to provide some information.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "type": { "type": "string", "enum": [ "keyboard", "time", "date", "ip", "password", "numericpassword", "number", "seconds" ], "required": true }, "value": { "type": "string", "required": true }, "title": { "type": "string" } } } ], "returns": null } |
Player
Player.OnAVChange
Audio- or videostream has changed. If there is no ID available extra information will be provided.
Parameters:
- string sender
- Player.Notifications.Data data
JSON Schema Description |
---|
{ "type": "notification", "description": "Audio- or videostream has changed. If there is no ID available extra information will be provided.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "$ref": "Player.Notifications.Data", "required": true } ], "returns": null } |
Player.OnAVStart
Playback of a media item has been started and first frame is available. If there is no ID available extra information will be provided.
Parameters:
- string sender
- Player.Notifications.Data data
JSON Schema Description |
---|
{ "type": "notification", "description": "Playback of a media item has been started and first frame is available. If there is no ID available extra information will be provided.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "$ref": "Player.Notifications.Data", "required": true } ], "returns": null } |
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 |
---|
{ "type": "notification", "description": "Playback of a media item has been paused. If there is no ID available extra information will be provided.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "$ref": "Player.Notifications.Data", "required": true } ], "returns": null } |
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 |
---|
{ "type": "notification", "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.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "$ref": "Player.Notifications.Data", "required": true } ], "returns": null } |
Player.OnPropertyChanged
A property of the playing items has changed.
Parameters:
- string sender
- object data:
- Player.Property.Value property
- Player.Notifications.Player player
JSON Schema Description |
---|
{ "type": "notification", "description": "A property of the playing items has changed.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "property": { "$ref": "Player.Property.Value" }, "player": { "$ref": "Player.Notifications.Player", "required": true } } } ], "returns": null } |
Player.OnResume
Playback of a media item has been resumed. If there is no ID available extra information will be provided.
Parameters:
- string sender
- Player.Notifications.Data data
JSON Schema Description |
---|
{ "type": "notification", "description": "Playback of a media item has been resumed. If there is no ID available extra information will be provided.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "$ref": "Player.Notifications.Data", "required": true } ], "returns": null } |
Player.OnSeek
The playback position has been changed. If there is no ID available extra information will be provided.
Parameters:
- string sender
- object data:
- Notifications.Item item
- Player.Notifications.Player.Seek player
JSON Schema Description |
---|
{ "type": "notification", "description": "The playback position has been changed. If there is no ID available extra information will be provided.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "item": { "$ref": "Notifications.Item" }, "player": { "$ref": "Player.Notifications.Player.Seek", "required": true } } } ], "returns": null } |
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 |
---|
{ "type": "notification", "description": "Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "$ref": "Player.Notifications.Data", "required": true } ], "returns": null } |
Player.OnStop
Playback of a media item has been stopped. If there is no ID available extra information will be provided.
Parameters:
- string sender
- object data:
- Notifications.Item item
- boolean end
JSON Schema Description |
---|
{ "type": "notification", "description": "Playback of a media item has been stopped. If there is no ID available extra information will be provided.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "item": { "$ref": "Notifications.Item" }, "end": { "type": "boolean", "required": true, "description": "Whether the player has reached the end of the playable item(s) or not" } } } ], "returns": null } |
Playlist
Playlist.OnAdd
A playlist item has been added.
Parameters:
- string sender
- object data:
- Playlist.Id playlistid
- Notifications.Item item
- Playlist.Position position
JSON Schema Description |
---|
{ "type": "notification", "description": "A playlist item has been added.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "playlistid": { "$ref": "Playlist.Id", "required": true }, "item": { "$ref": "Notifications.Item" }, "position": { "$ref": "Playlist.Position" } } } ], "returns": null } |
Playlist.OnClear
A playlist item has been cleared.
Parameters:
- string sender
- object data:
- Playlist.Id playlistid
JSON Schema Description |
---|
{ "type": "notification", "description": "A playlist item has been cleared.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "playlistid": { "$ref": "Playlist.Id", "required": true } } } ], "returns": null } |
Playlist.OnRemove
A playlist item has been removed.
Parameters:
- string sender
- object data:
- Playlist.Id playlistid
- Playlist.Position position
JSON Schema Description |
---|
{ "type": "notification", "description": "A playlist item has been removed.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "playlistid": { "$ref": "Playlist.Id", "required": true }, "position": { "$ref": "Playlist.Position" } } } ], "returns": null } |
System
System.OnLowBattery
The system is on low battery.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The system is on low battery.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
System.OnQuit
Kodi will be closed.
Parameters:
- string sender
- object data:
- integer exitcode
JSON Schema Description |
---|
{ "type": "notification", "description": "Kodi will be closed.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "exitcode": { "type": "integer", "minimum": 0, "required": true } } } ], "returns": null } |
System.OnRestart
The system will be restarted.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The system will be restarted.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
System.OnSleep
The system will be suspended.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The system will be suspended.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
System.OnWake
The system woke up from suspension.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The system woke up from suspension.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
VideoLibrary
VideoLibrary.OnCleanFinished
The video library has been cleaned.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The video library has been cleaned.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
VideoLibrary.OnCleanStarted
A video library clean operation has started.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "A video library clean operation has started.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
VideoLibrary.OnExport
A video library export has finished.
Parameters:
- string sender
- [object data]:
- [string file = ""]
- [string root = ""]
- [integer failcount = 0]
JSON Schema Description |
---|
{ "type": "notification", "description": "A video library export has finished.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": false, "properties": { "file": { "type": "string", "required": false, "default": "" }, "root": { "type": "string", "required": false, "default": "" }, "failcount": { "type": "integer", "minimum": 0, "required": false, "default": 0 } } } ], "returns": null } |
VideoLibrary.OnRefresh
The video library has been refreshed and a home screen reload might be necessary.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "The video library has been refreshed and a home screen reload might be necessary.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
VideoLibrary.OnRemove
A video item has been removed.
Parameters:
- string sender
- object data:
- Library.Id id
- Notifications.Library.Video.Type type
- Optional.Boolean transaction
JSON Schema Description |
---|
{ "type": "notification", "description": "A video item has been removed.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "id": { "$ref": "Library.Id", "required": true }, "type": { "$ref": "Notifications.Library.Video.Type", "required": true }, "transaction": { "$ref": "Optional.Boolean", "description": "True if the removal is being performed within a transaction." } } } ], "returns": null } |
VideoLibrary.OnScanFinished
Scanning the video library has been finished.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "Scanning the video library has been finished.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
VideoLibrary.OnScanStarted
A video library scan has started.
Parameters:
- string sender
- string data
JSON Schema Description |
---|
{ "type": "notification", "description": "A video library scan has started.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "null", "required": true } ], "returns": null } |
VideoLibrary.OnUpdate
A video item has been updated.
Parameters:
- string sender
- object data:
- Library.Id id
- string type
- integer playcount = -1
- Optional.Boolean transaction
- Optional.Boolean added
JSON Schema Description |
---|
{ "type": "notification", "description": "A video item has been updated.", "params": [ { "name": "sender", "type": "string", "required": true }, { "name": "data", "type": "object", "required": true, "properties": { "id": { "$ref": "Library.Id", "required": true }, "type": { "type": "string", "id": "Notifications.Library.Video.Type", "enum": [ "movie", "tvshow", "episode", "musicvideo" ], "required": true }, "playcount": { "type": "integer", "minimum": 0, "default": -1 }, "transaction": { "$ref": "Optional.Boolean", "description": "True if the update is being performed within a transaction." }, "added": { "$ref": "Optional.Boolean", "description": "True if the update is for a newly added item." } } } ], "returns": null } |
See also
- JSON-RPC API
- JSON-RPC API v4 (Eden)
- JSON-RPC API v6 (Frodo - Jarvis)
- JSON-RPC API v8 (Krypton)
- JSON-RPC API v10 (Leia)