Skip to content
Zeyphros edited this page Mar 31, 2022 · 16 revisions

TV Show listings

GET /shows/list/:sorting/:order

GET /shows/search/:query

Search for TV Shows by name with the specified query

TV Show info

GET /series/:id/info

GET /series/:id/index

GET /series/:id/episodes

GET /series/:id/poster

Movie Listings

GET /movies/list/:sorting/:order

GET /movies/watching

Get a list of all movies which have a tracking progress of less then 90%

GET /movies/search/:query

Search for movies by name with the specified query

Movie info

GET /movie/:id/poster

Get the poster for the movie with the specifed ID

PUT /movie/:id/poster

Upload a poster for the movie with the specifed ID

GET /movie/:id/fanart

Get fanart for the movie with the specifed ID

PUT /movie/:id/fanart

Upload fanart for the movie with the specifed ID

GET /movie/:id/info

GET /movie/:id/play?containers=mp4,mkv,avi

Episode listings

GET /episodes/list/:sorting/:order

GET /episodes/watching

Get a list of all episodes which have a tracking progress of less then 90%

GET /episodes/search/:query

Search for episodes by name with the specified query

Episode Info

GET /episode/:id/banner

Get the banner for the episode with the specified ID

PUT /episode/:id/banner

Manually upload a custom banner for an episode

GET /episode/:id/play

Steam a video file of the episode with the specified ID

GET /episode/:id/next

Returns an episode object of the next episode from the episode with id :id

User management

GET /users

Retrieve a list of usernames along with their ids, emails, names and creation dates

POST /user

Endpoint to create a new user
Request body must include:

{
   password: "hunter12" // Will be stored hashed in the database. Can also be left clear to allow passwordless login
   email:    "[email protected]" // Unused for now. Will be used in the future
   name:     "Hunter",
   username: "hunter"
}

GET /user/:id

Retrieve information about a single user including their username, email, name and creation date

DELETE /user/:id

Delete user with a given username

PUT /user/:id

Modify a certain user (changing email, password or name) Request body may include any of the following:

{
   password: "hunter12" // Will be stored hashed in the database. Can also be left clear to allow passwordless login
   email:    "[email protected]" // Unused for now. Will be used in the future
   name:     "Hunter",
   username: "hunter"
}

Auth

POST /auth/login

Post request parameters:

{
    username: String,
    password: String
}

Response as a JWT (Signed):

{
    id: Number, // Unique user id
    username: String,
    name: String,
    email: String
}

Settings

POST /settings/maintenance/index/:library

Request an indexing of a media library folders of a specific type. :library may be one of "tvshows", "movies" or "all"

POST /settings/maintenance/tvshows/download/art

Request a downloading of all artwork relating to tv shows