Skip to content

API access #1070

@Ultraguy24

Description

@Ultraguy24

Expected Behavior

The ability to interact with the backend of Ganymede via created API keys for use by scripts.

Administrators should be able to create and delete API keys which can be used by most scripting interfaces for interacting an manipulating data in the database. Some functions could include getting information stored about individual VODs, playlists and streamers, as well as posting requests to change said information, add or delete VOD's, playlists and/or channels by means of external software, scripts or code.

This would add a large amount of flexibility to administrating Ganymede.

Current Behavior

My current workflow for long term tape storage for VOD's older than 6 months relies on my running a python script to copy the said data to the drive, however this still requires me to go into Ganymede manually and deleting the entry from the interface which can add extra workload. This also relies on me creating and removing specific playlists for each series, which could be done via external scripting to automatic playlists based on fields such as category with generated names such as " - " for example. While yes playlist can currently auto fill with VOD's based on queries, creating them is still a manual endeavour.

I am currently unaware of any existing functionality while checking documentation.

Possible Solution

An API should be exposed via an /api/ endpoint which should be able to be disabled for people who do not require it.

API keys can be managed by an API administrator menu which should allow administration users to create and removed for access to the API. At the very basic level it should display the API key and maybe a text description provided by the key creator to help manage multiple ones.

In a more advanced level we could look into hiding the API key by default with a reveal button, or making the key one time viewing (forcing the user to note it down elsewhere). We could even look into permissions systems per key allowing them to access certain functions.

API keys should be able to GET and POST to various functions which are documented in the wiki, these functions should be made in a way that they can be easily extended from in the future by the developer if more functions are required. They should not be accessible without an API key.

Such starter functions could in include getting VOD metadata, running actions, removing/deleting VOD's, creating or manipulating playlists.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions