2 "JSONRPC.Introspect": {
4 "description": "Enumerates all actions and descriptions",
5 "transport": "Response",
6 "permission": "ReadData",
8 { "name": "getdescriptions", "type": "boolean", "default": true },
9 { "name": "getmetadata", "type": "boolean", "default": false },
10 { "name": "filterbytransport", "type": "boolean", "default": true },
11 { "name": "filter", "type": "object",
13 "id": { "type": "string", "required": true, "description": "Name of a namespace, method or type" },
14 "type": { "type": "string", "required": true, "enum": [ "method", "namespace", "type", "notification" ], "description": "Type of the given name" },
15 "getreferences": { "type": "boolean", "default": true, "description": "Whether or not to print the schema for referenced types" }
23 "description": "Retrieve the jsonrpc protocol version",
24 "transport": "Response",
25 "permission": "ReadData",
29 "JSONRPC.Permission": {
31 "description": "Retrieve the clients permissions",
32 "transport": "Response",
33 "permission": "ReadData",
38 "ReadData": { "type": "boolean", "required": true },
39 "ControlPlayback": { "type": "boolean", "required": true },
40 "ControlNotify": { "type": "boolean", "required": true },
41 "ControlPower": { "type": "boolean", "required": true },
42 "UpdateData": { "type": "boolean", "required": true },
43 "RemoveData": { "type": "boolean", "required": true },
44 "Navigate": { "type": "boolean", "required": true },
45 "WriteFile": { "type": "boolean", "required": true }
51 "description": "Ping responder",
52 "transport": "Response",
53 "permission": "ReadData",
57 "JSONRPC.GetConfiguration": {
59 "description": "Get client-specific configurations",
60 "transport": "Announcing",
61 "permission": "ReadData",
63 "returns": { "$ref": "Configuration" }
65 "JSONRPC.SetConfiguration": {
67 "description": "Change the client-specific configuration",
68 "transport": "Announcing",
69 "permission": "ControlNotify",
71 { "name": "notifications", "type": "object",
73 "Player": { "$ref": "Optional.Boolean" },
74 "GUI": { "$ref": "Optional.Boolean" },
75 "System": { "$ref": "Optional.Boolean" },
76 "AudioLibrary": { "$ref": "Optional.Boolean" },
77 "VideoLibrary": { "$ref": "Optional.Boolean" },
78 "Other": { "$ref": "Optional.Boolean" }
82 "returns": { "$ref": "Configuration" }
84 "JSONRPC.NotifyAll": {
86 "description": "Notify all other connected clients",
87 "transport": "Response",
88 "permission": "ReadData",
90 { "name": "sender", "type": "string", "required": true },
91 { "name": "message", "type": "string", "required": true },
92 { "name": "data", "type": "any", "default": null }
98 "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.",
99 "transport": "Response",
100 "permission": "ControlPlayback",
104 { "type": "object", "required": true, "additionalProperties": false,
106 "playlistid": { "$ref": "Playlist.Id", "required": true },
107 "position": { "$ref": "Playlist.Position", "default": 0 }
110 { "$ref": "Playlist.Item", "required": true },
111 { "type": "object", "required": true, "additionalProperties": false,
113 "path": { "type": "string", "required": true },
114 "random": { "type": "boolean", "default": true },
115 "recursive": { "type": "boolean", "default": true }
123 "Player.GetActivePlayers": {
125 "description": "Returns all active players",
126 "transport": "Response",
127 "permission": "ReadData",
135 "playerid": { "$ref": "Player.Id", "required": true },
136 "type": { "$ref": "Player.Type", "required": true }
141 "Player.GetProperties": {
143 "description": "Retrieves the values of the given properties",
144 "transport": "Response",
145 "permission": "ReadData",
147 { "name": "playerid", "$ref": "Player.Id", "required": true },
148 { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Player.Property.Name" } }
150 "returns": { "$ref": "Player.Property.Value", "required": true }
152 "Player.PlayPause": {
154 "description": "Pauses or unpause playback and returns the new state",
155 "transport": "Response",
156 "permission": "ControlPlayback",
158 { "name": "playerid", "$ref": "Player.Id", "required": true }
160 "returns": { "$ref": "Player.Speed" }
164 "description": "Stops playback",
165 "transport": "Response",
166 "permission": "ControlPlayback",
168 { "name": "playerid", "$ref": "Player.Id", "required": true }
174 "description": "Set the speed of the current playback",
175 "transport": "Response",
176 "permission": "ControlPlayback",
178 { "name": "playerid", "$ref": "Player.Id", "required": true },
179 { "name": "speed", "type": [ "integer", "string" ], "enum": [ -32, -16, -8, -4, -2, -1, 0, 1, 2, 4, 8, 16, 32, "increment", "decrement" ], "required": true }
181 "returns": { "$ref": "Player.Speed" }
185 "description": "Seek through the playing item",
186 "transport": "Response",
187 "permission": "ControlPlayback",
189 { "name": "playerid", "$ref": "Player.Id", "required": true },
190 { "name": "value", "required": true, "type": [
191 { "$ref": "Player.Position.Percentage", "required": true, "description": "Percentage value to seek to" },
192 { "type": "object", "additionalProperties": false, "required": true, "description": "Time to seek to",
194 "hours": { "type": "integer", "minimum": 0, "maximum": 23 },
195 "minutes": { "type": "integer", "minimum": 0, "maximum": 59 },
196 "seconds": { "type": "integer", "minimum": 0, "maximum": 59 },
197 "milliseconds": { "type": "integer", "minimum": 0, "maximum": 999 }
200 { "type": "string", "enum": [ "smallforward", "smallbackward", "bigforward", "bigbackward" ], "required": true, "description": "Seek by predefined jumps" }
207 "percentage": { "$ref": "Player.Position.Percentage" },
208 "time": { "$ref": "Global.Time" },
209 "totaltime": { "$ref": "Global.Time" }
215 "description": "If picture is zoomed move viewport left otherwise skip previous",
216 "transport": "Response",
217 "permission": "ControlPlayback",
219 { "name": "playerid", "$ref": "Player.Id", "required": true }
223 "Player.MoveRight": {
225 "description": "If picture is zoomed move viewport right otherwise skip next",
226 "transport": "Response",
227 "permission": "ControlPlayback",
229 { "name": "playerid", "$ref": "Player.Id", "required": true }
235 "description": "If picture is zoomed move viewport down",
236 "transport": "Response",
237 "permission": "ControlPlayback",
239 { "name": "playerid", "$ref": "Player.Id", "required": true }
245 "description": "If picture is zoomed move viewport up",
246 "transport": "Response",
247 "permission": "ControlPlayback",
249 { "name": "playerid", "$ref": "Player.Id", "required": true }
255 "description": "Zoom out once",
256 "transport": "Response",
257 "permission": "ControlPlayback",
259 { "name": "playerid", "$ref": "Player.Id", "required": true }
265 "description": "Zoom in once",
266 "transport": "Response",
267 "permission": "ControlPlayback",
269 { "name": "playerid", "$ref": "Player.Id", "required": true }
275 "description": "Zooms current picture",
276 "transport": "Response",
277 "permission": "ControlPlayback",
279 { "name": "playerid", "$ref": "Player.Id", "required": true },
280 { "name": "value", "type": "integer", "required": true, "minimum": 1, "maximum": 10, "description": "Zoom level" }
286 "description": "Rotates current picture",
287 "transport": "Response",
288 "permission": "ControlPlayback",
290 { "name": "playerid", "$ref": "Player.Id", "required": true }
294 "Player.GoPrevious": {
296 "description": "Go to previous item on the playlist",
297 "transport": "Response",
298 "permission": "ControlPlayback",
300 { "name": "playerid", "$ref": "Player.Id", "required": true }
306 "description": "Go to next item on the playlist",
307 "transport": "Response",
308 "permission": "ControlPlayback",
310 { "name": "playerid", "$ref": "Player.Id", "required": true }
316 "description": "Go to item at the given position in the playlist",
317 "transport": "Response",
318 "permission": "ControlPlayback",
320 { "name": "playerid", "$ref": "Player.Id", "required": true },
321 { "name": "position", "$ref": "Playlist.Position", "required": true }
327 "description": "Shuffle items in the player",
328 "transport": "Response",
329 "permission": "ControlPlayback",
331 { "name": "playerid", "$ref": "Player.Id", "required": true }
335 "Player.UnShuffle": {
337 "description": "Unshuffle items in the player",
338 "transport": "Response",
339 "permission": "ControlPlayback",
341 { "name": "playerid", "$ref": "Player.Id", "required": true }
347 "description": "Set the repeat mode of the player",
348 "transport": "Response",
349 "permission": "ControlPlayback",
351 { "name": "playerid", "$ref": "Player.Id", "required": true },
352 { "name": "state", "$ref": "Player.Repeat", "required": true }
356 "Player.SetAudioStream": {
358 "description": "Set the audio stream played by the player",
359 "transport": "Response",
360 "permission": "ControlPlayback",
362 { "name": "playerid", "$ref": "Player.Id", "required": true },
363 { "name": "stream", "required": true, "type": [
364 { "type": "string", "enum": [ "previous", "next" ] },
365 { "type": "integer", "minimum": 0, "description": "Index of the audio stream to play" }
371 "Player.SetSubtitle": {
373 "description": "Set the subtitle displayed by the player",
374 "transport": "Response",
375 "permission": "ControlPlayback",
377 { "name": "playerid", "$ref": "Player.Id", "required": true },
378 { "name": "subtitle", "required": true, "type": [
379 { "type": "string", "enum": [ "previous", "next", "off", "on" ] },
380 { "type": "integer", "minimum": 0, "description": "Index of the subtitle to display" }
386 "Playlist.GetPlaylists": {
388 "description": "Returns all existing playlists",
389 "transport": "Response",
390 "permission": "ReadData",
398 "playlistid": { "$ref": "Playlist.Id", "required": true },
399 "type": { "$ref": "Playlist.Type", "required": true }
404 "Playlist.GetProperties": {
406 "description": "Retrieves the values of the given properties",
407 "transport": "Response",
408 "permission": "ReadData",
410 { "name": "playlistid", "$ref": "Playlist.Id", "required": true },
411 { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Playlist.Property.Name" } }
413 "returns": { "$ref": "Playlist.Property.Value", "required": true }
415 "Playlist.GetItems": {
417 "description": "Get all items from playlist",
418 "transport": "Response",
419 "permission": "ReadData",
421 { "name": "playlistid", "$ref": "Playlist.Id", "required": true },
422 { "name": "properties", "$ref": "List.Fields.All" },
423 { "name": "limits", "$ref": "List.Limits" },
424 { "name": "sort", "$ref": "List.Sort" }
426 "returns": { "type": "object",
428 "limits": { "$ref": "List.LimitsReturned", "required": true },
429 "items": { "$ref": "List.Items.All", "required": true }
435 "description": "Add item(s) to playlist",
436 "transport": "Response",
437 "permission": "ControlPlayback",
439 { "name": "playlistid", "$ref": "Playlist.Id", "required": true },
440 { "name": "item", "$ref": "Playlist.Item", "required": true }
446 "description": "Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).",
447 "transport": "Response",
448 "permission": "ControlPlayback",
450 { "name": "playlistid", "$ref": "Playlist.Id", "required": true },
451 { "name": "position", "$ref": "Playlist.Position", "required": true },
452 { "name": "item", "$ref": "Playlist.Item", "required": true }
458 "description": "Remove item from playlist. Does not work for picture playlists (aka slideshows).",
459 "transport": "Response",
460 "permission": "ControlPlayback",
462 { "name": "playlistid", "$ref": "Playlist.Id", "required": true },
463 { "name": "position", "$ref": "Playlist.Position", "required": true }
469 "description": "Clear playlist",
470 "transport": "Response",
471 "permission": "ControlPlayback",
473 { "name": "playlistid", "$ref": "Playlist.Id", "required": true }
479 "description": "Swap items in the playlist. Does not work for picture playlists (aka slideshows).",
480 "transport": "Response",
481 "permission": "ControlPlayback",
483 { "name": "playlistid", "$ref": "Playlist.Id", "required": true },
484 { "name": "position1", "$ref": "Playlist.Position", "required": true },
485 { "name": "position2", "$ref": "Playlist.Position", "required": true }
489 "Files.GetSources": {
491 "description": "Get the sources of the media windows",
492 "transport": "Response",
493 "permission": "ReadData",
495 { "name": "media", "$ref": "Files.Media", "required": true },
496 { "name": "limits", "$ref": "List.Limits" },
497 { "name": "sort", "$ref": "List.Sort" }
502 "limits": { "$ref": "List.LimitsReturned", "required": true },
503 "sources": { "$ref": "List.Items.Sources", "required": true }
509 "transport": [ "Response", "FileDownload" ],
510 "permission": "ReadData",
512 { "name": "path", "type": "string", "required": true }
517 "path": { "type": "string", "required": true }
521 "Files.GetDirectory": {
523 "transport": "Response",
524 "permission": "ReadData",
526 { "name": "directory", "type": "string", "required": true },
527 { "name": "media", "$ref": "Files.Media", "default": "files" },
528 { "name": "properties", "$ref": "List.Fields.All" },
529 { "name": "sort", "$ref": "List.Sort" }
534 "limits": { "$ref": "List.LimitsReturned", "required": true },
535 "files": { "$ref": "List.Items.Files", "required": true }
539 "AudioLibrary.GetArtists": {
541 "description": "Retrieve all artists",
542 "transport": "Response",
543 "permission": "ReadData",
545 { "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" },
546 { "name": "genreid", "$ref": "Library.Id" },
547 { "name": "properties", "$ref": "Audio.Fields.Artist" },
548 { "name": "limits", "$ref": "List.Limits" },
549 { "name": "sort", "$ref": "List.Sort" }
554 "limits": { "$ref": "List.LimitsReturned", "required": true },
555 "artists": { "type": "array",
556 "items": { "$ref": "Audio.Details.Artist" }
561 "AudioLibrary.GetArtistDetails": {
563 "description": "Retrieve details about a specific artist",
564 "transport": "Response",
565 "permission": "ReadData",
567 { "name": "artistid", "$ref": "Library.Id", "required": true },
568 { "name": "properties", "$ref": "Audio.Fields.Artist" }
570 "returns": { "type": "object",
572 "artistdetails": { "$ref": "Audio.Details.Artist" }
576 "AudioLibrary.GetAlbums": {
578 "description": "Retrieve all albums from specified artist or genre",
579 "transport": "Response",
580 "permission": "ReadData",
582 { "name": "artistid", "$ref": "Library.Id" },
583 { "name": "genreid", "$ref": "Library.Id" },
584 { "name": "properties", "$ref": "Audio.Fields.Album" },
585 { "name": "limits", "$ref": "List.Limits" },
586 { "name": "sort", "$ref": "List.Sort" }
591 "limits": { "$ref": "List.LimitsReturned", "required": true },
592 "albums": { "type": "array",
593 "items": { "$ref": "Audio.Details.Album" }
598 "AudioLibrary.GetAlbumDetails": {
600 "description": "Retrieve details about a specific album",
601 "transport": "Response",
602 "permission": "ReadData",
604 { "name": "albumid", "$ref": "Library.Id", "required": true },
605 { "name": "properties", "$ref": "Audio.Fields.Album" }
607 "returns": { "type": "object",
609 "albumdetails": { "$ref": "Audio.Details.Album" }
613 "AudioLibrary.GetSongs": {
615 "description": "Retrieve all songs from specified album, artist or genre",
616 "transport": "Response",
617 "permission": "ReadData",
619 { "name": "artistid", "$ref": "Library.Id" },
620 { "name": "albumid", "$ref": "Library.Id" },
621 { "name": "genreid", "$ref": "Library.Id" },
622 { "name": "properties", "$ref": "Audio.Fields.Song" },
623 { "name": "limits", "$ref": "List.Limits" },
624 { "name": "sort", "$ref": "List.Sort" }
629 "limits": { "$ref": "List.LimitsReturned", "required": true },
630 "songs": { "type": "array",
631 "items": { "$ref": "Audio.Details.Song" }
636 "AudioLibrary.GetSongDetails": {
638 "description": "Retrieve details about a specific song",
639 "transport": "Response",
640 "permission": "ReadData",
642 { "name": "songid", "$ref": "Library.Id", "required": true },
643 { "name": "properties", "$ref": "Audio.Fields.Song" }
645 "returns": { "type": "object",
647 "songdetails": { "$ref": "Audio.Details.Song" }
651 "AudioLibrary.GetRecentlyAddedAlbums": {
653 "description": "Retrieve recently added albums",
654 "transport": "Response",
655 "permission": "ReadData",
657 { "name": "albums", "$ref": "List.Amount" },
658 { "name": "properties", "$ref": "Audio.Fields.Album" },
659 { "name": "limits", "$ref": "List.Limits" },
660 { "name": "sort", "$ref": "List.Sort" }
665 "limits": { "$ref": "List.LimitsReturned", "required": true },
666 "albums": { "type": "array",
667 "items": { "$ref": "Audio.Details.Album" }
672 "AudioLibrary.GetRecentlyAddedSongs": {
674 "description": "Retrieve recently added songs",
675 "transport": "Response",
676 "permission": "ReadData",
678 { "name": "albums", "$ref": "List.Amount", "description": "The amount of recently added albums from which to return the songs" },
679 { "name": "properties", "$ref": "Audio.Fields.Song" },
680 { "name": "limits", "$ref": "List.Limits" },
681 { "name": "sort", "$ref": "List.Sort" }
686 "limits": { "$ref": "List.LimitsReturned", "required": true },
687 "songs": { "type": "array",
688 "items": { "$ref": "Audio.Details.Song" }
693 "AudioLibrary.GetGenres": {
695 "description": "Retrieve all genres",
696 "transport": "Response",
697 "permission": "ReadData",
699 { "name": "properties", "$ref": "Library.Fields.Genre" },
700 { "name": "limits", "$ref": "List.Limits" },
701 { "name": "sort", "$ref": "List.Sort" }
706 "limits": { "$ref": "List.LimitsReturned", "required": true },
707 "genres": { "type": "array", "required": true,
708 "items": { "$ref": "Library.Details.Genre" }
713 "AudioLibrary.Scan": {
715 "description": "Scans the audio sources for new library items",
716 "transport": "Response",
717 "permission": "UpdateData",
721 "AudioLibrary.Export": {
723 "description": "Exports all items from the audio library",
724 "transport": "Response",
725 "permission": "WriteFile",
727 { "name": "singlefile", "type": "boolean", "default": true, "description": "Whether to export the data into one or multiple files" },
728 { "name": "images", "type": "boolean", "default": false, "description": "Whether to export thumbnails and fanart images" },
729 { "name": "overwrite", "type": "boolean", "default": false, "description": "Whether to overwrite existing exported files" },
730 { "name": "path", "type": "string", "default": "", "description": "Path to the directory to where the data should be exported" }
734 "AudioLibrary.Clean": {
736 "description": "Cleans the audio library from non-existent items",
737 "transport": "Response",
738 "permission": "RemoveData",
742 "VideoLibrary.GetMovies": {
744 "description": "Retrieve all movies",
745 "transport": "Response",
746 "permission": "ReadData",
748 { "name": "properties", "$ref": "Video.Fields.Movie" },
749 { "name": "limits", "$ref": "List.Limits" },
750 { "name": "sort", "$ref": "List.Sort" }
755 "limits": { "$ref": "List.LimitsReturned", "required": true },
756 "movies": { "type": "array",
757 "items": { "$ref": "Video.Details.Movie" }
762 "VideoLibrary.GetMovieDetails": {
764 "description": "Retrieve details about a specific movie",
765 "transport": "Response",
766 "permission": "ReadData",
768 { "name": "movieid", "$ref": "Library.Id", "required": true },
769 { "name": "properties", "$ref": "Video.Fields.Movie" }
771 "returns": { "type": "object",
773 "moviedetails": { "$ref": "Video.Details.Movie" }
777 "VideoLibrary.GetMovieSets": {
779 "description": "Retrieve all movie sets",
780 "transport": "Response",
781 "permission": "ReadData",
783 { "name": "properties", "$ref": "Video.Fields.MovieSet" },
784 { "name": "limits", "$ref": "List.Limits" },
785 { "name": "sort", "$ref": "List.Sort" }
787 "returns": { "type": "object",
789 "limits": { "$ref": "List.LimitsReturned", "required": true },
790 "sets": { "type": "array",
791 "items": { "$ref": "Video.Details.MovieSet" }
796 "VideoLibrary.GetMovieSetDetails": {
798 "description": "Retrieve details about a specific movie set",
799 "transport": "Response",
800 "permission": "ReadData",
802 { "name": "setid", "$ref": "Library.Id", "required": true },
803 { "name": "properties", "$ref": "Video.Fields.MovieSet" },
804 { "name": "movies", "type": "object",
806 "properties": { "$ref": "Video.Fields.Movie" },
807 "limits": { "$ref": "List.Limits" },
808 "sort": { "$ref": "List.Sort" }
812 "returns": { "type": "object",
814 "setdetails": { "$ref": "Video.Details.MovieSet.Extended" }
818 "VideoLibrary.GetTVShows": {
820 "description": "Retrieve all tv shows",
821 "transport": "Response",
822 "permission": "ReadData",
824 { "name": "properties", "$ref": "Video.Fields.TVShow" },
825 { "name": "limits", "$ref": "List.Limits" },
826 { "name": "sort", "$ref": "List.Sort" }
828 "returns": { "type": "object",
830 "limits": { "$ref": "List.LimitsReturned", "required": true },
831 "tvshows": { "type": "array",
832 "items": { "$ref": "Video.Details.TVShow" }
837 "VideoLibrary.GetTVShowDetails": {
839 "description": "Retrieve details about a specific tv show",
840 "transport": "Response",
841 "permission": "ReadData",
843 { "name": "tvshowid", "$ref": "Library.Id", "required": true },
844 { "name": "properties", "$ref": "Video.Fields.TVShow" }
846 "returns": { "type": "object",
848 "tvshowdetails": { "$ref": "Video.Details.TVShow" }
852 "VideoLibrary.GetSeasons": {
854 "description": "Retrieve all tv seasons",
855 "transport": "Response",
856 "permission": "ReadData",
858 { "name": "tvshowid", "$ref": "Library.Id", "required": true },
859 { "name": "properties", "$ref": "Video.Fields.Season" },
860 { "name": "limits", "$ref": "List.Limits" },
861 { "name": "sort", "$ref": "List.Sort" }
863 "returns": { "type": "object",
865 "limits": { "$ref": "List.LimitsReturned", "required": true },
866 "seasons": { "type": "array",
867 "items": { "$ref": "Video.Details.Season" }
872 "VideoLibrary.GetEpisodes": {
874 "description": "Retrieve all tv show episodes",
875 "transport": "Response",
876 "permission": "ReadData",
878 { "name": "tvshowid", "$ref": "Library.Id" },
879 { "name": "season", "type": "integer", "minimum": 0, "default": -1 },
880 { "name": "properties", "$ref": "Video.Fields.Episode" },
881 { "name": "limits", "$ref": "List.Limits" },
882 { "name": "sort", "$ref": "List.Sort" }
884 "returns": { "type": "object",
886 "limits": { "$ref": "List.LimitsReturned", "required": true },
887 "episodes": { "type": "array",
888 "items": { "$ref": "Video.Details.Episode" }
893 "VideoLibrary.GetEpisodeDetails": {
895 "description": "Retrieve details about a specific tv show episode",
896 "transport": "Response",
897 "permission": "ReadData",
899 { "name": "episodeid", "$ref": "Library.Id", "required": true },
900 { "name": "properties", "$ref": "Video.Fields.Episode" }
902 "returns": { "type": "object",
904 "episodedetails": { "$ref": "Video.Details.Episode" }
908 "VideoLibrary.GetMusicVideos": {
910 "description": "Retrieve all music videos",
911 "transport": "Response",
912 "permission": "ReadData",
914 { "name": "artistid", "$ref": "Library.Id" },
915 { "name": "albumid", "$ref": "Library.Id" },
916 { "name": "properties", "$ref": "Video.Fields.MusicVideo" },
917 { "name": "limits", "$ref": "List.Limits" },
918 { "name": "sort", "$ref": "List.Sort" }
920 "returns": { "type": "object",
922 "limits": { "$ref": "List.LimitsReturned", "required": true },
923 "musicvideos": { "type": "array",
924 "items": { "$ref": "Video.Details.MusicVideo" }
929 "VideoLibrary.GetMusicVideoDetails": {
931 "description": "Retrieve details about a specific music video",
932 "transport": "Response",
933 "permission": "ReadData",
935 { "name": "musicvideoid", "$ref": "Library.Id", "required": true },
936 { "name": "properties", "$ref": "Video.Fields.MusicVideo" }
938 "returns": { "type": "object",
940 "musicvideodetails": { "$ref": "Video.Details.MusicVideo" }
944 "VideoLibrary.GetRecentlyAddedMovies": {
946 "description": "Retrieve all recently added movies",
947 "transport": "Response",
948 "permission": "ReadData",
950 { "name": "properties", "$ref": "Video.Fields.Movie" },
951 { "name": "limits", "$ref": "List.Limits" },
952 { "name": "sort", "$ref": "List.Sort" }
954 "returns": { "type": "object",
956 "limits": { "$ref": "List.LimitsReturned", "required": true },
957 "movies": { "type": "array",
958 "items": { "$ref": "Video.Details.Movie" }
963 "VideoLibrary.GetRecentlyAddedEpisodes": {
965 "description": "Retrieve all recently added tv episodes",
966 "transport": "Response",
967 "permission": "ReadData",
969 { "name": "properties", "$ref": "Video.Fields.Episode" },
970 { "name": "limits", "$ref": "List.Limits" },
971 { "name": "sort", "$ref": "List.Sort" }
973 "returns": { "type": "object",
975 "limits": { "$ref": "List.LimitsReturned", "required": true },
976 "episodes": { "type": "array",
977 "items": { "$ref": "Video.Details.Episode" }
982 "VideoLibrary.GetRecentlyAddedMusicVideos": {
984 "description": "Retrieve all recently added music videos",
985 "transport": "Response",
986 "permission": "ReadData",
988 { "name": "properties", "$ref": "Video.Fields.MusicVideo" },
989 { "name": "limits", "$ref": "List.Limits" },
990 { "name": "sort", "$ref": "List.Sort" }
992 "returns": { "type": "object",
994 "limits": { "$ref": "List.LimitsReturned", "required": true },
995 "musicvideos": { "type": "array",
996 "items": { "$ref": "Video.Details.MusicVideo" }
1001 "VideoLibrary.GetGenres": {
1003 "description": "Retrieve all genres",
1004 "transport": "Response",
1005 "permission": "ReadData",
1007 { "name": "type", "type": "string", "required": true, "enum": [ "movie", "tvshow", "musicvideo"] },
1008 { "name": "properties", "$ref": "Library.Fields.Genre" },
1009 { "name": "limits", "$ref": "List.Limits" },
1010 { "name": "sort", "$ref": "List.Sort" }
1015 "limits": { "$ref": "List.LimitsReturned", "required": true },
1016 "genres": { "type": "array", "required": true,
1017 "items": { "$ref": "Library.Details.Genre" }
1022 "VideoLibrary.Scan": {
1024 "description": "Scans the video sources for new library items",
1025 "transport": "Response",
1026 "permission": "UpdateData",
1030 "VideoLibrary.Export": {
1032 "description": "Exports all items from the video library",
1033 "transport": "Response",
1034 "permission": "WriteFile",
1036 { "name": "singlefile", "type": "boolean", "default": true, "description": "Whether to export the data into one or multiple files" },
1037 { "name": "images", "type": "boolean", "default": false, "description": "Whether to export thumbnails and fanart images" },
1038 { "name": "actorthumbs", "type": "boolean", "default": false, "description": "Whether to export actor thumbnails" },
1039 { "name": "overwrite", "type": "boolean", "default": false, "description": "Whether to overwrite existing exported files" },
1040 { "name": "path", "type": "string", "default": "", "description": "Path to the directory to where the data should be exported" }
1044 "VideoLibrary.Clean": {
1046 "description": "Cleans the video library from non-existent items",
1047 "transport": "Response",
1048 "permission": "RemoveData",
1052 "System.GetProperties": {
1054 "description": "Retrieves the values of the given properties",
1055 "transport": "Response",
1056 "permission": "ReadData",
1058 { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "System.Property.Name" } }
1060 "returns": { "$ref": "System.Property.Value", "required": true }
1062 "System.Shutdown": {
1064 "description": "Shuts the system running XBMC down",
1065 "transport": "Response",
1066 "permission": "ControlPower",
1072 "description": "Suspends the system running XBMC",
1073 "transport": "Response",
1074 "permission": "ControlPower",
1078 "System.Hibernate": {
1080 "description": "Puts the system running XBMC into hibernate mode",
1081 "transport": "Response",
1082 "permission": "ControlPower",
1088 "description": "Reboots the system running XBMC",
1089 "transport": "Response",
1090 "permission": "ControlPower",
1096 "description": "Navigate left in GUI",
1097 "transport": "Response",
1098 "permission": "Navigate",
1104 "description": "Navigate right in GUI",
1105 "transport": "Response",
1106 "permission": "Navigate",
1112 "description": "Navigate down in GUI",
1113 "transport": "Response",
1114 "permission": "Navigate",
1120 "description": "Navigate up in GUI",
1121 "transport": "Response",
1122 "permission": "Navigate",
1128 "description": "Select current item in GUI",
1129 "transport": "Response",
1130 "permission": "Navigate",
1136 "description": "Goes back in GUI",
1137 "transport": "Response",
1138 "permission": "Navigate",
1144 "description": "Goes to home window in GUI",
1145 "transport": "Response",
1146 "permission": "Navigate",
1150 "Application.GetProperties": {
1152 "description": "Retrieves the values of the given properties",
1153 "transport": "Response",
1154 "permission": "ReadData",
1156 { "name": "properties", "type": "array", "uniqueItems": true, "required": true, "items": { "$ref": "Application.Property.Name" } }
1158 "returns": { "$ref": "Application.Property.Value", "required": true }
1160 "Application.SetVolume": {
1162 "description": "Set the current volume",
1163 "transport": "Response",
1164 "permission": "ControlPlayback",
1166 { "name": "value", "type": "integer", "minimum": 0, "maximum": 100, "required": true }
1168 "returns": "integer"
1170 "Application.ToggleMute": {
1172 "description": "Toggle mute/unmute",
1173 "transport": "Response",
1174 "permission": "ControlPlayback",
1176 "returns": { "type": "integer", "description": "New volume" }
1178 "Application.Quit": {
1180 "description": "Quit application",
1181 "transport": "Response",
1182 "permission": "ControlPower",
1186 "XBMC.GetInfoLabels": {
1188 "description": "Retrieve info labels about XBMC and the system",
1189 "transport": "Response",
1190 "permission": "ReadData",
1192 { "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" }
1196 "description": "List of key-value pairs of the retrieved info labels"
1199 "XBMC.GetInfoBooleans": {
1201 "description": "Retrieve info booleans about XBMC and the system",
1202 "transport": "Response",
1203 "permission": "ReadData",
1205 { "name": "booleans", "type": "array", "required": true, "items": { "type": "string" }, "minItems": 1 }
1209 "description": "List of key-value pairs of the retrieved info booleans"