Kore/doc/json_responses/Introspect-Helix.json

8560 lines
162 KiB
JSON

{
"id": "1",
"jsonrpc": "2.0",
"result": {
"description": "JSON-RPC API of XBMC",
"id": "http://www.xbmc.org/jsonrpc/ServiceDescription.json",
"methods": {
"Addons.ExecuteAddon": {
"description": "Executes the given addon with the given parameters (if possible)",
"params": [
{
"name": "addonid",
"required": true,
"type": "string"
},
{
"default": null,
"name": "params",
"type": [
{
"additionalProperties": {
"default": "",
"type": "string"
},
"type": "object"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
{
"default": false,
"name": "wait",
"type": "boolean"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Addons.GetAddonDetails": {
"description": "Gets the details of a specific addon",
"params": [
{
"name": "addonid",
"required": true,
"type": "string"
},
{
"$ref": "Addon.Fields",
"name": "properties"
}
],
"returns": {
"properties": {
"addon": {
"$ref": "Addon.Details",
"required": true
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"Addons.GetAddons": {
"description": "Gets all available addons",
"params": [
{
"$ref": "Addon.Types",
"default": "unknown",
"name": "type"
},
{
"$ref": "Addon.Content",
"default": "unknown",
"description": "Content provided by the addon. Only considered for plugins and scripts.",
"name": "content"
},
{
"default": "all",
"name": "enabled",
"type": [
{
"type": "boolean"
},
{
"enums": [
"all"
],
"type": "string"
}
]
},
{
"$ref": "Addon.Fields",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
}
],
"returns": {
"properties": {
"addons": {
"items": {
"$ref": "Addon.Details"
},
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"Addons.SetAddonEnabled": {
"description": "Enables/Disables a specific addon",
"params": [
{
"name": "addonid",
"required": true,
"type": "string"
},
{
"$ref": "Global.Toggle",
"name": "enabled",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Application.GetProperties": {
"description": "Retrieves the values of the given properties",
"params": [
{
"items": {
"$ref": "Application.Property.Name"
},
"name": "properties",
"required": true,
"type": "array",
"uniqueItems": true
}
],
"returns": {
"$ref": "Application.Property.Value"
},
"type": "method"
},
"Application.Quit": {
"description": "Quit application",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Application.SetMute": {
"description": "Toggle mute/unmute",
"params": [
{
"$ref": "Global.Toggle",
"name": "mute",
"required": true
}
],
"returns": {
"description": "Mute state",
"type": "boolean"
},
"type": "method"
},
"Application.SetVolume": {
"description": "Set the current volume",
"params": [
{
"name": "volume",
"required": true,
"type": [
{
"maximum": 100,
"minimum": 0,
"type": "integer"
},
{
"$ref": "Global.IncrementDecrement"
}
]
}
],
"returns": {
"type": "integer"
},
"type": "method"
},
"AudioLibrary.Clean": {
"description": "Cleans the audio library from non-existent items",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"AudioLibrary.Export": {
"description": "Exports all items from the audio library",
"params": [
{
"name": "options",
"type": [
{
"additionalProperties": false,
"properties": {
"path": {
"description": "Path to the directory to where the data should be exported",
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"images": {
"default": false,
"description": "Whether to export thumbnails and fanart images",
"type": "boolean"
},
"overwrite": {
"default": false,
"description": "Whether to overwrite existing exported files",
"type": "boolean"
}
},
"type": "object"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"AudioLibrary.GetAlbumDetails": {
"description": "Retrieve details about a specific album",
"params": [
{
"$ref": "Library.Id",
"name": "albumid",
"required": true
},
{
"$ref": "Audio.Fields.Album",
"name": "properties"
}
],
"returns": {
"properties": {
"albumdetails": {
"$ref": "Audio.Details.Album"
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetAlbums": {
"description": "Retrieve all albums from specified artist or genre",
"params": [
{
"$ref": "Audio.Fields.Album",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
},
{
"name": "filter",
"type": [
{
"additionalProperties": false,
"properties": {
"genreid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genre": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"artistid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"artist": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Albums"
}
]
}
],
"returns": {
"properties": {
"albums": {
"items": {
"$ref": "Audio.Details.Album"
},
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetArtistDetails": {
"description": "Retrieve details about a specific artist",
"params": [
{
"$ref": "Library.Id",
"name": "artistid",
"required": true
},
{
"$ref": "Audio.Fields.Artist",
"name": "properties"
}
],
"returns": {
"properties": {
"artistdetails": {
"$ref": "Audio.Details.Artist"
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetArtists": {
"description": "Retrieve all artists",
"params": [
{
"$ref": "Optional.Boolean",
"default": null,
"description": "Whether or not to include artists only appearing in compilations. If the parameter is not passed or is passed as null the GUI setting will be used",
"name": "albumartistsonly"
},
{
"$ref": "Audio.Fields.Artist",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
},
{
"name": "filter",
"type": [
{
"additionalProperties": false,
"properties": {
"genreid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genre": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"albumid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"album": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"songid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"$ref": "List.Filter.Artists"
}
]
}
],
"returns": {
"properties": {
"artists": {
"items": {
"$ref": "Audio.Details.Artist"
},
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetGenres": {
"description": "Retrieve all genres",
"params": [
{
"$ref": "Library.Fields.Genre",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"genres": {
"items": {
"$ref": "Library.Details.Genre"
},
"required": true,
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetRecentlyAddedAlbums": {
"description": "Retrieve recently added albums",
"params": [
{
"$ref": "Audio.Fields.Album",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"albums": {
"items": {
"$ref": "Audio.Details.Album"
},
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetRecentlyAddedSongs": {
"description": "Retrieve recently added songs",
"params": [
{
"$ref": "List.Amount",
"default": -1,
"description": "The amount of recently added albums from which to return the songs",
"name": "albumlimit"
},
{
"$ref": "Audio.Fields.Song",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"songs": {
"items": {
"$ref": "Audio.Details.Song"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetRecentlyPlayedAlbums": {
"description": "Retrieve recently played albums",
"params": [
{
"$ref": "Audio.Fields.Album",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"albums": {
"items": {
"$ref": "Audio.Details.Album"
},
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetRecentlyPlayedSongs": {
"description": "Retrieve recently played songs",
"params": [
{
"$ref": "Audio.Fields.Song",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"songs": {
"items": {
"$ref": "Audio.Details.Song"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetSongDetails": {
"description": "Retrieve details about a specific song",
"params": [
{
"$ref": "Library.Id",
"name": "songid",
"required": true
},
{
"$ref": "Audio.Fields.Song",
"name": "properties"
}
],
"returns": {
"properties": {
"songdetails": {
"$ref": "Audio.Details.Song"
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.GetSongs": {
"description": "Retrieve all songs from specified album, artist or genre",
"params": [
{
"$ref": "Audio.Fields.Song",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
},
{
"name": "filter",
"type": [
{
"additionalProperties": false,
"properties": {
"genreid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genre": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"artistid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"artist": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"albumid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"album": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Songs"
}
]
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"songs": {
"items": {
"$ref": "Audio.Details.Song"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"AudioLibrary.Scan": {
"description": "Scans the audio sources for new library items",
"params": [
{
"default": "",
"name": "directory",
"type": "string"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"AudioLibrary.SetAlbumDetails": {
"description": "Update the given album with the given details",
"params": [
{
"$ref": "Library.Id",
"name": "albumid",
"required": true
},
{
"$ref": "Optional.String",
"default": null,
"name": "title"
},
{
"default": null,
"name": "artist",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.String",
"default": null,
"name": "description"
},
{
"default": null,
"name": "genre",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "theme",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "mood",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "style",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.String",
"default": null,
"name": "type"
},
{
"$ref": "Optional.String",
"default": null,
"name": "albumlabel"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "rating"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "year"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"AudioLibrary.SetArtistDetails": {
"description": "Update the given artist with the given details",
"params": [
{
"$ref": "Library.Id",
"name": "artistid",
"required": true
},
{
"$ref": "Optional.String",
"default": null,
"name": "artist"
},
{
"default": null,
"name": "instrument",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "style",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "mood",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.String",
"default": null,
"name": "born"
},
{
"$ref": "Optional.String",
"default": null,
"name": "formed"
},
{
"$ref": "Optional.String",
"default": null,
"name": "description"
},
{
"default": null,
"name": "genre",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.String",
"default": null,
"name": "died"
},
{
"$ref": "Optional.String",
"default": null,
"name": "disbanded"
},
{
"default": null,
"name": "yearsactive",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"AudioLibrary.SetSongDetails": {
"description": "Update the given song with the given details",
"params": [
{
"$ref": "Library.Id",
"name": "songid",
"required": true
},
{
"$ref": "Optional.String",
"default": null,
"name": "title"
},
{
"default": null,
"name": "artist",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "albumartist",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "genre",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "year"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "rating"
},
{
"$ref": "Optional.String",
"default": null,
"name": "album"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "track"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "disc"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "duration"
},
{
"$ref": "Optional.String",
"default": null,
"name": "comment"
},
{
"$ref": "Optional.String",
"default": null,
"name": "musicbrainztrackid"
},
{
"$ref": "Optional.String",
"default": null,
"name": "musicbrainzartistid"
},
{
"$ref": "Optional.String",
"default": null,
"name": "musicbrainzalbumid"
},
{
"$ref": "Optional.String",
"default": null,
"name": "musicbrainzalbumartistid"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Files.GetDirectory": {
"description": "Get the directories and files in the given directory",
"params": [
{
"name": "directory",
"required": true,
"type": "string"
},
{
"$ref": "Files.Media",
"default": "files",
"name": "media"
},
{
"$ref": "List.Fields.Files",
"name": "properties"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"files": {
"items": {
"$ref": "List.Item.File"
},
"required": true,
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"Files.GetFileDetails": {
"description": "Get details for a specific file",
"params": [
{
"description": "Full path to the file",
"name": "file",
"required": true,
"type": "string"
},
{
"$ref": "Files.Media",
"default": "files",
"name": "media"
},
{
"$ref": "List.Fields.Files",
"name": "properties"
}
],
"returns": {
"properties": {
"filedetails": {
"$ref": "List.Item.File",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"Files.GetSources": {
"description": "Get the sources of the media windows",
"params": [
{
"$ref": "Files.Media",
"name": "media",
"required": true
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"sources": {
"$ref": "List.Items.Sources",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"Files.PrepareDownload": {
"description": "Provides a way to download a given file (e.g. providing an URL to the real file location)",
"params": [
{
"name": "path",
"required": true,
"type": "string"
}
],
"returns": {
"properties": {
"details": {
"description": "Transport specific details on how/from where to download the given file",
"required": true,
"type": "any"
},
"mode": {
"description": "Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol",
"enums": [
"redirect",
"direct"
],
"required": true,
"type": "string"
},
"protocol": {
"enums": [
"http"
],
"required": true,
"type": "string"
}
},
"type": "object"
},
"type": "method"
},
"GUI.ActivateWindow": {
"description": "Activates the given window",
"params": [
{
"$ref": "GUI.Window",
"name": "window",
"required": true
},
{
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"name": "parameters",
"type": "array"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"GUI.GetProperties": {
"description": "Retrieves the values of the given properties",
"params": [
{
"items": {
"$ref": "GUI.Property.Name"
},
"name": "properties",
"required": true,
"type": "array",
"uniqueItems": true
}
],
"returns": {
"$ref": "GUI.Property.Value"
},
"type": "method"
},
"GUI.SetFullscreen": {
"description": "Toggle fullscreen/GUI",
"params": [
{
"$ref": "Global.Toggle",
"name": "fullscreen",
"required": true
}
],
"returns": {
"description": "Fullscreen state",
"type": "boolean"
},
"type": "method"
},
"GUI.ShowNotification": {
"description": "Shows a GUI notification",
"params": [
{
"name": "title",
"required": true,
"type": "string"
},
{
"name": "message",
"required": true,
"type": "string"
},
{
"default": "",
"name": "image",
"type": [
{
"enums": [
"info",
"warning",
"error"
],
"type": "string"
},
{
"type": "string"
}
]
},
{
"default": 5000,
"description": "The time in milliseconds the notification will be visible",
"minimum": 1500,
"name": "displaytime",
"type": "integer"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.Back": {
"description": "Goes back in GUI",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.ContextMenu": {
"description": "Shows the context menu",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.Down": {
"description": "Navigate down in GUI",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.ExecuteAction": {
"description": "Execute a specific action",
"params": [
{
"$ref": "Input.Action",
"name": "action",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.Home": {
"description": "Goes to home window in GUI",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.Info": {
"description": "Shows the information dialog",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.Left": {
"description": "Navigate left in GUI",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.Right": {
"description": "Navigate right in GUI",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.Select": {
"description": "Select current item in GUI",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.SendText": {
"description": "Send a generic (unicode) text",
"params": [
{
"description": "Unicode text",
"name": "text",
"required": true,
"type": "string"
},
{
"default": true,
"description": "Whether this is the whole input or not (closes an open input dialog if true).",
"name": "done",
"type": "boolean"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.ShowCodec": {
"description": "Show codec information of the playing item",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.ShowOSD": {
"description": "Show the on-screen display for the current player",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Input.Up": {
"description": "Navigate up in GUI",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"JSONRPC.Introspect": {
"description": "Enumerates all actions and descriptions",
"params": [
{
"default": true,
"name": "getdescriptions",
"type": "boolean"
},
{
"default": false,
"name": "getmetadata",
"type": "boolean"
},
{
"default": true,
"name": "filterbytransport",
"type": "boolean"
},
{
"name": "filter",
"properties": {
"getreferences": {
"default": true,
"description": "Whether or not to print the schema for referenced types",
"type": "boolean"
},
"id": {
"description": "Name of a namespace, method or type",
"required": true,
"type": "string"
},
"type": {
"description": "Type of the given name",
"enums": [
"method",
"namespace",
"type",
"notification"
],
"required": true,
"type": "string"
}
},
"type": "object"
}
],
"returns": {
"additionalProperties": false,
"type": "object"
},
"type": "method"
},
"JSONRPC.NotifyAll": {
"description": "Notify all other connected clients",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "message",
"required": true,
"type": "string"
},
{
"default": null,
"name": "data",
"type": "any"
}
],
"returns": {
"type": "any"
},
"type": "method"
},
"JSONRPC.Permission": {
"description": "Retrieve the clients permissions",
"params": [],
"returns": {
"properties": {
"controlgui": {
"required": true,
"type": "boolean"
},
"controlnotify": {
"required": true,
"type": "boolean"
},
"controlplayback": {
"required": true,
"type": "boolean"
},
"controlpower": {
"required": true,
"type": "boolean"
},
"controlpvr": {
"required": true,
"type": "boolean"
},
"controlsystem": {
"required": true,
"type": "boolean"
},
"executeaddon": {
"required": true,
"type": "boolean"
},
"manageaddon": {
"required": true,
"type": "boolean"
},
"navigate": {
"required": true,
"type": "boolean"
},
"readdata": {
"required": true,
"type": "boolean"
},
"removedata": {
"required": true,
"type": "boolean"
},
"updatedata": {
"required": true,
"type": "boolean"
},
"writefile": {
"required": true,
"type": "boolean"
}
},
"type": "object"
},
"type": "method"
},
"JSONRPC.Ping": {
"description": "Ping responder",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"JSONRPC.Version": {
"description": "Retrieve the JSON-RPC protocol version.",
"params": [],
"returns": {
"properties": {
"major": {
"description": "Bumped on backwards incompatible changes to the API definition",
"minimum": 0,
"required": true,
"type": "integer"
},
"minor": {
"description": "Bumped on backwards compatible additions/changes to the API definition",
"minimum": 0,
"required": true,
"type": "integer"
},
"patch": {
"description": "Bumped on any changes to the internal implementation but not to the API definition",
"minimum": 0,
"required": true,
"type": "integer"
}
},
"type": "object"
},
"type": "method"
},
"PVR.GetChannelDetails": {
"description": "Retrieves the details of a specific channel",
"params": [
{
"$ref": "Library.Id",
"name": "channelid",
"required": true
},
{
"$ref": "PVR.Fields.Channel",
"name": "properties"
}
],
"returns": {
"properties": {
"channeldetails": {
"$ref": "PVR.Details.Channel"
}
},
"type": "object"
},
"type": "method"
},
"PVR.GetChannelGroupDetails": {
"description": "Retrieves the details of a specific channel group",
"params": [
{
"$ref": "PVR.ChannelGroup.Id",
"name": "channelgroupid",
"required": true
},
{
"name": "channels",
"properties": {
"limits": {
"$ref": "List.Limits"
},
"properties": {
"$ref": "PVR.Fields.Channel"
}
},
"type": "object"
}
],
"returns": {
"properties": {
"channelgroupdetails": {
"$ref": "PVR.Details.ChannelGroup.Extended"
}
},
"type": "object"
},
"type": "method"
},
"PVR.GetChannelGroups": {
"description": "Retrieves the channel groups for the specified type",
"params": [
{
"$ref": "PVR.Channel.Type",
"name": "channeltype",
"required": true
},
{
"$ref": "List.Limits",
"name": "limits"
}
],
"returns": {
"properties": {
"channelgroups": {
"items": {
"$ref": "PVR.Details.ChannelGroup"
},
"required": true,
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"PVR.GetChannels": {
"description": "Retrieves the channel list",
"params": [
{
"$ref": "PVR.ChannelGroup.Id",
"name": "channelgroupid",
"required": true
},
{
"$ref": "PVR.Fields.Channel",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
}
],
"returns": {
"properties": {
"channels": {
"items": {
"$ref": "PVR.Details.Channel"
},
"required": true,
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"PVR.GetProperties": {
"description": "Retrieves the values of the given properties",
"params": [
{
"items": {
"$ref": "PVR.Property.Name"
},
"name": "properties",
"required": true,
"type": "array",
"uniqueItems": true
}
],
"returns": {
"$ref": "PVR.Property.Value"
},
"type": "method"
},
"PVR.Record": {
"description": "Toggle recording of a channel",
"params": [
{
"$ref": "Global.Toggle",
"default": "toggle",
"name": "record"
},
{
"default": "current",
"name": "channel",
"type": [
{
"enums": [
"current"
],
"type": "string"
},
{
"$ref": "Library.Id"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"PVR.Scan": {
"description": "Starts a channel scan",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.GetActivePlayers": {
"description": "Returns all active players",
"params": [],
"returns": {
"items": {
"properties": {
"playerid": {
"$ref": "Player.Id",
"required": true
},
"type": {
"$ref": "Player.Type",
"required": true
}
},
"type": "object"
},
"type": "array",
"uniqueItems": true
},
"type": "method"
},
"Player.GetItem": {
"description": "Retrieves the currently played item",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"$ref": "List.Fields.All",
"name": "properties"
}
],
"returns": {
"properties": {
"item": {
"$ref": "List.Item.All",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"Player.GetProperties": {
"description": "Retrieves the values of the given properties",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"items": {
"$ref": "Player.Property.Name"
},
"name": "properties",
"required": true,
"type": "array",
"uniqueItems": true
}
],
"returns": {
"$ref": "Player.Property.Value"
},
"type": "method"
},
"Player.GoTo": {
"description": "Go to previous/next/specific item in the playlist",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"name": "to",
"required": true,
"type": [
{
"enums": [
"previous",
"next"
],
"type": "string"
},
{
"$ref": "Playlist.Position",
"description": "position in playlist"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.Move": {
"description": "If picture is zoomed move viewport left/right/up/down otherwise skip previous/next",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"enums": [
"left",
"right",
"up",
"down"
],
"name": "direction",
"required": true,
"type": "string"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.Open": {
"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.",
"params": [
{
"name": "item",
"type": [
{
"additionalProperties": false,
"properties": {
"playlistid": {
"$ref": "Playlist.Id",
"required": true
},
"position": {
"$ref": "Playlist.Position",
"default": 0
}
},
"type": "object"
},
{
"$ref": "Playlist.Item"
},
{
"additionalProperties": false,
"properties": {
"path": {
"required": true,
"type": "string"
},
"random": {
"default": true,
"description": "Deprecated, use the shuffled property of the options parameter instead",
"type": "boolean"
},
"recursive": {
"default": true,
"type": "boolean"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"partymode": {
"default": "",
"type": [
{
"enums": [
"music",
"video"
],
"type": "string"
},
{
"description": "Path to a smartplaylist (*.xsp) file",
"minLength": 5,
"type": "string"
}
]
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"channelid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
}
]
},
{
"additionalProperties": false,
"name": "options",
"properties": {
"repeat": {
"default": null,
"type": [
{
"type": "null"
},
{
"$ref": "Player.Repeat"
}
]
},
"resume": {
"default": false,
"type": [
{
"description": "Whether to resume from the resume point or not",
"type": "boolean"
},
{
"$ref": "Player.Position.Percentage",
"description": "Percentage value to start from"
},
{
"$ref": "Player.Position.Time",
"description": "Time to start from"
}
]
},
"shuffled": {
"$ref": "Optional.Boolean",
"default": null
}
},
"type": "object"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.PlayPause": {
"description": "Pauses or unpause playback and returns the new state",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"$ref": "Global.Toggle",
"default": "toggle",
"name": "play"
}
],
"returns": {
"$ref": "Player.Speed"
},
"type": "method"
},
"Player.Rotate": {
"description": "Rotates current picture",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"default": "clockwise",
"enums": [
"clockwise",
"counterclockwise"
],
"name": "value",
"type": "string"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.Seek": {
"description": "Seek through the playing item",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"name": "value",
"required": true,
"type": [
{
"$ref": "Player.Position.Percentage",
"description": "Percentage value to seek to"
},
{
"$ref": "Player.Position.Time",
"description": "Time to seek to"
},
{
"description": "Seek by predefined jumps",
"enums": [
"smallforward",
"smallbackward",
"bigforward",
"bigbackward"
],
"type": "string"
}
]
}
],
"returns": {
"properties": {
"percentage": {
"$ref": "Player.Position.Percentage",
"default": 0
},
"time": {
"$ref": "Global.Time"
},
"totaltime": {
"$ref": "Global.Time"
}
},
"type": "object"
},
"type": "method"
},
"Player.SetAudioStream": {
"description": "Set the audio stream played by the player",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"name": "stream",
"required": true,
"type": [
{
"enums": [
"previous",
"next"
],
"type": "string"
},
{
"description": "Index of the audio stream to play",
"minimum": 0,
"type": "integer"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.SetPartymode": {
"description": "Turn partymode on or off",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"$ref": "Global.Toggle",
"name": "partymode",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.SetRepeat": {
"description": "Set the repeat mode of the player",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"name": "repeat",
"required": true,
"type": [
{
"$ref": "Player.Repeat"
},
{
"enums": [
"cycle"
],
"type": "string"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.SetShuffle": {
"description": "Shuffle/Unshuffle items in the player",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"$ref": "Global.Toggle",
"name": "shuffle",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.SetSpeed": {
"description": "Set the speed of the current playback",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"name": "speed",
"required": true,
"type": [
{
"enums": [
-32,
-16,
-8,
-4,
-2,
-1,
0,
1,
2,
4,
8,
16,
32
],
"type": "integer"
},
{
"$ref": "Global.IncrementDecrement"
}
]
}
],
"returns": {
"$ref": "Player.Speed"
},
"type": "method"
},
"Player.SetSubtitle": {
"description": "Set the subtitle displayed by the player",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"name": "subtitle",
"required": true,
"type": [
{
"enums": [
"previous",
"next",
"off",
"on"
],
"type": "string"
},
{
"description": "Index of the subtitle to display",
"minimum": 0,
"type": "integer"
}
]
},
{
"default": false,
"description": "Whether to enable subtitles to be displayed after setting the new subtitle",
"name": "enable",
"type": "boolean"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.Stop": {
"description": "Stops playback",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Player.Zoom": {
"description": "Zoom current picture",
"params": [
{
"$ref": "Player.Id",
"name": "playerid",
"required": true
},
{
"name": "zoom",
"required": true,
"type": [
{
"enums": [
"in",
"out"
],
"type": "string"
},
{
"description": "zoom level",
"maximum": 10,
"minimum": 1,
"type": "integer"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Playlist.Add": {
"description": "Add item(s) to playlist",
"params": [
{
"$ref": "Playlist.Id",
"name": "playlistid",
"required": true
},
{
"$ref": "Playlist.Item",
"name": "item",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Playlist.Clear": {
"description": "Clear playlist",
"params": [
{
"$ref": "Playlist.Id",
"name": "playlistid",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Playlist.GetItems": {
"description": "Get all items from playlist",
"params": [
{
"$ref": "Playlist.Id",
"name": "playlistid",
"required": true
},
{
"$ref": "List.Fields.All",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"items": {
"items": {
"$ref": "List.Item.All"
},
"required": true,
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"Playlist.GetPlaylists": {
"description": "Returns all existing playlists",
"params": [],
"returns": {
"items": {
"properties": {
"playlistid": {
"$ref": "Playlist.Id",
"required": true
},
"type": {
"$ref": "Playlist.Type",
"required": true
}
},
"type": "object"
},
"type": "array",
"uniqueItems": true
},
"type": "method"
},
"Playlist.GetProperties": {
"description": "Retrieves the values of the given properties",
"params": [
{
"$ref": "Playlist.Id",
"name": "playlistid",
"required": true
},
{
"items": {
"$ref": "Playlist.Property.Name"
},
"name": "properties",
"required": true,
"type": "array",
"uniqueItems": true
}
],
"returns": {
"$ref": "Playlist.Property.Value"
},
"type": "method"
},
"Playlist.Insert": {
"description": "Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).",
"params": [
{
"$ref": "Playlist.Id",
"name": "playlistid",
"required": true
},
{
"$ref": "Playlist.Position",
"name": "position",
"required": true
},
{
"$ref": "Playlist.Item",
"name": "item",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Playlist.Remove": {
"description": "Remove item from playlist. Does not work for picture playlists (aka slideshows).",
"params": [
{
"$ref": "Playlist.Id",
"name": "playlistid",
"required": true
},
{
"$ref": "Playlist.Position",
"name": "position",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"Playlist.Swap": {
"description": "Swap items in the playlist. Does not work for picture playlists (aka slideshows).",
"params": [
{
"$ref": "Playlist.Id",
"name": "playlistid",
"required": true
},
{
"$ref": "Playlist.Position",
"name": "position1",
"required": true
},
{
"$ref": "Playlist.Position",
"name": "position2",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"System.EjectOpticalDrive": {
"description": "Ejects or closes the optical disc drive (if available)",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"System.GetProperties": {
"description": "Retrieves the values of the given properties",
"params": [
{
"items": {
"$ref": "System.Property.Name"
},
"name": "properties",
"required": true,
"type": "array",
"uniqueItems": true
}
],
"returns": {
"$ref": "System.Property.Value"
},
"type": "method"
},
"System.Hibernate": {
"description": "Puts the system running XBMC into hibernate mode",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"System.Reboot": {
"description": "Reboots the system running XBMC",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"System.Shutdown": {
"description": "Shuts the system running XBMC down",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"System.Suspend": {
"description": "Suspends the system running XBMC",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.Clean": {
"description": "Cleans the video library from non-existent items",
"params": [],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.Export": {
"description": "Exports all items from the video library",
"params": [
{
"name": "options",
"type": [
{
"additionalProperties": false,
"properties": {
"path": {
"description": "Path to the directory to where the data should be exported",
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"actorthumbs": {
"default": false,
"description": "Whether to export actor thumbnails",
"type": "boolean"
},
"images": {
"default": false,
"description": "Whether to export thumbnails and fanart images",
"type": "boolean"
},
"overwrite": {
"default": false,
"description": "Whether to overwrite existing exported files",
"type": "boolean"
}
},
"type": "object"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.GetEpisodeDetails": {
"description": "Retrieve details about a specific tv show episode",
"params": [
{
"$ref": "Library.Id",
"name": "episodeid",
"required": true
},
{
"$ref": "Video.Fields.Episode",
"name": "properties"
}
],
"returns": {
"properties": {
"episodedetails": {
"$ref": "Video.Details.Episode"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetEpisodes": {
"description": "Retrieve all tv show episodes",
"params": [
{
"$ref": "Library.Id",
"default": -1,
"name": "tvshowid"
},
{
"default": -1,
"minimum": 0,
"name": "season",
"type": "integer"
},
{
"$ref": "Video.Fields.Episode",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
},
{
"name": "filter",
"type": [
{
"additionalProperties": false,
"properties": {
"genreid": {
"$ref": "Library.Id",
"description": "Requires tvshowid to be set",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genre": {
"description": "Requires tvshowid to be set",
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"year": {
"minimum": 0,
"required": true,
"type": "integer"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"actor": {
"description": "Requires tvshowid to be set",
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"director": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Episodes"
}
]
}
],
"returns": {
"properties": {
"episodes": {
"items": {
"$ref": "Video.Details.Episode"
},
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetGenres": {
"description": "Retrieve all genres",
"params": [
{
"enums": [
"movie",
"tvshow",
"musicvideo"
],
"name": "type",
"required": true,
"type": "string"
},
{
"$ref": "Library.Fields.Genre",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"genres": {
"items": {
"$ref": "Library.Details.Genre"
},
"required": true,
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetMovieDetails": {
"description": "Retrieve details about a specific movie",
"params": [
{
"$ref": "Library.Id",
"name": "movieid",
"required": true
},
{
"$ref": "Video.Fields.Movie",
"name": "properties"
}
],
"returns": {
"properties": {
"moviedetails": {
"$ref": "Video.Details.Movie"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetMovieSetDetails": {
"description": "Retrieve details about a specific movie set",
"params": [
{
"$ref": "Library.Id",
"name": "setid",
"required": true
},
{
"$ref": "Video.Fields.MovieSet",
"name": "properties"
},
{
"name": "movies",
"properties": {
"limits": {
"$ref": "List.Limits"
},
"properties": {
"$ref": "Video.Fields.Movie"
},
"sort": {
"$ref": "List.Sort"
}
},
"type": "object"
}
],
"returns": {
"properties": {
"setdetails": {
"$ref": "Video.Details.MovieSet.Extended"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetMovieSets": {
"description": "Retrieve all movie sets",
"params": [
{
"$ref": "Video.Fields.MovieSet",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"sets": {
"items": {
"$ref": "Video.Details.MovieSet"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetMovies": {
"description": "Retrieve all movies",
"params": [
{
"$ref": "Video.Fields.Movie",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
},
{
"name": "filter",
"type": [
{
"additionalProperties": false,
"properties": {
"genreid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genre": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"year": {
"minimum": 0,
"required": true,
"type": "integer"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"actor": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"director": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"studio": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"country": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"setid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"set": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"tag": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Movies"
}
]
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"movies": {
"items": {
"$ref": "Video.Details.Movie"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetMusicVideoDetails": {
"description": "Retrieve details about a specific music video",
"params": [
{
"$ref": "Library.Id",
"name": "musicvideoid",
"required": true
},
{
"$ref": "Video.Fields.MusicVideo",
"name": "properties"
}
],
"returns": {
"properties": {
"musicvideodetails": {
"$ref": "Video.Details.MusicVideo"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetMusicVideos": {
"description": "Retrieve all music videos",
"params": [
{
"$ref": "Video.Fields.MusicVideo",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
},
{
"name": "filter",
"type": [
{
"additionalProperties": false,
"properties": {
"artist": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genreid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genre": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"year": {
"minimum": 0,
"required": true,
"type": "integer"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"director": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"studio": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"tag": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"$ref": "List.Filter.MusicVideos"
}
]
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"musicvideos": {
"items": {
"$ref": "Video.Details.MusicVideo"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetRecentlyAddedEpisodes": {
"description": "Retrieve all recently added tv episodes",
"params": [
{
"$ref": "Video.Fields.Episode",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"episodes": {
"items": {
"$ref": "Video.Details.Episode"
},
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetRecentlyAddedMovies": {
"description": "Retrieve all recently added movies",
"params": [
{
"$ref": "Video.Fields.Movie",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"movies": {
"items": {
"$ref": "Video.Details.Movie"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetRecentlyAddedMusicVideos": {
"description": "Retrieve all recently added music videos",
"params": [
{
"$ref": "Video.Fields.MusicVideo",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"musicvideos": {
"items": {
"$ref": "Video.Details.MusicVideo"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetSeasons": {
"description": "Retrieve all tv seasons",
"params": [
{
"$ref": "Library.Id",
"name": "tvshowid",
"required": true
},
{
"$ref": "Video.Fields.Season",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"seasons": {
"items": {
"$ref": "Video.Details.Season"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetTVShowDetails": {
"description": "Retrieve details about a specific tv show",
"params": [
{
"$ref": "Library.Id",
"name": "tvshowid",
"required": true
},
{
"$ref": "Video.Fields.TVShow",
"name": "properties"
}
],
"returns": {
"properties": {
"tvshowdetails": {
"$ref": "Video.Details.TVShow"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.GetTVShows": {
"description": "Retrieve all tv shows",
"params": [
{
"$ref": "Video.Fields.TVShow",
"name": "properties"
},
{
"$ref": "List.Limits",
"name": "limits"
},
{
"$ref": "List.Sort",
"name": "sort"
},
{
"name": "filter",
"type": [
{
"additionalProperties": false,
"properties": {
"genreid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genre": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"year": {
"minimum": 0,
"required": true,
"type": "integer"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"actor": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"studio": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"tag": {
"minLength": 1,
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"$ref": "List.Filter.TVShows"
}
]
}
],
"returns": {
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"tvshows": {
"items": {
"$ref": "Video.Details.TVShow"
},
"type": "array"
}
},
"type": "object"
},
"type": "method"
},
"VideoLibrary.RemoveEpisode": {
"description": "Removes the given episode from the library",
"params": [
{
"$ref": "Library.Id",
"name": "episodeid",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.RemoveMovie": {
"description": "Removes the given movie from the library",
"params": [
{
"$ref": "Library.Id",
"name": "movieid",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.RemoveMusicVideo": {
"description": "Removes the given music video from the library",
"params": [
{
"$ref": "Library.Id",
"name": "musicvideoid",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.RemoveTVShow": {
"description": "Removes the given tv show from the library",
"params": [
{
"$ref": "Library.Id",
"name": "tvshowid",
"required": true
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.Scan": {
"description": "Scans the video sources for new library items",
"params": [
{
"default": "",
"name": "directory",
"type": "string"
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.SetEpisodeDetails": {
"description": "Update the given episode with the given details",
"params": [
{
"$ref": "Library.Id",
"name": "episodeid",
"required": true
},
{
"$ref": "Optional.String",
"default": null,
"name": "title"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "playcount"
},
{
"$ref": "Optional.Integer",
"default": null,
"description": "Runtime in seconds",
"name": "runtime"
},
{
"default": null,
"name": "director",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.String",
"default": null,
"name": "plot"
},
{
"$ref": "Optional.Number",
"default": null,
"name": "rating"
},
{
"$ref": "Optional.String",
"default": null,
"name": "votes"
},
{
"$ref": "Optional.String",
"default": null,
"name": "lastplayed"
},
{
"default": null,
"name": "writer",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.String",
"default": null,
"name": "firstaired"
},
{
"$ref": "Optional.String",
"default": null,
"name": "productioncode"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "season"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "episode"
},
{
"$ref": "Optional.String",
"default": null,
"name": "originaltitle"
},
{
"$ref": "Optional.String",
"default": null,
"name": "thumbnail"
},
{
"$ref": "Optional.String",
"default": null,
"name": "fanart"
},
{
"default": null,
"name": "art",
"type": [
{
"type": "null"
},
{
"$ref": "Media.Artwork"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.SetMovieDetails": {
"description": "Update the given movie with the given details",
"params": [
{
"$ref": "Library.Id",
"name": "movieid",
"required": true
},
{
"$ref": "Optional.String",
"default": null,
"name": "title"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "playcount"
},
{
"$ref": "Optional.Integer",
"default": null,
"description": "Runtime in seconds",
"name": "runtime"
},
{
"default": null,
"name": "director",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "studio",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "year"
},
{
"$ref": "Optional.String",
"default": null,
"name": "plot"
},
{
"default": null,
"name": "genre",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.Number",
"default": null,
"name": "rating"
},
{
"$ref": "Optional.String",
"default": null,
"name": "mpaa"
},
{
"$ref": "Optional.String",
"default": null,
"name": "imdbnumber"
},
{
"$ref": "Optional.String",
"default": null,
"name": "votes"
},
{
"$ref": "Optional.String",
"default": null,
"name": "lastplayed"
},
{
"$ref": "Optional.String",
"default": null,
"name": "originaltitle"
},
{
"$ref": "Optional.String",
"default": null,
"name": "trailer"
},
{
"$ref": "Optional.String",
"default": null,
"name": "tagline"
},
{
"$ref": "Optional.String",
"default": null,
"name": "plotoutline"
},
{
"default": null,
"name": "writer",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "country",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "top250"
},
{
"$ref": "Optional.String",
"default": null,
"name": "sorttitle"
},
{
"$ref": "Optional.String",
"default": null,
"name": "set"
},
{
"default": null,
"name": "showlink",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.String",
"default": null,
"name": "thumbnail"
},
{
"$ref": "Optional.String",
"default": null,
"name": "fanart"
},
{
"default": null,
"name": "tag",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "art",
"type": [
{
"type": "null"
},
{
"$ref": "Media.Artwork"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.SetMusicVideoDetails": {
"description": "Update the given music video with the given details",
"params": [
{
"$ref": "Library.Id",
"name": "musicvideoid",
"required": true
},
{
"$ref": "Optional.String",
"default": null,
"name": "title"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "playcount"
},
{
"$ref": "Optional.Integer",
"default": null,
"description": "Runtime in seconds",
"name": "runtime"
},
{
"default": null,
"name": "director",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "studio",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "year"
},
{
"$ref": "Optional.String",
"default": null,
"name": "plot"
},
{
"$ref": "Optional.String",
"default": null,
"name": "album"
},
{
"default": null,
"name": "artist",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "genre",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "track"
},
{
"$ref": "Optional.String",
"default": null,
"name": "lastplayed"
},
{
"$ref": "Optional.String",
"default": null,
"name": "thumbnail"
},
{
"$ref": "Optional.String",
"default": null,
"name": "fanart"
},
{
"default": null,
"name": "tag",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "art",
"type": [
{
"type": "null"
},
{
"$ref": "Media.Artwork"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"VideoLibrary.SetTVShowDetails": {
"description": "Update the given tvshow with the given details",
"params": [
{
"$ref": "Library.Id",
"name": "tvshowid",
"required": true
},
{
"$ref": "Optional.String",
"default": null,
"name": "title"
},
{
"$ref": "Optional.Integer",
"default": null,
"name": "playcount"
},
{
"default": null,
"name": "studio",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.String",
"default": null,
"name": "plot"
},
{
"default": null,
"name": "genre",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"$ref": "Optional.Number",
"default": null,
"name": "rating"
},
{
"$ref": "Optional.String",
"default": null,
"name": "mpaa"
},
{
"$ref": "Optional.String",
"default": null,
"name": "imdbnumber"
},
{
"$ref": "Optional.String",
"default": null,
"name": "premiered"
},
{
"$ref": "Optional.String",
"default": null,
"name": "votes"
},
{
"$ref": "Optional.String",
"default": null,
"name": "lastplayed"
},
{
"$ref": "Optional.String",
"default": null,
"name": "originaltitle"
},
{
"$ref": "Optional.String",
"default": null,
"name": "sorttitle"
},
{
"$ref": "Optional.String",
"default": null,
"name": "episodeguide"
},
{
"$ref": "Optional.String",
"default": null,
"name": "thumbnail"
},
{
"$ref": "Optional.String",
"default": null,
"name": "fanart"
},
{
"default": null,
"name": "tag",
"type": [
{
"type": "null"
},
{
"$ref": "Array.String"
}
]
},
{
"default": null,
"name": "art",
"type": [
{
"type": "null"
},
{
"$ref": "Media.Artwork"
}
]
}
],
"returns": {
"type": "string"
},
"type": "method"
},
"XBMC.GetInfoBooleans": {
"description": "Retrieve info booleans about XBMC and the system",
"params": [
{
"items": {
"type": "string"
},
"minItems": 1,
"name": "booleans",
"required": true,
"type": "array"
}
],
"returns": {
"additionalProperties": {
"default": "",
"type": "string"
},
"description": "Object containing key-value pairs of the retrieved info booleans",
"type": "object"
},
"type": "method"
},
"XBMC.GetInfoLabels": {
"description": "Retrieve info labels about XBMC and the system",
"params": [
{
"description": "See http://wiki.xbmc.org/index.php?title=InfoLabels for a list of possible info labels",
"items": {
"type": "string"
},
"minItems": 1,
"name": "labels",
"required": true,
"type": "array"
}
],
"returns": {
"additionalProperties": {
"default": "",
"type": "string"
},
"description": "Object containing key-value pairs of the retrieved info labels",
"type": "object"
},
"type": "method"
}
},
"notifications": {
"Application.OnVolumeChanged": {
"description": "The volume of the application has changed.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"muted": {
"required": true,
"type": "boolean"
},
"volume": {
"maximum": 100,
"minimum": 0,
"required": true,
"type": "integer"
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"AudioLibrary.OnCleanFinished": {
"description": "The audio library has been cleaned.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"AudioLibrary.OnCleanStarted": {
"description": "An audio library clean operation has started.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"AudioLibrary.OnRemove": {
"description": "An audio item has been removed.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"id": {
"$ref": "Library.Id",
"required": true
},
"type": {
"$ref": "Notifications.Library.Audio.Type",
"required": true
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"AudioLibrary.OnScanFinished": {
"description": "Scanning the audio library has been finished.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"AudioLibrary.OnScanStarted": {
"description": "An audio library scan has started.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"AudioLibrary.OnUpdate": {
"description": "An audio item has been updated.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"id": {
"$ref": "Library.Id",
"required": true
},
"type": {
"enum": [
"song"
],
"id": "Notifications.Library.Audio.Type",
"required": true,
"type": "string"
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"Input.OnInputFinished": {
"description": "The user has provided the requested input.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"Input.OnInputRequested": {
"description": "The user is requested to provide some information.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"title": {
"type": "string"
},
"type": {
"enum": [
"keyboard",
"time",
"date",
"ip",
"password",
"numericpassword",
"number",
"seconds"
],
"required": true,
"type": "string"
},
"value": {
"required": true,
"type": "string"
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"Player.OnPause": {
"description": "Playback of a media item has been paused. If there is no ID available extra information will be provided.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"$ref": "Player.Notifications.Data",
"name": "data",
"required": true
}
],
"returns": null,
"type": "notification"
},
"Player.OnPlay": {
"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",
"required": true,
"type": "string"
},
{
"$ref": "Player.Notifications.Data",
"name": "data",
"required": true
}
],
"returns": null,
"type": "notification"
},
"Player.OnPropertyChanged": {
"description": "A property of the playing items has changed.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"player": {
"$ref": "Player.Notifications.Player",
"required": true
},
"property": {
"$ref": "Player.Property.Value"
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"Player.OnSeek": {
"description": "The playback position has been changed. If there is no ID available extra information will be provided.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"item": {
"$ref": "Notifications.Item"
},
"player": {
"$ref": "Player.Notifications.Player.Seek",
"required": true
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"Player.OnSpeedChanged": {
"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",
"required": true,
"type": "string"
},
{
"$ref": "Player.Notifications.Data",
"name": "data",
"required": true
}
],
"returns": null,
"type": "notification"
},
"Player.OnStop": {
"description": "Playback of a media item has been stopped. If there is no ID available extra information will be provided.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"end": {
"description": "Whether the player has reached the end of the playable item(s) or not",
"required": true,
"type": "boolean"
},
"item": {
"$ref": "Notifications.Item"
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"Playlist.OnAdd": {
"description": "A playlist item has been added.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"item": {
"$ref": "Notifications.Item"
},
"playlistid": {
"$ref": "Playlist.Id",
"required": true
},
"position": {
"$ref": "Playlist.Position"
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"Playlist.OnClear": {
"description": "A playlist item has been cleared.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"playlistid": {
"$ref": "Playlist.Id",
"required": true
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"Playlist.OnRemove": {
"description": "A playlist item has been removed.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"playlistid": {
"$ref": "Playlist.Id",
"required": true
},
"position": {
"$ref": "Playlist.Position"
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"System.OnLowBattery": {
"description": "The system is on low battery.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"System.OnQuit": {
"description": "XBMC will be closed.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"System.OnRestart": {
"description": "The system will be restarted.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"System.OnSleep": {
"description": "The system will be suspended.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"System.OnWake": {
"description": "The system woke up from suspension.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"VideoLibrary.OnCleanFinished": {
"description": "The video library has been cleaned.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"VideoLibrary.OnCleanStarted": {
"description": "A video library clean operation has started.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"VideoLibrary.OnRemove": {
"description": "A video item has been removed.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"id": {
"$ref": "Library.Id",
"required": true
},
"type": {
"$ref": "Notifications.Library.Video.Type",
"required": true
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
},
"VideoLibrary.OnScanFinished": {
"description": "Scanning the video library has been finished.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"VideoLibrary.OnScanStarted": {
"description": "A video library scan has started.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"required": true,
"type": "null"
}
],
"returns": null,
"type": "notification"
},
"VideoLibrary.OnUpdate": {
"description": "A video item has been updated.",
"params": [
{
"name": "sender",
"required": true,
"type": "string"
},
{
"name": "data",
"properties": {
"id": {
"$ref": "Library.Id",
"required": true
},
"playcount": {
"default": -1,
"minimum": 0,
"type": "integer"
},
"type": {
"enum": [
"movie",
"tvshow",
"episode",
"musicvideo"
],
"id": "Notifications.Library.Video.Type",
"required": true,
"type": "string"
}
},
"required": true,
"type": "object"
}
],
"returns": null,
"type": "notification"
}
},
"types": {
"Addon.Content": {
"default": "unknown",
"enums": [
"unknown",
"video",
"audio",
"image",
"executable"
],
"id": "Addon.Content",
"type": "string"
},
"Addon.Details": {
"extends": "Item.Details.Base",
"id": "Addon.Details",
"properties": {
"addonid": {
"required": true,
"type": "string"
},
"author": {
"default": "",
"type": "string"
},
"broken": {
"default": null,
"type": [
{
"type": "boolean"
},
{
"type": "string"
}
]
},
"dependencies": {
"items": {
"properties": {
"addonid": {
"required": true,
"type": "string"
},
"optional": {
"required": true,
"type": "boolean"
},
"version": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"description": {
"default": "",
"type": "string"
},
"disclaimer": {
"default": "",
"type": "string"
},
"enabled": {
"default": false,
"type": "boolean"
},
"extrainfo": {
"items": {
"properties": {
"key": {
"required": true,
"type": "string"
},
"value": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"fanart": {
"default": "",
"type": "string"
},
"name": {
"default": "",
"type": "string"
},
"path": {
"default": "",
"type": "string"
},
"rating": {
"default": 0,
"type": "integer"
},
"summary": {
"default": "",
"type": "string"
},
"thumbnail": {
"default": "",
"type": "string"
},
"type": {
"$ref": "Addon.Types",
"required": true
},
"version": {
"default": "",
"type": "string"
}
}
},
"Addon.Fields": {
"extends": "Item.Fields.Base",
"id": "Addon.Fields",
"items": {
"enums": [
"name",
"version",
"summary",
"description",
"path",
"author",
"thumbnail",
"disclaimer",
"fanart",
"dependencies",
"broken",
"extrainfo",
"rating",
"enabled"
],
"type": "string"
}
},
"Addon.Types": {
"default": "unknown",
"enums": [
"unknown",
"xbmc.metadata.scraper.albums",
"xbmc.metadata.scraper.artists",
"xbmc.metadata.scraper.movies",
"xbmc.metadata.scraper.musicvideos",
"xbmc.metadata.scraper.tvshows",
"xbmc.ui.screensaver",
"xbmc.player.musicviz",
"xbmc.python.pluginsource",
"xbmc.python.script",
"xbmc.python.weather",
"xbmc.python.subtitles",
"xbmc.python.lyrics",
"xbmc.gui.skin",
"xbmc.gui.webinterface",
"xbmc.pvrclient",
"xbmc.addon.video",
"xbmc.addon.audio",
"xbmc.addon.image",
"xbmc.addon.executable",
"xbmc.service"
],
"id": "Addon.Types",
"type": "string"
},
"Application.Property.Name": {
"default": "volume",
"enums": [
"volume",
"muted",
"name",
"version"
],
"id": "Application.Property.Name",
"type": "string"
},
"Application.Property.Value": {
"id": "Application.Property.Value",
"properties": {
"muted": {
"default": false,
"type": "boolean"
},
"name": {
"default": "",
"minLength": 1,
"type": "string"
},
"version": {
"properties": {
"major": {
"minimum": 0,
"required": true,
"type": "integer"
},
"minor": {
"minimum": 0,
"required": true,
"type": "integer"
},
"revision": {
"default": null,
"type": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"tag": {
"enums": [
"prealpha",
"alpha",
"beta",
"releasecandidate",
"stable"
],
"required": true,
"type": "string"
}
},
"type": "object"
},
"volume": {
"default": 0,
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"Array.Integer": {
"id": "Array.Integer",
"items": {
"type": "integer"
},
"type": "array"
},
"Array.String": {
"id": "Array.String",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"Audio.Details.Album": {
"extends": "Audio.Details.Media",
"id": "Audio.Details.Album",
"properties": {
"albumid": {
"$ref": "Library.Id",
"required": true
},
"albumlabel": {
"default": "",
"type": "string"
},
"description": {
"default": "",
"type": "string"
},
"mood": {
"$ref": "Array.String"
},
"playcount": {
"default": 0,
"type": "integer"
},
"style": {
"$ref": "Array.String"
},
"theme": {
"$ref": "Array.String"
},
"type": {
"default": "",
"type": "string"
}
}
},
"Audio.Details.Artist": {
"extends": "Audio.Details.Base",
"id": "Audio.Details.Artist",
"properties": {
"artist": {
"required": true,
"type": "string"
},
"artistid": {
"$ref": "Library.Id",
"required": true
},
"born": {
"default": "",
"type": "string"
},
"description": {
"default": "",
"type": "string"
},
"died": {
"default": "",
"type": "string"
},
"disbanded": {
"default": "",
"type": "string"
},
"formed": {
"default": "",
"type": "string"
},
"instrument": {
"$ref": "Array.String"
},
"mood": {
"$ref": "Array.String"
},
"musicbrainzartistid": {
"default": "",
"type": "string"
},
"style": {
"$ref": "Array.String"
},
"yearsactive": {
"$ref": "Array.String"
}
}
},
"Audio.Details.Base": {
"extends": "Media.Details.Base",
"id": "Audio.Details.Base",
"properties": {
"genre": {
"$ref": "Array.String"
}
}
},
"Audio.Details.Media": {
"extends": "Audio.Details.Base",
"id": "Audio.Details.Media",
"properties": {
"artist": {
"$ref": "Array.String"
},
"artistid": {
"$ref": "Array.Integer"
},
"displayartist": {
"default": "",
"type": "string"
},
"genreid": {
"$ref": "Array.Integer"
},
"musicbrainzalbumartistid": {
"default": "",
"type": "string"
},
"musicbrainzalbumid": {
"default": "",
"type": "string"
},
"rating": {
"default": 0,
"type": "integer"
},
"title": {
"default": "",
"type": "string"
},
"year": {
"default": 0,
"type": "integer"
}
}
},
"Audio.Details.Song": {
"extends": "Audio.Details.Media",
"id": "Audio.Details.Song",
"properties": {
"album": {
"default": "",
"type": "string"
},
"albumartist": {
"$ref": "Array.String"
},
"albumartistid": {
"$ref": "Array.Integer"
},
"albumid": {
"$ref": "Library.Id",
"default": -1
},
"comment": {
"default": "",
"type": "string"
},
"disc": {
"default": 0,
"type": "integer"
},
"duration": {
"default": 0,
"type": "integer"
},
"file": {
"default": "",
"type": "string"
},
"lastplayed": {
"default": "",
"type": "string"
},
"lyrics": {
"default": "",
"type": "string"
},
"musicbrainzartistid": {
"default": "",
"type": "string"
},
"musicbrainztrackid": {
"default": "",
"type": "string"
},
"playcount": {
"default": 0,
"type": "integer"
},
"songid": {
"$ref": "Library.Id",
"required": true
},
"track": {
"default": 0,
"type": "integer"
}
}
},
"Audio.Fields.Album": {
"extends": "Item.Fields.Base",
"id": "Audio.Fields.Album",
"items": {
"description": "Requesting the genreid and/or artistid field will result in increased response times",
"enums": [
"title",
"description",
"artist",
"genre",
"theme",
"mood",
"style",
"type",
"albumlabel",
"rating",
"year",
"musicbrainzalbumid",
"musicbrainzalbumartistid",
"fanart",
"thumbnail",
"playcount",
"genreid",
"artistid",
"displayartist"
],
"type": "string"
}
},
"Audio.Fields.Artist": {
"extends": "Item.Fields.Base",
"id": "Audio.Fields.Artist",
"items": {
"enums": [
"instrument",
"style",
"mood",
"born",
"formed",
"description",
"genre",
"died",
"disbanded",
"yearsactive",
"musicbrainzartistid",
"fanart",
"thumbnail"
],
"type": "string"
}
},
"Audio.Fields.Song": {
"extends": "Item.Fields.Base",
"id": "Audio.Fields.Song",
"items": {
"description": "Requesting the genreid, artistid and/or albumartistid field will result in increased response times",
"enums": [
"title",
"artist",
"albumartist",
"genre",
"year",
"rating",
"album",
"track",
"duration",
"comment",
"lyrics",
"musicbrainztrackid",
"musicbrainzartistid",
"musicbrainzalbumid",
"musicbrainzalbumartistid",
"playcount",
"fanart",
"thumbnail",
"file",
"albumid",
"lastplayed",
"disc",
"genreid",
"artistid",
"displayartist",
"albumartistid"
],
"type": "string"
}
},
"Configuration": {
"id": "Configuration",
"properties": {
"notifications": {
"$ref": "Configuration.Notifications",
"required": true
}
},
"required": true,
"type": "object"
},
"Configuration.Notifications": {
"additionalProperties": false,
"id": "Configuration.Notifications",
"properties": {
"application": {
"required": true,
"type": "boolean"
},
"audiolibrary": {
"required": true,
"type": "boolean"
},
"gui": {
"required": true,
"type": "boolean"
},
"input": {
"required": true,
"type": "boolean"
},
"other": {
"required": true,
"type": "boolean"
},
"player": {
"required": true,
"type": "boolean"
},
"playlist": {
"required": true,
"type": "boolean"
},
"pvr": {
"required": true,
"type": "boolean"
},
"system": {
"required": true,
"type": "boolean"
},
"videolibrary": {
"required": true,
"type": "boolean"
}
},
"type": "object"
},
"Files.Media": {
"default": "video",
"enums": [
"video",
"music",
"pictures",
"files",
"programs"
],
"id": "Files.Media",
"type": "string"
},
"GUI.Property.Name": {
"default": "currentwindow",
"enums": [
"currentwindow",
"currentcontrol",
"skin",
"fullscreen"
],
"id": "GUI.Property.Name",
"type": "string"
},
"GUI.Property.Value": {
"id": "GUI.Property.Value",
"properties": {
"currentcontrol": {
"properties": {
"label": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"currentwindow": {
"properties": {
"id": {
"required": true,
"type": "integer"
},
"label": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"fullscreen": {
"default": false,
"type": "boolean"
},
"skin": {
"properties": {
"id": {
"minLength": 1,
"required": true,
"type": "string"
},
"name": {
"default": "",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"GUI.Window": {
"default": "home",
"enums": [
"home",
"programs",
"pictures",
"filemanager",
"files",
"settings",
"music",
"video",
"videos",
"tv",
"pvr",
"pvrguideinfo",
"pvrrecordinginfo",
"pvrtimersetting",
"pvrgroupmanager",
"pvrchannelmanager",
"pvrguidesearch",
"pvrchannelscan",
"pvrupdateprogress",
"pvrosdchannels",
"pvrosdguide",
"pvrosddirector",
"pvrosdcutter",
"pvrosdteletext",
"systeminfo",
"testpattern",
"screencalibration",
"guicalibration",
"picturessettings",
"programssettings",
"weathersettings",
"musicsettings",
"systemsettings",
"videossettings",
"networksettings",
"servicesettings",
"appearancesettings",
"pvrsettings",
"tvsettings",
"scripts",
"videofiles",
"videolibrary",
"videoplaylist",
"loginscreen",
"profiles",
"skinsettings",
"addonbrowser",
"yesnodialog",
"progressdialog",
"virtualkeyboard",
"volumebar",
"submenu",
"favourites",
"contextmenu",
"infodialog",
"numericinput",
"gamepadinput",
"shutdownmenu",
"mutebug",
"playercontrols",
"seekbar",
"musicosd",
"addonsettings",
"visualisationsettings",
"visualisationpresetlist",
"osdvideosettings",
"osdaudiosettings",
"videobookmarks",
"filebrowser",
"networksetup",
"mediasource",
"profilesettings",
"locksettings",
"contentsettings",
"songinformation",
"smartplaylisteditor",
"smartplaylistrule",
"busydialog",
"pictureinfo",
"accesspoints",
"fullscreeninfo",
"karaokeselector",
"karaokelargeselector",
"sliderdialog",
"addoninformation",
"musicplaylist",
"musicfiles",
"musiclibrary",
"musicplaylisteditor",
"teletext",
"selectdialog",
"musicinformation",
"okdialog",
"movieinformation",
"textviewer",
"fullscreenvideo",
"fullscreenlivetv",
"visualisation",
"slideshow",
"filestackingdialog",
"karaoke",
"weather",
"screensaver",
"videoosd",
"videomenu",
"videotimeseek",
"musicoverlay",
"videooverlay",
"startwindow",
"startup",
"peripherals",
"peripheralsettings",
"extendedprogressdialog",
"mediafilter"
],
"id": "GUI.Window",
"type": "string"
},
"Global.IncrementDecrement": {
"default": "increment",
"enums": [
"increment",
"decrement"
],
"id": "Global.IncrementDecrement",
"type": "string"
},
"Global.String.NotEmpty": {
"default": "",
"id": "Global.String.NotEmpty",
"minLength": 1,
"type": "string"
},
"Global.Time": {
"additionalProperties": false,
"id": "Global.Time",
"properties": {
"hours": {
"maximum": 23,
"minimum": 0,
"required": true,
"type": "integer"
},
"milliseconds": {
"maximum": 999,
"minimum": 0,
"required": true,
"type": "integer"
},
"minutes": {
"maximum": 59,
"minimum": 0,
"required": true,
"type": "integer"
},
"seconds": {
"maximum": 59,
"minimum": 0,
"required": true,
"type": "integer"
}
},
"type": "object"
},
"Global.Toggle": {
"default": null,
"id": "Global.Toggle",
"type": [
{
"type": "boolean"
},
{
"enums": [
"toggle"
],
"type": "string"
}
]
},
"Input.Action": {
"default": "left",
"enums": [
"left",
"right",
"up",
"down",
"pageup",
"pagedown",
"select",
"highlight",
"parentdir",
"parentfolder",
"back",
"previousmenu",
"info",
"pause",
"stop",
"skipnext",
"skipprevious",
"fullscreen",
"aspectratio",
"stepforward",
"stepback",
"bigstepforward",
"bigstepback",
"osd",
"showsubtitles",
"nextsubtitle",
"codecinfo",
"nextpicture",
"previouspicture",
"zoomout",
"zoomin",
"playlist",
"queue",
"zoomnormal",
"zoomlevel1",
"zoomlevel2",
"zoomlevel3",
"zoomlevel4",
"zoomlevel5",
"zoomlevel6",
"zoomlevel7",
"zoomlevel8",
"zoomlevel9",
"nextcalibration",
"resetcalibration",
"analogmove",
"rotate",
"rotateccw",
"close",
"subtitledelayminus",
"subtitledelay",
"subtitledelayplus",
"audiodelayminus",
"audiodelay",
"audiodelayplus",
"subtitleshiftup",
"subtitleshiftdown",
"subtitlealign",
"audionextlanguage",
"verticalshiftup",
"verticalshiftdown",
"nextresolution",
"audiotoggledigital",
"number0",
"number1",
"number2",
"number3",
"number4",
"number5",
"number6",
"number7",
"number8",
"number9",
"osdleft",
"osdright",
"osdup",
"osddown",
"osdselect",
"osdvalueplus",
"osdvalueminus",
"smallstepback",
"fastforward",
"rewind",
"play",
"playpause",
"delete",
"copy",
"move",
"mplayerosd",
"hidesubmenu",
"screenshot",
"rename",
"togglewatched",
"scanitem",
"reloadkeymaps",
"volumeup",
"volumedown",
"mute",
"backspace",
"scrollup",
"scrolldown",
"analogfastforward",
"analogrewind",
"moveitemup",
"moveitemdown",
"contextmenu",
"shift",
"symbols",
"cursorleft",
"cursorright",
"showtime",
"analogseekforward",
"analogseekback",
"showpreset",
"presetlist",
"nextpreset",
"previouspreset",
"lockpreset",
"randompreset",
"increasevisrating",
"decreasevisrating",
"showvideomenu",
"enter",
"increaserating",
"decreaserating",
"togglefullscreen",
"nextscene",
"previousscene",
"nextletter",
"prevletter",
"jumpsms2",
"jumpsms3",
"jumpsms4",
"jumpsms5",
"jumpsms6",
"jumpsms7",
"jumpsms8",
"jumpsms9",
"filter",
"filterclear",
"filtersms2",
"filtersms3",
"filtersms4",
"filtersms5",
"filtersms6",
"filtersms7",
"filtersms8",
"filtersms9",
"firstpage",
"lastpage",
"guiprofile",
"red",
"green",
"yellow",
"blue",
"increasepar",
"decreasepar",
"volampup",
"volampdown",
"channelup",
"channeldown",
"previouschannelgroup",
"nextchannelgroup",
"leftclick",
"rightclick",
"middleclick",
"doubleclick",
"wheelup",
"wheeldown",
"mousedrag",
"mousemove",
"noop"
],
"id": "Input.Action",
"type": "string"
},
"Item.Details.Base": {
"id": "Item.Details.Base",
"properties": {
"label": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"Item.Fields.Base": {
"id": "Item.Fields.Base",
"items": {
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"Library.Details.Genre": {
"extends": "Item.Details.Base",
"id": "Library.Details.Genre",
"properties": {
"genreid": {
"$ref": "Library.Id",
"required": true
},
"thumbnail": {
"default": "",
"type": "string"
},
"title": {
"default": "",
"type": "string"
}
}
},
"Library.Fields.Genre": {
"extends": "Item.Fields.Base",
"id": "Library.Fields.Genre",
"items": {
"enums": [
"title",
"thumbnail"
],
"type": "string"
}
},
"Library.Id": {
"default": -1,
"id": "Library.Id",
"minimum": 1,
"type": "integer"
},
"List.Amount": {
"default": -1,
"id": "List.Amount",
"minimum": 0,
"type": "integer"
},
"List.Fields.All": {
"extends": "Item.Fields.Base",
"id": "List.Fields.All",
"items": {
"enums": [
"title",
"artist",
"albumartist",
"genre",
"year",
"rating",
"album",
"track",
"duration",
"comment",
"lyrics",
"musicbrainztrackid",
"musicbrainzartistid",
"musicbrainzalbumid",
"musicbrainzalbumartistid",
"playcount",
"fanart",
"director",
"trailer",
"tagline",
"plot",
"plotoutline",
"originaltitle",
"lastplayed",
"writer",
"studio",
"mpaa",
"cast",
"country",
"imdbnumber",
"premiered",
"productioncode",
"runtime",
"set",
"showlink",
"streamdetails",
"top250",
"votes",
"firstaired",
"season",
"episode",
"showtitle",
"thumbnail",
"file",
"resume",
"artistid",
"albumid",
"tvshowid",
"setid",
"watchedepisodes",
"disc",
"tag",
"art",
"genreid",
"displayartist",
"albumartistid",
"description",
"theme",
"mood",
"style",
"albumlabel",
"sorttitle",
"episodeguide",
"uniqueid",
"dateadded",
"channel",
"channeltype",
"hidden",
"locked",
"channelnumber",
"starttime",
"endtime"
],
"type": "string"
}
},
"List.Fields.Files": {
"extends": "Item.Fields.Base",
"id": "List.Fields.Files",
"items": {
"enums": [
"title",
"artist",
"albumartist",
"genre",
"year",
"rating",
"album",
"track",
"duration",
"comment",
"lyrics",
"musicbrainztrackid",
"musicbrainzartistid",
"musicbrainzalbumid",
"musicbrainzalbumartistid",
"playcount",
"fanart",
"director",
"trailer",
"tagline",
"plot",
"plotoutline",
"originaltitle",
"lastplayed",
"writer",
"studio",
"mpaa",
"cast",
"country",
"imdbnumber",
"premiered",
"productioncode",
"runtime",
"set",
"showlink",
"streamdetails",
"top250",
"votes",
"firstaired",
"season",
"episode",
"showtitle",
"thumbnail",
"file",
"resume",
"artistid",
"albumid",
"tvshowid",
"setid",
"watchedepisodes",
"disc",
"tag",
"art",
"genreid",
"displayartist",
"albumartistid",
"description",
"theme",
"mood",
"style",
"albumlabel",
"sorttitle",
"episodeguide",
"uniqueid",
"dateadded",
"size",
"lastmodified",
"mimetype"
],
"type": "string"
}
},
"List.Filter.Albums": {
"id": "List.Filter.Albums",
"type": [
{
"properties": {
"and": {
"items": {
"$ref": "List.Filter.Albums"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"properties": {
"or": {
"items": {
"$ref": "List.Filter.Albums"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Rule.Albums"
}
]
},
"List.Filter.Artists": {
"id": "List.Filter.Artists",
"type": [
{
"properties": {
"and": {
"items": {
"$ref": "List.Filter.Artists"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"properties": {
"or": {
"items": {
"$ref": "List.Filter.Artists"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Rule.Artists"
}
]
},
"List.Filter.Episodes": {
"id": "List.Filter.Episodes",
"type": [
{
"properties": {
"and": {
"items": {
"$ref": "List.Filter.Episodes"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"properties": {
"or": {
"items": {
"$ref": "List.Filter.Episodes"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Rule.Episodes"
}
]
},
"List.Filter.Fields.Albums": {
"default": "genre",
"enums": [
"genre",
"album",
"artist",
"albumartist",
"year",
"review",
"themes",
"moods",
"styles",
"type",
"label",
"rating",
"playcount",
"playlist"
],
"id": "List.Filter.Fields.Albums",
"type": "string"
},
"List.Filter.Fields.Artists": {
"default": "artist",
"enums": [
"artist",
"genre",
"moods",
"styles",
"instruments",
"biography",
"born",
"bandformed",
"disbanded",
"died",
"playlist"
],
"id": "List.Filter.Fields.Artists",
"type": "string"
},
"List.Filter.Fields.Episodes": {
"default": "title",
"enums": [
"title",
"tvshow",
"plot",
"votes",
"rating",
"time",
"writers",
"airdate",
"playcount",
"lastplayed",
"inprogress",
"genre",
"year",
"director",
"actor",
"episode",
"season",
"filename",
"path",
"studio",
"mpaarating",
"dateadded",
"videoresolution",
"audiochannels",
"videocodec",
"audiocodec",
"audiolanguage",
"subtitlelanguage",
"videoaspect",
"playlist"
],
"id": "List.Filter.Fields.Episodes",
"type": "string"
},
"List.Filter.Fields.Movies": {
"default": "title",
"enums": [
"title",
"plot",
"plotoutline",
"tagline",
"votes",
"rating",
"time",
"writers",
"playcount",
"lastplayed",
"inprogress",
"genre",
"country",
"year",
"director",
"actor",
"mpaarating",
"top250",
"studio",
"hastrailer",
"filename",
"path",
"set",
"tag",
"dateadded",
"videoresolution",
"audiochannels",
"videocodec",
"audiocodec",
"audiolanguage",
"subtitlelanguage",
"videoaspect",
"playlist"
],
"id": "List.Filter.Fields.Movies",
"type": "string"
},
"List.Filter.Fields.MusicVideos": {
"default": "title",
"enums": [
"title",
"genre",
"album",
"year",
"artist",
"filename",
"path",
"playcount",
"lastplayed",
"time",
"director",
"studio",
"plot",
"dateadded",
"videoresolution",
"audiochannels",
"videocodec",
"audiocodec",
"audiolanguage",
"subtitlelanguage",
"videoaspect",
"playlist"
],
"id": "List.Filter.Fields.MusicVideos",
"type": "string"
},
"List.Filter.Fields.Songs": {
"default": "genre",
"enums": [
"genre",
"album",
"artist",
"albumartist",
"title",
"year",
"time",
"tracknumber",
"filename",
"path",
"playcount",
"lastplayed",
"rating",
"comment",
"dateadded",
"playlist"
],
"id": "List.Filter.Fields.Songs",
"type": "string"
},
"List.Filter.Fields.TVShows": {
"enums": [
"title",
"plot",
"status",
"votes",
"rating",
"year",
"genre",
"director",
"actor",
"numepisodes",
"numwatched",
"playcount",
"path",
"studio",
"mpaarating",
"dateadded",
"lastplayed",
"inprogress",
"playlist"
],
"id": "List.Filter.Fields.TVShows",
"required": true,
"type": "string"
},
"List.Filter.Movies": {
"id": "List.Filter.Movies",
"type": [
{
"properties": {
"and": {
"items": {
"$ref": "List.Filter.Movies"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"properties": {
"or": {
"items": {
"$ref": "List.Filter.Movies"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Rule.Movies"
}
]
},
"List.Filter.MusicVideos": {
"id": "List.Filter.MusicVideos",
"type": [
{
"properties": {
"and": {
"items": {
"$ref": "List.Filter.MusicVideos"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"properties": {
"or": {
"items": {
"$ref": "List.Filter.MusicVideos"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Rule.MusicVideos"
}
]
},
"List.Filter.Operators": {
"default": "contains",
"enums": [
"contains",
"doesnotcontain",
"is",
"isnot",
"startswith",
"endswith",
"greaterthan",
"lessthan",
"after",
"before",
"inthelast",
"notinthelast",
"true",
"false",
"between"
],
"id": "List.Filter.Operators",
"type": "string"
},
"List.Filter.Rule": {
"id": "List.Filter.Rule",
"properties": {
"operator": {
"$ref": "List.Filter.Operators",
"required": true
},
"value": {
"required": true,
"type": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
}
},
"type": "object"
},
"List.Filter.Rule.Albums": {
"extends": "List.Filter.Rule",
"id": "List.Filter.Rule.Albums",
"properties": {
"field": {
"$ref": "List.Filter.Fields.Albums",
"required": true
}
}
},
"List.Filter.Rule.Artists": {
"extends": "List.Filter.Rule",
"id": "List.Filter.Rule.Artists",
"properties": {
"field": {
"$ref": "List.Filter.Fields.Artists",
"required": true
}
}
},
"List.Filter.Rule.Episodes": {
"extends": "List.Filter.Rule",
"id": "List.Filter.Rule.Episodes",
"properties": {
"field": {
"$ref": "List.Filter.Fields.Episodes",
"required": true
}
}
},
"List.Filter.Rule.Movies": {
"extends": "List.Filter.Rule",
"id": "List.Filter.Rule.Movies",
"properties": {
"field": {
"$ref": "List.Filter.Fields.Movies",
"required": true
}
}
},
"List.Filter.Rule.MusicVideos": {
"extends": "List.Filter.Rule",
"id": "List.Filter.Rule.MusicVideos",
"properties": {
"field": {
"$ref": "List.Filter.Fields.MusicVideos",
"required": true
}
}
},
"List.Filter.Rule.Songs": {
"extends": "List.Filter.Rule",
"id": "List.Filter.Rule.Songs",
"properties": {
"field": {
"$ref": "List.Filter.Fields.Songs",
"required": true
}
}
},
"List.Filter.Rule.TVShows": {
"extends": "List.Filter.Rule",
"id": "List.Filter.Rule.TVShows",
"properties": {
"field": {
"$ref": "List.Filter.Fields.TVShows",
"required": true
}
}
},
"List.Filter.Songs": {
"id": "List.Filter.Songs",
"type": [
{
"properties": {
"and": {
"items": {
"$ref": "List.Filter.Songs"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"properties": {
"or": {
"items": {
"$ref": "List.Filter.Songs"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Rule.Songs"
}
]
},
"List.Filter.TVShows": {
"id": "List.Filter.TVShows",
"type": [
{
"properties": {
"and": {
"items": {
"$ref": "List.Filter.TVShows"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"properties": {
"or": {
"items": {
"$ref": "List.Filter.TVShows"
},
"minItems": 1,
"required": true,
"type": "array"
}
},
"type": "object"
},
{
"$ref": "List.Filter.Rule.TVShows"
}
]
},
"List.Item.All": {
"extends": "List.Item.Base",
"id": "List.Item.All",
"properties": {
"channel": {
"default": "",
"type": "string"
},
"channelnumber": {
"default": 0,
"type": "integer"
},
"channeltype": {
"$ref": "PVR.Channel.Type",
"default": "tv"
},
"endtime": {
"default": "",
"type": "string"
},
"hidden": {
"default": false,
"type": "boolean"
},
"locked": {
"default": false,
"type": "boolean"
},
"starttime": {
"default": "",
"type": "string"
}
}
},
"List.Item.Base": {
"extends": [
"Video.Details.File",
"Audio.Details.Media"
],
"id": "List.Item.Base",
"properties": {
"album": {
"default": "",
"type": "string"
},
"albumartist": {
"$ref": "Array.String"
},
"albumartistid": {
"$ref": "Array.Integer"
},
"albumid": {
"$ref": "Library.Id",
"default": -1
},
"albumlabel": {
"default": "",
"type": "string"
},
"cast": {
"$ref": "Video.Cast"
},
"comment": {
"default": "",
"type": "string"
},
"country": {
"$ref": "Array.String"
},
"description": {
"default": "",
"type": "string"
},
"disc": {
"default": 0,
"type": "integer"
},
"duration": {
"default": 0,
"type": "integer"
},
"episode": {
"default": 0,
"type": "integer"
},
"episodeguide": {
"default": "",
"type": "string"
},
"firstaired": {
"default": "",
"type": "string"
},
"id": {
"$ref": "Library.Id",
"default": -1
},
"imdbnumber": {
"default": "",
"type": "string"
},
"lyrics": {
"default": "",
"type": "string"
},
"mood": {
"$ref": "Array.String"
},
"mpaa": {
"default": "",
"type": "string"
},
"musicbrainzartistid": {
"default": "",
"type": "string"
},
"musicbrainztrackid": {
"default": "",
"type": "string"
},
"originaltitle": {
"default": "",
"type": "string"
},
"plotoutline": {
"default": "",
"type": "string"
},
"premiered": {
"default": "",
"type": "string"
},
"productioncode": {
"default": "",
"type": "string"
},
"season": {
"default": 0,
"type": "integer"
},
"set": {
"default": "",
"type": "string"
},
"setid": {
"$ref": "Library.Id",
"default": -1
},
"showlink": {
"$ref": "Array.String"
},
"showtitle": {
"default": "",
"type": "string"
},
"sorttitle": {
"default": "",
"type": "string"
},
"studio": {
"$ref": "Array.String"
},
"style": {
"$ref": "Array.String"
},
"tag": {
"$ref": "Array.String"
},
"tagline": {
"default": "",
"type": "string"
},
"theme": {
"$ref": "Array.String"
},
"top250": {
"default": 0,
"type": "integer"
},
"track": {
"default": 0,
"type": "integer"
},
"trailer": {
"default": "",
"type": "string"
},
"tvshowid": {
"$ref": "Library.Id",
"default": -1
},
"type": {
"default": "unknown",
"enums": [
"unknown",
"movie",
"episode",
"musicvideo",
"song",
"picture",
"channel"
],
"type": "string"
},
"uniqueid": {
"additionalProperties": {
"default": "",
"minLength": 1,
"type": "string"
},
"type": "object"
},
"votes": {
"default": "",
"type": "string"
},
"watchedepisodes": {
"default": 0,
"type": "integer"
},
"writer": {
"$ref": "Array.String"
}
}
},
"List.Item.File": {
"extends": "List.Item.Base",
"id": "List.Item.File",
"properties": {
"file": {
"required": true,
"type": "string"
},
"filetype": {
"enums": [
"file",
"directory"
],
"required": true,
"type": "string"
},
"lastmodified": {
"default": "",
"type": "string"
},
"mimetype": {
"default": "",
"type": "string"
},
"size": {
"default": 0,
"description": "Size of the file in kB (1000 Byte)",
"type": "integer"
}
}
},
"List.Items.Sources": {
"id": "List.Items.Sources",
"items": {
"extends": "Item.Details.Base",
"properties": {
"file": {
"required": true,
"type": "string"
}
}
},
"type": "array"
},
"List.Limits": {
"additionalProperties": false,
"id": "List.Limits",
"properties": {
"end": {
"$ref": "List.Amount",
"default": -1,
"description": "Index of the last item to return"
},
"start": {
"default": 0,
"description": "Index of the first item to return",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"List.LimitsReturned": {
"additionalProperties": false,
"id": "List.LimitsReturned",
"properties": {
"end": {
"$ref": "List.Amount",
"default": -1
},
"start": {
"default": 0,
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"required": true,
"type": "integer"
}
},
"type": "object"
},
"List.Sort": {
"id": "List.Sort",
"properties": {
"ignorearticle": {
"default": false,
"type": "boolean"
},
"method": {
"default": "none",
"enums": [
"none",
"label",
"date",
"size",
"file",
"path",
"drivetype",
"title",
"track",
"time",
"artist",
"album",
"albumtype",
"genre",
"country",
"year",
"rating",
"votes",
"top250",
"programcount",
"playlist",
"episode",
"season",
"totalepisodes",
"watchedepisodes",
"tvshowstatus",
"tvshowtitle",
"sorttitle",
"productioncode",
"mpaa",
"studio",
"dateadded",
"lastplayed",
"playcount",
"listeners",
"bitrate",
"random"
],
"type": "string"
},
"order": {
"default": "ascending",
"enums": [
"ascending",
"descending"
],
"type": "string"
}
},
"type": "object"
},
"Media.Artwork": {
"additionalProperties": {
"$ref": "Global.String.NotEmpty",
"default": ""
},
"id": "Media.Artwork",
"properties": {
"banner": {
"$ref": "Global.String.NotEmpty",
"default": ""
},
"fanart": {
"$ref": "Global.String.NotEmpty",
"default": ""
},
"poster": {
"$ref": "Global.String.NotEmpty",
"default": ""
},
"thumb": {
"$ref": "Global.String.NotEmpty",
"default": ""
}
},
"type": "object"
},
"Media.Details.Base": {
"extends": "Item.Details.Base",
"id": "Media.Details.Base",
"properties": {
"fanart": {
"default": "",
"type": "string"
},
"thumbnail": {
"default": "",
"type": "string"
}
}
},
"Notifications.Item": {
"id": "Notifications.Item",
"type": [
{
"description": "An unknown item does not have any additional information.",
"properties": {
"type": {
"$ref": "Notifications.Item.Type",
"required": true
}
},
"type": "object"
},
{
"description": "An item known to the database has an identification.",
"properties": {
"id": {
"$ref": "Library.Id",
"required": true
},
"type": {
"$ref": "Notifications.Item.Type",
"required": true
}
},
"type": "object"
},
{
"description": "A movie item has a title and may have a release year.",
"properties": {
"title": {
"required": true,
"type": "string"
},
"type": {
"$ref": "Notifications.Item.Type",
"required": true
},
"year": {
"default": 0,
"type": "integer"
}
},
"type": "object"
},
{
"description": "A tv episode has a title and may have an episode number, season number and the title of the show it belongs to.",
"properties": {
"episode": {
"default": 0,
"type": "integer"
},
"season": {
"default": 0,
"type": "integer"
},
"showtitle": {
"default": "",
"type": "string"
},
"title": {
"required": true,
"type": "string"
},
"type": {
"$ref": "Notifications.Item.Type",
"required": true
}
},
"type": "object"
},
{
"description": "A music video has a title and may have an album and an artist.",
"properties": {
"album": {
"default": "",
"type": "string"
},
"artist": {
"default": "",
"type": "string"
},
"title": {
"required": true,
"type": "string"
},
"type": {
"$ref": "Notifications.Item.Type",
"required": true
}
},
"type": "object"
},
{
"description": "A song has a title and may have an album, an artist and a track number.",
"properties": {
"album": {
"default": "",
"type": "string"
},
"artist": {
"default": "",
"type": "string"
},
"title": {
"required": true,
"type": "string"
},
"track": {
"default": 0,
"type": "integer"
},
"type": {
"$ref": "Notifications.Item.Type",
"required": true
}
},
"type": "object"
},
{
"description": "A picture has a file path.",
"properties": {
"file": {
"required": true,
"type": "string"
},
"type": {
"$ref": "Notifications.Item.Type",
"required": true
}
},
"type": "object"
},
{
"description": "A PVR channel is either a radio or tv channel and has a title.",
"properties": {
"channeltype": {
"$ref": "PVR.Channel.Type",
"required": true
},
"id": {
"$ref": "Library.Id",
"required": true
},
"title": {
"required": true,
"type": "string"
},
"type": {
"$ref": "Notifications.Item.Type",
"required": true
}
},
"type": "object"
}
]
},
"Notifications.Item.Type": {
"default": "unknown",
"enums": [
"unknown",
"movie",
"episode",
"musicvideo",
"song",
"picture",
"channel"
],
"id": "Notifications.Item.Type",
"type": "string"
},
"Optional.Boolean": {
"default": null,
"id": "Optional.Boolean",
"type": [
{
"type": "null"
},
{
"type": "boolean"
}
]
},
"Optional.Integer": {
"default": null,
"id": "Optional.Integer",
"type": [
{
"type": "null"
},
{
"type": "integer"
}
]
},
"Optional.Number": {
"default": null,
"id": "Optional.Number",
"type": [
{
"type": "null"
},
{
"type": "number"
}
]
},
"Optional.String": {
"default": null,
"id": "Optional.String",
"type": [
{
"type": "null"
},
{
"type": "string"
}
]
},
"PVR.Channel.Type": {
"default": "tv",
"enums": [
"tv",
"radio"
],
"id": "PVR.Channel.Type",
"type": "string"
},
"PVR.ChannelGroup.Id": {
"default": null,
"id": "PVR.ChannelGroup.Id",
"type": [
{
"$ref": "Library.Id"
},
{
"enums": [
"alltv",
"allradio"
],
"type": "string"
}
]
},
"PVR.Details.Channel": {
"extends": "Item.Details.Base",
"id": "PVR.Details.Channel",
"properties": {
"channel": {
"default": "",
"type": "string"
},
"channelid": {
"$ref": "Library.Id",
"required": true
},
"channeltype": {
"$ref": "PVR.Channel.Type",
"default": "tv"
},
"hidden": {
"default": false,
"type": "boolean"
},
"lastplayed": {
"default": "",
"type": "string"
},
"locked": {
"default": false,
"type": "boolean"
},
"thumbnail": {
"default": "",
"type": "string"
}
}
},
"PVR.Details.ChannelGroup": {
"extends": "Item.Details.Base",
"id": "PVR.Details.ChannelGroup",
"properties": {
"channelgroupid": {
"$ref": "Library.Id",
"required": true
},
"channeltype": {
"$ref": "PVR.Channel.Type",
"required": true
}
}
},
"PVR.Details.ChannelGroup.Extended": {
"extends": "PVR.Details.ChannelGroup",
"id": "PVR.Details.ChannelGroup.Extended",
"properties": {
"channels": {
"items": {
"$ref": "PVR.Details.Channel"
},
"type": "array"
},
"limits": {
"$ref": "List.LimitsReturned",
"required": true
}
}
},
"PVR.Fields.Channel": {
"extends": "Item.Fields.Base",
"id": "PVR.Fields.Channel",
"items": {
"enums": [
"thumbnail",
"channeltype",
"hidden",
"locked",
"channel",
"lastplayed"
],
"type": "string"
}
},
"PVR.Property.Name": {
"default": "available",
"enums": [
"available",
"recording",
"scanning"
],
"id": "PVR.Property.Name",
"type": "string"
},
"PVR.Property.Value": {
"id": "PVR.Property.Value",
"properties": {
"available": {
"default": false,
"type": "boolean"
},
"recording": {
"default": false,
"type": "boolean"
},
"scanning": {
"default": false,
"type": "boolean"
}
},
"type": "object"
},
"Player.Audio.Stream": {
"id": "Player.Audio.Stream",
"properties": {
"index": {
"minimum": 0,
"required": true,
"type": "integer"
},
"language": {
"required": true,
"type": "string"
},
"name": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"Player.Audio.Stream.Extended": {
"extends": "Player.Audio.Stream",
"id": "Player.Audio.Stream.Extended",
"properties": {
"bitrate": {
"required": true,
"type": "integer"
},
"channels": {
"required": true,
"type": "integer"
},
"codec": {
"required": true,
"type": "string"
}
}
},
"Player.Id": {
"default": -1,
"id": "Player.Id",
"maximum": 2,
"minimum": 0,
"type": "integer"
},
"Player.Notifications.Data": {
"id": "Player.Notifications.Data",
"properties": {
"item": {
"$ref": "Notifications.Item",
"required": true
},
"player": {
"$ref": "Player.Notifications.Player",
"required": true
}
},
"type": "object"
},
"Player.Notifications.Player": {
"id": "Player.Notifications.Player",
"properties": {
"playerid": {
"$ref": "Player.Id",
"required": true
},
"speed": {
"default": 0,
"type": "integer"
}
},
"type": "object"
},
"Player.Notifications.Player.Seek": {
"extends": "Player.Notifications.Player",
"id": "Player.Notifications.Player.Seek",
"properties": {
"seekoffset": {
"$ref": "Global.Time"
},
"time": {
"$ref": "Global.Time"
}
}
},
"Player.Position.Percentage": {
"default": 0,
"id": "Player.Position.Percentage",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"Player.Position.Time": {
"additionalProperties": false,
"id": "Player.Position.Time",
"properties": {
"hours": {
"default": 0,
"maximum": 23,
"minimum": 0,
"type": "integer"
},
"milliseconds": {
"default": 0,
"maximum": 999,
"minimum": 0,
"type": "integer"
},
"minutes": {
"default": 0,
"maximum": 59,
"minimum": 0,
"type": "integer"
},
"seconds": {
"default": 0,
"maximum": 59,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"Player.Property.Name": {
"default": "type",
"enums": [
"type",
"partymode",
"speed",
"time",
"percentage",
"totaltime",
"playlistid",
"position",
"repeat",
"shuffled",
"canseek",
"canchangespeed",
"canmove",
"canzoom",
"canrotate",
"canshuffle",
"canrepeat",
"currentaudiostream",
"audiostreams",
"subtitleenabled",
"currentsubtitle",
"subtitles",
"live"
],
"id": "Player.Property.Name",
"type": "string"
},
"Player.Property.Value": {
"id": "Player.Property.Value",
"properties": {
"audiostreams": {
"items": {
"$ref": "Player.Audio.Stream"
},
"type": "array"
},
"canchangespeed": {
"default": false,
"type": "boolean"
},
"canmove": {
"default": false,
"type": "boolean"
},
"canrepeat": {
"default": false,
"type": "boolean"
},
"canrotate": {
"default": false,
"type": "boolean"
},
"canseek": {
"default": false,
"type": "boolean"
},
"canshuffle": {
"default": false,
"type": "boolean"
},
"canzoom": {
"default": false,
"type": "boolean"
},
"currentaudiostream": {
"$ref": "Player.Audio.Stream.Extended"
},
"currentsubtitle": {
"$ref": "Player.Subtitle"
},
"live": {
"default": false,
"type": "boolean"
},
"partymode": {
"default": false,
"type": "boolean"
},
"percentage": {
"$ref": "Player.Position.Percentage",
"default": 0
},
"playlistid": {
"$ref": "Playlist.Id",
"default": -1
},
"position": {
"$ref": "Playlist.Position",
"default": -1
},
"repeat": {
"$ref": "Player.Repeat",
"default": "off"
},
"shuffled": {
"default": false,
"type": "boolean"
},
"speed": {
"default": 0,
"type": "integer"
},
"subtitleenabled": {
"default": false,
"type": "boolean"
},
"subtitles": {
"items": {
"$ref": "Player.Subtitle"
},
"type": "array"
},
"time": {
"$ref": "Global.Time"
},
"totaltime": {
"$ref": "Global.Time"
},
"type": {
"$ref": "Player.Type",
"default": "video"
}
},
"type": "object"
},
"Player.Repeat": {
"default": "off",
"enums": [
"off",
"one",
"all"
],
"id": "Player.Repeat",
"type": "string"
},
"Player.Speed": {
"id": "Player.Speed",
"properties": {
"speed": {
"default": 0,
"type": "integer"
}
},
"required": true,
"type": "object"
},
"Player.Subtitle": {
"id": "Player.Subtitle",
"properties": {
"index": {
"minimum": 0,
"required": true,
"type": "integer"
},
"language": {
"required": true,
"type": "string"
},
"name": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"Player.Type": {
"default": "video",
"enums": [
"video",
"audio",
"picture"
],
"id": "Player.Type",
"type": "string"
},
"Playlist.Id": {
"default": -1,
"id": "Playlist.Id",
"maximum": 2,
"minimum": 0,
"type": "integer"
},
"Playlist.Item": {
"id": "Playlist.Item",
"type": [
{
"additionalProperties": false,
"properties": {
"file": {
"description": "Path to a file (not a directory) to be added to the playlist",
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"directory": {
"required": true,
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"movieid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"episodeid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"musicvideoid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"artistid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"albumid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"songid": {
"$ref": "Library.Id",
"required": true
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"genreid": {
"$ref": "Library.Id",
"description": "Identification of a genre from the AudioLibrary",
"required": true
}
},
"type": "object"
}
]
},
"Playlist.Position": {
"default": -1,
"id": "Playlist.Position",
"minimum": 0,
"type": "integer"
},
"Playlist.Property.Name": {
"default": "type",
"enums": [
"type",
"size"
],
"id": "Playlist.Property.Name",
"type": "string"
},
"Playlist.Property.Value": {
"id": "Playlist.Property.Value",
"properties": {
"size": {
"default": 0,
"minimum": 0,
"type": "integer"
},
"type": {
"$ref": "Playlist.Type",
"default": "unknown"
}
},
"type": "object"
},
"Playlist.Type": {
"default": "unknown",
"enums": [
"unknown",
"video",
"audio",
"picture",
"mixed"
],
"id": "Playlist.Type",
"type": "string"
},
"System.Property.Name": {
"default": "canshutdown",
"enums": [
"canshutdown",
"cansuspend",
"canhibernate",
"canreboot"
],
"id": "System.Property.Name",
"type": "string"
},
"System.Property.Value": {
"id": "System.Property.Value",
"properties": {
"canhibernate": {
"default": false,
"type": "boolean"
},
"canreboot": {
"default": false,
"type": "boolean"
},
"canshutdown": {
"default": false,
"type": "boolean"
},
"cansuspend": {
"default": false,
"type": "boolean"
}
},
"type": "object"
},
"Video.Cast": {
"id": "Video.Cast",
"items": {
"additionalProperties": false,
"properties": {
"name": {
"required": true,
"type": "string"
},
"role": {
"required": true,
"type": "string"
},
"order": {
"required": true,
"type": "integer"
},
"thumbnail": {
"default": "",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"Video.Details.Base": {
"extends": "Media.Details.Base",
"id": "Video.Details.Base",
"properties": {
"art": {
"$ref": "Media.Artwork"
},
"playcount": {
"default": 0,
"type": "integer"
}
}
},
"Video.Details.Episode": {
"extends": "Video.Details.File",
"id": "Video.Details.Episode",
"properties": {
"cast": {
"$ref": "Video.Cast"
},
"episode": {
"default": 0,
"type": "integer"
},
"episodeid": {
"$ref": "Library.Id",
"required": true
},
"firstaired": {
"default": "",
"type": "string"
},
"originaltitle": {
"default": "",
"type": "string"
},
"productioncode": {
"default": "",
"type": "string"
},
"rating": {
"default": 0,
"type": "number"
},
"season": {
"default": 0,
"type": "integer"
},
"showtitle": {
"default": "",
"type": "string"
},
"tvshowid": {
"$ref": "Library.Id",
"default": -1
},
"uniqueid": {
"additionalProperties": {
"default": "",
"minLength": 1,
"type": "string"
},
"type": "object"
},
"votes": {
"default": "",
"type": "string"
},
"writer": {
"$ref": "Array.String"
}
}
},
"Video.Details.File": {
"extends": "Video.Details.Item",
"id": "Video.Details.File",
"properties": {
"director": {
"$ref": "Array.String"
},
"resume": {
"$ref": "Video.Resume"
},
"runtime": {
"default": 0,
"description": "Runtime in seconds",
"type": "integer"
},
"streamdetails": {
"$ref": "Video.Streams"
}
}
},
"Video.Details.Item": {
"extends": "Video.Details.Media",
"id": "Video.Details.Item",
"properties": {
"dateadded": {
"default": "",
"type": "string"
},
"file": {
"default": "",
"type": "string"
},
"lastplayed": {
"default": "",
"type": "string"
},
"plot": {
"default": "",
"type": "string"
}
}
},
"Video.Details.Media": {
"extends": "Video.Details.Base",
"id": "Video.Details.Media",
"properties": {
"title": {
"default": "",
"type": "string"
}
}
},
"Video.Details.Movie": {
"extends": "Video.Details.File",
"id": "Video.Details.Movie",
"properties": {
"cast": {
"$ref": "Video.Cast"
},
"country": {
"$ref": "Array.String"
},
"genre": {
"$ref": "Array.String"
},
"imdbnumber": {
"default": "",
"type": "string"
},
"movieid": {
"$ref": "Library.Id",
"required": true
},
"mpaa": {
"default": "",
"type": "string"
},
"originaltitle": {
"default": "",
"type": "string"
},
"plotoutline": {
"default": "",
"type": "string"
},
"rating": {
"default": 0,
"type": "number"
},
"set": {
"default": "",
"type": "string"
},
"setid": {
"$ref": "Library.Id",
"default": -1
},
"showlink": {
"$ref": "Array.String"
},
"sorttitle": {
"default": "",
"type": "string"
},
"studio": {
"$ref": "Array.String"
},
"tag": {
"$ref": "Array.String"
},
"tagline": {
"default": "",
"type": "string"
},
"top250": {
"default": 0,
"type": "integer"
},
"trailer": {
"default": "",
"type": "string"
},
"votes": {
"default": "",
"type": "string"
},
"writer": {
"$ref": "Array.String"
},
"year": {
"default": 0,
"type": "integer"
}
}
},
"Video.Details.MovieSet": {
"extends": "Video.Details.Media",
"id": "Video.Details.MovieSet",
"properties": {
"setid": {
"$ref": "Library.Id",
"required": true
}
}
},
"Video.Details.MovieSet.Extended": {
"extends": "Video.Details.MovieSet",
"id": "Video.Details.MovieSet.Extended",
"properties": {
"limits": {
"$ref": "List.LimitsReturned",
"required": true
},
"movies": {
"items": {
"$ref": "Video.Details.Movie"
},
"type": "array"
}
}
},
"Video.Details.MusicVideo": {
"extends": "Video.Details.File",
"id": "Video.Details.MusicVideo",
"properties": {
"album": {
"default": "",
"type": "string"
},
"artist": {
"$ref": "Array.String"
},
"genre": {
"$ref": "Array.String"
},
"musicvideoid": {
"$ref": "Library.Id",
"required": true
},
"studio": {
"$ref": "Array.String"
},
"tag": {
"$ref": "Array.String"
},
"track": {
"default": 0,
"type": "integer"
},
"year": {
"default": 0,
"type": "integer"
}
}
},
"Video.Details.Season": {
"extends": "Video.Details.Base",
"id": "Video.Details.Season",
"properties": {
"episode": {
"default": 0,
"type": "integer"
},
"season": {
"required": true,
"type": "integer"
},
"showtitle": {
"default": "",
"type": "string"
},
"tvshowid": {
"$ref": "Library.Id",
"default": -1
},
"watchedepisodes": {
"default": 0,
"type": "integer"
}
}
},
"Video.Details.TVShow": {
"extends": "Video.Details.Item",
"id": "Video.Details.TVShow",
"properties": {
"cast": {
"$ref": "Video.Cast"
},
"episode": {
"default": 0,
"type": "integer"
},
"episodeguide": {
"default": "",
"type": "string"
},
"genre": {
"$ref": "Array.String"
},
"imdbnumber": {
"default": "",
"type": "string"
},
"mpaa": {
"default": "",
"type": "string"
},
"originaltitle": {
"default": "",
"type": "string"
},
"premiered": {
"default": "",
"type": "string"
},
"rating": {
"default": 0,
"type": "number"
},
"season": {
"default": 0,
"type": "integer"
},
"sorttitle": {
"default": "",
"type": "string"
},
"studio": {
"$ref": "Array.String"
},
"tag": {
"$ref": "Array.String"
},
"tvshowid": {
"$ref": "Library.Id",
"required": true
},
"votes": {
"default": "",
"type": "string"
},
"watchedepisodes": {
"default": 0,
"type": "integer"
},
"year": {
"default": 0,
"type": "integer"
}
}
},
"Video.Fields.Episode": {
"extends": "Item.Fields.Base",
"id": "Video.Fields.Episode",
"items": {
"description": "Requesting the cast field will result in increased response times",
"enums": [
"title",
"plot",
"votes",
"rating",
"writer",
"firstaired",
"playcount",
"runtime",
"director",
"productioncode",
"season",
"episode",
"originaltitle",
"showtitle",
"cast",
"streamdetails",
"lastplayed",
"fanart",
"thumbnail",
"file",
"resume",
"tvshowid",
"dateadded",
"uniqueid",
"art"
],
"type": "string"
}
},
"Video.Fields.Movie": {
"extends": "Item.Fields.Base",
"id": "Video.Fields.Movie",
"items": {
"description": "Requesting the cast, showlink and/or tag field will result in increased response times",
"enums": [
"title",
"genre",
"year",
"rating",
"director",
"trailer",
"tagline",
"plot",
"plotoutline",
"originaltitle",
"lastplayed",
"playcount",
"writer",
"studio",
"mpaa",
"cast",
"country",
"imdbnumber",
"runtime",
"set",
"showlink",
"streamdetails",
"top250",
"votes",
"fanart",
"thumbnail",
"file",
"sorttitle",
"resume",
"setid",
"dateadded",
"tag",
"art"
],
"type": "string"
}
},
"Video.Fields.MovieSet": {
"extends": "Item.Fields.Base",
"id": "Video.Fields.MovieSet",
"items": {
"enums": [
"title",
"playcount",
"fanart",
"thumbnail",
"art"
],
"type": "string"
}
},
"Video.Fields.MusicVideo": {
"extends": "Item.Fields.Base",
"id": "Video.Fields.MusicVideo",
"items": {
"enums": [
"title",
"playcount",
"runtime",
"director",
"studio",
"year",
"plot",
"album",
"artist",
"genre",
"track",
"streamdetails",
"lastplayed",
"fanart",
"thumbnail",
"file",
"resume",
"dateadded",
"tag",
"art"
],
"type": "string"
}
},
"Video.Fields.Season": {
"extends": "Item.Fields.Base",
"id": "Video.Fields.Season",
"items": {
"enums": [
"season",
"showtitle",
"playcount",
"episode",
"fanart",
"thumbnail",
"tvshowid",
"watchedepisodes",
"art"
],
"type": "string"
}
},
"Video.Fields.TVShow": {
"extends": "Item.Fields.Base",
"id": "Video.Fields.TVShow",
"items": {
"description": "Requesting the cast field will result in increased response times",
"enums": [
"title",
"genre",
"year",
"rating",
"plot",
"studio",
"mpaa",
"cast",
"playcount",
"episode",
"imdbnumber",
"premiered",
"votes",
"lastplayed",
"fanart",
"thumbnail",
"file",
"originaltitle",
"sorttitle",
"episodeguide",
"season",
"watchedepisodes",
"dateadded",
"tag",
"art"
],
"type": "string"
}
},
"Video.Resume": {
"additionalProperties": false,
"id": "Video.Resume",
"properties": {
"position": {
"default": 0,
"minimum": 0,
"type": "number"
},
"total": {
"default": 0,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"Video.Streams": {
"additionalProperties": false,
"id": "Video.Streams",
"properties": {
"audio": {
"items": {
"additionalProperties": false,
"properties": {
"channels": {
"default": 0,
"type": "integer"
},
"codec": {
"default": "",
"type": "string"
},
"language": {
"default": "",
"type": "string"
}
},
"type": "object"
},
"minItems": 1,
"type": "array"
},
"subtitle": {
"items": {
"additionalProperties": false,
"properties": {
"language": {
"default": "",
"type": "string"
}
},
"type": "object"
},
"minItems": 1,
"type": "array"
},
"video": {
"items": {
"additionalProperties": false,
"properties": {
"aspect": {
"default": 0,
"type": "number"
},
"codec": {
"default": "",
"type": "string"
},
"duration": {
"default": 0,
"type": "integer"
},
"height": {
"default": 0,
"type": "integer"
},
"width": {
"default": 0,
"type": "integer"
}
},
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
}
},
"version": "6.0.3"
}
}