{"openapi":"3.0.3","info":{"title":"YumeDB API","description":"Open, read-only anime & manga knowledge graph. Canonical model normalized from multiple sources; every record carries its external IDs (e.g. mal_id under `myanimelist`).","version":"1.0.0"},"components":{"schemas":{}},"paths":{"/":{"get":{"summary":"API index","tags":["Meta"],"responses":{"200":{"description":"Default Response"}}}},"/health":{"get":{"summary":"Liveness","tags":["Meta"],"responses":{"200":{"description":"Default Response"}}}},"/sources":{"get":{"summary":"Sync sources","tags":["Meta"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"enabled":{"type":"boolean"}},"required":["code","name","enabled"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/anime":{"get":{"summary":"Search & filter anime","tags":["Anime"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80},"in":"query","name":"q","required":false,"description":"Title substring"},{"schema":{"type":"string","maxLength":20},"in":"query","name":"format","required":false,"description":"e.g. tv, movie, ova"},{"schema":{"type":"string","maxLength":30},"in":"query","name":"status","required":false,"description":"e.g. finished, releasing"},{"schema":{"type":"string","enum":["winter","spring","summer","fall"]},"in":"query","name":"season","required":false},{"schema":{"type":"integer","minimum":1900,"maximum":2100},"in":"query","name":"year","required":false},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"query","name":"genre","required":false,"description":"Taxonomy term id"},{"schema":{"type":"integer","minimum":0,"maximum":100},"in":"query","name":"min_score","required":false},{"schema":{"type":"string","enum":["trending","score","year","title"],"default":"trending"},"in":"query","name":"sort","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":24},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["anime"]},"title":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"episodes":{"type":"number","nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","format","status","year","episodes","score","members","cover"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/anime/{id}":{"get":{"summary":"Anime record (with external IDs)","tags":["Anime"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["anime"]},"title":{"type":"string","nullable":true},"titles":{"type":"object","properties":{"canonical":{"type":"string","nullable":true},"english":{"type":"string","nullable":true},"japanese":{"type":"string","nullable":true},"synonyms":{"type":"array","items":{"type":"string"}}},"required":["canonical","english","japanese","synonyms"],"additionalProperties":false},"synopsis":{"type":"string","nullable":true},"background":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"source_material":{"type":"string","nullable":true},"age_rating":{"type":"string","nullable":true},"season":{"type":"string","nullable":true},"season_year":{"type":"number","nullable":true},"start_date":{"type":"string","nullable":true},"end_date":{"type":"string","nullable":true},"episodes":{"type":"number","nullable":true},"episodes_aired":{"type":"number","nullable":true},"duration_seconds":{"type":"number","nullable":true},"airing":{"type":"boolean"},"broadcast":{"type":"object","properties":{"day":{"type":"string","nullable":true},"time":{"type":"string","nullable":true}},"required":["day","time"],"additionalProperties":false,"nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true},"trailer":{"type":"string","nullable":true},"studios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"kind":{"type":"string"}},"required":["id","name","kind"],"additionalProperties":false}},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"counts":{"type":"object","properties":{"episodes":{"type":"integer"},"characters":{"type":"integer"},"staff":{"type":"integer"}},"required":["episodes","characters","staff"],"additionalProperties":false}},"required":["id","kind","title","titles","synopsis","background","format","status","source_material","age_rating","season","season_year","start_date","end_date","episodes","episodes_aired","duration_seconds","airing","broadcast","score","members","cover","trailer","studios","genres","external_ids","counts"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/anime/{id}/episodes":{"get":{"summary":"Episodes","tags":["Anime"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"number":{"type":"number","nullable":true},"title":{"type":"string","nullable":true},"title_romaji":{"type":"string","nullable":true},"title_native":{"type":"string","nullable":true},"aired":{"type":"string","nullable":true},"score":{"type":"number","nullable":true},"filler":{"type":"boolean"},"recap":{"type":"boolean"},"duration_seconds":{"type":"number","nullable":true},"synopsis":{"type":"string","nullable":true}},"required":["number","title","title_romaji","title_native","aired","score","filler","recap","duration_seconds","synopsis"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/anime/{id}/characters":{"get":{"summary":"Cast with voice actors","tags":["Anime"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"character_id":{"type":"integer"},"name":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"voice_actors":{"type":"array","items":{"type":"object","properties":{"person_id":{"type":"integer"},"name":{"type":"string","nullable":true},"language":{"type":"string","nullable":true},"image":{"type":"string","nullable":true}},"required":["person_id","name","language","image"],"additionalProperties":false}}},"required":["character_id","name","role","image","voice_actors"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/anime/{id}/statistics":{"get":{"summary":"Per-source statistics","tags":["Anime"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"score":{"type":"number","nullable":true},"scored_by":{"type":"number","nullable":true},"rank":{"type":"number","nullable":true},"popularity":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"favorites":{"type":"number","nullable":true},"score_distribution":{},"status_distribution":{},"updated_at":{"type":"string","nullable":true}},"required":["source","score","scored_by","rank","popularity","members","favorites","updated_at"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/anime/{id}/staff":{"get":{"summary":"Staff / crew (grouped by person)","tags":["Anime"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"person_id":{"type":"integer"},"name":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"positions":{"type":"array","items":{"type":"string"}}},"required":["person_id","name","image","positions"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/anime/{id}/relations":{"get":{"summary":"Related works (sequels, adaptations…)","tags":["Anime"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"relation":{"type":"string","nullable":true},"id":{"type":"integer"},"kind":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"cover":{"type":"string","nullable":true}},"required":["relation","id","kind","title","cover"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/anime/{id}/pictures":{"get":{"summary":"Pictures","tags":["Anime"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","nullable":true},"width":{"type":"number","nullable":true},"height":{"type":"number","nullable":true}},"required":["url","width","height"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/anime/{id}/themes":{"get":{"summary":"Opening & ending themes","tags":["Anime"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"openings":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","nullable":true},"artist":{"type":"string","nullable":true},"episodes":{"type":"string","nullable":true},"text":{"type":"string","nullable":true}},"required":["title","artist","episodes","text"],"additionalProperties":false}},"endings":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","nullable":true},"artist":{"type":"string","nullable":true},"episodes":{"type":"string","nullable":true},"text":{"type":"string","nullable":true}},"required":["title","artist","episodes","text"],"additionalProperties":false}}},"required":["openings","endings"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}}}}},"/anime/{id}/external":{"get":{"summary":"External links & source IDs","tags":["Anime"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["name","url"],"additionalProperties":false}},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}}},"required":["links","external_ids"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}}}}},"/manga":{"get":{"summary":"Search & filter manga","tags":["Manga"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80},"in":"query","name":"q","required":false,"description":"Title substring"},{"schema":{"type":"string","maxLength":20},"in":"query","name":"format","required":false,"description":"e.g. manga, manhwa, manhua, novel"},{"schema":{"type":"string","maxLength":30},"in":"query","name":"status","required":false,"description":"e.g. finished, releasing, hiatus"},{"schema":{"type":"integer","minimum":1900,"maximum":2100},"in":"query","name":"year","required":false,"description":"Publication start year"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"query","name":"genre","required":false,"description":"Taxonomy term id"},{"schema":{"type":"integer","minimum":0,"maximum":100},"in":"query","name":"min_score","required":false},{"schema":{"type":"string","enum":["trending","score","year","title"],"default":"trending"},"in":"query","name":"sort","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":24},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["manga"]},"title":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"chapters":{"type":"number","nullable":true},"volumes":{"type":"number","nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","format","status","year","chapters","volumes","score","members","cover"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/manga/{id}":{"get":{"summary":"Manga record (with external IDs)","tags":["Manga"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["manga"]},"title":{"type":"string","nullable":true},"titles":{"type":"object","properties":{"canonical":{"type":"string","nullable":true},"english":{"type":"string","nullable":true},"japanese":{"type":"string","nullable":true},"synonyms":{"type":"array","items":{"type":"string"}}},"required":["canonical","english","japanese","synonyms"],"additionalProperties":false},"synopsis":{"type":"string","nullable":true},"background":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"source_material":{"type":"string","nullable":true},"country_of_origin":{"type":"string","nullable":true},"start_date":{"type":"string","nullable":true},"end_date":{"type":"string","nullable":true},"chapters":{"type":"number","nullable":true},"volumes":{"type":"number","nullable":true},"publishing":{"type":"boolean"},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true},"authors":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"role":{"type":"string","nullable":true}},"required":["id","name","role"],"additionalProperties":false}},"serializations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"kind":{"type":"string"}},"required":["id","name","kind"],"additionalProperties":false}},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"counts":{"type":"object","properties":{"chapters":{"type":"integer"},"characters":{"type":"integer"}},"required":["chapters","characters"],"additionalProperties":false}},"required":["id","kind","title","titles","synopsis","background","format","status","source_material","country_of_origin","start_date","end_date","chapters","volumes","publishing","score","members","cover","authors","serializations","genres","external_ids","counts"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/manga/{id}/chapters":{"get":{"summary":"Chapters","tags":["Manga"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"number":{"type":"number","nullable":true},"volume":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"pages":{"type":"number","nullable":true},"released":{"type":"string","nullable":true}},"required":["number","volume","title","pages","released"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/manga/{id}/characters":{"get":{"summary":"Cast (no voice actors)","tags":["Manga"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"character_id":{"type":"integer"},"name":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"image":{"type":"string","nullable":true}},"required":["character_id","name","role","image"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/manga/{id}/statistics":{"get":{"summary":"Per-source statistics","tags":["Manga"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"score":{"type":"number","nullable":true},"scored_by":{"type":"number","nullable":true},"rank":{"type":"number","nullable":true},"popularity":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"favorites":{"type":"number","nullable":true},"score_distribution":{},"status_distribution":{},"updated_at":{"type":"string","nullable":true}},"required":["source","score","scored_by","rank","popularity","members","favorites","updated_at"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/manga/{id}/relations":{"get":{"summary":"Related works","tags":["Manga"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"relation":{"type":"string","nullable":true},"id":{"type":"integer"},"kind":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"cover":{"type":"string","nullable":true}},"required":["relation","id","kind","title","cover"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/manga/{id}/pictures":{"get":{"summary":"Pictures","tags":["Manga"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","nullable":true},"width":{"type":"number","nullable":true},"height":{"type":"number","nullable":true}},"required":["url","width","height"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/manga/{id}/external":{"get":{"summary":"External links & source IDs","tags":["Manga"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["name","url"],"additionalProperties":false}},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}}},"required":["links","external_ids"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}}}}},"/characters":{"get":{"summary":"Search & list characters","tags":["Entities"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80},"in":"query","name":"q","required":false,"description":"Name substring"},{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":24},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true},"image":{"type":"string","nullable":true}},"required":["id","name","image"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/characters/{id}":{"get":{"summary":"Character","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["character"]},"name":{"type":"string","nullable":true},"name_native":{"type":"string","nullable":true},"about":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"appearances":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","role","year","cover"],"additionalProperties":false}}},"required":["id","kind","name","name_native","about","image","external_ids","appearances"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/characters/{id}/pictures":{"get":{"summary":"Character pictures","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","nullable":true},"width":{"type":"number","nullable":true},"height":{"type":"number","nullable":true}},"required":["url","width","height"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/characters/{id}/anime":{"get":{"summary":"Anime the character appears in","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","nullable":true},"id":{"type":"integer"},"title":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["role","id","title","year","cover"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/characters/{id}/manga":{"get":{"summary":"Manga the character appears in","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","nullable":true},"id":{"type":"integer"},"title":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["role","id","title","year","cover"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/characters/{id}/voices":{"get":{"summary":"Voice actors","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"person_id":{"type":"integer"},"name":{"type":"string","nullable":true},"language":{"type":"string","nullable":true},"image":{"type":"string","nullable":true}},"required":["person_id","name","language","image"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/people":{"get":{"summary":"Search & list people","tags":["Entities"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80},"in":"query","name":"q","required":false,"description":"Name substring"},{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":24},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true},"image":{"type":"string","nullable":true}},"required":["id","name","image"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/people/{id}":{"get":{"summary":"Person","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["person"]},"name":{"type":"string","nullable":true},"given_name":{"type":"string","nullable":true},"family_name":{"type":"string","nullable":true},"about":{"type":"string","nullable":true},"birth_date":{"type":"string","nullable":true},"website_url":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"voice_roles":{"type":"array","items":{"type":"object","properties":{"character_id":{"type":"integer"},"character_name":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"anime_id":{"type":"integer"},"anime_title":{"type":"string","nullable":true}},"required":["character_id","character_name","role","anime_id","anime_title"],"additionalProperties":false}},"staff_roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string","nullable":true},"kind":{"type":"string","nullable":true},"role":{"type":"string","nullable":true}},"required":["id","title","kind","role"],"additionalProperties":false}}},"required":["id","kind","name","given_name","family_name","about","birth_date","website_url","image","external_ids","voice_roles","staff_roles"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/people/{id}/pictures":{"get":{"summary":"Person pictures","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","nullable":true},"width":{"type":"number","nullable":true},"height":{"type":"number","nullable":true}},"required":["url","width","height"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/people/{id}/anime":{"get":{"summary":"Anime staff roles","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true},"positions":{"type":"array","items":{"type":"string"}}},"required":["id","title","year","cover","positions"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/people/{id}/manga":{"get":{"summary":"Manga staff roles (authors)","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true},"positions":{"type":"array","items":{"type":"string"}}},"required":["id","title","year","cover","positions"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/people/{id}/voices":{"get":{"summary":"Voice acting roles","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string","nullable":true},"character":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true},"image":{"type":"string","nullable":true}},"required":["id","name","image"],"additionalProperties":false},"anime":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","title","year","cover"],"additionalProperties":false}},"required":["language","character","anime"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/companies/{id}":{"get":{"summary":"Studio / company","tags":["Entities"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":9007199254740991},"in":"path","name":"id","required":true,"description":"Numeric record id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["company"]},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"founded":{"type":"number","nullable":true},"logo":{"type":"string","nullable":true},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"total_works":{"type":"integer"},"works":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","role","year","cover"],"additionalProperties":false}}},"required":["id","kind","name","description","founded","logo","external_ids","total_works","works"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/producers":{"get":{"summary":"Search & list producers (studios, producers, licensors)","tags":["Entities"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80},"in":"query","name":"q","required":false,"description":"Name substring"},{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":24},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true}},"required":["id","name"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/magazines":{"get":{"summary":"Search & list magazines (manga serializations)","tags":["Entities"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80},"in":"query","name":"q","required":false,"description":"Name substring"},{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":24},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true}},"required":["id","name"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/seasons/now":{"get":{"summary":"Current season","tags":["Discover"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["anime"]},"title":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"episodes":{"type":"number","nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","format","status","year","episodes","score","members","cover"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/seasons/upcoming":{"get":{"summary":"Upcoming anime (not yet aired)","tags":["Discover"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["anime"]},"title":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"episodes":{"type":"number","nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","format","status","year","episodes","score","members","cover"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/seasons/{year}/{season}":{"get":{"summary":"Anime by season","tags":["Discover"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","minimum":1900,"maximum":2100},"in":"path","name":"year","required":true},{"schema":{"type":"string","enum":["winter","spring","summer","fall"]},"in":"path","name":"season","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["anime"]},"title":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"episodes":{"type":"number","nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","format","status","year","episodes","score","members","cover"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/schedules":{"get":{"summary":"Broadcast schedule (airing anime)","tags":["Discover"],"parameters":[{"schema":{"type":"string","maxLength":12},"in":"query","name":"day","required":false,"description":"Broadcast day, e.g. Monday"},{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":24},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["anime"]},"title":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"episodes":{"type":"number","nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true},"broadcast_day":{"type":"string","nullable":true},"broadcast_time":{"type":"string","nullable":true}},"required":["id","kind","title","format","status","year","episodes","score","members","cover","broadcast_day","broadcast_time"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/top/anime":{"get":{"summary":"Top anime by score","tags":["Discover"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["anime"]},"title":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"episodes":{"type":"number","nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","format","status","year","episodes","score","members","cover"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/top/manga":{"get":{"summary":"Top manga by score","tags":["Discover"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100000,"default":1},"in":"query","name":"page","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["manga"]},"title":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"chapters":{"type":"number","nullable":true},"volumes":{"type":"number","nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","format","status","year","chapters","volumes","score","members","cover"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"has_next_page":{"type":"boolean"}},"required":["page","per_page","total","pages","has_next_page"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/random/anime":{"get":{"summary":"Random anime","tags":["Discover"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["anime"]},"title":{"type":"string","nullable":true},"titles":{"type":"object","properties":{"canonical":{"type":"string","nullable":true},"english":{"type":"string","nullable":true},"japanese":{"type":"string","nullable":true},"synonyms":{"type":"array","items":{"type":"string"}}},"required":["canonical","english","japanese","synonyms"],"additionalProperties":false},"synopsis":{"type":"string","nullable":true},"background":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"source_material":{"type":"string","nullable":true},"age_rating":{"type":"string","nullable":true},"season":{"type":"string","nullable":true},"season_year":{"type":"number","nullable":true},"start_date":{"type":"string","nullable":true},"end_date":{"type":"string","nullable":true},"episodes":{"type":"number","nullable":true},"episodes_aired":{"type":"number","nullable":true},"duration_seconds":{"type":"number","nullable":true},"airing":{"type":"boolean"},"broadcast":{"type":"object","properties":{"day":{"type":"string","nullable":true},"time":{"type":"string","nullable":true}},"required":["day","time"],"additionalProperties":false,"nullable":true},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true},"trailer":{"type":"string","nullable":true},"studios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"kind":{"type":"string"}},"required":["id","name","kind"],"additionalProperties":false}},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"counts":{"type":"object","properties":{"episodes":{"type":"integer"},"characters":{"type":"integer"},"staff":{"type":"integer"}},"required":["episodes","characters","staff"],"additionalProperties":false}},"required":["id","kind","title","titles","synopsis","background","format","status","source_material","age_rating","season","season_year","start_date","end_date","episodes","episodes_aired","duration_seconds","airing","broadcast","score","members","cover","trailer","studios","genres","external_ids","counts"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/random/manga":{"get":{"summary":"Random manga","tags":["Discover"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["manga"]},"title":{"type":"string","nullable":true},"titles":{"type":"object","properties":{"canonical":{"type":"string","nullable":true},"english":{"type":"string","nullable":true},"japanese":{"type":"string","nullable":true},"synonyms":{"type":"array","items":{"type":"string"}}},"required":["canonical","english","japanese","synonyms"],"additionalProperties":false},"synopsis":{"type":"string","nullable":true},"background":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"source_material":{"type":"string","nullable":true},"country_of_origin":{"type":"string","nullable":true},"start_date":{"type":"string","nullable":true},"end_date":{"type":"string","nullable":true},"chapters":{"type":"number","nullable":true},"volumes":{"type":"number","nullable":true},"publishing":{"type":"boolean"},"score":{"type":"number","nullable":true},"members":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true},"authors":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"role":{"type":"string","nullable":true}},"required":["id","name","role"],"additionalProperties":false}},"serializations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"kind":{"type":"string"}},"required":["id","name","kind"],"additionalProperties":false}},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"counts":{"type":"object","properties":{"chapters":{"type":"integer"},"characters":{"type":"integer"}},"required":["chapters","characters"],"additionalProperties":false}},"required":["id","kind","title","titles","synopsis","background","format","status","source_material","country_of_origin","start_date","end_date","chapters","volumes","publishing","score","members","cover","authors","serializations","genres","external_ids","counts"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/random/characters":{"get":{"summary":"Random character","tags":["Discover"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["character"]},"name":{"type":"string","nullable":true},"name_native":{"type":"string","nullable":true},"about":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"appearances":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","kind","title","role","year","cover"],"additionalProperties":false}}},"required":["id","kind","name","name_native","about","image","external_ids","appearances"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/random/people":{"get":{"summary":"Random person","tags":["Discover"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["person"]},"name":{"type":"string","nullable":true},"given_name":{"type":"string","nullable":true},"family_name":{"type":"string","nullable":true},"about":{"type":"string","nullable":true},"birth_date":{"type":"string","nullable":true},"website_url":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"external_ids":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"type":{"type":"string"},"external_id":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["source","type","external_id","url"],"additionalProperties":false}},"voice_roles":{"type":"array","items":{"type":"object","properties":{"character_id":{"type":"integer"},"character_name":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"anime_id":{"type":"integer"},"anime_title":{"type":"string","nullable":true}},"required":["character_id","character_name","role","anime_id","anime_title"],"additionalProperties":false}},"staff_roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string","nullable":true},"kind":{"type":"string","nullable":true},"role":{"type":"string","nullable":true}},"required":["id","title","kind","role"],"additionalProperties":false}}},"required":["id","kind","name","given_name","family_name","about","birth_date","website_url","image","external_ids","voice_roles","staff_roles"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["error","message","status"],"additionalProperties":false}}}}}}},"/genres/anime":{"get":{"summary":"Anime genres, themes & demographics","tags":["Discover"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"kind":{"type":"string"},"count":{"type":"integer"}},"required":["id","name","kind","count"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/genres/manga":{"get":{"summary":"Manga genres, themes & demographics","tags":["Discover"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"kind":{"type":"string"},"count":{"type":"integer"}},"required":["id","name","kind","count"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/genres":{"get":{"summary":"Taxonomy terms with counts","tags":["Discover"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"kind":{"type":"string"},"count":{"type":"integer"}},"required":["id","name","kind","count"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/search":{"get":{"summary":"Cross-entity search","tags":["Discover"],"parameters":[{"schema":{"type":"string","minLength":2,"maxLength":80},"in":"query","name":"q","required":true,"description":"Search term"},{"schema":{"type":"integer","minimum":1,"maximum":25,"default":10},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"anime":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","title","cover"],"additionalProperties":false}},"manga":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string","nullable":true},"cover":{"type":"string","nullable":true}},"required":["id","title","cover"],"additionalProperties":false}},"characters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true}},"required":["id","name"],"additionalProperties":false}},"people":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true}},"required":["id","name"],"additionalProperties":false}},"companies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true}},"required":["id","name"],"additionalProperties":false}}},"required":["anime","manga","characters","people","companies"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}}}}},"/user/me":{"get":{"summary":"Identity behind the bearer token","tags":["user"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"number"},"username":{"type":"string","nullable":true},"scopes":{"type":"array","items":{"type":"string"}}},"required":["id","username","scopes"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}}}}},"/user/entries":{"get":{"summary":"Your full list (both media) — the extension pulls this","tags":["user"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"number"},"kind":{"type":"string"},"title":{"type":"string","nullable":true},"cover":{"type":"string","nullable":true},"status":{"type":"string"},"score":{"type":"number","nullable":true},"progress":{"type":"number"},"progress_total":{"type":"number","nullable":true},"updated_at":{"type":"string"}},"required":["item_id","kind","title","cover","status","score","progress","progress_total","updated_at"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}}}}},"/user/entries/{id}":{"get":{"summary":"Your list entry for an item (null if untracked)","tags":["user"],"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"item_id":{"type":"number"},"status":{"type":"string"},"score":{"type":"number","nullable":true},"progress":{"type":"number"},"progress_total":{"type":"number","nullable":true},"updated_at":{"type":"string"}},"required":["item_id","status","score","progress","progress_total","updated_at"],"additionalProperties":false,"nullable":true}},"required":["data"],"additionalProperties":false}}}}}},"post":{"summary":"Upsert your list entry (status/score/episode)","tags":["user"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["plan to watch","watching","completed","rewatching","on hold","dropped","plan to read","reading","rereading","paused"]},"score":{"type":"integer","minimum":0,"maximum":100,"nullable":true},"episode":{"type":"integer","minimum":0,"maximum":100000}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"item_id":{"type":"number"},"status":{"type":"string"},"score":{"type":"number","nullable":true},"progress":{"type":"number"},"progress_total":{"type":"number","nullable":true},"updated_at":{"type":"string"}},"required":["item_id","status","score","progress","progress_total","updated_at"],"additionalProperties":false,"nullable":true}},"required":["data"],"additionalProperties":false}}}}}}}},"servers":[{"url":"https://api.yumedb.vkoshtovnyi.com"}],"tags":[{"name":"Anime","description":"Anime catalog, records and sub-resources"},{"name":"Manga","description":"Manga catalog, records and sub-resources"},{"name":"Entities","description":"Characters, people and companies"},{"name":"Discover","description":"Genres and cross-entity search"},{"name":"Meta","description":"Index, health and sources"}]}