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
CopyResponse:
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
CopyResponse:
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=еччі,магія
CopyResponse:
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
CopyResponse:
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
CopyResponse:
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
CopyResponse:
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 |