Response Types and Payloads#

Common#

hondana.types_.common.LanguageCode#

alias of Literal[‘ar’, ‘bg’, ‘bn’, ‘ca’, ‘cs’, ‘da’, ‘de’, ‘el’, ‘en’, ‘es-la’, ‘es’, ‘fa’, ‘fi’, ‘fr’, ‘he’, ‘hi’, ‘hu’, ‘id’, ‘it’, ‘ja’, ‘ja-ro’, ‘ko’, ‘ko-ro’, ‘lt’, ‘mn’, ‘ms’, ‘my’, ‘nl’, ‘no’, ‘pl’, ‘pt-br’, ‘pt’, ‘ro’, ‘ru’, ‘sh’, ‘sv’, ‘th’, ‘tl’, ‘tr’, ‘uk’, ‘vi’, ‘zh-hk’, ‘zh’, ‘zh-ro’]

class hondana.types_.common.LocalizedString#

Examples

A localised string:

{
    "en": "An english string",
    "fr": "Une corde française"
}

Artist#

class hondana.types_.artist.ArtistResponse[source]#

id: str

type: Literal["artist"]

attributes: ArtistAttributesResponse

relationships: List[RelationshipResponse]

This key is optional, in the event this payload is gotten from the “relationships” of another object.

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

class hondana.types_.artist.ArtistAttributesResponse[source]#

name: str

imageUrl: Optional[str]

biography: LocalizedString

twitter: Optional[str]

pixiv: Optional[str]

melonBook: Optional[str]

fanBox: Optional[str]

booth: Optional[str]

nicoVideo: Optional[str]

skeb: Optional[str]

fantia: Optional[str]

tumblr: Optional[str]

youtube: Optional[str]

weibo: Optional[str]

naver: Optional[str]

website: Optional[str]

version: int

createdAt: str

updatedAt: str

class hondana.types_.artist.GetSingleArtistResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: List[ArtistResponse]

class hondana.types_.artist.GetMultiArtistResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[ArtistResponse]

limit: int

offset: int

total: int

Auth#

class hondana.types_.auth.TokenResponse[source]#

session: str

refresh: str

class hondana.types_.auth.CheckPayload[source]#

result: Literal["ok"]

isAuthenticated: bool

roles: List[str]

permissions: List[str]

class hondana.types_.auth.RefreshPayload[source]#

result: Literal["ok", "error"]

token: TokenResponse

message: str

class hondana.types_.auth.LoginPayload[source]#

result: Literal["ok", "error"]

token: TokenResponse

Author#

class hondana.types_.author.AuthorResponse[source]#

id: str

type: Literal["author"]

attributes: AuthorAttributesResponse

relationships: List[RelationshipResponse]

This key is optional, in the event this payload is gotten from the “relationships” of another object.

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

class hondana.types_.author.AuthorAttributesResponse[source]#

name: str

imageUrl: Optional[str]

biography: Optional[LocalizedString]

twitter: Optional[str]

pixiv: Optional[str]

melonBook: Optional[str]

fanBox: Optional[str]

booth: Optional[str]

nicoVideo: Optional[str]

skeb: Optional[str]

fantia: Optional[str]

tumblr: Optional[str]

youtube: Optional[str]

weibo: Optional[str]

naver: Optional[str]

website: Optional[str]

version: int

createdAt: str

updatedAt: str

class hondana.types_.author.GetSingleAuthorResponse[source]#

result: Literal[ok, error]

response: Literal[entity]

data: AuthorResponse

class hondana.types_.author.GetMultiAuthorResponse[source]#

result: Literal[ok, error]

response: Literal[collection]

data: List[AuthorResponse]

limit: int

offset: int

total: int

Chapter#

class hondana.types_.chapter.ChapterResponse[source]#

id: str

type: Literal["chapter"]

attributes: ChapterAttributesResponse

relationships: List[RelationshipResponse]

This key is optional, in the event this payload is gotten from the “relationships” of another object.

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

class hondana.types_.chapter.ChapterAttributesResponse[source]#

title: Optional[str]

volume: str

chapter: str

pages: int

translatedLanguage: str

externalUrl: Optional[str]

version: int

createdAt: str

updatedAt: str

publishAt: str

readableAt: str

class hondana.types_.chapter.GetSingleChapterResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: ChapterResponse

class hondana.types_.chapter.GetMultiChapterResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[ChapterResponse]

limit: int

offset: int

total: int

class hondana.types_.chapter.GetAtHomeResponse[source]#

result: Literal["ok"]

baseUrl: str

chapter: :class`~hondana.types.GetAtHomeChapterResponse`

class hondana.types_.chapter.GetAtHomeChapterResponse[source]#

hash: str

data: List[str]

dataSaver: List[str]

class hondana.types_.chapter.ChapterReadResponse[source]#

chapterId: str

readDate: str

class hondana.types_.chapter.ChapterReadHistoryResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[ChapterReadResponse]

limit: int

offset: int

total: int

Cover#

class hondana.types_.cover.CoverResponse[source]#

id: str

type: Literal["cover_art"]

attributes: CoverAttributesResponse

relationships: List[RelationshipResponse]

This key is optional, in the event this payload is gotten from the “relationships” of another object.

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

class hondana.types_.cover.CoverAttributesResponse[source]#

volume: Optional[str]

fileName: str

description: Optional[str]

locale: Optional[LanguageCode]

version: int

createdAt: str

updatedAt: str

class hondana.types_.cover.GetSingleCoverResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: CoverResponse

class hondana.types_.cover.GetMultiCoverResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[CoverResponse]

limit: int

offset: int

total: int

CustomList#

class hondana.types_.custom_list.CustomListResponse[source]#

id: class:str

type: Literal["custom_list"]

attributes: CustomListAttributesResponse

class hondana.types_.custom_list.CustomListAttributesResponse[source]#

name: str

visibility: CustomListVisibility

version: int

class hondana.types_.custom_list.GetSingleCustomListResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: CustomListResponse

class hondana.types_.custom_list.GetMultiCustomListResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[CustomListResponse]

limit: int

offset: int

total: int

Errors#

class hondana.types_.errors.ErrorType[source]#
id: str

The ID of the error.

status: int

The http status code of the error.

title: str

The error title.

detail: str

The details of the error.

class hondana.types_.errors.APIError[source]#

result: Literal["error"]

errors: List[ErrorType]

Legacy#

hondana.types_.legacy.LegacyMappingType#

alias of Literal[‘group’, ‘manga’, ‘chapter’, ‘tag’]

class hondana.types_.legacy.LegacyMappingResponse[source]#

id: str

type: Literal["mapping_id"]

attributes: LegacyMappingAttributesResponse

class hondana.types_.legacy.LegacyMappingAttributesResponse[source]#

type: LegacyMappingType

legacyId: int

newId: str

class hondana.types_.legacy.GetLegacyMappingResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[LegacyMappingResponse]

limit: int

offset: int

total: int

Manga#

Please see here for more explicit info on these:-

https://api.mangadex.org/docs.html#section/Static-data/Manga-links-data

al: Optional[str]

anilist key

ap: Optional[str]

animeplanet key

bw: Optional[str]

bookwalker.jp key

mu: Optional[str]

mangaupdates key

nu: Optional[str]

novelupdates key

kt: Optional[str]

kitsu.io key

amz: Optional[str]

amazon key

ebj: Optional[str]

ebookjapan key

mal: Optional[str]

myanimelist key

cdj: Optional[str]

cdjapan key

raw: Optional[str]

engtl: Optional[str]

class hondana.types_.manga.MangaResponse[source]#

id: str

type: Literal["manga"]

attributes: MangaAttributesResponse

relationships: List[RelationshipResponse]

This key is optional, in the event this payload is gotten from the “relationships” of another object.

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

related: MangaRelationType

This key is optional.

class hondana.types_.manga.GetMangaResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: MangaResponse

class hondana.types_.manga.MangaAttributesResponse[source]#

title: LocalizedString

altTitle: List[LocalizedString]

description: LocalizedString

isLocked: bool

links: MangaLinks

originalLanguage: str

lastVolume: Optional[str]

lastChapter: Optional[str]

publicationDemographic: Optional[PublicationDemographic]

status: MangaStatus

year: Optional[int]

contentRating: Optional[ContentRating]

chapterNumbersResetOnNewVolume: bool

latestUploadedChapter: str

availableTranslatedLanguages: List[LanguageCode]

tags: List[TagResponse]

state: MangaState

version: int

createdAt: str

updatedAt: str

isLocked: Optional[bool]

This key is optional

class hondana.types_.manga.MangaRelationAttributesResponse[source]#

relation: MangaRelationType

version: int

class hondana.types_.manga.MangaRelationCreateResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: MangaRelation

class hondana.types_.manga.MangaSearchResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[MangaResponse]

limit: int

offset: int

total: int

class hondana.types_.manga.MangaRelation[source]#

id: str

type: Literal["manga_relation"]

attributes: MangaRelationAttributesResponse

relationships: List[RelationshipResponse]

This key is optional, in the event this payload is gotten from the “relationships” of another object.

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

related: MangaRelationType

This key is optional.

class hondana.types_.manga.MangaRelationResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[MangaRelation]

limit: int

offset: int

total: int

class hondana.types_.manga.VolumesAndChaptersResponse[source]#

chapters: Dict[str, ChaptersResponse]

count: int

volume: str

class hondana.types_.manga.ChaptersResponse[source]#

chapter: str

count: str

class hondana.types_.manga.GetMangaVolumesAndChaptersResponse[source]#

result: Literal["ok", "error"]

volumes: Optional[Dict[str, VolumesAndChaptersResponse]]

class hondana.types_.manga.MangaReadMarkersResponse[source]#

result: Literal["ok"]

data: List[str]

class hondana.types_.manga.MangaGroupedReadMarkersResponse[source]#

result: Literal["ok"]

data: Dict[str, List[str]]

class hondana.types_.manga.MangaSingleReadingStatusResponse[source]#

result: Literal["ok"]

status: ReadingStatus

class hondana.types_.manga.MangaMultipleReadingStatusResponse[source]#

result: Literal["ok"]

statuses: Dict[str, ReadingStatus]

Mapping of [manga_id: ReadingStatus value]

Relationship#

hondana.types_.relationship.RelationshipResponse#

id: str

type: Literal["manga", "chapter", "scanlation_group", "author", "cover_art", "artist", user]

attributes: Dict[str, str]

This key is optional

This key can contain minimal or full data depending on the includes[] parameter of it’s request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

relationships: List[Dict[str, str]]

This key is optional

This key will be a one level nested list of relationships for each object in the relationship.

Report#

class hondana.types_.report.ReportReasonResponse[source]#

id: str

type: Literal["report_reason"]

attributes: GetReportReasonAttributesResponse

class hondana.types_.report.GetReportReasonAttributesResponse[source]#

reason: LocalizedString

detailsRequired: bool

category: ReportCategory

version: int

class hondana.types_.report.GetReportReasonResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[ReportReasonResponse]

limit: int

offset: int

total: int

Scanlator Group#

class hondana.types_.scanlator_group.ScanlationGroupResponse[source]#

id: str

type: Literal["scanlation_group"]

attributes: ScanlationGroupAttributesResponse

relationships: List[RelationshipResponse]

This key is optional, in the event this payload is gotten from the “relationships” of another object.

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

class hondana.types_.scanlator_group.ScanlationGroupAttributesResponse[source]#

name: str

altNames: List[str]

website: Optional[str]

ircServer: Optional[str]

ircChannel: Optional[str]

discord: Optional[str]

contactEmail: Optional[str]

description: Optional[str]

twitter: Optional[str]

mangaUpdates: Optional[str]

focusedLanguage: Optional[List[str]]

locked: bool

official: bool

verified: bool

inactive: bool

publishDelay: str

version: int

createdAt: str

updatedAt: str

class hondana.types_.scanlator_group.GetSingleScanlationGroupResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: ScanlationGroupResponse

class hondana.types_.scanlator_group.GetMultiScanlationGroupResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[ScanlationGroupResponse]

limit: int

offset: int

total: int

Settings#

class hondana.types_.settings.Settings[source]#

This object is currently not documented.

class hondana.types_.settings.SettingsPayload[source]#

result: Literal["ok", "error"]

updatedAt: str

Represents an ISO-8601 datetime.

settings: Settings

template: str

UUID of the template.

Statistics#

class hondana.types_.statistics.StatisticsRatingResponse[source]#

average: Optional[float]

bayesian: Optional[float]

distribution: Dict[str, int]

class hondana.types_.statistics.BatchStatisticsRatingResponse[source]#

average: float

bayesian: float

class hondana.types_.statistics.StatisticsResponse[source]#

rating: StatisticsRatingResponse

follows: int

class hondana.types_.statistics.BatchStatisticsResponse[source]#

rating: BatchStatisticsRatingResponse

follows: int

class hondana.types_.statistics.GetStatisticsResponse[source]#

result: Literal["ok"]

statistics: Dict[str, StatisticsResponse]

class hondana.types_.statistics.BatchGetStatisticsResponse[source]#

result: Literal["ok"]

statistics: Dict[str, BatchStatisticsResponse]

class hondana.types_.statistics.PersonalMangaRatingsResponse[source]#

rating: int

createdAt: str

class hondana.types_.statistics.GetPersonalMangaRatingsResponse[source]#

result: Literal["ok"]

ratings: Dict[str, PersonalMangaRatingsResponse]

Tags#

class hondana.types_.tags.TagResponse[source]#

id: str

type: Literal["tag"]

attributes: TagAttributesResponse

relationships: List[RelationshipResponse]

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

class hondana.types_.tags.TagAttributesResponse[source]#

name: LocalizedString

description: LocalizedString

group: str

version: int

class hondana.types_.tags.GetTagListResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[TagResponse]

limit: int

offset: int

total: int

Token#

class hondana.types_.token.TokenPayload[source]#

type: Literal[session]

iss: Literal[mangadex.org]

aud: Literal[mangadex.org]

iat: int

nbf: int

exp: int

uid: str

rol: List[str]

prm: List[str]

sid: str

User#

class hondana.types_.user.UserResponse[source]#

id: str

type: Literal["user"]

attributes: GetUserAttributesResponse

relationships: List[RelationshipResponse]

This key is optional, in the event this payload is gotten from the “relationships” of another object.

This key can contain minimal or full data depending on the includes[] parameter of its request. See here for more info: https://api.mangadex.org/docs.html#section/Reference-Expansion

class hondana.types_.user.GetUserAttributesResponse[source]#

username: str

version: int

roles: List[str]

class hondana.types_.user.GetSingleUserResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: UserResponse

limit: int

offset: int

total: int

class hondana.types_.user.GetMultiUserResponse[source]#

result: Literal["ok", "error"]

response: Literal["collection"]

data: List[UserResponse]

limit: int

offset: int

total: int

Upload#

class hondana.types_.upload.UploadSessionAttributes[source]#

isCommitted: bool

isProcessed: bool

isDeleted: bool

version: int

createdAt: str

updatedAt: str

class hondana.types_.upload.GetUploadSessionResponse[source]#

result: Literal["ok", "error"]

response: Literal["entity"]

data: :class:~hondana.types.GetUploadSessionDataResponse`

class hondana.types_.upload.ChapterUploadAttributes[source]#

isCommitted bool

isProcessed: bool

isDeleted: bool

class hondana.types_.upload.ChapterUploadData[source]#

id: str

type: Literal["upload_session"]

attributes: ChapterUploadAttributes

relationships: List[RelationshipResponse]

class hondana.types_.upload.BeginChapterUploadResponse[source]#

result: Literal["ok", "error"]

data: ChapterUploadData

class hondana.types_.upload.UploadedChapterPageAttributes[source]#

originalFileName: str

fileHash: str

fileSize: int

mimeType: str

version: int

class hondana.types_.upload.UploadedChapterDataResponse[source]#

id: str

type: Literal["upload_session_file"]

attributes: UploadedChapterPageAttributes

class hondana.types_.upload.UploadedChapterResponse[source]#

result: Literal["ok", "error"]

errors: List[ErrorType]

data: List[UploadedChapterDataResponse]