Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 95c4719ad8
Fetching contributors…

Cannot retrieve contributors at this time

1751 lines (1750 sloc) 66.894 kB
{
"JSONRPC.Introspect": {
"type": "method",
"description": "Enumerates all actions and descriptions",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "getdescriptions", "type": "boolean", "default": true },
{ "name": "getmetadata", "type": "boolean", "default": false },
{ "name": "filterbytransport", "type": "boolean", "default": true },
{ "name": "filter", "type": "object",
"properties": {
"id": { "type": "string", "required": true, "description": "Name of a namespace, method or type" },
"type": { "type": "string", "required": true, "enum": [ "method", "namespace", "type", "notification" ], "description": "Type of the given name" },
"getreferences": { "type": "boolean", "default": true, "description": "Whether or not to print the schema for referenced types" }
}
}
],
"returns": "object"
},
"JSONRPC.Version": {
"type": "method",
"description": "Retrieve the jsonrpc protocol version",
"transport": "Response",
"permission": "ReadData",
"params": [],
"returns": "string"
},
"JSONRPC.Permission": {
"type": "method",
"description": "Retrieve the clients permissions",
"transport": "Response",
"permission": "ReadData",
"params": [],
"returns": {
"type": "object",
"properties": {
"ReadData": { "type": "boolean", "required": true },
"ControlPlayback": { "type": "boolean", "required": true },
"ControlNotify": { "type": "boolean", "required": true },
"ControlPower": { "type": "boolean", "required": true },
"UpdateData": { "type": "boolean", "required": true },
"RemoveData": { "type": "boolean", "required": true },
"Navigate": { "type": "boolean", "required": true },
"WriteFile": { "type": "boolean", "required": true },
"ControlSystem": { "type": "boolean", "required": true },
"ControlGUI": { "type": "boolean", "required": true }
}
}
},
"JSONRPC.Ping": {
"type": "method",
"description": "Ping responder",
"transport": "Response",
"permission": "ReadData",
"params": [],
"returns": "string"
},
"JSONRPC.GetConfiguration": {
"type": "method",
"description": "Get client-specific configurations",
"transport": "Announcing",
"permission": "ReadData",
"params": [],
"returns": { "$ref": "Configuration" }
},
"JSONRPC.SetConfiguration": {
"type": "method",
"description": "Change the client-specific configuration",
"transport": "Announcing",
"permission": "ControlNotify",
"params": [
{ "name": "notifications", "type": "object",
"properties": {
"Player": { "$ref": "Optional.Boolean" },
"GUI": { "$ref": "Optional.Boolean" },
"System": { "$ref": "Optional.Boolean" },
"AudioLibrary": { "$ref": "Optional.Boolean" },
"VideoLibrary": { "$ref": "Optional.Boolean" },
"Application": { "$ref": "Optional.Boolean" },
"Other": { "$ref": "Optional.Boolean" }
}
}
],
"returns": { "$ref": "Configuration" }
},
"JSONRPC.NotifyAll": {
"type": "method",
"description": "Notify all other connected clients",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "sender", "type": "string", "required": true },
{ "name": "message", "type": "string", "required": true },
{ "name": "data", "type": "any", "default": null }
],
"returns": "any"
},
"Player.Open": {
"type": "method",
"description": "Start playback of either the playlist with the given ID, a slideshow with the pictures from the given directory or a single file or an item from the database.",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "item",
"type": [
{ "type": "object", "required": true, "additionalProperties": false,
"properties": {
"playlistid": { "$ref": "Playlist.Id", "required": true },
"position": { "$ref": "Playlist.Position", "default": 0 }
}
},
{ "$ref": "Playlist.Item", "required": true },
{ "type": "object", "required": true, "additionalProperties": false,
"properties": {
"path": { "type": "string", "required": true },
"random": { "type": "boolean", "default": true, "description": "Deprecated, use the shuffled property of the options parameter instead" },
"recursive": { "type": "boolean", "default": true }
}
},
{ "type": "object", "required": true, "additionalProperties": false,
"properties": {
"partymode": { "type": [
{ "type": "string", "required": true, "enum": [ "music", "video" ] },
{ "type": "string", "required": true, "minLength": 5, "description": "Path to a smartplaylist (*.xsp) file" }
]
}
}
}
]
},
{ "name": "options", "type": "object", "additionalProperties": false,
"properties": {
"shuffled": { "$ref": "Optional.Boolean" },
"repeat": { "type": [ "null", { "$ref": "Player.Repeat", "required": true } ], "default": null },
"resume": { "type": [
{ "type": "boolean", "required": true, "description": "Whether to resume from the resume point or not" },
{ "$ref": "Player.Position.Percentage", "required": true, "description": "Percentage value to start from" },
{ "$ref": "Player.Position.Time", "required": true, "description": "Time to start from" }
],
"default": false
}
}
}
],
"returns": "string"
},
"Player.GetActivePlayers": {
"type": "method",
"description": "Returns all active players",
"transport": "Response",
"permission": "ReadData",
"params": [],
"returns": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"playerid": { "$ref": "Player.Id", "required": true },
"type": { "$ref": "Player.Type", "required": true }
}
}
}
},
"Player.GetProperties": {
"type": "method",
"description": "Retrieves the values of the given properties",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Player.Property.Name" } }
],
"returns": { "$ref": "Player.Property.Value", "required": true }
},
"Player.GetItem": {
"type": "method",
"description": "Retrieves the currently played item",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "properties", "$ref": "List.Fields.All" }
],
"returns": { "type": "object",
"properties": {
"item": { "$ref": "List.Item.All", "required": true }
}
}
},
"Player.PlayPause": {
"type": "method",
"description": "Pauses or unpause playback and returns the new state",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "play", "$ref": "Global.Toggle", "default": "toggle" }
],
"returns": { "$ref": "Player.Speed" }
},
"Player.Stop": {
"type": "method",
"description": "Stops playback",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.SetSpeed": {
"type": "method",
"description": "Set the speed of the current playback",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "speed", "type": [
{ "type": "integer", "required": true, "enum": [ -32, -16, -8, -4, -2, -1, 0, 1, 2, 4, 8, 16, 32 ] },
{ "$ref": "Global.IncrementDecrement", "required": true }
],
"required": true
}
],
"returns": { "$ref": "Player.Speed" }
},
"Player.Seek": {
"type": "method",
"description": "Seek through the playing item",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "value", "required": true, "type": [
{ "$ref": "Player.Position.Percentage", "required": true, "description": "Percentage value to seek to" },
{ "$ref": "Player.Position.Time", "required": true, "description": "Time to seek to" },
{ "type": "string", "enum": [ "smallforward", "smallbackward", "bigforward", "bigbackward" ], "required": true, "description": "Seek by predefined jumps" }
]
}
],
"returns": {
"type": "object",
"properties": {
"percentage": { "$ref": "Player.Position.Percentage" },
"time": { "$ref": "Global.Time" },
"totaltime": { "$ref": "Global.Time" }
}
}
},
"Player.MoveLeft": {
"type": "method",
"description": "If picture is zoomed move viewport left otherwise skip previous",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.MoveRight": {
"type": "method",
"description": "If picture is zoomed move viewport right otherwise skip next",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.MoveDown": {
"type": "method",
"description": "If picture is zoomed move viewport down",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.MoveUp": {
"type": "method",
"description": "If picture is zoomed move viewport up",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.ZoomOut": {
"type": "method",
"description": "Zoom out once",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.ZoomIn": {
"type": "method",
"description": "Zoom in once",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.Zoom": {
"type": "method",
"description": "Zooms current picture",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "value", "type": "integer", "required": true, "minimum": 1, "maximum": 10, "description": "Zoom level" }
],
"returns": "string"
},
"Player.Rotate": {
"type": "method",
"description": "Rotates current picture",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "value", "type": "string", "enum": [ "clockwise", "counterclockwise" ], "default": "clockwise" }
],
"returns": "string"
},
"Player.GoPrevious": {
"type": "method",
"description": "Go to previous item on the playlist",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.GoNext": {
"type": "method",
"description": "Go to next item on the playlist",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.GoTo": {
"type": "method",
"description": "Go to item at the given position in the playlist",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "position", "$ref": "Playlist.Position", "required": true }
],
"returns": "string"
},
"Player.Shuffle": {
"type": "method",
"description": "Shuffle items in the player",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.UnShuffle": {
"type": "method",
"description": "Unshuffle items in the player",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true }
],
"returns": "string"
},
"Player.Repeat": {
"type": "method",
"description": "Set the repeat mode of the player",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "state", "$ref": "Player.Repeat", "required": true }
],
"returns": "string"
},
"Player.SetPartymode": {
"type": "method",
"description": "Turn partymode on or off",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "partymode", "$ref": "Global.Toggle", "required": true }
],
"returns": "string"
},
"Player.SetAudioStream": {
"type": "method",
"description": "Set the audio stream played by the player",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "stream", "required": true, "type": [
{ "type": "string", "enum": [ "previous", "next" ] },
{ "type": "integer", "minimum": 0, "description": "Index of the audio stream to play" }
]
}
],
"returns": "string"
},
"Player.SetSubtitle": {
"type": "method",
"description": "Set the subtitle displayed by the player",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playerid", "$ref": "Player.Id", "required": true },
{ "name": "subtitle", "required": true, "type": [
{ "type": "string", "enum": [ "previous", "next", "off", "on" ] },
{ "type": "integer", "minimum": 0, "description": "Index of the subtitle to display" }
]
},
{ "name": "enable", "type": "boolean", "default": false, "description": "Whether to enable subtitles to be displayed after setting the new subtitle" }
],
"returns": "string"
},
"Playlist.GetPlaylists": {
"type": "method",
"description": "Returns all existing playlists",
"transport": "Response",
"permission": "ReadData",
"params": [],
"returns": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"playlistid": { "$ref": "Playlist.Id", "required": true },
"type": { "$ref": "Playlist.Type", "required": true }
}
}
}
},
"Playlist.GetProperties": {
"type": "method",
"description": "Retrieves the values of the given properties",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "playlistid", "$ref": "Playlist.Id", "required": true },
{ "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Playlist.Property.Name" } }
],
"returns": { "$ref": "Playlist.Property.Value", "required": true }
},
"Playlist.GetItems": {
"type": "method",
"description": "Get all items from playlist",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "playlistid", "$ref": "Playlist.Id", "required": true },
{ "name": "properties", "$ref": "List.Fields.All" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"items": { "type": "array", "items": { "$ref": "List.Item.All" }, "required": true }
}
}
},
"Playlist.Add": {
"type": "method",
"description": "Add item(s) to playlist",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playlistid", "$ref": "Playlist.Id", "required": true },
{ "name": "item", "$ref": "Playlist.Item", "required": true }
],
"returns": "string"
},
"Playlist.Insert": {
"type": "method",
"description": "Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playlistid", "$ref": "Playlist.Id", "required": true },
{ "name": "position", "$ref": "Playlist.Position", "required": true },
{ "name": "item", "$ref": "Playlist.Item", "required": true }
],
"returns": "string"
},
"Playlist.Remove": {
"type": "method",
"description": "Remove item from playlist. Does not work for picture playlists (aka slideshows).",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playlistid", "$ref": "Playlist.Id", "required": true },
{ "name": "position", "$ref": "Playlist.Position", "required": true }
],
"returns": "string"
},
"Playlist.Clear": {
"type": "method",
"description": "Clear playlist",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playlistid", "$ref": "Playlist.Id", "required": true }
],
"returns": "string"
},
"Playlist.Swap": {
"type": "method",
"description": "Swap items in the playlist. Does not work for picture playlists (aka slideshows).",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "playlistid", "$ref": "Playlist.Id", "required": true },
{ "name": "position1", "$ref": "Playlist.Position", "required": true },
{ "name": "position2", "$ref": "Playlist.Position", "required": true }
],
"returns": "string"
},
"Files.GetSources": {
"type": "method",
"description": "Get the sources of the media windows",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "media", "$ref": "Files.Media", "required": true },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"sources": { "$ref": "List.Items.Sources", "required": true }
}
}
},
"Files.PrepareDownload": {
"type": "method",
"description": "Provides a way to download a given file (e.g. providing an URL to the real file location)",
"transport": [ "Response", "FileDownloadRedirect" ],
"permission": "ReadData",
"params": [
{ "name": "path", "type": "string", "required": true }
],
"returns": {
"type": "object",
"properties": {
"protocol": { "type": "string", "enum": [ "http" ], "required": true },
"details": { "type": "any", "required": true, "description": "Transport specific details on how/from where to download the given file" },
"mode": { "type": "string", "enum": [ "redirect", "direct" ], "required": true, "description": "Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol" }
}
}
},
"Files.Download": {
"type": "method",
"description": "Downloads the given file",
"transport": [ "Response", "FileDownloadDirect" ],
"permission": "ReadData",
"params": [
{ "name": "path", "type": "string", "required": true }
],
"returns": { "type": "any", "required": true }
},
"Files.GetDirectory": {
"type": "method",
"description": "Get the directories and files in the given directory",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "directory", "type": "string", "required": true },
{ "name": "media", "$ref": "Files.Media", "default": "files" },
{ "name": "properties", "$ref": "List.Fields.Files" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"files": { "type": "array", "items": { "$ref": "List.Item.File" }, "required": true }
}
}
},
"Files.GetFileDetails": {
"type": "method",
"description": "Get details for a specific file",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "file", "type": "string", "required": true, "description": "Full path to the file" },
{ "name": "media", "$ref": "Files.Media", "default": "files" },
{ "name": "properties", "$ref": "List.Fields.Files" }
],
"returns": {
"type": "object",
"properties": {
"filedetails": { "$ref": "List.Item.File", "required": true }
}
}
},
"AudioLibrary.GetArtists": {
"type": "method",
"description": "Retrieve all artists",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "albumartistsonly", "$ref": "Optional.Boolean", "description": "Whether or not to include artists only appearing in compilations. If the parameter is not passed or is passed as null the GUI setting will be used" },
{ "name": "properties", "$ref": "Audio.Fields.Artist" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" },
{ "name": "filter",
"type": [
{ "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "albumid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "album": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "songid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "$ref": "List.Filter.Artists" }
]
}
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"artists": { "type": "array",
"items": { "$ref": "Audio.Details.Artist" }
}
}
}
},
"AudioLibrary.GetArtistDetails": {
"type": "method",
"description": "Retrieve details about a specific artist",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "artistid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Audio.Fields.Artist" }
],
"returns": { "type": "object",
"properties": {
"artistdetails": { "$ref": "Audio.Details.Artist" }
}
}
},
"AudioLibrary.GetAlbums": {
"type": "method",
"description": "Retrieve all albums from specified artist or genre",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Audio.Fields.Album" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" },
{ "name": "filter",
"type": [
{ "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "$ref": "List.Filter.Albums" }
]
}
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"albums": { "type": "array",
"items": { "$ref": "Audio.Details.Album" }
}
}
}
},
"AudioLibrary.GetAlbumDetails": {
"type": "method",
"description": "Retrieve details about a specific album",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "albumid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Audio.Fields.Album" }
],
"returns": { "type": "object",
"properties": {
"albumdetails": { "$ref": "Audio.Details.Album" }
}
}
},
"AudioLibrary.GetSongs": {
"type": "method",
"description": "Retrieve all songs from specified album, artist or genre",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Audio.Fields.Song" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" },
{ "name": "filter",
"type": [
{ "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "artistid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "albumid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "album": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "$ref": "List.Filter.Songs" }
]
}
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"songs": { "type": "array",
"items": { "$ref": "Audio.Details.Song" }
}
}
}
},
"AudioLibrary.GetSongDetails": {
"type": "method",
"description": "Retrieve details about a specific song",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "songid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Audio.Fields.Song" }
],
"returns": { "type": "object",
"properties": {
"songdetails": { "$ref": "Audio.Details.Song" }
}
}
},
"AudioLibrary.GetRecentlyAddedAlbums": {
"type": "method",
"description": "Retrieve recently added albums",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Audio.Fields.Album" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"albums": { "type": "array",
"items": { "$ref": "Audio.Details.Album" }
}
}
}
},
"AudioLibrary.GetRecentlyAddedSongs": {
"type": "method",
"description": "Retrieve recently added songs",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "albumlimit", "$ref": "List.Amount", "description": "The amount of recently added albums from which to return the songs" },
{ "name": "properties", "$ref": "Audio.Fields.Song" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"songs": { "type": "array",
"items": { "$ref": "Audio.Details.Song" }
}
}
}
},
"AudioLibrary.GetRecentlyPlayedAlbums": {
"type": "method",
"description": "Retrieve recently played albums",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Audio.Fields.Album" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"albums": { "type": "array",
"items": { "$ref": "Audio.Details.Album" }
}
}
}
},
"AudioLibrary.GetRecentlyPlayedSongs": {
"type": "method",
"description": "Retrieve recently played songs",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Audio.Fields.Song" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"songs": { "type": "array",
"items": { "$ref": "Audio.Details.Song" }
}
}
}
},
"AudioLibrary.GetGenres": {
"type": "method",
"description": "Retrieve all genres",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Library.Fields.Genre" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"genres": { "type": "array", "required": true,
"items": { "$ref": "Library.Details.Genre" }
}
}
}
},
"AudioLibrary.SetArtistDetails": {
"type": "method",
"description": "Update the given artist with the given details",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "artistid", "$ref": "Library.Id", "required": true },
{ "name": "artist", "$ref": "Optional.String" },
{ "name": "instrument", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "style", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "mood", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "born", "$ref": "Optional.String" },
{ "name": "formed", "$ref": "Optional.String" },
{ "name": "description", "$ref": "Optional.String" },
{ "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "died", "$ref": "Optional.String" },
{ "name": "disbanded", "$ref": "Optional.String" },
{ "name": "yearsactive", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }
],
"returns": "string"
},
"AudioLibrary.SetAlbumDetails": {
"type": "method",
"description": "Update the given album with the given details",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "albumid", "$ref": "Library.Id", "required": true },
{ "name": "title", "$ref": "Optional.String" },
{ "name": "artist", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "description", "$ref": "Optional.String" },
{ "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "theme", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "mood", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "style", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "type", "$ref": "Optional.String" },
{ "name": "albumlabel", "$ref": "Optional.String" },
{ "name": "rating", "$ref": "Optional.Integer" },
{ "name": "year", "$ref": "Optional.Integer" }
],
"returns": "string"
},
"AudioLibrary.SetSongDetails": {
"type": "method",
"description": "Update the given song with the given details",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "songid", "$ref": "Library.Id", "required": true },
{ "name": "title", "$ref": "Optional.String" },
{ "name": "artist", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "albumartist", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "year", "$ref": "Optional.Integer" },
{ "name": "rating", "$ref": "Optional.Integer" },
{ "name": "album", "$ref": "Optional.String" },
{ "name": "track", "$ref": "Optional.Integer" },
{ "name": "disc", "$ref": "Optional.Integer" },
{ "name": "duration", "$ref": "Optional.Integer" },
{ "name": "comment", "$ref": "Optional.String" },
{ "name": "musicbrainztrackid", "$ref": "Optional.String" },
{ "name": "musicbrainzartistid", "$ref": "Optional.String" },
{ "name": "musicbrainzalbumid", "$ref": "Optional.String" },
{ "name": "musicbrainzalbumartistid", "$ref": "Optional.String" }
],
"returns": "string"
},
"AudioLibrary.Scan": {
"type": "method",
"description": "Scans the audio sources for new library items",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "directory", "type": "string", "default": "" }
],
"returns": "string"
},
"AudioLibrary.Export": {
"type": "method",
"description": "Exports all items from the audio library",
"transport": "Response",
"permission": "WriteFile",
"params": [
{ "name": "options", "type": [
{ "type": "object", "required": true, "additionalProperties": false,
"properties": {
"path": { "type": "string", "required": true, "minLength": 1, "description": "Path to the directory to where the data should be exported" }
}
},
{ "type": "object", "required": true, "additionalProperties": false,
"properties": {
"overwrite": { "type": "boolean", "default": false, "description": "Whether to overwrite existing exported files" },
"images": { "type": "boolean", "default": false, "description": "Whether to export thumbnails and fanart images" }
}
}
]
}
],
"returns": "string"
},
"AudioLibrary.Clean": {
"type": "method",
"description": "Cleans the audio library from non-existent items",
"transport": "Response",
"permission": "RemoveData",
"params": [ ],
"returns": "string"
},
"VideoLibrary.GetMovies": {
"type": "method",
"description": "Retrieve all movies",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Video.Fields.Movie" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" },
{ "name": "filter",
"type": [
{ "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "year": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "actor": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "director": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "studio": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "country": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "setid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "set": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "tag": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "$ref": "List.Filter.Movies" }
]
}
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"movies": { "type": "array",
"items": { "$ref": "Video.Details.Movie" }
}
}
}
},
"VideoLibrary.GetMovieDetails": {
"type": "method",
"description": "Retrieve details about a specific movie",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "movieid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Video.Fields.Movie" }
],
"returns": { "type": "object",
"properties": {
"moviedetails": { "$ref": "Video.Details.Movie" }
}
}
},
"VideoLibrary.GetMovieSets": {
"type": "method",
"description": "Retrieve all movie sets",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Video.Fields.MovieSet" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"sets": { "type": "array",
"items": { "$ref": "Video.Details.MovieSet" }
}
}
}
},
"VideoLibrary.GetMovieSetDetails": {
"type": "method",
"description": "Retrieve details about a specific movie set",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "setid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Video.Fields.MovieSet" },
{ "name": "movies", "type": "object",
"properties": {
"properties": { "$ref": "Video.Fields.Movie" },
"limits": { "$ref": "List.Limits" },
"sort": { "$ref": "List.Sort" }
}
}
],
"returns": { "type": "object",
"properties": {
"setdetails": { "$ref": "Video.Details.MovieSet.Extended" }
}
}
},
"VideoLibrary.GetTVShows": {
"type": "method",
"description": "Retrieve all tv shows",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Video.Fields.TVShow" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" },
{ "name": "filter",
"type": [
{ "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "year": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "actor": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "studio": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "$ref": "List.Filter.TVShows" }
]
}
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"tvshows": { "type": "array",
"items": { "$ref": "Video.Details.TVShow" }
}
}
}
},
"VideoLibrary.GetTVShowDetails": {
"type": "method",
"description": "Retrieve details about a specific tv show",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "tvshowid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Video.Fields.TVShow" }
],
"returns": { "type": "object",
"properties": {
"tvshowdetails": { "$ref": "Video.Details.TVShow" }
}
}
},
"VideoLibrary.GetSeasons": {
"type": "method",
"description": "Retrieve all tv seasons",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "tvshowid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Video.Fields.Season" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"seasons": { "type": "array",
"items": { "$ref": "Video.Details.Season" }
}
}
}
},
"VideoLibrary.GetEpisodes": {
"type": "method",
"description": "Retrieve all tv show episodes",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "tvshowid", "$ref": "Library.Id" },
{ "name": "season", "type": "integer", "minimum": 0, "default": -1 },
{ "name": "properties", "$ref": "Video.Fields.Episode" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" },
{ "name": "filter",
"type": [
{ "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true, "description": "Requires tvshowid to be set" } }, "additionalProperties": false },
{ "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true, "description": "Requires tvshowid to be set" } }, "additionalProperties": false },
{ "type": "object", "properties": { "year": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "actor": { "type": "string", "minLength": 1, "required": true, "description": "Requires tvshowid to be set" } }, "additionalProperties": false },
{ "type": "object", "properties": { "director": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "$ref": "List.Filter.Episodes" }
]
}
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"episodes": { "type": "array",
"items": { "$ref": "Video.Details.Episode" }
}
}
}
},
"VideoLibrary.GetEpisodeDetails": {
"type": "method",
"description": "Retrieve details about a specific tv show episode",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "episodeid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Video.Fields.Episode" }
],
"returns": { "type": "object",
"properties": {
"episodedetails": { "$ref": "Video.Details.Episode" }
}
}
},
"VideoLibrary.GetMusicVideos": {
"type": "method",
"description": "Retrieve all music videos",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Video.Fields.MusicVideo" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" },
{ "name": "filter",
"type": [
{ "type": "object", "properties": { "artist": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "genreid": { "$ref": "Library.Id", "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "genre": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "year": { "type": "integer", "minimum": 0, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "director": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "type": "object", "properties": { "studio": { "type": "string", "minLength": 1, "required": true } }, "additionalProperties": false },
{ "$ref": "List.Filter.MusicVideos" }
]
}
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"musicvideos": { "type": "array",
"items": { "$ref": "Video.Details.MusicVideo" }
}
}
}
},
"VideoLibrary.GetMusicVideoDetails": {
"type": "method",
"description": "Retrieve details about a specific music video",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "musicvideoid", "$ref": "Library.Id", "required": true },
{ "name": "properties", "$ref": "Video.Fields.MusicVideo" }
],
"returns": { "type": "object",
"properties": {
"musicvideodetails": { "$ref": "Video.Details.MusicVideo" }
}
}
},
"VideoLibrary.GetRecentlyAddedMovies": {
"type": "method",
"description": "Retrieve all recently added movies",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Video.Fields.Movie" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"movies": { "type": "array",
"items": { "$ref": "Video.Details.Movie" }
}
}
}
},
"VideoLibrary.GetRecentlyAddedEpisodes": {
"type": "method",
"description": "Retrieve all recently added tv episodes",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Video.Fields.Episode" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"episodes": { "type": "array",
"items": { "$ref": "Video.Details.Episode" }
}
}
}
},
"VideoLibrary.GetRecentlyAddedMusicVideos": {
"type": "method",
"description": "Retrieve all recently added music videos",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "$ref": "Video.Fields.MusicVideo" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": { "type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"musicvideos": { "type": "array",
"items": { "$ref": "Video.Details.MusicVideo" }
}
}
}
},
"VideoLibrary.GetGenres": {
"type": "method",
"description": "Retrieve all genres",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "type", "type": "string", "required": true, "enum": [ "movie", "tvshow", "musicvideo"] },
{ "name": "properties", "$ref": "Library.Fields.Genre" },
{ "name": "limits", "$ref": "List.Limits" },
{ "name": "sort", "$ref": "List.Sort" }
],
"returns": {
"type": "object",
"properties": {
"limits": { "$ref": "List.LimitsReturned", "required": true },
"genres": { "type": "array", "required": true,
"items": { "$ref": "Library.Details.Genre" }
}
}
}
},
"VideoLibrary.SetMovieDetails": {
"type": "method",
"description": "Update the given movie with the given details",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "movieid", "$ref": "Library.Id", "required": true },
{ "name": "title", "$ref": "Optional.String" },
{ "name": "playcount", "$ref": "Optional.Integer" },
{ "name": "runtime", "$ref": "Optional.String" },
{ "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "studio", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "year", "$ref": "Optional.Integer" },
{ "name": "plot", "$ref": "Optional.String" },
{ "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "rating", "$ref": "Optional.Number" },
{ "name": "mpaa", "$ref": "Optional.String" },
{ "name": "imdbnumber", "$ref": "Optional.String" },
{ "name": "votes", "$ref": "Optional.String" },
{ "name": "lastplayed", "$ref": "Optional.String" },
{ "name": "originaltitle", "$ref": "Optional.String" },
{ "name": "trailer", "$ref": "Optional.String" },
{ "name": "tagline", "$ref": "Optional.String" },
{ "name": "plotoutline", "$ref": "Optional.String" },
{ "name": "writer", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "country", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "top250", "$ref": "Optional.Integer" },
{ "name": "sorttitle", "$ref": "Optional.String" },
{ "name": "set", "$ref": "Optional.String" },
{ "name": "showlink", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "thumbnail", "$ref": "Optional.String" },
{ "name": "fanart", "$ref": "Optional.String" },
{ "name": "tag", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null }
],
"returns": "string"
},
"VideoLibrary.SetTVShowDetails": {
"type": "method",
"description": "Update the given tvshow with the given details",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "tvshowid", "$ref": "Library.Id", "required": true },
{ "name": "title", "$ref": "Optional.String" },
{ "name": "playcount", "$ref": "Optional.Integer" },
{ "name": "studio", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "plot", "$ref": "Optional.String" },
{ "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "rating", "$ref": "Optional.Number" },
{ "name": "mpaa", "$ref": "Optional.String" },
{ "name": "imdbnumber", "$ref": "Optional.String" },
{ "name": "premiered", "$ref": "Optional.String" },
{ "name": "votes", "$ref": "Optional.String" },
{ "name": "lastplayed", "$ref": "Optional.String" },
{ "name": "originaltitle", "$ref": "Optional.String" },
{ "name": "sorttitle", "$ref": "Optional.String" },
{ "name": "episodeguide", "$ref": "Optional.String" },
{ "name": "thumbnail", "$ref": "Optional.String" },
{ "name": "fanart", "$ref": "Optional.String" }
],
"returns": "string"
},
"VideoLibrary.SetEpisodeDetails": {
"type": "method",
"description": "Update the given episode with the given details",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "episodeid", "$ref": "Library.Id", "required": true },
{ "name": "title", "$ref": "Optional.String" },
{ "name": "playcount", "$ref": "Optional.Integer" },
{ "name": "runtime", "$ref": "Optional.String" },
{ "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "plot", "$ref": "Optional.String" },
{ "name": "rating", "$ref": "Optional.Number" },
{ "name": "votes", "$ref": "Optional.String" },
{ "name": "lastplayed", "$ref": "Optional.String" },
{ "name": "writer", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "firstaired", "$ref": "Optional.String" },
{ "name": "productioncode", "$ref": "Optional.String" },
{ "name": "season", "$ref": "Optional.Integer" },
{ "name": "episode", "$ref": "Optional.Integer" },
{ "name": "originaltitle", "$ref": "Optional.String" },
{ "name": "thumbnail", "$ref": "Optional.String" },
{ "name": "fanart", "$ref": "Optional.String" }
],
"returns": "string"
},
"VideoLibrary.SetMusicVideoDetails": {
"type": "method",
"description": "Update the given music video with the given details",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "musicvideoid", "$ref": "Library.Id", "required": true },
{ "name": "title", "$ref": "Optional.String" },
{ "name": "playcount", "$ref": "Optional.Integer" },
{ "name": "runtime", "$ref": "Optional.String" },
{ "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "studio", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "year", "$ref": "Optional.Integer" },
{ "name": "plot", "$ref": "Optional.String" },
{ "name": "album", "$ref": "Optional.String" },
{ "name": "artist", "type": [ "null", { "$ref": "Array.String", "required": true } ] },
{ "name": "genre", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
{ "name": "track", "$ref": "Optional.Integer" },
{ "name": "lastplayed", "$ref": "Optional.String" },
{ "name": "thumbnail", "$ref": "Optional.String" },
{ "name": "fanart", "$ref": "Optional.String" }
],
"returns": "string"
},
"VideoLibrary.RemoveMovie": {
"type": "method",
"description": "Removes the given movie from the library",
"transport": "Response",
"permission": "RemoveData",
"params": [
{ "name": "movieid", "$ref": "Library.Id", "required": true }
],
"returns": "string"
},
"VideoLibrary.RemoveTVShow": {
"type": "method",
"description": "Removes the given tv show from the library",
"transport": "Response",
"permission": "RemoveData",
"params": [
{ "name": "tvshowid", "$ref": "Library.Id", "required": true }
],
"returns": "string"
},
"VideoLibrary.RemoveEpisode": {
"type": "method",
"description": "Removes the given episode from the library",
"transport": "Response",
"permission": "RemoveData",
"params": [
{ "name": "episodeid", "$ref": "Library.Id", "required": true }
],
"returns": "string"
},
"VideoLibrary.RemoveMusicVideo": {
"type": "method",
"description": "Removes the given music video from the library",
"transport": "Response",
"permission": "RemoveData",
"params": [
{ "name": "musicvideoid", "$ref": "Library.Id", "required": true }
],
"returns": "string"
},
"VideoLibrary.Scan": {
"type": "method",
"description": "Scans the video sources for new library items",
"transport": "Response",
"permission": "UpdateData",
"params": [
{ "name": "directory", "type": "string", "default": "" }
],
"returns": "string"
},
"VideoLibrary.Export": {
"type": "method",
"description": "Exports all items from the video library",
"transport": "Response",
"permission": "WriteFile",
"params": [
{ "name": "options", "type": [
{ "type": "object", "required": true, "additionalProperties": false,
"properties": {
"path": { "type": "string", "required": true, "minLength": 1, "description": "Path to the directory to where the data should be exported" }
}
},
{ "type": "object", "required": true, "additionalProperties": false,
"properties": {
"overwrite": { "type": "boolean", "default": false, "description": "Whether to overwrite existing exported files" },
"images": { "type": "boolean", "default": false, "description": "Whether to export thumbnails and fanart images" },
"actorthumbs": { "type": "boolean", "default": false, "description": "Whether to export actor thumbnails" }
}
}
]
}
],
"returns": "string"
},
"VideoLibrary.Clean": {
"type": "method",
"description": "Cleans the video library from non-existent items",
"transport": "Response",
"permission": "RemoveData",
"params": [ ],
"returns": "string"
},
"GUI.ShowNotification": {
"type": "method",
"description": "Shows a GUI notification",
"transport": "Response",
"permission": "ControlGUI",
"params": [
{ "name": "title", "type": "string", "required": true },
{ "name": "message", "type": "string", "required": true },
{ "name": "image", "type": [
{ "type": "string", "required": true, "enum": [ "info", "warning", "error" ] },
{ "type": "string", "required": true }
], "default": ""
},
{ "name": "displaytime", "type": "integer", "minimum": 1500, "default": 5000, "description": "The time in milliseconds the notification will be visible" }
],
"returns": { "$ref": "System.Property.Value", "required": true }
},
"GUI.GetProperties": {
"type": "method",
"description": "Retrieves the values of the given properties",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "GUI.Property.Name" } }
],
"returns": { "$ref": "GUI.Property.Value", "required": true }
},
"GUI.SetFullscreen": {
"type": "method",
"description": "Toggle fullscreen/GUI",
"transport": "Response",
"permission": "ControlGUI",
"params": [
{ "name": "fullscreen", "required": true, "$ref": "Global.Toggle" }
],
"returns": { "type": "boolean", "description": "Fullscreen state" }
},
"System.GetProperties": {
"type": "method",
"description": "Retrieves the values of the given properties",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "System.Property.Name" } }
],
"returns": { "$ref": "System.Property.Value", "required": true }
},
"System.EjectOpticalDrive": {
"type": "method",
"description": "Ejects or closes the optical disc drive (if available)",
"transport": "Response",
"permission": "ControlSystem",
"params": [ ],
"returns": "string"
},
"System.Shutdown": {
"type": "method",
"description": "Shuts the system running XBMC down",
"transport": "Response",
"permission": "ControlPower",
"params": [],
"returns": "string"
},
"System.Suspend": {
"type": "method",
"description": "Suspends the system running XBMC",
"transport": "Response",
"permission": "ControlPower",
"params": [],
"returns": "string"
},
"System.Hibernate": {
"type": "method",
"description": "Puts the system running XBMC into hibernate mode",
"transport": "Response",
"permission": "ControlPower",
"params": [],
"returns": "string"
},
"System.Reboot": {
"type": "method",
"description": "Reboots the system running XBMC",
"transport": "Response",
"permission": "ControlPower",
"params": [],
"returns": "string"
},
"Input.SendText": {
"type": "method",
"description": "Send a generic (unicode) text",
"transport": "Response",
"permission": "Navigate",
"params": [
{ "name": "text", "type": "string", "minLength": 1, "required": true, "description": "Unicode text" },
{ "name": "done", "type": "boolean", "default": true, "description": "Whether this is the whole input or not (closes an open input dialog if true)." }
],
"returns": "string"
},
"Input.ExecuteAction": {
"type": "method",
"description": "Execute a specific action",
"transport": "Response",
"permission": "Navigate",
"params": [
{ "name": "action", "$ref": "Input.Action", "required": true }
],
"returns": "string"
},
"Input.Left": {
"type": "method",
"description": "Navigate left in GUI",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.Right": {
"type": "method",
"description": "Navigate right in GUI",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.Down": {
"type": "method",
"description": "Navigate down in GUI",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.Up": {
"type": "method",
"description": "Navigate up in GUI",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.Select": {
"type": "method",
"description": "Select current item in GUI",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.Back": {
"type": "method",
"description": "Goes back in GUI",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.ContextMenu": {
"type": "method",
"description": "Shows the context menu",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.Info": {
"type": "method",
"description": "Shows the information dialog",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.Home": {
"type": "method",
"description": "Goes to home window in GUI",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.ShowCodec": {
"type": "method",
"description": "Show codec information of the playing item",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Input.ShowOSD": {
"type": "method",
"description": "Show the on-screen display for the current player",
"transport": "Response",
"permission": "Navigate",
"params": [],
"returns": "string"
},
"Application.GetProperties": {
"type": "method",
"description": "Retrieves the values of the given properties",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Application.Property.Name" } }
],
"returns": { "$ref": "Application.Property.Value", "required": true }
},
"Application.SetVolume": {
"type": "method",
"description": "Set the current volume",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "volume", "type": [
{ "type": "integer", "minimum": 0, "maximum": 100, "required": true },
{ "$ref": "Global.IncrementDecrement", "required": true }
],
"required": true
}
],
"returns": "integer"
},
"Application.SetMute": {
"type": "method",
"description": "Toggle mute/unmute",
"transport": "Response",
"permission": "ControlPlayback",
"params": [
{ "name": "mute", "required": true, "$ref": "Global.Toggle" }
],
"returns": { "type": "boolean", "description": "Mute state" }
},
"Application.Quit": {
"type": "method",
"description": "Quit application",
"transport": "Response",
"permission": "ControlPower",
"params": [],
"returns": "string"
},
"XBMC.GetInfoLabels": {
"type": "method",
"description": "Retrieve info labels about XBMC and the system",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "labels", "type": "array", "required": true, "items": { "type": "string" }, "minItems": 1, "description": "See http://wiki.xbmc.org/index.php?title=InfoLabels for a list of possible info labels" }
],
"returns": {
"type": "object",
"description": "List of key-value pairs of the retrieved info labels"
}
},
"XBMC.GetInfoBooleans": {
"type": "method",
"description": "Retrieve info booleans about XBMC and the system",
"transport": "Response",
"permission": "ReadData",
"params": [
{ "name": "booleans", "type": "array", "required": true, "items": { "type": "string" }, "minItems": 1 }
],
"returns": {
"type": "object",
"description": "List of key-value pairs of the retrieved info booleans"
}
}
}
Jump to Line
Something went wrong with that request. Please try again.