API v1

⚠️ This page is still in development. The content of this page may change over time.

Base URL

The base URL for all API requests, except for images is:

https://api.unimay.media/v1

The base URL for images is:

https://api.unimay.media

Public methods

  • GET /storage/images/{id}

    : Returns image from storage in size specified by parameters.
  • GET /release

    : Returns data of a specific release.
  • GET /release/search

    : Searches for a Release according to the provided parameters.
  • GET /list/genres

    : Returns a list of all genres that have been used at least once, sorted alphabetically.
  • GET /list/years

    : Returns a list of all years that have been used at least once, sorted ASC.
  • GET team

    : Returns a list of team members according to the provided parameters.
  • GET /franchise

    : Returns data of a specific franchise. Disabled
  • GET /comments

    : Returns a list of comments. Disabled
  • POST /rate

    : Rate release. Disabled
  • POST /like

    : Like comment. Disabled

Public models

  • Release

  • ReleaseEssential

  • ReleaseSearch

  • ReleaseSearchHint

  • Names

  • Series

  • SeriesEssential

  • TimeMarker

  • Franchise

  • TeamMember

  • Comment

Endpoints

⚠️ Endpoint below requires Base URL for images. See more...

GET /storage/images/{id}

Returns image from storage with size specified in parameters

Path variables

Param Type Description Required
id Long image id Yes

Parameters

Param Type Description Default
size String relative size, "smallest" or "small" or "medium" or "original" "original"

Response

Returns a JSON object of PageImpl with content list of TeamMember .

Errors

This API uses the following error codes:

  • 400 Bad Request

    : The request was malformed or contains incorrect required parameters.
  • 404 Not Found

    : The requested resource was not found.
  • 500 Internal Server Error

    : An unexpected error occurred on the server.

Example

Request:

GET /storage/images/444?size=small

Copy

Response:

444.jpg


GET /release

Returns data of a specific release

Parameters

Param Type Description Default
projection String The model to be returned, "default" or "essential" "default"
id Long Release ID -
code String Release URL code -

Response

Returns a JSON object of the Release or ReleaseEssential.

Errors

This API uses the following error codes:

  • 400 Bad Request

    : The request was malformed or contains incorrect required parameters.
  • 404 Not Found

    : The requested resource was not found.
  • 500 Internal Server Error

    : An unexpected error occurred on the server.

Example

Request:

GET /release?code=jobless-reincarnation-2

Copy

Response:

GET /release/search

Searches for a Release according to the provided parameters

Parameters

Param Type Description Default
projection String The model to be returned, "default" or "hint" "default"
page Integer Index of the page (starts from 0) 0
page_size Integer The number of elements on one page (max 30) 6
title String String to search in names -
years String List of years separated by a comma -
types String List of Types separated by a comma -
seasons String List of Seasons separated by a comma -
genres String List of Genres separated by a comma -

Response

Returns a JSON object of PageImpl with content list of ReleaseSearch or ReleaseSearchHint.

Errors

This API uses the following error codes:

  • 400 Bad Request

    : The request was malformed or contains incorrect required parameters.
  • 404 Not Found

    : The requested resource was not found.
  • 500 Internal Server Error

    : An unexpected error occurred on the server.

Example

Request:

GET /release/search?projection=hint&title=реі&types=фільм,телесеріал&genres=еччі,магія

Copy

Response:

GET /list/genres

Returns all genres that have been used at least once, sorted alphabetically

Response

Returns a JSON object with list of the genres.

Errors

This API uses the following error codes:

  • 400 Bad Request

    : The request was malformed or contains incorrect required parameters.
  • 404 Not Found

    : The requested resource was not found.
  • 500 Internal Server Error

    : An unexpected error occurred on the server.

Example

Request:

GET /list/genres

Copy

Response:

GET /list/years

Returns all years that have been used at least once, sorted ASC

Response

Returns a JSON object with list of the year .

Errors

This API uses the following error codes:

  • 400 Bad Request

    : The request was malformed or contains incorrect required parameters.
  • 404 Not Found

    : The requested resource was not found.
  • 500 Internal Server Error

    : An unexpected error occurred on the server.

Example

Request:

GET /list/years

Copy

Response:

GET /team

Returns a list of team members according to the provided parameters

Parameters

Param Type Description Default
page Integer Index of the page (starts from 0) 0
page_size Integer The number of elements on one page (max 30) 10
active Boolean Determines whether to return inactive members true
shuffle Boolean Determines whether to shuffle the list randomly true

Response

Returns a JSON object of PageImpl with content list of TeamMember .

Errors

This API uses the following error codes:

  • 400 Bad Request

    : The request was malformed or contains incorrect required parameters.
  • 404 Not Found

    : The requested resource was not found.
  • 500 Internal Server Error

    : An unexpected error occurred on the server.

Example

Request:

GET /team?page=2&page_size=5

Copy

Response:

Models

Release



Field Type Description
id Long Release ID
aniListid Long Release aniList ID (anilist.co)
lastUpdate Long timestamp of last playlist update
lastEdit Long timestamp of last Release fields edit
statusCode Integer (0 - finished, 1 - in progress, 2 - announced)
episodes Integer number of episodes
episodeLength Integer length of each episode in min
year Integer year of the release
playlistSize Integer number of Series in playlist
commentsCount Integer number of Comment to release
restricted Boolean is release for buymeacoffe only
adult Boolean is release for adults only
announcement String announcement message
collaboration String collaboration team name
code String URI
tgCode String Telegram URI
trailer String trailer URL (YouTube)
type String string representing type's Ukrainian value
season String string representing season's Ukrainian value
description String description
names Names all visible names
images String images id's
genres List<String> list of String's representing Ukrainian value of Genre's
playlist List<Series> list of available series
actors List<TeamMember> list of people who participated in the dubbing
translators List<TeamMember> list of people who participated in the translation
soundmen List<TeamMember> list of people who participated in the sound production


ReleaseEssential



Field Type Description
id Long Release ID
aniListid Long Release aniList ID (anilist.co)
lastUpdate Long timestamp of last playlist update
statusCode Integer (0 - finished, 1 - in progress, 2 - announced)
year Integer year of the release
adult Boolean is release for adults only
code String URI
type String string representing type's Ukrainian value
season String string representing season's Ukrainian value
description String description
names Names all visible names
images String images id's
genres List<String> list of String's representing Ukrainian value of genre's
playlist List<Series> list of SeriesEssential's


ReleaseSearch



Field Type Description
id Long Release ID
aniListid Long Release aniList ID (anilist.co)
lastUpdate Long timestamp of last playlist update
playlistSize Integer number of Series in playlist
statusCode Integer (0 - finished, 1 - in progress, 2 - announced)
year Integer year of the release
adult Boolean is release for adults only
restricted Boolean is release for buymeacoffe only
code String URI
type String string representing type's Ukrainian value
season String string representing season's Ukrainian value
description String shortened description up to 200 characters
names Names all visible names
images String images id's
genres List<String> list of String's representing Ukrainian value of genre's


ReleaseSearchHint



Field Type Description
id Long Release ID
lastUpdate Long timestamp of last playlist update
code String URI
name String Ukrainian name
poster String poster image id


Names



Field Type Description
romaji String name in Romaji
ukr String name in Ukrainian
eng String name in English


Series



Field Type Description
image Long preview image id
number Integer sequence number of the series
opening TimeMarker time markers of opening
ending TimeMarker time markers of ending
uuid String UUID
title String name in Ukrainian
sd String HLS .m3u8 URL with SD quality
hd String HLS .m3u8 URL with HD quality
fhd String HLS .m3u8 URL with FHD quality
qhd String HLS .m3u8 URL with QHD quality
playlist String HLS .m3u8 playlist URL (all qualities)


SeriesEssential



Field Type Description
uuid Long series uuid
imageId Long preview image id
number Integer sequence number of the series
title String series name in Ukrainian
playlist String HLS .m3u8 playlist URL (all qualities)


TimeMarker



Field Type Description
from Integer start of event (in sec)
to Integer end of event (in sec)


Franchise



Field Type Description
id Long id
name String name in Ukrainian
releases List<Release> franchise releases


TeamMember



Field Type Description
id Long member id
image Long image id
firstName String first name
lastName String last name
nickName String nickname
city String city


Comment



Field Type Description
id Long id
childCount Integer number of child comments
creationDate String creation date in ISO 8601
text String comment's text
userId Long user's id
userImage Long user's images id
userName String user's nickname
userRole String user's role