Endpoints¶
- class AbuseRequestEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async AsOfftopic(comment_id: str | int) AbuseRequest | RequestError¶
Mark comment as offtopic Request will be sent to moderators.
- Parameters:
comment_id – Must be a number.
- async AsReview(topic_id: str | int = None, comment_id: str | int = None) None | RequestError¶
Convert comment to review.
Request will be sent to moderators.
- Parameters:
topic_id – Must be a number.
comment_id – Must be a number.
- class GraphQlEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async animes(fields: str, page: int = 1, limit: int = 1, order: OrderEnum = None, kind: str = None, status: str = None, season: str = None, score: int = None, duration: int = None, rating: str = None, genre: str = None, studio: str = None, franchise: str = None, censored=True, mylist: str = None, ids: str = None, excludeIds: str = None, search: str = None) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
kind – List of values separated by comma. Add ! before value to apply negative filter. values: tv, movie, ova, ona, special, tv_special, music, pv, cm, tv_13, tv_24, tv_48
status – List of values separated by comma. Add ! before value to apply negative filter.
season – List of values separated by comma. Add ! before value to apply negative filter. Examples: summer_2017, 2016, 2014_2016, 199x
score – Minimal anime score
duration – List of values separated by comma. Add ! before value to apply negative filter. Examples: S - Less than 10 minutes, D - Less than 30 minutes, F - More than 30 minutes
rating – List of values separated by comma. Add ! before value to apply negative filter. Examples: none - No rating, g - G - All ages, pg - PG - Children, pg_13 - PG-13 - Teens 13 or older, r - R - 17+ recommended (violence & profanity), r_plus - R+ - Mild Nudity (may also contain violence & profanity), rx - Rx - Hentai (extreme sexual content/nudity)
genre – List of comma separated genre ids
studio – List of comma separated studio ids
franchise – List of comma separated franchises
censored – Set to false to allow hentai, yaoi and yuri
mylist – List of values separated by comma. Add ! before value to apply negative filter. Examples: planned - Planned to Watch, watching - Watching, rewatching - Rewatching, completed - Completed, on_hold - On Hold, dropped - Dropped
ids – List of comma separated ids
excludeIds – List of comma separated ids
search – must be a string
order – OrderEnum
page – must be a number
limit – Maximum 50
- async characters(fields: str, page: int = 1, limit: int = 1, ids: str = None, search: str = None) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
page – int
limit – Maximum 50
ids – list of separated ids
search – str
- async contests(fields: str, page: int = 1, limit: int = 1, ids: str = None) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
page – int
limit – Maximum 10
ids – list of separated ids
- async currentUser(fields: str) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
- async genres(fields: str, entry: GenreEntryTypeEnum) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
entry – GenreEntryTypeEnum
- async mangas(fields: str, page: int = 1, limit: int = 1, order: OrderEnum = None, kind: str = None, status: str = None, season: str = None, score: int = None, genre: str = None, publisher: str = None, franchise: str = None, censored=True, mylist: str = None, ids: str = None, excludeIds: str = None, search: str = None) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
publisher – List of comma separated publisher ids
kind – List of values separated by comma. Add ! before value to apply negative filter. values: tv, movie, ova, ona, special, tv_special, music, pv, cm, tv_13, tv_24, tv_48
status – List of values separated by comma. Add ! before value to apply negative filter.
season – List of values separated by comma. Add ! before value to apply negative filter. Examples: summer_2017, 2016, 2014_2016, 199x
score – Minimal anime score
genre – List of comma separated genre ids
franchise – List of comma separated franchises
censored – Set to false to allow hentai, yaoi and yuri
mylist – List of values separated by comma. Add ! before value to apply negative filter. Examples: planned - Planned to Watch, watching - Watching, rewatching - Rewatching, completed - Completed, on_hold - On Hold, dropped - Dropped
ids – List of comma separated ids
excludeIds – List of comma separated ids
search – must be a string
order – OrderEnum
page – must be a number
limit – Maximum 50
- async people(fields: str, page: int = 1, limit: int = 1, ids: str = None, search: str = None, isSeyu: bool = None, isProducer: bool = None, isMangaka: bool = None) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
page – int
limit – Maximum 10
ids – List of values separated by comma.
search – str
isSeyu – bool
isProducer – bool
isMangaka – bool
- async userRates(fields: str, userId: int = None, page: int = 1, limit: int = 1, targetType: UserRateTargetTypeEnum = None, status: UserRateStatusEnum = None, order: UserRateOrderInputType = None) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
userId – ID of current user is used by default
page – int
limit – maximum - 50
targetType – UserRateTargetTypeEnum
status – UserRateStatusEnum
order – UserRateOrderInputType
- async users(fields: str, page: int = 1, limit: int = 1, ids: str = None, search: str = None) dict | RequestError¶
- Parameters:
fields – e.g. ‘{ anime { id name } }’ (check more in doc https://shikimori.one/api/doc/graphql )
page – int
limit – maximum - 50
ids – List of values separated by comma.
search – str
- class AchievementsEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(user_id: int) list[Achievement] | RequestError¶
List user achievements.
- Parameters:
user_id – Must be a number.
- class AnimeEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(page: int = None, limit: int = None, order: str = None, kind: str = None, status: str = None, season: str = None, score: str = None, duration: str = None, rating: str = None, genre: str = None, studio: str = None, franchise: str = None, censored: str = None, mylist: str = None, ids: str = None, exclude_ids: str = None, search: str = None, genre_v2: str = None) list[Anime] | RequestError¶
List animes.
- Parameters:
page – must be a number between 1 and 100000.
limit – Must be a number, 50 - maximum.
order – Must be one of: id, id_desc, ranked, kind, popularity, name, aired_on, episodes, status, random, ranked_random, ranked_shiki, created_at, created_at_desc.
kind – Must be one of: tv, movie, ova, ona, special, tv_special, music, pv, cm, tv_13, tv_24, tv_48.
status – Must be one of: anons, ongoing, released.
season – ex - summer_2017, 2016, 2014_2016, 199x.
score – Must be a number.
duration – Must be one of: S - less than 10, D - less than 30, F - more than 30.
rating – Must be one of: none, g, pg, pg_13, r, r_plus, rx.
genre – List of genre ids separated by comma.
studio – List of studio ids separated by comma.
franchise – List of franchises separated by comma.
censored – Must be one of: true, false.
mylist – Must be one of: planned, watching, rewatching, completed, on_hold, dropped.
ids – List of anime ids separated by comma.
exclude_ids – List of anime ids separated by comma.
search – Search phrase to filter animes by name.
genre_v2 – List of genre v2 ids separated by comma.
- async ById(id: int) AnimeInfo | RequestError¶
Show an anime.
- Parameters:
id – Must be a Number.
- async roles(id: int) List[Role] | RequestError¶
List anime roles.
- Parameters:
id – must be a number.
- async similar(id: int) List[Anime] | RequestError¶
List similar animes.
- Parameters:
id – must be a number.
List related animes.
- Parameters:
id – must be a number.
- async screenshots(id: int) List[ScreenShot] | RequestError¶
List screenshots anime.
- Parameters:
id – must be a number.
- async franchise(id: int) Franchise | RequestError¶
Show the whole franchise.
- Parameters:
id – must be a number.
- async externalLinks(id: int) List[ExternalLink] | RequestError¶
Show the externalLinks of an anime.
- Parameters:
id – must be a number.
- async topics(id: int, page: int = None, limit: int = None, kind: str = None, episode: int = None) List[Topic] | RequestError¶
list of topics that relate to anime.
- Parameters:
id – Must be a number.
page – Must be a number between 1 and 100000.
limit – 30 maximum.
kind – Must be one of: anons, ongoing, released, episode.
episode – Must be a number.
- class AppearsEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async read(ids: str = None) None | RequestError¶
Mark comments or topics as read.
- Parameters:
ids – str like ‘comment-7,comment-8,topic-270101’.
- class BanEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list() List[Ban] | RequestError¶
List bans
- class CalendarEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(censored: bool = None) List[Calendar] | RequestError¶
Show a calendar.
- Parameters:
censored – Set to false to allow hentai, yaoi and yuri
- class CharacterEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async ById(id: int) Character | RequestError¶
Show a character.
- Parameters:
id – must be a number.
- async search(search: str) list[CharacterBrief] | RequestError¶
Search characters.
- Parameters:
search – Must be a String.
- class ClubEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(page: int = None, limit: int = None, search: str = None) List[Club] | RequestError¶
List clubs.
- Parameters:
page – Must be a number between 1 and 100000.
limit – 30 max.
search – string.
- async ById(id: int) ClubInfo | RequestError¶
Show a club.
- Parameters:
id – must be a number.
- async update(id: int, name: str = None, description: str = None, display_images: bool | int = None, comment_policy: str = None, topic_policy: str = None, image_upload_policy: str = None) ClubInfo | RequestError¶
Update a club.
Requires clubs oauth scope.
- Parameters:
id – number.
name – string.
description – string.
display_images – Must be one of: true, false, 1, 0.
comment_policy – Must be one of: free, members, admins.
topic_policy – Must be one of: members, admins.
image_upload_policy – Must be one of: members, admins.
- async animes(id: int, limit: int = None, page: int = None) List[Anime] | RequestError¶
List of club animes.
- Parameters:
id – must a number.
limit – 20 maximum.
page – Must be a number between 1 and 100000.
- async mangas(id: int, page: int = None, limit: int = None) List[Manga] | RequestError¶
List of club mangas.
- Parameters:
id – must a number.
limit – 20 maximum.
page – Must be a number between 1 and 100000.
- async ranobes(id: int, limit: int = None, page: int = None) List[Ranobe] | RequestError¶
List of club Ranobes
- Parameters:
id – must a number.
limit – 20 maximum.
page – Must be a number between 1 and 100000.
- async characters(id: int, limit: int = None, page: int = None) List[CharacterBrief] | RequestError¶
List of club Characters.
- Parameters:
id – must a number.
limit – 20 maximum.
page – Must be a number between 1 and 100000.
- async collections(id: int, limit: int = None, page: int = None) List[Collection] | RequestError¶
List of club Collections.
- Parameters:
id – must a number.
limit – 4 maximum.
page – Must be a number between 1 and 100000.
- async clubs(id: int, limit: int = None, page: int = None) List[Club] | RequestError¶
List of club clubs.
- Parameters:
id – must a number.
limit – 30 maximum.
page – Must be a number between 1 and 100000.
- async members(id: int, limit: int = None, page: int = None) List[User] | RequestError¶
List of club members.
- Parameters:
id – must a number.
limit – 100 maximum.
page – Must be a number between 1 and 100000.
- async images(id: int, limit: int = None, page: int = None) List[ClubImage] | RequestError¶
List of club Images.
- Parameters:
id – must a number.
limit – 100 maximum.
page – Must be a number between 1 and 100000.
- async join(id: int) None | RequestError¶
Join a club.
Requires clubs oauth scope.
- Parameters:
id – must be a number.
- async leave(id: int) None | RequestError¶
Leave a club.
Requires clubs oauth scope.
- Parameters:
id – must be a number.
- class CommentEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(commentable_id: int = None, commentable_type: str = None, page: int = None, limit: int = None, desc: int = None) List[Comment] | RequestError¶
List comments.
- Parameters:
commentable_id – must be a number.
commentable_type – Must be one of: Topic, User.
page – Must be a number between 1 and 100000.
limit – 30 maximum.
desc – Must be one of: 1, 0.
- async ById(id: int) Comment | RequestError¶
Show a comment.
- Parameters:
id – must be a number.
- async create(broadcast: bool = None, body: str = None, commentable_id: int = None, commentable_type: str = None, is_offtopic: bool = None, frontend: bool = None)¶
Create a comment.
Requires comments oauth scope.
- Parameters:
broadcast – Must be one of: true, false.
body – Must be a String.
commentable_id – Must be a number.
commentable_type – Must be one of: Topic, User, Anime, Manga, Character, Person, Article, Club, ClubPage, Collection, Critique, Review. # NOQA
is_offtopic – Must be one of: true, false.
frontend – Must be one of: true, false.
- async update(id: int, body: str, frontend: bool = None) Comment | RequestError¶
Update a comment. Requires comments oauth scope.
Use abuse_requests to change is_offtopic field.
- Parameters:
body – string.
frontend – string.
- async delete(id: int) str | RequestError¶
Destroy a comment. Requires comments oauth scope.
- Parameters:
id – must be a number
- class ConstantsEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async animes() AnimeConstant | RequestError¶
- async mangas() MangaConstant | RequestError¶
- async user_rates() UserRateConstant | RequestError¶
- async clubs() ClubConstant | RequestError¶
- async smileys() list[SmileConstant] | RequestError¶
- class DialogsEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list() List[Dialog] | RequestError¶
List dialogs.
Requires messages oauth scope.
- async ById(id: str) List[MessageInfo] | RequestError¶
Show a dialog. Requires messages oauth scope.
- Parameters:
id – like user_{id}.
- async delete(id: str) str | RequestError¶
Destroy a dialog. Requires messages oauth scope.
- Parameters:
id – like user_{id}.
- class EpisodeNotificationEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async notify(token: str, anime_id: int, episode: int, aired_at: str, is_fandub: bool = None, is_raw: bool = None, is_subtitles: bool = None, is_anime365: bool = None) EpisodeNotification | RequestError¶
Notify shikimori about anime episode release.
- Parameters:
token – Private token required to access this api
anime_id – Must be a number.
episode – Must be a number.
aired_at – Must be a date in iso8601 YYYY-MM-DDThh:mm:ss±hh format
is_fandub – Must be one of: true, false, 1, 0.
is_raw – Must be one of: true, false, 1, 0.
is_subtitles – Must be one of: true, false, 1, 0.
is_anime365 – Must be one of: true, false, 1, 0.
- class FavoritesEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async add(id: int, linked_type: str, kind: str = None) str | RequestError¶
Create a favorite.
- Parameters:
id – must be a number
linked_type – Must be one of: Anime, Manga, Ranobe, Person, Character
kind – Must be one of: common, seyu, mangaka, producer, person
- async delete(id: int, linked_type: str) str | RequestError¶
Destroy a favorite.
- Parameters:
id – must be a number
linked_type – Must be one of: Anime, Manga, Ranobe, Person, Character
- async reorder(id: int, new_index: int = None) None | RequestError¶
Assign a new position to a favorite.
- Parameters:
id – must be a number.
new_index – must be a number.
- class ForumEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list() RequestError | list[Forum]¶
List of forums
- class FriendEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async add(id: int) str | RequestError¶
Create a friend.
Requires friends oauth scope.
- Parameters:
id – must be a number.
- async delete(id: int) str | RequestError¶
Destroy a friend.
Requires friends oauth scope.
- Parameters:
id – must be a number.
- class GenreEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list() list[Genre] | RequestError¶
List genres
- class MangaEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(page: int = None, limit: int = None, order: str = None, kind: str = None, status: str = None, season: str = None, score: int = None, genre: str = None, publisher: str = None, franchise: str = None, censored: bool = None, mylist: str = None, ids: str = None, exclude_ids: str = None, search: str = None, genre_v2: str = None)¶
Most of parameters can be grouped in lists of values separated by comma:
season=2016,2015 – mangas with season 2016 year or with season 2015 year.
kind=manga,one_shot – mangas with kind Manga or with kind One Shot.
Most of the parameters can be used in the subtraction mode:
season=!2016,!2015 – mangas without season 2016 year and without season 2015 year.
kind=!manga,!one_shot – mangas without kind Manga and without kind One Shot.
Most of the parameters can be used in the combined mode:
season=2016,!summer_2016 – mangas with season 2016 year and without season summer_2016.
- Parameters:
page – Must be a number between 1 and 100000.
limit – 50 maximum.
order – Must be one of: id, id_desc, ranked, kind, popularity, name, aired_on, volumes, chapters, status, random, ranked_random, ranked_shiki, created_at, created_at_desc.
kind – Must be one of: manga, manhwa, manhua, light_novel, novel, one_shot, doujin.
status – Must be one of: anons, ongoing, released, paused, discontinued.
season – summer_2017 spring_2016,fall_2016.
score – must be a number.
genre – List of genre ids separated by comma.
publisher – List of publisher ids separated by comma.
franchise – List of franchises separated by comma.
censored – Set to false to allow hentai, yaoi and yuri.
mylist – Must be one of: planned, watching, rewatching, completed, on_hold, dropped.
ids – List of manga ids separated by comma
exclude_ids – List of manga ids separated by comma
search – Must be a String
genre_v2 – List of genre v2 ids separated by comma
- async ById(id: int) MangaInfo | RequestError¶
Show a manga.
- Parameters:
id – must be a number
- async roles(id: int) List[Role] | RequestError¶
list roles.
- Parameters:
id – must be a number
- async similar(id: int) List[Manga] | RequestError¶
list similar.
- Parameters:
id – must be a number
list related.
- Parameters:
id – must be a number
- async franchise(id: int) Franchise | RequestError¶
list franchises.
- Parameters:
id – must be a number
- async ExternalLinks(id: int) List[ExternalLink] | RequestError¶
list ExternalLinks.
- Parameters:
id – must be a number
- class MessageEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async ById(id: int) MessageInfo | RequestError¶
Show a message.
Requires messages oauth scope.
- Parameters:
id – must be a number
- async create(from_id: int, to_id: int, body: str, kind: str = 'Private') MessageInfo | RequestError¶
Create a message.
Requires messages oauth scope.
- Parameters:
from_id – Must be a number.
to_id – Must be a number.
body – Must be a String.
kind – Must be one of: Private.
- async update(id: int, body: str) MessageInfo | RequestError¶
Update a message.
Requires messages oauth scope.
- Parameters:
id – must be a number
body – must be a string
- async delete(id: int) None | RequestError¶
Destroy a message.
Requires messages oauth scope.
- Parameters:
id – must be a number
- async markRead(ids: str, is_read: bool) None | RequestError¶
mark as read or unread.
Requires messages oauth scope.
- Parameters:
ids – string like ‘123, 34455, 283761846’
is_read – True - read, False - Unread
- async readAll(type: str) None | RequestError¶
Requires messages oauth scope.
- Parameters:
type – Must be one of: news, notifications.
- async deleteAll(type: str) None | RequestError¶
Requires messages oauth scope.
- Parameters:
type – Must be one of: news, notifications.
- class PeopleEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async ById(id: int) People | RequestError¶
Show a person.
- Parameters:
id – must be a number
- async search(id: int, type: str = None) list[CharacterBrief] | RequestError¶
Search people.
- Parameters:
id – must be a number.
type – Must be one of: seyu, mangaka, producer.
- class PublisherEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list() List[Publisher] | RequestError¶
List publishers
- class RanobeEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(page: int = None, limit: int = None, order: str = None, status: str = None, season: str = None, score: int = None, genre: str = None, publisher: str = None, franchise: str = None, censored: bool = None, mylist: str = None, ids: str = None, exclude_ids: str = None, search: str = None) List[Ranobe] | RequestError¶
Most of parameters can be grouped in lists of values separated by comma:
season=2016,2015 – ranobe with season 2016 year or with season 2015 year
Most of the parameters can be used in the subtraction mode:
season=!2016,!2015 – ranobe without season 2016 year and without season 2015 year
Most of the parameters can be used in the combined mode:
season=2016,!summer_2016 – ranobe with season 2016 year and without season summer_2016.
- Parameters:
page – Must be a number between 1 and 100000.
limit – 50 maximum.
order – Must be one of: id, id_desc, ranked, kind, popularity, name, aired_on, volumes, chapters, status, random, ranked_random, ranked_shiki, created_at, created_at_desc.
status – Must be one of: anons, ongoing, released, paused, discontinued.
season – summer_2017 spring_2016,fall_2016.
score – must be a number.
genre – List of genre ids separated by comma.
publisher – List of publisher ids separated by comma.
franchise – List of franchises separated by comma.
censored – Set to false to allow hentai, yaoi and yuri.
mylist – Must be one of: planned, watching, rewatching, completed, on_hold, dropped.
ids – List of ranobe ids separated by comma.
exclude_ids – List of ranobe ids separated by comma.
search – Must be a String.
- async ById(id: int) RanobeInfo | RequestError¶
Show a ranobe.
- Parameters:
id – must be a number
- async roles(id: int) List[Role] | RequestError¶
list roles.
- Parameters:
id – must be a number
- async similar(id: int) List[Ranobe] | RequestError¶
list similar.
- Parameters:
id – must be a number
list related.
- Parameters:
id – must be a number
- async franchise(id: int) Franchise | RequestError¶
list franchise.
- Parameters:
id – must be a number
- async ExternalLinks(id: int) List[ExternalLink] | RequestError¶
list ExternalLinks.
- Parameters:
id – must be a number
- class ReviewEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async create(anime_id: int, body: str, opinion: str) Review | RequestError¶
Create a review.
- Parameters:
anime_id – Must be a number.
body – Must be a String
opinion – Must be one of: positive, neutral, negative
- async update(id: int, body: str, opinion: str) Review | RequestError¶
Update a review.
- Parameters:
id – Must be a number.
body – Must be a String
opinion – Must be one of: positive, neutral, negative
- async delete(id: int) Review | RequestError¶
Destroy a review.
- Parameters:
id – Must be a number.
- class StatsEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list() List[int] | RequestError¶
Users having at least 1 completed animes and active during last month
- class StudiosEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list() List[Studio] | RequestError¶
List studios
- class StylesEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async ById(id: int) Style | RequestError¶
Show a style.
- Parameters:
id – must be a number
- async preview(css: str) Style | RequestError¶
Preview a style.
- Parameters:
css – Must be a String
- class TopicIgnoreEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async ignore(topic_id: str | int) Topic | RequestError¶
ignore topic.
Requires topics oauth scope.
- Parameters:
topic_id – Must be a number
- async unignore(topic_id: str | int) Topic | RequestError¶
unignore topic.
Requires topics oauth scope.
- Parameters:
topic_id – must be a number
- class TopicsEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(page: int = None, limit: int = None, forum: str = None, linked_id: int = None, linked_type: str = None, type: str = None) List[Topic] | RequestError¶
List topics.
- Parameters:
page – Must be a number between 1 and 100000.
limit – 30 maximum
forum – Must be one of: all, animanga, site, games, vn, contests, offtopic, clubs, my_clubs, critiques, news, collections, articles, cosplay.
linked_id – Used together with linked_type
linked_type – Used together with linked_id. Must be one of: Anime, Manga, Ranobe, Character, Person, Club, ClubPage, Critique, Review, Contest, CosplayGallery, Collection, Article.
type – Must be one of: Topic, Topics::ClubUserTopic, Topics::EntryTopic, Topics::EntryTopics::AnimeTopic, Topics::EntryTopics::ArticleTopic, Topics::EntryTopics::CharacterTopic, Topics::EntryTopics::ClubPageTopic, Topics::EntryTopics::ClubTopic, Topics::EntryTopics::CollectionTopic, Topics::EntryTopics::ContestTopic, Topics::EntryTopics::CosplayGalleryTopic, Topics::EntryTopics::MangaTopic, Topics::EntryTopics::PersonTopic, Topics::EntryTopics::RanobeTopic, Topics::EntryTopics::CritiqueTopic, Topics::EntryTopics::ReviewTopic, Topics::NewsTopic, Topics::NewsTopics::ContestStatusTopic.
- async updates(page: int = None, limit: int = None) List[Status] | RequestError¶
NewsTopics about database updates.
- Parameters:
page – Must be a number between 1 and 100000.
limit – 30 maximum
- async hot(limit: int = None) List[Topic] | RequestError¶
Hot topics.
- Parameters:
limit – 10 maximum
- async ById(id: int) Topic | RequestError¶
Show a topic.
- Parameters:
id – must be a number
- async create(body: str, forum_id: int, title: str, user_id: int, type: str = 'Topic', linked_id: int = None, linked_type: str = None) Topic | RequestError¶
Create a topic.
Requires topics oauth scope.
- Parameters:
body – Must be a String.
forum_id – Must be a number.
title – Must be a String.
user_id – Must be a number. .
type – Must be one of: Topic.
linked_id – Must be a number.
linked_type – Must be one of: Anime, Manga, Ranobe, Character, Person, Club, ClubPage, Critique, Review, Contest, CosplayGallery, Collection, Article.
- async update(id: int, body: str = None, linked_id: int = None, linked_type: str = None, title: str = None) Topic | RequestError¶
Update a topic.
Requires topics oauth scope.
- Parameters:
id – Must be a number.
body – Must be a String.
linked_id – Must be a number.
linked_type – Must be one of: Anime, Manga, Ranobe, Character, Person, Club, ClubPage, Critique, Review, Contest, CosplayGallery, Collection, Article.
title – Must be a String.
- async delete(id: int) None | RequestError¶
Destroy a topic.
Requires topics oauth scope.
- Parameters:
id – Must be a number
- class UserIgnoreEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async ignore(id: str | int) UserIgnore | RequestError¶
ignore user.
Requires ignores oauth scope.
- Parameters:
id – must be a number
- async unignore(id: str | int) UserIgnore | RequestError¶
unignore user.
Requires ignores oauth scope.
- Parameters:
id – must be a number
- class UserImageEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async upload(image: str, linked_type: str = None) UserImage | RequestError¶
Create a user image.
Requires comments oauth scope.
- Parameters:
image – Must be a String
linked_type – Must be a String
- class UserRatesEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async ById(id: int) UserRate | RequestError¶
Show a user rate.
- Parameters:
id – must be a number
- async list(user_id: int = None, target_id: int = None, target_type: str = None, status: str = None, page: int = None, limit: int = None) list[UserRate] | RequestError¶
List user rates.
- Parameters:
user_id – must be a number
target_id – must be a number
target_type – Must be one of: Anime, Manga
status – must be one of: planned, watching, rewatching, completed, on_hold, dropped
page – must be a number
limit – must be a number (Maximum - 1000)
- async create(user_id: int, target_id: int, target_type: str, status: str | None = None, score: int | None = None, chapters: int | None = None, episodes: int | None = None, volumes: int | None = None, rewatches: int | None = None, text: str | None = None) UserRate | RequestError¶
Create a user rate.
Requires user_rates oauth scope.
- Parameters:
text – Must be a String
rewatches – Must be a number.
volumes – Must be a number.
episodes – Must be a number.
chapters – Must be a number.
score – Must be a number.
status – Must be one of: planned, watching, rewatching, completed, on_hold, dropped
target_type – Must be one of: Anime, Manga.
target_id – Must be a number.
user_id – Must be a number.
- async update(user_rate_id: int, status: str | None = None, score: int | None = None, chapters: int | None = None, episodes: int | None = None, volumes: int | None = None, rewatches: int | None = None, text: str | None = None) UserRate | RequestError¶
Update a user rate.
Requires user_rates oauth scope.
- Parameters:
user_rate_id – Must be a number.
status – Must be a number.
score – Must be a number.
chapters – Must be a number.
episodes – Must be a number.
volumes – Must be a number.
rewatches – Must be a number.
text – Must be a String
- async increment(id: int) UserRate | RequestError¶
requires user_rates oauth scope.
Increment episodes/chapters by 1.
- Parameters:
id – Must be a number.
- async delete(id: int) None | RequestError¶
Destroy a user rate.
requires user_rates oauth scope.
- Parameters:
id – must be a number.
- async cleanup(type: str) dict | RequestError¶
Be careful to use.
- Parameters:
type – Must be one of: anime, manga.
- async reset(type: str) dict | RequestError¶
Be careful to use.
Reset all user scores to 0.
- Parameters:
type – Must be one of: anime, manga.
- class UserEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(page: int = None, limit: int = None, search: str = None) List[User] | RequestError¶
list users.
- Parameters:
page – Must be a number between 1 and 100000.
limit – 100 maximum
search – Must be a String
- async ById(query: int | str, is_nickname: str = None) UserInfo | RequestError¶
Show a user.
- Parameters:
query – must be a number or string (nickname)
is_nickname – 1 if you want to get user by its nickname
- async info(id: int) UserInfoInc | RequestError¶
Show user’s brief info.
- Parameters:
id – must be a number
- async whoami() UserInfoInc | RequestError¶
Show current user’s brief info
- async signOut() None | RequestError¶
Sign out the user
- async friends(id: int, page: int = None, limit: int = None) List[User] | RequestError¶
Show user’s friends.
- Parameters:
id – User id.
limit – 100 maximum.
page – Must be a number between 1 and 100000.
- async clubs(id: int) List[Club] | RequestError¶
Show user’s clubs.
- Parameters:
id – must be a number
- async animeRates(id: int, limit: int = None, page: int = None, status: str = None, censored: bool = None) List[Rate] | RequestError¶
Show user’s anime list.
- Parameters:
id – must be a number
limit – Must be a number between 1 and 100000
page – 5000 maximum
status – Must be one of: planned, watching, rewatching, completed, on_hold, dropped.
censored – Must be one of: true, false.
- async mangaRates(id: int, limit: int = None, page: int = None, censored: bool = None) List[Rate] | RequestError¶
Show user’s manga list.
- Parameters:
id – must be a number
limit – Must be a number between 1 and 100000
page – 5000 maximum
censored – Must be one of: true, false.
- async favourites(id: int) Favourites | RequestError¶
Show user’s favourites.
- Parameters:
id – must be a number
- async messages(id: int, page: int = None, limit: int = None, type: str = None) List[MessageInfo] | RequestError¶
Show current user’s messages.
- Parameters:
id – must be a number.
page – Must be a number between 1 and 100000.
limit – 100 maximum
type – Must be one of: inbox, private, sent, news, notifications.
- async unread(id: int) UnreadMessages | RequestError¶
Show current user’s unread messages counts.
- Parameters:
id – must be a number.
- async history(id: int, page: int = None, limit: int = None, target_type: str = None, target_id: int = None) List[HistoryObj] | RequestError¶
Show user history.
- Parameters:
id – Must be a number.
page – Must be a number between 1 and 100000.
limit – 100 maximum
target_type – Must be one of: Anime, Manga.
target_id – Must be a number.
- async bans(id: int) List[Ban] | RequestError¶
Show user’s bans.
- Parameters:
id – Must be a number.
- class VideosEndpoint(base_url: str, request: BaseLimiter, user_agent: str)¶
- async list(id: int) List[Video] | RequestError¶
List videos.
- Parameters:
id – must be a number
- async create(id: int, kind: str, url: str, name: str) Video | RequestError¶
Create a video.
Requires content oauth scope.
- Parameters:
id – must be a number
kind – Must be one of: pv, character_trailer, cm, op, ed, op_ed_clip, clip, other, episode_preview.
url – Supported hostings: YouTube,vk,ok,coub,rutube,vimeo,sibnet,yandex,streamable,smotret_anime,myvi,youmite,viuly,stormo,mediafile
name – must be a string.
- async delete(anime_id: int, id: int) None | RequestError¶
Destroy a video.
Requires content oauth scope.
- Parameters:
anime_id – must be a number
id – must be a number
- class Auth(request: BaseLimiter, user_agent: str = None, options: AuthOptions | None = None, base_url: str = None)¶
Class for handling authentication with the Shikimori API.
This class provides methods for obtaining access tokens and refreshing tokens.
- async get_access_token(auth_code: str) AccessTokenData | RequestError¶
Obtain an access token using an authorization code.
- Parameters:
auth_code – Authorization code obtained during the OAuth authorization process.
- async refresh(refresh_token: str) AccessTokenData | RequestError¶
Refresh an access token using a refresh token.
- Parameters:
refresh_token – Refresh token obtained during the OAuth authorization process.