JSON-RPC API/v8

From Official Kodi Wiki
Jump to navigation Jump to search
JSON-RPC Pages
Main JSON-RPC Page
- v8 (Krypton)
- v10 (Leia)
- v12 (Matrix)
- v13 (Nexus)
- v14 (Omega)
Examples
All JSON-RPC Pages
Home icon grey.png   ▶ Development ▶ JSON-RPC API ▶ v8


Version 8 is a stable version of Kodi's JSON-RPC API and is published with the release of v17 (Krypton).

It comes with support for WebSockets as an alternative transport for third party clients. Using WebSockets will allow webinterfaces (which are currently restricted to the HTTP transport only) to get access to a bidirectional transport with Kodi's JSON-RPC API and can therefore also profit from additional features like notifications.


JSON-RPC 2.0 compatibility

Version Method calls Notifications
(server-side)
Notifications
(client-side)
Parameters
by-name
Parameters
by-position
Batch requests
Version 6 Yes Yes Yes Yes Yes Yes

Documentation (JSON Schema)

Supported features of JSON Schema

Schema IETF Draft 03
type Yes
properties Yes
patternProperties No
additionalProperties Yes
items Yes
additionalItems Yes
required Yes
dependencies No
minimum Yes
maximum Yes
Schema IETF Draft 03
exclusiveMinimum Yes
exclusiveMaximum Yes
minItems Yes
maxItems Yes
uniqueItems Yes
pattern No
minLength Yes
maxLength Yes
enum Yes
default Yes
Schema IETF Draft 03
title No
description Yes
format No
divisibleBy Yes
disallow No
extends Yes
id Yes
$ref Yes
$schema No
Hyper Schema No

Error message

If Kodi detects a bad or missing parameter in a JSON-RPC request it returns an error object. The JSON schema description of that error object is

{
  "type": "object",
  "properties": {
    "code": { "type": "integer", "required": true },
    "message": { "type": "string", "required": true },
    "data": { "type": "object",
      "properties": {
        "method": { "type": "string", "required": true },
        "stack": { "type": "object", "id": "Error.Stack",
          "properties": {
            "name": { "type": "string", "required": true },
            "type": { "type": "string", "required": true },
            "message": { "type": "string", "required": true },
            "property": { "$ref": "Error.Stack" }
          }
        }
      }
    }
  }
}

Namespaces

The Kodi JSON-RPC API is split up into namespaces, which contain methods that can be called. These namespaces are:

Addons           List, enable and execute addons
Application      Application information and control
AudioLibrary     Audio Library information
Favourites       Favourites GetFavourites and AddFavourite
Files            Shares information & filesystem listings
GUI              Window properties and activation
Input            Allows limited navigation within Kodi
JSONRPC          A variety of standard JSONRPC calls
Player           Manages all available players
Playlist         Playlist modification
Profiles         Support for Profiles operations to xbmc. 
PVR              Live TV control
Settings         Allows manipulation of Kodi settings.
System           System controls and information
Textures         Supplies GetTextures and RemoveTexture. Textures are images.
VideoLibrary     Video Library information
XBMC             Dumping ground for very Kodi specific operations

Methods

Addons

Addons.ExecuteAddon

Executes the given addon with the given parameters (if possible)
Permissions:

  • ExecuteAddon

Parameters:

  1. string addonid
  2. [ mixed: object|array|string params ]
  3. [ boolean wait = false ]

Returns:

Type: string

Addons.GetAddonDetails

Gets the details of a specific addon
Permissions:

  • ReadData

Parameters:

  1. string addonid
  2. [ Addon.Fields properties ]

Returns:

Type: object
Properties:

Addons.GetAddons

Gets all available addons
Permissions:

  • ReadData

Parameters:

  1. [ Addon.Types type = "unknown" ]
  2. [ Addon.Content content = "unknown" ] Content provided by the addon. Only considered for plugins and scripts.
  3. [ mixed: boolean|string enabled = "all" ]
  4. [ Addon.Fields properties ]
  5. [ List.Limits limits ]
  6. [ mixed: boolean|string installed = true ]

Returns:

Type: object
Properties:

Addons.SetAddonEnabled

Enables/Disables a specific addon
Permissions:

  • ManageAddon

Parameters:

  1. string addonid
  2. Global.Toggle enabled

Returns:

Type: string

Application

Application.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. Application.Property.Name[] properties

Returns:

Type: Application.Property.Value

Application.Quit

Quit application
Permissions:

  • ControlPower

Returns:

Type: string

Application.SetMute

Toggle mute/unmute
Permissions:

  • ControlPlayback

Parameters:

  1. Global.Toggle mute

Returns:

Type: boolean

Description: Mute state

Application.SetVolume

Set the current volume
Permissions:

  • ControlPlayback

Parameters:

  1. mixed volume

Returns:

Type: integer

AudioLibrary

AudioLibrary.Clean

Cleans the audio library from non-existent items
Permissions:

  • RemoveData

Parameters:

  1. [ boolean showdialogs = true ] Whether or not to show the progress bar or any other GUI dialog

Returns:

Type: string

AudioLibrary.Export

Exports all items from the audio library
Permissions:

  • WriteFile

Parameters:

  1. [ mixed: object|object options ]

Returns:

Type: string

AudioLibrary.GetAlbumDetails

Retrieve details about a specific album
Permissions:

  • ReadData

Parameters:

  1. Library.Id albumid
  2. [ Audio.Fields.Album properties ]

Returns:

Type: object
Properties:

AudioLibrary.GetAlbums

Retrieve all albums from specified artist (and role) or that has songs of the specified genre
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Album properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]
  5. [ boolean includesingles = false ]
  6. [ boolean allroles = false ] Whether or not to include all roles when filtering by artist, rather than the default of excluding other contributions. When true it overrides any role filter value.

Returns:

Type: object
Properties:

AudioLibrary.GetArtistDetails

Retrieve details about a specific artist
Permissions:

  • ReadData

Parameters:

  1. Library.Id artistid
  2. [ Audio.Fields.Artist properties ]

Returns:

Type: object
Properties:

AudioLibrary.GetArtists

Retrieve all artists. For backward compatibility by default this implicity does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true
Permissions:

  • ReadData

Parameters:

  1. [ Optional.Boolean albumartistsonly ] Whether or not to only include album artists rather than the artists of only individual songs as well. If the parameter is not passed or is passed as null the GUI setting will be used
  2. [ Audio.Fields.Artist properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]
  5. [ mixed filter ]
  6. [ boolean allroles = false ] Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value.

Returns:

Type: object
Properties:

AudioLibrary.GetGenres

Retrieve all genres
Permissions:

  • ReadData

Parameters:

  1. [ Library.Fields.Genre properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetProperties

Retrieves the values of the music library properties
Permissions:

  • ReadData

Parameters:

  1. Audio.Property.Name[] properties

Returns:

Type: Audio.Property.Value

AudioLibrary.GetRecentlyAddedAlbums

Retrieve recently added albums
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Album properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetRecentlyAddedSongs

Retrieve recently added songs
Permissions:

  • ReadData

Parameters:

  1. [ List.Amount albumlimit = "-1" ] The amount of recently added albums from which to return the songs
  2. [ Audio.Fields.Song properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetRecentlyPlayedAlbums

Retrieve recently played albums
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Album properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetRecentlyPlayedSongs

Retrieve recently played songs
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Song properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetRoles

Retrieve all contributor roles
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Role properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetSongDetails

Retrieve details about a specific song
Permissions:

  • ReadData

Parameters:

  1. Library.Id songid
  2. [ Audio.Fields.Song properties ]

Returns:

Type: object
Properties:

AudioLibrary.GetSongs

Retrieve all songs from specified album, artist or genre
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Song properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]
  5. [ boolean includesingles = true ]
  6. [ boolean allroles = false ] Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.

Returns:

Type: object
Properties:

AudioLibrary.Scan

Scans the audio sources for new library items
Permissions:

  • UpdateData

Parameters:

  1. [ string directory ]
  2. [ boolean showdialogs = true ] Whether or not to show the progress bar or any other GUI dialog

Returns:

Type: string

AudioLibrary.SetAlbumDetails

Update the given album with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id albumid
  2. [ Optional.String title ]
  3. [ mixed artist ]
  4. [ Optional.String description ]
  5. [ mixed genre ]
  6. [ mixed theme ]
  7. [ mixed mood ]
  8. [ mixed style ]
  9. [ Optional.String type ]
  10. [ Optional.String albumlabel ]
  11. [ Optional.Number rating ]
  12. [ Optional.Integer year ]
  13. [ Optional.Integer userrating ]
  14. [ Optional.Integer votes ]

Returns:

Type: string

AudioLibrary.SetArtistDetails

Update the given artist with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id artistid
  2. [ Optional.String artist ]
  3. [ mixed instrument ]
  4. [ mixed style ]
  5. [ mixed mood ]
  6. [ Optional.String born ]
  7. [ Optional.String formed ]
  8. [ Optional.String description ]
  9. [ mixed genre ]
  10. [ Optional.String died ]
  11. [ Optional.String disbanded ]
  12. [ mixed yearsactive ]

Returns:

Type: string

AudioLibrary.SetSongDetails

Update the given song with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id songid
  2. [ Optional.String title ]
  3. [ mixed artist ]
  4. [ mixed albumartist ]
  5. [ mixed genre ]
  6. [ Optional.Integer year ]
  7. [ Optional.Number rating ]
  8. [ Optional.String album ]
  9. [ Optional.Integer track ]
  10. [ Optional.Integer disc ]
  11. [ Optional.Integer duration ]
  12. [ Optional.String comment ]
  13. [ Optional.String musicbrainztrackid ]
  14. [ Optional.String musicbrainzartistid ]
  15. [ Optional.String musicbrainzalbumid ]
  16. [ Optional.String musicbrainzalbumartistid ]
  17. [ Optional.Integer playcount ]
  18. [ Optional.String lastplayed ]
  19. [ Optional.Integer userrating ]
  20. [ Optional.Integer votes ]

Returns:

Type: string

Favourites

Favourites.AddFavourite

Add a favourite with the given details
Permissions:

  • UpdateData

Parameters:

  1. string title
  2. Favourite.Type type
  3. [ Optional.String path ] Required for media and script favourites types
  4. [ Optional.String window ] Required for window favourite type
  5. [ Optional.String windowparameter ]
  6. [ Optional.String thumbnail ]

Returns:

Type: string

Favourites.GetFavourites

Retrieve all favourites
Permissions:

  • ReadData

Parameters:

  1. [ mixed type ]
  2. [ Favourite.Fields.Favourite properties ]

Returns:

Type: object
Properties:

Files

Files.GetDirectory

Get the directories and files in the given directory
Permissions:

  • ReadData

Parameters:

  1. string directory
  2. [ Files.Media media = "files" ]
  3. [ List.Fields.Files properties ]
  4. [ List.Sort sort ]
  5. [ List.Limits limits ] Limits are applied after getting the directory content thus retrieval is not faster when they are applied.

Returns:

Type: object
Properties:

Files.GetFileDetails

Get details for a specific file
Permissions:

  • ReadData

Parameters:

  1. string file Full path to the file
  2. [ Files.Media media = "files" ]
  3. [ List.Fields.Files properties ]

Returns:

Type: object
Properties:

Files.GetSources

Get the sources of the media windows
Permissions:

  • ReadData

Parameters:

  1. Files.Media media
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

Files.PrepareDownload

Provides a way to download a given file (e.g. providing an URL to the real file location)
Permissions:

  • ReadData

Parameters:

  1. string path

Returns:

Type: object
Properties:

  • mixed Transport specific details on how/from where to download the given filedetails
  • string Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocolmode
  • string protocol

Files.SetFileDetails

Update the given specific file with the given details
Permissions:

  • UpdateData

Parameters:

  1. string file Full path to the file
  2. Files.Media media File type to update correct database. Currently only "video" is supported.
  3. [ Optional.Integer playcount ]
  4. [ Optional.String lastplayed ] Setting a valid lastplayed without a playcount will force playcount to 1.
  5. [ mixed resume ]

Returns:

Type: string

GUI

GUI.ActivateWindow

Activates the given window
Permissions:

  • ControlGUI

Parameters:

  1. GUI.Window window
  2. [ string[] parameters ]

Returns:

Type: string

GUI.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. GUI.Property.Name[] properties

Returns:

Type: GUI.Property.Value

GUI.GetStereoscopicModes

Returns the supported stereoscopic modes of the GUI
Permissions:

  • ReadData

Returns:

Type: object
Properties:

GUI.SetFullscreen

Toggle fullscreen/GUI
Permissions:

  • ControlGUI

Parameters:

  1. Global.Toggle fullscreen

Returns:

Type: boolean

Description: Fullscreen state

GUI.SetStereoscopicMode

Sets the stereoscopic mode of the GUI to the given mode
Permissions:

  • ControlGUI

Parameters:

  1. string mode

Returns:

Type: string

GUI.ShowNotification

Shows a GUI notification
Permissions:

  • ControlGUI

Parameters:

  1. string title
  2. string message
  3. [ mixed: string|string image ]
  4. [ integer displaytime = "5000" ] The time in milliseconds the notification will be visible

Returns:

Type: string

Input

Input.Back

Goes back in GUI
Permissions:

  • Navigate

Returns:

Type: string

Input.ContextMenu

Shows the context menu
Permissions:

  • Navigate

Returns:

Type: string

Input.Down

Navigate down in GUI
Permissions:

  • Navigate

Returns:

Type: string

Input.ExecuteAction

Execute a specific action
Permissions:

  • Navigate

Parameters:

  1. Input.Action action

Returns:

Type: string

Input.Home

Goes to home window in GUI
Permissions:

  • Navigate

Returns:

Type: string

Input.Info

Shows the information dialog
Permissions:

  • Navigate

Returns:

Type: string

Input.Left

Navigate left in GUI
Permissions:

  • Navigate

Returns:

Type: string

Input.Right

Navigate right in GUI
Permissions:

  • Navigate

Returns:

Type: string

Input.Select

Select current item in GUI
Permissions:

  • Navigate

Returns:

Type: string

Input.SendText

Send a generic (unicode) text
Permissions:

  • Navigate

Parameters:

  1. string text Unicode text
  2. [ boolean done = true ] Whether this is the whole input or not (closes an open input dialog if true).

Returns:

Type: string

Input.ShowCodec

Show codec information of the playing item
Permissions:

  • Navigate

Returns:

Type: string

Input.ShowOSD

Show the on-screen display for the current player
Permissions:

  • Navigate

Returns:

Type: string

Input.ShowPlayerProcessInfo

Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...
Permissions:

  • Navigate

Returns:

Type: string

Input.Up

Navigate up in GUI
Permissions:

  • Navigate

Returns:

Type: string

JSONRPC

JSONRPC.Introspect

Enumerates all actions and descriptions
Permissions:

  • ReadData

Parameters:

  1. [ boolean getdescriptions = true ]
  2. [ boolean getmetadata = false ]
  3. [ boolean filterbytransport = true ]
  4. [ mixed filter ]

Returns:

Type: object

JSONRPC.NotifyAll

Notify all other connected clients
Permissions:

  • ReadData

Parameters:

  1. string sender
  2. string message
  3. [ mixed data ]

Returns:

Type: any

JSONRPC.Permission

Retrieve the clients permissions
Permissions:

  • ReadData

Returns:

Type: object
Properties:

  • boolean controlgui
  • boolean controlnotify
  • boolean controlplayback
  • boolean controlpower
  • boolean controlpvr
  • boolean controlsystem
  • boolean executeaddon
  • boolean manageaddon
  • boolean navigate
  • boolean readdata
  • boolean removedata
  • boolean updatedata
  • boolean writefile

JSONRPC.Ping

Ping responder
Permissions:

  • ReadData

Returns:

Type: string

JSONRPC.Version

Retrieve the JSON-RPC protocol version.
Permissions:

  • ReadData

Returns:

Type: object
Properties:

  • mixed version

Player

Player.GetActivePlayers

Returns all active players
Permissions:

  • ReadData

Returns:

Type: array

Player.GetItem

Retrieves the currently played item
Permissions:

  • ReadData

Parameters:

  1. Player.Id playerid
  2. [ List.Fields.All properties ]

Returns:

Type: object
Properties:

Player.GetPlayers

Get a list of available players
Permissions:

  • ReadData

Parameters:

  1. [ string media = "all" ]

Returns:

Type: array

Player.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. Player.Id playerid
  2. Player.Property.Name[] properties

Returns:

Type: Player.Property.Value

Player.GoTo

Go to previous/next/specific item in the playlist
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed to

Returns:

Type: string

Player.Move

If picture is zoomed move viewport left/right/up/down otherwise skip previous/next
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. string direction

Returns:

Type: string

Player.Open

Start playback of either the playlist with the given ID, a slideshow with the pictures from the given directory or a single file or an item from the database.
Permissions:

  • ControlPlayback

Parameters:

  1. [ mixed item ]
  2. [ mixed options ]

Returns:

Type: string

Player.PlayPause

Pauses or unpause playback and returns the new state
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. [ Global.Toggle play = "toggle" ]

Returns:

Type: Player.Speed

Player.Rotate

Rotates current picture
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. [ string value = "clockwise" ]

Returns:

Type: string

Player.Seek

Seek through the playing item
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed value

Returns:

Type: object
Properties:

Player.SetAudioStream

Set the audio stream played by the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|integer stream

Returns:

Type: string

Player.SetPartymode

Turn partymode on or off
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. Global.Toggle partymode

Returns:

Type: string

Player.SetRepeat

Set the repeat mode of the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed repeat

Returns:

Type: string

Player.SetShuffle

Shuffle/Unshuffle items in the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. Global.Toggle shuffle

Returns:

Type: string

Player.SetSpeed

Set the speed of the current playback
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed speed

Returns:

Type: Player.Speed

Player.SetSubtitle

Set the subtitle displayed by the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|integer subtitle
  3. [ boolean enable = false ] Whether to enable subtitles to be displayed after setting the new subtitle

Returns:

Type: string

Player.SetVideoStream

Set the video stream played by the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|integer stream

Returns:

Type: string

Player.Stop

Stops playback
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid

Returns:

Type: string

Player.Zoom

Zoom current picture
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|integer zoom

Returns:

Type: string

Playlist

Playlist.Add

Add item(s) to playlist
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. mixed item

Returns:

Type: string

Playlist.Clear

Clear playlist
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid

Returns:

Type: string

Playlist.GetItems

Get all items from playlist
Permissions:

  • ReadData

Parameters:

  1. Playlist.Id playlistid
  2. [ List.Fields.All properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

Playlist.GetPlaylists

Returns all existing playlists
Permissions:

  • ReadData

Returns:

Type: array

Playlist.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Property.Name[] properties

Returns:

Type: Playlist.Property.Value

Playlist.Insert

Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Position position
  3. mixed item

Returns:

Type: string

Playlist.Remove

Remove item from playlist. Does not work for picture playlists (aka slideshows).
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Position position

Returns:

Type: string

Playlist.Swap

Swap items in the playlist. Does not work for picture playlists (aka slideshows).
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Position position1
  3. Playlist.Position position2

Returns:

Type: string

Profiles

Profiles.GetCurrentProfile

Retrieve the current profile
Permissions:

  • ReadData

Parameters:

  1. [ Profiles.Fields.Profile properties ]

Returns:

Type: Profiles.Details.Profile

Profiles.GetProfiles

Retrieve all profiles
Permissions:

  • ReadData

Parameters:

  1. [ Profiles.Fields.Profile properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

Profiles.LoadProfile

Load the specified profile
Permissions:

  • Navigate

Parameters:

  1. string profile Profile name
  2. [ boolean prompt = false ] Prompt for password
  3. [ Profiles.Password password ]

Returns:

Type: string

PVR

PVR.AddTimer

Adds a timer to record the given show one times or a timer rule to record all showings of the given show
Permissions:

  • ControlPVR

Parameters:

  1. Library.Id broadcastid the broadcast id of the item to record
  2. [ boolean timerrule = false ] controls whether to create a timer rule or a onetime timer

Returns:

Type: string

PVR.DeleteTimer

Deletes a onetime timer or a timer rule
Permissions:

  • ControlPVR

Parameters:

  1. Library.Id timerid the id of the onetime timer or timer rule to delete

Returns:

Type: string

PVR.GetBroadcastDetails

Retrieves the details of a specific broadcast
Permissions:

  • ReadData

Parameters:

  1. Library.Id broadcastid
  2. [ PVR.Fields.Broadcast properties ]

Returns:

Type: object
Properties:

PVR.GetBroadcasts

Retrieves the program of a specific channel
Permissions:

  • ReadData

Parameters:

  1. Library.Id channelid
  2. [ PVR.Fields.Broadcast properties ]
  3. [ List.Limits limits ]

Returns:

Type: object
Properties:

PVR.GetChannelDetails

Retrieves the details of a specific channel
Permissions:

  • ReadData

Parameters:

  1. Library.Id channelid
  2. [ PVR.Fields.Channel properties ]

Returns:

Type: object
Properties:

PVR.GetChannelGroupDetails

Retrieves the details of a specific channel group
Permissions:

  • ReadData

Parameters:

  1. PVR.ChannelGroup.Id channelgroupid
  2. [ mixed channels ]

Returns:

Type: object
Properties:

PVR.GetChannelGroups

Retrieves the channel groups for the specified type
Permissions:

  • ReadData

Parameters:

  1. PVR.Channel.Type channeltype
  2. [ List.Limits limits ]

Returns:

Type: object
Properties:

PVR.GetChannels

Retrieves the channel list
Permissions:

  • ReadData

Parameters:

  1. PVR.ChannelGroup.Id channelgroupid
  2. [ PVR.Fields.Channel properties ]
  3. [ List.Limits limits ]

Returns:

Type: object
Properties:

PVR.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. PVR.Property.Name[] properties

Returns:

Type: PVR.Property.Value

PVR.GetRecordingDetails

Retrieves the details of a specific recording
Permissions:

  • ReadData

Parameters:

  1. Library.Id recordingid
  2. [ PVR.Fields.Recording properties ]

Returns:

Type: object
Properties:

PVR.GetRecordings

Retrieves the recordings
Permissions:

  • ReadData

Parameters:

  1. [ PVR.Fields.Recording properties ]
  2. [ List.Limits limits ]

Returns:

Type: object
Properties:

PVR.GetTimerDetails

Retrieves the details of a specific timer
Permissions:

  • ReadData

Parameters:

  1. Library.Id timerid
  2. [ PVR.Fields.Timer properties ]

Returns:

Type: object
Properties:

PVR.GetTimers

Retrieves the timers
Permissions:

  • ReadData

Parameters:

  1. [ PVR.Fields.Timer properties ]
  2. [ List.Limits limits ]

Returns:

Type: object
Properties:

PVR.Record

Toggle recording of a channel
Permissions:

  • ControlPVR

Parameters:

  1. [ Global.Toggle record = "toggle" ]
  2. [ mixed channel = "current" ]

Returns:

Type: string

PVR.Scan

Starts a channel scan
Permissions:

  • ControlPVR

Returns:

Type: string

PVR.ToggleTimer

Creates or deletes a onetime timer or timer rule for a given show. If it exists, it will be deleted. If it does not exist, it will be created
Permissions:

  • ControlPVR

Parameters:

  1. Library.Id broadcastid the broadcast id of the item to toggle a onetime timer or time rule for
  2. [ boolean timerrule = false ] controls whether to create / delete a timer rule or a onetime timer

Returns:

Type: string

Settings

Settings.GetCategories

Retrieves all setting categories
Permissions:

  • ReadData

Parameters:

  1. [ Setting.Level level = "standard" ]
  2. [ string section ]
  3. [ mixed properties ]

Returns:

Type: object
Properties:

Settings.GetSections

Retrieves all setting sections
Permissions:

  • ReadData

Parameters:

  1. [ Setting.Level level = "standard" ]
  2. [ mixed properties ]

Returns:

Type: object
Properties:

Settings.GetSettings

Retrieves all settings
Permissions:

  • ReadData

Parameters:

  1. [ Setting.Level level = "standard" ]
  2. [ mixed: object filter ]

Returns:

Type: object
Properties:

Settings.GetSettingValue

Retrieves the value of a setting
Permissions:

  • ReadData

Parameters:

  1. string setting

Returns:

Type: object
Properties:

Settings.ResetSettingValue

Resets the value of a setting
Permissions:

  • ReadData

Parameters:

  1. string setting

Returns:

Type: string

Settings.SetSettingValue

Changes the value of a setting
Permissions:

  • ReadData

Parameters:

  1. string setting
  2. Setting.Value.Extended value

Returns:

Type: boolean

System

System.EjectOpticalDrive

Ejects or closes the optical disc drive (if available)
Permissions:

  • ControlSystem

Returns:

Type: string

System.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. System.Property.Name[] properties

Returns:

Type: System.Property.Value

System.Hibernate

Puts the system running Kodi into hibernate mode
Permissions:

  • ControlPower

Returns:

Type: string

System.Reboot

Reboots the system running Kodi
Permissions:

  • ControlPower

Returns:

Type: string

System.Shutdown

Shuts the system running Kodi down
Permissions:

  • ControlPower

Returns:

Type: string

System.Suspend

Suspends the system running Kodi
Permissions:

  • ControlPower

Returns:

Type: string

Textures

Textures.GetTextures

Retrieve all textures
Permissions:

  • ReadData

Parameters:

  1. [ Textures.Fields.Texture properties ]
  2. [ List.Filter.Textures filter ]

Returns:

Type: object
Properties:

Textures.RemoveTexture

Remove the specified texture
Permissions:

  • RemoveData

Parameters:

  1. Library.Id textureid Texture database identifier

Returns:

Type: string

VideoLibrary

VideoLibrary.Clean

Cleans the video library from non-existent items
Permissions:

  • RemoveData

Parameters:

  1. [ boolean showdialogs = true ] Whether or not to show the progress bar or any other GUI dialog

Returns:

Type: string

VideoLibrary.Export

Exports all items from the video library
Permissions:

  • WriteFile

Parameters:

  1. [ mixed: object|object options ]

Returns:

Type: string

VideoLibrary.GetEpisodeDetails

Retrieve details about a specific tv show episode
Permissions:

  • ReadData

Parameters:

  1. Library.Id episodeid
  2. [ Video.Fields.Episode properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetEpisodes

Retrieve all tv show episodes
Permissions:

  • ReadData

Parameters:

  1. [ Library.Id tvshowid = "-1" ]
  2. [ integer season = "-1" ]
  3. [ Video.Fields.Episode properties ]
  4. [ List.Limits limits ]
  5. [ List.Sort sort ]
  6. [ mixed filter ]

Returns:

Type: object
Properties:

VideoLibrary.GetGenres

Retrieve all genres
Permissions:

  • ReadData

Parameters:

  1. string type
  2. [ Library.Fields.Genre properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetInProgressTVShows

Retrieve all in progress tvshows
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.TVShow properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetMovieDetails

Retrieve details about a specific movie
Permissions:

  • ReadData

Parameters:

  1. Library.Id movieid
  2. [ Video.Fields.Movie properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetMovies

Retrieve all movies
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.Movie properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]

Returns:

Type: object
Properties:

VideoLibrary.GetMovieSetDetails

Retrieve details about a specific movie set
Permissions:

  • ReadData

Parameters:

  1. Library.Id setid
  2. [ Video.Fields.MovieSet properties ]
  3. [ mixed movies ]

Returns:

Type: object
Properties:

VideoLibrary.GetMovieSets

Retrieve all movie sets
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.MovieSet properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetMusicVideoDetails

Retrieve details about a specific music video
Permissions:

  • ReadData

Parameters:

  1. Library.Id musicvideoid
  2. [ Video.Fields.MusicVideo properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetMusicVideos

Retrieve all music videos
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.MusicVideo properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]

Returns:

Type: object
Properties:

VideoLibrary.GetRecentlyAddedEpisodes

Retrieve all recently added tv episodes
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.Episode properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetRecentlyAddedMovies

Retrieve all recently added movies
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.Movie properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetRecentlyAddedMusicVideos

Retrieve all recently added music videos
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.MusicVideo properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetSeasonDetails

Retrieve details about a specific tv show season
Permissions:

  • ReadData

Parameters:

  1. Library.Id seasonid
  2. [ Video.Fields.Season properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetSeasons

Retrieve all tv seasons
Permissions:

  • ReadData

Parameters:

  1. [ Library.Id tvshowid = "-1" ]
  2. [ Video.Fields.Season properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetTags

Retrieve all tags
Permissions:

  • ReadData

Parameters:

  1. string type
  2. [ Library.Fields.Tag properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetTVShowDetails

Retrieve details about a specific tv show
Permissions:

  • ReadData

Parameters:

  1. Library.Id tvshowid
  2. [ Video.Fields.TVShow properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetTVShows

Retrieve all tv shows
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.TVShow properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]

Returns:

Type: object
Properties:

VideoLibrary.RefreshEpisode

Refresh the given episode in the library
Permissions:

  • UpdateData

Parameters:

  1. Library.Id episodeid
  2. [ boolean ignorenfo = false ] Whether or not to ignore a local NFO if present.
  3. [ string title ] Title to use for searching (instead of determining it from the item's filename/path).

Returns:

Type: string

VideoLibrary.RefreshMovie

Refresh the given movie in the library
Permissions:

  • UpdateData

Parameters:

  1. Library.Id movieid
  2. [ boolean ignorenfo = false ] Whether or not to ignore a local NFO if present.
  3. [ string title ] Title to use for searching (instead of determining it from the item's filename/path).

Returns:

Type: string

VideoLibrary.RefreshMusicVideo

Refresh the given music video in the library
Permissions:

  • UpdateData

Parameters:

  1. Library.Id musicvideoid
  2. [ boolean ignorenfo = false ] Whether or not to ignore a local NFO if present.
  3. [ string title ] Title to use for searching (instead of determining it from the item's filename/path).

Returns:

Type: string

VideoLibrary.RefreshTVShow

Refresh the given tv show in the library
Permissions:

  • UpdateData

Parameters:

  1. Library.Id tvshowid
  2. [ boolean ignorenfo = false ] Whether or not to ignore a local NFO if present.
  3. [ boolean refreshepisodes = false ] Whether or not to refresh all episodes belonging to the TV show.
  4. [ string title ] Title to use for searching (instead of determining it from the item's filename/path).

Returns:

Type: string

VideoLibrary.RemoveEpisode

Removes the given episode from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id episodeid

Returns:

Type: string

VideoLibrary.RemoveMovie

Removes the given movie from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id movieid

Returns:

Type: string

VideoLibrary.RemoveMusicVideo

Removes the given music video from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id musicvideoid

Returns:

Type: string

VideoLibrary.RemoveTVShow

Removes the given tv show from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id tvshowid

Returns:

Type: string

VideoLibrary.Scan

Scans the video sources for new library items
Permissions:

  • UpdateData

Parameters:

  1. [ string directory ]
  2. [ boolean showdialogs = true ] Whether or not to show the progress bar or any other GUI dialog

Returns:

Type: string

VideoLibrary.SetEpisodeDetails

Update the given episode with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id episodeid
  2. [ Optional.String title ]
  3. [ Optional.Integer playcount ]
  4. [ Optional.Integer runtime ] Runtime in seconds
  5. [ mixed director ]
  6. [ Optional.String plot ]
  7. [ Optional.Number rating ]
  8. [ Optional.String votes ]
  9. [ Optional.String lastplayed ]
  10. [ mixed writer ]
  11. [ Optional.String firstaired ]
  12. [ Optional.String productioncode ]
  13. [ Optional.Integer season ]
  14. [ Optional.Integer episode ]
  15. [ Optional.String originaltitle ]
  16. [ Optional.String thumbnail ]
  17. [ Optional.String fanart ]
  18. [ mixed art ]
  19. [ mixed resume ]
  20. [ Optional.Integer userrating ]
  21. [ Video.Ratings.Set ratings ]
  22. [ Optional.String dateadded ]
  23. [ mixed uniqueid ]

Returns:

Type: string

VideoLibrary.SetMovieDetails

Update the given movie with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id movieid
  2. [ Optional.String title ]
  3. [ Optional.Integer playcount ]
  4. [ Optional.Integer runtime ] Runtime in seconds
  5. [ mixed director ]
  6. [ mixed studio ]
  7. [ Optional.Integer year ] linked with premiered. Overridden by premiered parameter
  8. [ Optional.String plot ]
  9. [ mixed genre ]
  10. [ Optional.Number rating ]
  11. [ Optional.String mpaa ]
  12. [ Optional.String imdbnumber ]
  13. [ Optional.String votes ]
  14. [ Optional.String lastplayed ]
  15. [ Optional.String originaltitle ]
  16. [ Optional.String trailer ]
  17. [ Optional.String tagline ]
  18. [ Optional.String plotoutline ]
  19. [ mixed writer ]
  20. [ mixed country ]
  21. [ Optional.Integer top250 ]
  22. [ Optional.String sorttitle ]
  23. [ Optional.String set ]
  24. [ mixed showlink ]
  25. [ Optional.String thumbnail ]
  26. [ Optional.String fanart ]
  27. [ mixed tag ]
  28. [ mixed art ]
  29. [ mixed resume ]
  30. [ Optional.Integer userrating ]
  31. [ Video.Ratings.Set ratings ]
  32. [ Optional.String dateadded ]
  33. [ Optional.String premiered ] linked with year. Overriedes year
  34. [ mixed uniqueid ]

Returns:

Type: string

VideoLibrary.SetMovieSetDetails

Update the given movie set with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id setid
  2. [ Optional.String title ]
  3. [ mixed art ]

Returns:

Type: string

VideoLibrary.SetMusicVideoDetails

Update the given music video with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id musicvideoid
  2. [ Optional.String title ]
  3. [ Optional.Integer playcount ]
  4. [ Optional.Integer runtime ] Runtime in seconds
  5. [ mixed director ]
  6. [ mixed studio ]
  7. [ Optional.Integer year ] linked with premiered. Overridden by premiered parameter
  8. [ Optional.String plot ]
  9. [ Optional.String album ]
  10. [ mixed artist ]
  11. [ mixed genre ]
  12. [ Optional.Integer track ]
  13. [ Optional.String lastplayed ]
  14. [ Optional.String thumbnail ]
  15. [ Optional.String fanart ]
  16. [ mixed tag ]
  17. [ mixed art ]
  18. [ mixed resume ]
  19. [ Optional.Number rating ]
  20. [ Optional.Integer userrating ]
  21. [ Optional.String dateadded ]
  22. [ Optional.String premiered ] linked with year. Overriedes year

Returns:

Type: string

VideoLibrary.SetSeasonDetails

Update the given season with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id seasonid
  2. [ mixed art ]
  3. [ Optional.Integer userrating ]

Returns:

Type: string

VideoLibrary.SetTVShowDetails

Update the given tvshow with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id tvshowid
  2. [ Optional.String title ]
  3. [ Optional.Integer playcount ]
  4. [ mixed studio ]
  5. [ Optional.String plot ]
  6. [ mixed genre ]
  7. [ Optional.Number rating ]
  8. [ Optional.String mpaa ]
  9. [ Optional.String imdbnumber ]
  10. [ Optional.String premiered ]
  11. [ Optional.String votes ]
  12. [ Optional.String lastplayed ]
  13. [ Optional.String originaltitle ]
  14. [ Optional.String sorttitle ]
  15. [ Optional.String episodeguide ]
  16. [ Optional.String thumbnail ]
  17. [ Optional.String fanart ]
  18. [ mixed tag ]
  19. [ mixed art ]
  20. [ Optional.Integer userrating ]
  21. [ Video.Ratings.Set ratings ]
  22. [ Optional.String dateadded ]
  23. [ Optional.Integer runtime ] Runtime in seconds
  24. [ Optional.String status ]
  25. [ mixed uniqueid ]

Returns:

Type: string

XBMC

XBMC.GetInfoBooleans

Retrieve info booleans about Kodi and the system
Permissions:

  • ReadData

Parameters:

  1. string[] booleans

Returns:

Type: object

Description: Object containing key-value pairs of the retrieved info booleans

XBMC.GetInfoLabels

Retrieve info labels about Kodi and the system
Permissions:

  • ReadData

Parameters:

  1. string[] labels See http://kodi.wiki/view/InfoLabels for a list of possible info labels

Returns:

Type: object

Description: Object containing key-value pairs of the retrieved info labels

Global Types

Addon

Addon.Content

Type: string

Addon.Details

Extends:


Properties:

  • string addonid
  • [ string author ]
  • [ mixed: boolean|string broken ]
  • [ object dependencies ]
  • [ string description ]
  • [ string disclaimer ]
  • [ boolean enabled = false ]
  • [ object extrainfo ]
  • [ string fanart ]
  • [ boolean installed = false ]
  • [ string name ]
  • [ string path ]
  • [ integer rating = "0" ]
  • [ string summary ]
  • [ string thumbnail ]
  • Addon.Types type
  • [ string version ]

Addon.Fields

Extends:

Addon.Types

Type: string

Application

Application.Property.Name

Type: string

Application.Property.Value

Type: mixed
Properties:

  • [ boolean muted = false ]
  • [ string name ]
  • [ mixed version ]
  • [ integer volume = "0" ]

Array

Array.Integer

Type: mixed

Array.String

Type: mixed

Audio

Audio.Album.ReleaseType

Type: string

Audio.Artist.Roles

Type: mixed

Audio.Contributors

Type: mixed

Audio.Details.Album

Extends:


Properties:

Audio.Details.Artist

Extends:


Properties:

Audio.Details.Base

Extends:


Properties:

Audio.Details.Genres

Type: mixed

Audio.Details.Media

Extends:


Properties:

  • [ Array.String artist ]
  • [ Array.Integer artistid ]
  • [ string displayartist ]
  • [ Array.Integer genreid ]
  • [ string musicbrainzalbumartistid ]
  • [ string musicbrainzalbumid ]
  • [ number rating = "0" ]
  • [ string title ]
  • [ integer userrating = "0" ]
  • [ integer votes = "0" ]
  • [ integer year = "0" ]

Audio.Details.Role

Extends:


Properties:

Audio.Details.Song

Extends:


Properties:

  • [ string album ]
  • [ Array.String albumartist ]
  • [ Array.Integer albumartistid ]
  • [ Library.Id albumid = "-1" ]
  • [ Audio.Album.ReleaseType albumreleasetype = "album" ]
  • [ string comment ]
  • [ Audio.Contributors contributors ]
  • [ integer disc = "0" ]
  • [ string displaycomposer ]
  • [ string displayconductor ]
  • [ string displaylyricist ]
  • [ string displayorchestra ]
  • [ integer duration = "0" ]
  • [ string file ]
  • [ string lastplayed ]
  • [ string lyrics ]
  • [ string mood ]
  • [ string musicbrainzartistid ]
  • [ string musicbrainztrackid ]
  • [ integer playcount = "0" ]
  • Library.Id songid
  • [ integer track = "0" ]

Audio.Fields.Album

Extends:

Audio.Fields.Artist

Extends:

Audio.Fields.Role

Extends:

Audio.Fields.Song

Extends:

Audio.Property.Name

Type: string

Audio.Property.Value

Type: mixed
Properties:

Configuration

Configuration.Configuration

Type: mixed
Properties:

Configuration.Notifications

Type: mixed
Properties:

  • boolean application
  • boolean audiolibrary
  • boolean gui
  • boolean input
  • boolean other
  • boolean player
  • boolean playlist
  • boolean pvr
  • boolean system
  • boolean videolibrary

Favourite

Favourite.Details.Favourite

Type: mixed
Properties:

  • [ string path ]
  • [ string thumbnail ]
  • string title
  • Favourite.Type type
  • [ string window ]
  • [ string windowparameter ]

Favourite.Fields.Favourite

Extends:

Favourite.Type

Type: string

Files

Files.Media

Type: string

Global

Global.IncrementDecrement

Type: string

Global.String.NotEmpty

Type: string

Global.Time

Type: mixed
Properties:

  • integer hours
  • integer milliseconds
  • integer minutes
  • integer seconds

Global.Toggle

Type: mixed

Global.Weekday

Type: string

GUI

GUI.Property.Name

Type: string

GUI.Property.Value

Type: mixed
Properties:

  • [ mixed currentcontrol ]
  • [ mixed currentwindow ]
  • [ boolean fullscreen = false ]
  • [ mixed skin ]
  • [ GUI.Stereoscopy.Mode stereoscopicmode ]

GUI.Stereoscopy.Mode

Type: mixed
Properties:

  • string label
  • string mode

GUI.Window

Type: string

Input

Input.Action

Type: string

Item

Item.Details.Base

Type: mixed
Properties:

  • string label

Item.Fields.Base

Type: mixed

Library

Library.Details.Genre

Extends:


Properties:

  • Library.Id genreid
  • [ string thumbnail ]
  • [ string title ]

Library.Details.Tag

Extends:


Properties:

Library.Fields.Genre

Extends:

Library.Fields.Tag

Extends:

Library.Id

Type: integer

List

List.Amount

Type: integer

List.Fields.All

Extends:

List.Fields.Files

Extends:

List.Filter.Albums

Type: mixed

List.Filter.Artists

Type: mixed

List.Filter.Episodes

Type: mixed

List.Filter.Fields.Albums

Type: string

List.Filter.Fields.Artists

Type: string

List.Filter.Fields.Episodes

Type: string

List.Filter.Fields.Movies

Type: string

List.Filter.Fields.MusicVideos

Type: string

List.Filter.Fields.Songs

Type: string

List.Filter.Fields.Textures

Type: string

List.Filter.Fields.TVShows

Type: string

List.Filter.Movies

Type: mixed

List.Filter.MusicVideos

Type: mixed

List.Filter.Operators

Type: string

List.Filter.Rule

Type: mixed
Properties:

List.Filter.Rule.Albums

Extends:


Properties:

List.Filter.Rule.Artists

Extends:


Properties:

List.Filter.Rule.Episodes

Extends:


Properties:

List.Filter.Rule.Movies

Extends:


Properties:

List.Filter.Rule.MusicVideos

Extends:


Properties:

List.Filter.Rule.Songs

Extends:


Properties:

List.Filter.Rule.Textures

Extends:


Properties:

List.Filter.Rule.TVShows

Extends:


Properties:

List.Filter.Songs

Type: mixed

List.Filter.Textures

Type: mixed

List.Filter.TVShows

Type: mixed

List.Item.All

Extends:


Properties:

  • [ string channel ]
  • [ integer channelnumber = "0" ]
  • [ PVR.Channel.Type channeltype = "tv" ]
  • [ string endtime ]
  • [ boolean hidden = false ]
  • [ boolean locked = false ]
  • [ string starttime ]

List.Item.Base

Extends:


Properties:

  • [ string album ]
  • [ Array.String albumartist ]
  • [ Array.Integer albumartistid ]
  • [ Library.Id albumid = "-1" ]
  • [ string albumlabel ]
  • [ Audio.Album.ReleaseType albumreleasetype = "album" ]
  • [ Video.Cast cast ]
  • [ string comment ]
  • [ boolean compilation = false ]
  • [ Audio.Contributors contributors ]
  • [ Array.String country ]
  • [ string description ]
  • [ integer disc = "0" ]
  • [ string displaycomposer ]
  • [ string displayconductor ]
  • [ string displaylyricist ]
  • [ string displayorchestra ]
  • [ integer duration = "0" ]
  • [ integer episode = "0" ]
  • [ string episodeguide ]
  • [ string firstaired ]
  • [ Library.Id id = "-1" ]
  • [ string imdbnumber ]
  • [ string lyrics ]
  • [ Array.String mood ]
  • [ string mpaa ]
  • [ string musicbrainzartistid ]
  • [ string musicbrainztrackid ]
  • [ string originaltitle ]
  • [ string plotoutline ]
  • [ string premiered ]
  • [ string productioncode ]
  • [ Audio.Album.ReleaseType releasetype = "album" ]
  • [ integer season = "0" ]
  • [ string set ]
  • [ Library.Id setid = "-1" ]
  • [ Array.String showlink ]
  • [ string showtitle ]
  • [ string sorttitle ]
  • [ integer specialsortepisode = "0" ]
  • [ integer specialsortseason = "0" ]
  • [ Array.String studio ]
  • [ Array.String style ]
  • [ Array.String tag ]
  • [ string tagline ]
  • [ Array.String theme ]
  • [ integer top250 = "0" ]
  • [ integer track = "0" ]
  • [ string trailer ]
  • [ Library.Id tvshowid = "-1" ]
  • [ string type = "unknown" ]
  • [ Media.UniqueID uniqueid ]
  • [ string votes ]
  • [ integer watchedepisodes = "0" ]
  • [ Array.String writer ]

List.Item.File

Extends:


Properties:

  • string file
  • string filetype
  • [ string lastmodified ]
  • [ string mimetype ]
  • [ integer size = "0" ] Size of the file in bytes

List.Items.Sources

Type: mixed

List.Limits

Type: mixed
Properties:

  • [ List.Amount end = "-1" ] Index of the last item to return
  • [ integer start = "0" ] Index of the first item to return

List.LimitsReturned

Type: mixed
Properties:

  • [ List.Amount end = "-1" ]
  • [ integer start = "0" ]
  • integer total

List.Sort

Type: mixed
Properties:

  • [ boolean ignorearticle = false ]
  • [ string method = "none" ]
  • [ string order = "ascending" ]

Media

Media.Artwork

Type: mixed
Properties:

Media.Artwork.Set

Type: mixed
Properties:

  • [ mixed banner ]
  • [ mixed fanart ]
  • [ mixed poster ]
  • [ mixed thumb ]

Media.Details.Base

Extends:


Properties:

  • [ string fanart ]
  • [ string thumbnail ]

Media.UniqueID

Type: mixed

Media.UniqueID.Set

Type: mixed

Notifications

Notifications.Item

Type: mixed

Notifications.Item.Type

Type: string

Optional

Optional.Boolean

Type: mixed

Optional.Integer

Type: mixed

Optional.Number

Type: mixed

Optional.String

Type: mixed

Player

Player.Audio.Stream

Type: mixed
Properties:

  • integer bitrate
  • integer channels
  • string codec
  • integer index
  • string language
  • string name

Player.Id

Type: integer

Player.Notifications.Data

Type: mixed
Properties:

Player.Notifications.Player

Type: mixed
Properties:

Player.Notifications.Player.Seek

Extends:


Properties:

Player.Position.Percentage

Type: number

Player.Position.Time

Type: mixed
Properties:

  • [ integer hours = "0" ]
  • [ integer milliseconds = "0" ]
  • [ integer minutes = "0" ]
  • [ integer seconds = "0" ]

Player.Property.Name

Type: string

Player.Property.Value

Type: mixed
Properties:

Player.Repeat

Type: string

Player.Speed

Type: mixed
Properties:

  • [ integer speed = "0" ]

Player.Subtitle

Type: mixed
Properties:

  • integer index
  • string language
  • string name

Player.Type

Type: string

Player.Video.Stream

Type: mixed
Properties:

  • string codec
  • integer height
  • integer index
  • string language
  • string name
  • integer width

Playlist

Playlist.Id

Type: integer

Playlist.Item

Type: mixed

Playlist.Position

Type: integer

Playlist.Property.Name

Type: string

Playlist.Property.Value

Type: mixed
Properties:

Playlist.Type

Type: string

Profiles

Profiles.Details.Profile

Extends:


Properties:

  • [ integer lockmode = "0" ]
  • [ string thumbnail ]

Profiles.Fields.Profile

Extends:

Profiles.Password

Type: mixed
Properties:

  • [ string encryption = "md5" ] Password Encryption
  • string value Password

PVR

PVR.Channel.Type

Type: string

PVR.ChannelGroup.Id

Type: mixed

PVR.Details.Broadcast

Extends:


Properties:

  • Library.Id broadcastid
  • [ string cast ]
  • [ string director ]
  • [ string endtime ]
  • [ string episodename ]
  • [ integer episodenum = "0" ]
  • [ integer episodepart = "0" ]
  • [ string firstaired ]
  • [ string genre ]
  • [ boolean hasrecording = false ]
  • [ boolean hastimer = false ]
  • [ boolean hastimerrule = false ]
  • [ integer imdbnumber = "0" ]
  • [ boolean isactive = false ]
  • [ boolean isseries = false ]
  • [ string originaltitle ]
  • [ integer parentalrating = "0" ]
  • [ string plot ]
  • [ string plotoutline ]
  • [ integer progress = "0" ]
  • [ number progresspercentage = "0" ]
  • [ integer rating = "0" ]
  • [ string recording ]
  • [ integer runtime = "0" ]
  • [ string starttime ]
  • [ string thumbnail ]
  • [ string title ]
  • [ boolean wasactive = false ]
  • [ string writer ]
  • [ integer year = "0" ]

PVR.Details.Channel

Extends:


Properties:

  • [ PVR.Details.Broadcast broadcastnext ]
  • [ PVR.Details.Broadcast broadcastnow ]
  • [ string channel ]
  • Library.Id channelid
  • [ integer channelnumber = "0" ]
  • [ PVR.Channel.Type channeltype = "tv" ]
  • [ boolean hidden = false ]
  • [ string icon ]
  • [ boolean isrecording = false ]
  • [ string lastplayed ]
  • [ boolean locked = false ]
  • [ integer subchannelnumber = "0" ]
  • [ string thumbnail ]
  • integer uniqueid

PVR.Details.ChannelGroup

Extends:


Properties:

PVR.Details.ChannelGroup.Extended

Extends:


Properties:

PVR.Details.Recording

Extends:


Properties:

  • [ Media.Artwork art ]
  • [ string channel ]
  • [ integer channeluid = "0" ]
  • [ string directory ]
  • [ string endtime ]
  • [ integer epgeventid = "0" ]
  • [ string file ]
  • [ string genre ]
  • [ string icon ]
  • [ boolean isdeleted = false ]
  • [ integer lifetime = "0" ]
  • [ integer playcount = "0" ]
  • [ string plot ]
  • [ string plotoutline ]
  • [ boolean radio = false ]
  • Library.Id recordingid
  • [ Video.Resume resume ]
  • [ integer runtime = "0" ]
  • [ string starttime ]
  • [ string streamurl ]
  • [ string title ]

PVR.Details.Timer

Extends:


Properties:

  • [ Library.Id channelid = "-1" ]
  • [ string directory ]
  • [ boolean endanytime = false ]
  • [ integer endmargin = "0" ]
  • [ string endtime ]
  • [ string epgsearchstring ]
  • [ integer epguid = "0" ]
  • [ string file ]
  • [ string firstday ]
  • [ boolean fulltextepgsearch = false ]
  • [ boolean ismanual = false ]
  • [ boolean isradio = false ]
  • [ boolean isreadonly = false ]
  • [ boolean istimerrule = false ]
  • [ integer lifetime = "0" ]
  • [ integer maxrecordings = "0" ]
  • [ integer preventduplicateepisodes = "0" ]
  • [ integer priority = "0" ]
  • [ integer recordinggroup = "0" ]
  • [ integer runtime = "0" ]
  • [ boolean startanytime = false ]
  • [ integer startmargin = "0" ]
  • [ string starttime ]
  • [ PVR.TimerState state = "unknown" ]
  • [ string summary ]
  • Library.Id timerid
  • [ string title ]
  • [ Global.Weekday[] weekdays ]

PVR.Fields.Broadcast

Extends:

PVR.Fields.Channel

Extends:

PVR.Fields.Recording

Extends:

PVR.Fields.Timer

Extends:

PVR.Property.Name

Type: string

PVR.Property.Value

Type: mixed
Properties:

  • [ boolean available = false ]
  • [ boolean recording = false ]
  • [ boolean scanning = false ]

PVR.TimerState

Type: string

Setting

Setting.Details.Base

Type: mixed
Properties:

  • [ string help ]
  • string id
  • string label

Setting.Details.Category

Extends:


Properties:

Setting.Details.Control

Type: mixed

Setting.Details.ControlBase

Type: mixed
Properties:

  • boolean delayed
  • string format
  • string type

Setting.Details.ControlButton

Extends:


Properties:

  • string type

Setting.Details.ControlCheckmark

Extends:


Properties:

  • string format
  • string type

Setting.Details.ControlEdit

Extends:


Properties:

  • boolean hidden
  • string type
  • boolean verifynewvalue

Setting.Details.ControlHeading

Extends:


Properties:

  • [ string heading ]

Setting.Details.ControlList

Extends:


Properties:

  • boolean multiselect
  • string type

Setting.Details.ControlRange

Extends:


Properties:

  • string formatlabel
  • string formatvalue
  • string type

Setting.Details.ControlSlider

Extends:


Properties:

  • string formatlabel
  • boolean popup
  • string type

Setting.Details.ControlSpinner

Extends:


Properties:

  • [ string formatlabel ]
  • [ string minimumlabel ]
  • string type

Setting.Details.Group

Type: mixed
Properties:

Setting.Details.Section

Extends:


Properties:

Setting.Details.Setting

Type: mixed

Setting.Details.SettingAction

Extends:

Setting.Details.SettingAddon

Extends:


Properties:

Setting.Details.SettingBase

Extends:


Properties:

Setting.Details.SettingBool

Extends:


Properties:

  • boolean default
  • boolean value

Setting.Details.SettingInt

Extends:


Properties:

  • integer default
  • [ integer maximum = "0" ]
  • [ integer minimum = "0" ]
  • [ object options ]
  • [ integer step = "0" ]
  • integer value

Setting.Details.SettingList

Extends:


Properties:

Setting.Details.SettingNumber

Extends:


Properties:

  • number default
  • number maximum
  • number minimum
  • number step
  • number value

Setting.Details.SettingPath

Extends:


Properties:

  • [ string[] sources ]
  • boolean writable

Setting.Details.SettingString

Extends:


Properties:

  • boolean allowempty
  • string default
  • [ object options ]
  • string value

Setting.Level

Type: string

Setting.Type

Type: string

Setting.Value

Type: mixed

Setting.Value.Extended

Type: mixed

Setting.Value.List

Type: mixed

System

System.Property.Name

Type: string

System.Property.Value

Type: mixed
Properties:

  • [ boolean canhibernate = false ]
  • [ boolean canreboot = false ]
  • [ boolean canshutdown = false ]
  • [ boolean cansuspend = false ]

Textures

Textures.Details.Size

Type: mixed
Properties:

  • [ integer height = "0" ] Height of texture
  • [ string lastused ] Date of last use
  • [ integer size = "0" ] Size of the texture (1 == largest)
  • [ integer usecount = "0" ] Number of uses
  • [ integer width = "0" ] Width of texture

Textures.Details.Texture

Type: mixed
Properties:

  • [ string cachedurl ] Cached URL on disk
  • [ string imagehash ] Hash of image
  • [ string lasthashcheck ] Last time source was checked for changes
  • [ Textures.Details.Size[] sizes ]
  • [ Library.Id textureid = "-1" ]
  • [ string url ] Original source URL

Textures.Fields.Texture

Extends:

Video

Video.Cast

Type: mixed

Video.Details.Base

Extends:


Properties:

Video.Details.Episode

Extends:


Properties:

  • [ Video.Cast cast ]
  • [ integer episode = "0" ]
  • Library.Id episodeid
  • [ string firstaired ]
  • [ string originaltitle ]
  • [ string productioncode ]
  • [ number rating = "0" ]
  • [ mixed ratings ]
  • [ integer season = "0" ]
  • [ Library.Id seasonid = "-1" ]
  • [ string showtitle ]
  • [ integer specialsortepisode = "0" ]
  • [ integer specialsortseason = "0" ]
  • [ Library.Id tvshowid = "-1" ]
  • [ Media.UniqueID uniqueid ]
  • [ integer userrating = "0" ]
  • [ string votes ]
  • [ Array.String writer ]

Video.Details.File

Extends:


Properties:

Video.Details.Item

Extends:


Properties:

  • [ string dateadded ]
  • [ string file ]
  • [ string lastplayed ]
  • [ string plot ]

Video.Details.Media

Extends:


Properties:

  • [ string title ]

Video.Details.Movie

Extends:


Properties:

Video.Details.MovieSet

Extends:


Properties:

Video.Details.MovieSet.Extended

Extends:


Properties:

Video.Details.MusicVideo

Extends:


Properties:

Video.Details.Season

Extends:


Properties:

  • [ integer episode = "0" ]
  • integer season
  • Library.Id seasonid
  • [ string showtitle ]
  • [ Library.Id tvshowid = "-1" ]
  • [ integer userrating = "0" ]
  • [ integer watchedepisodes = "0" ]

Video.Details.TVShow

Extends:


Properties:

  • [ Video.Cast cast ]
  • [ integer episode = "0" ]
  • [ string episodeguide ]
  • [ Array.String genre ]
  • [ string imdbnumber ]
  • [ string mpaa ]
  • [ string originaltitle ]
  • [ string premiered ]
  • [ number rating = "0" ]
  • [ mixed ratings ]
  • [ integer runtime = "0" ] Runtime in seconds
  • [ integer season = "0" ]
  • [ string sorttitle ]
  • [ Array.String studio ]
  • [ Array.String tag ]
  • Library.Id tvshowid
  • [ Media.UniqueID uniqueid ]
  • [ integer userrating = "0" ]
  • [ string votes ]
  • [ integer watchedepisodes = "0" ]
  • [ integer year = "0" ]

Video.Fields.Episode

Extends:

Video.Fields.Movie

Extends:

Video.Fields.MovieSet

Extends:

Video.Fields.MusicVideo

Extends:

Video.Fields.Season

Extends:

Video.Fields.TVShow

Extends:

Video.Rating

Type: mixed
Properties:

  • [ boolean default = false ]
  • number rating
  • [ integer votes = "0" ]

Video.Ratings

Type: mixed

Video.Ratings.Set

Type: mixed

Video.Resume

Type: mixed
Properties:

  • [ number position = "0" ]
  • [ number total = "0" ]

Video.Streams

Type: mixed
Properties:

  • [ object audio ]
  • [ object subtitle ]
  • [ object video ]

Notifications

Application

Application.OnVolumeChanged

The volume of the application has changed. Parameters:

  1. string sender
  2. object data

Properties:

  • boolean muted
  • integer volume

AudioLibrary

AudioLibrary.OnCleanFinished

The audio library has been cleaned. Parameters:

  1. string sender

AudioLibrary.OnCleanStarted

An audio library clean operation has started. Parameters:

  1. string sender

AudioLibrary.OnExport

An audio library export has finished. Parameters:

  1. string sender
  2. object data

Properties:

  • [ integer failcount = "0" ]
  • [ string file ]

AudioLibrary.OnRemove

An audio item has been removed. Parameters:

  1. string sender
  2. object data

Properties:

AudioLibrary.OnScanFinished

Scanning the audio library has been finished. Parameters:

  1. string sender

AudioLibrary.OnScanStarted

An audio library scan has started. Parameters:

  1. string sender

AudioLibrary.OnUpdate

An audio item has been updated. Parameters:

  1. string sender
  2. object data

Properties:

GUI

GUI.OnDPMSActivated

Energy saving/DPMS has been activated. Parameters:

  1. string sender

GUI.OnDPMSDeactivated

Energy saving/DPMS has been deactivated. Parameters:

  1. string sender

GUI.OnScreensaverActivated

The screensaver has been activated. Parameters:

  1. string sender

GUI.OnScreensaverDeactivated

The screensaver has been deactivated. Parameters:

  1. string sender
  2. object data

Properties:

  • boolean shuttingdown

Input

Input.OnInputFinished

The user has provided the requested input. Parameters:

  1. string sender

Input.OnInputRequested

The user is requested to provide some information. Parameters:

  1. string sender
  2. object data

Properties:

  • [ string title ]
  • string type
  • string value

Player

Player.OnPause

Playback of a media item has been paused. If there is no ID available extra information will be provided. Parameters:

  1. string sender
  2. ' data

Player.OnPlay

Playback of a media item has been started or the playback speed has changed. If there is no ID available extra information will be provided. Parameters:

  1. string sender
  2. ' data

Player.OnPropertyChanged

A property of the playing items has changed. Parameters:

  1. string sender
  2. object data

Properties:

Player.OnSeek

The playback position has been changed. If there is no ID available extra information will be provided. Parameters:

  1. string sender
  2. object data

Properties:

Player.OnSpeedChanged

Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided. Parameters:

  1. string sender
  2. ' data

Player.OnStop

Playback of a media item has been stopped. If there is no ID available extra information will be provided. Parameters:

  1. string sender
  2. object data

Properties:

  • boolean end Whether the player has reached the end of the playable item(s) or not
  • [ Notifications.Item item ]

Playlist

Playlist.OnAdd

A playlist item has been added. Parameters:

  1. string sender
  2. object data

Properties:

Playlist.OnClear

A playlist item has been cleared. Parameters:

  1. string sender
  2. object data

Properties:

Playlist.OnRemove

A playlist item has been removed. Parameters:

  1. string sender
  2. object data

Properties:

System

System.OnLowBattery

The system is on low battery. Parameters:

  1. string sender

System.OnQuit

Kodi will be closed. Parameters:

  1. string sender
  2. object data

Properties:

  • integer exitcode

System.OnRestart

The system will be restarted. Parameters:

  1. string sender

System.OnSleep

The system will be suspended. Parameters:

  1. string sender

System.OnWake

The system woke up from suspension. Parameters:

  1. string sender

VideoLibrary

VideoLibrary.OnCleanFinished

The video library has been cleaned. Parameters:

  1. string sender

VideoLibrary.OnCleanStarted

A video library clean operation has started. Parameters:

  1. string sender

VideoLibrary.OnExport

A video library export has finished. Parameters:

  1. string sender
  2. object data

Properties:

  • [ integer failcount = "0" ]
  • [ string file ]
  • [ string root ]

VideoLibrary.OnRemove

A video item has been removed. Parameters:

  1. string sender
  2. object data

Properties:

VideoLibrary.OnScanFinished

Scanning the video library has been finished. Parameters:

  1. string sender

VideoLibrary.OnScanStarted

A video library scan has started. Parameters:

  1. string sender

VideoLibrary.OnUpdate

A video item has been updated. Parameters:

  1. string sender
  2. object data

Properties:

  • Library.Id id
  • [ integer playcount = "-1" ]
  • [ Optional.Boolean transaction ] True if the update is being performed within a transaction.
  • string type


External links