Anime — entry 008 of 15
MangaDex
MangaDex's API was reconfirmed live at api.mangadex.org with a real manga listing, but a direct cross-origin GET and an OPTIONS preflight both came back without an Access-Control-Allow-Origin header, so browser-based CORS calls fail — corrected to no. Authentication was also corrected from a bare API key to MangaDex's real scheme: OAuth 2 personal clients using a password grant tied to a user's account, since MangaDex has no API-key concept — public reads need no auth at all. The API and its manga remain entirely free, funded by the site rather than gated behind the API.
GreatAPIs Score
Auth quickstart
- Register an app / run the OAuth flow to obtain a bearer token.
- Send it as an Authorization header
Authorization: Bearer <token>
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints
ApiClient7
GET/clientList own Api Clients
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
state | query | no | string |
name | query | no | string |
includes[] | query | no | — |
order | query | no | object |
| Status | Description | Schema |
|---|---|---|
200 | OK | ApiClientList |
POST/clientCreate ApiClient
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — ApiClientCreate
| Status | Description | Schema |
|---|---|---|
200 | OK | ApiClientResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
GET/client/{id}Get Api Client by ID
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | ApiClientResponse |
404 | Not Found | ErrorResponse |
POST/client/{id}Edit ApiClient
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json — ApiClientEdit
| Status | Description | Schema |
|---|---|---|
200 | OK | ApiClientResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/client/{id}Delete Api Client
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
version | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/client/{id}/secretGet Secret for Client by ID
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Client not found, not active or user is not the owner | ErrorResponse |
POST/client/{id}/secretRegenerate Client Secret
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Client not found, not active or user is not the owner | ErrorResponse |
AtHome1
GET/at-home/server/{chapterId}Get MangaDex@Home server URL
| Name | In | Required | Type |
|---|---|---|---|
chapterId | path | yes | string |
forcePort443 | query | no | boolean |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
404 | Not Found | ErrorResponse |
Authentication4
GET/auth/checkCheck the set of permissions associated with the current token
| Status | Description | Schema |
|---|---|---|
200 | OK | CheckResponse |
POST/auth/loginLogin
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — Login
| Status | Description | Schema |
|---|---|---|
200 | OK | LoginResponse |
400 | Bad Request | ErrorResponse |
401 | Unauthorized | ErrorResponse |
POST/auth/logoutLogout
| Status | Description | Schema |
|---|---|---|
200 | OK | LogoutResponse |
503 | Service Unavailable | ErrorResponse |
POST/auth/refreshRefresh token
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — RefreshToken
| Status | Description | Schema |
|---|---|---|
200 | OK | RefreshResponse |
400 | Bad Request | ErrorResponse |
401 | Unauthorized | ErrorResponse |
403 | Forbidden | ErrorResponse |
Author5
GET/authorAuthor list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
ids[] | query | no | array |
name | query | no | string |
order | query | no | object |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | AuthorList |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
POST/authorCreate Author
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — AuthorCreate
| Status | Description | Schema |
|---|---|---|
200 | OK | AuthorResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
GET/author/{id}Get Author
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | AuthorResponse |
403 | Forbidden | ErrorResponse |
404 | Author no content | ErrorResponse |
PUT/author/{id}Update Author
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json — AuthorEdit
| Status | Description | Schema |
|---|---|---|
200 | OK | AuthorResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/author/{id}Delete Author
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
Captcha1
POST/captcha/solveSolve Captcha
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK: Captcha has been solved | — |
400 | Bad Request: Captcha challenge result was wrong, the Captcha Verification service was down or other, refer to the error message and the errorCode inside the error context | ErrorResponse |
Chapter4
GET/chapterChapter list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
ids[] | query | no | array |
title | query | no | string |
groups[] | query | no | array |
uploader | query | no | — |
manga | query | no | string |
volume[] | query | no | — |
chapter | query | no | — |
translatedLanguage[] | query | no | array |
originalLanguage[] | query | no | array |
excludedOriginalLanguage[] | query | no | array |
contentRating[] | query | no | array |
excludedGroups[] | query | no | array |
excludedUploaders[] | query | no | array |
includeFutureUpdates | query | no | string |
includeEmptyPages | query | no | integer |
includeFuturePublishAt | query | no | integer |
includeExternalUrl | query | no | integer |
externalUrl | query | no | string |
excludeExternalUrl | query | no | string |
includeUnavailable | query | no | string |
createdAtSince | query | no | string |
updatedAtSince | query | no | string |
publishAtSince | query | no | string |
order | query | no | object |
includes | query | no | array |
| Status | Description | Schema |
|---|---|---|
200 | Chapter list | ChapterList |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
GET/chapter/{id}Get Chapter
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | ChapterResponse |
403 | Forbidden | ErrorResponse |
404 | Chapter not found | ErrorResponse |
PUT/chapter/{id}Update Chapter
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json — ChapterEdit
| Status | Description | Schema |
|---|---|---|
200 | OK | ChapterResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/chapter/{id}Delete Chapter
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | Chapter has been deleted. | Response |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
Cover5
GET/coverCoverArt list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
manga[] | query | no | array |
ids[] | query | no | array |
uploaders[] | query | no | array |
locales[] | query | no | array |
order | query | no | object |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | CoverList |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
GET/cover/{mangaOrCoverId}Get Cover
| Name | In | Required | Type |
|---|---|---|---|
mangaOrCoverId | path | yes | string |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | CoverResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | CoverArt not found | ErrorResponse |
POST/cover/{mangaOrCoverId}Upload Cover
| Name | In | Required | Type |
|---|---|---|---|
mangaOrCoverId | path | yes | string |
Content-Type | header | yes | string |
multipart/form-data
| Status | Description | Schema |
|---|---|---|
200 | OK | CoverResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
PUT/cover/{mangaOrCoverId}Edit Cover
| Name | In | Required | Type |
|---|---|---|---|
mangaOrCoverId | path | yes | string |
Content-Type | header | yes | string |
application/json — CoverEdit
| Status | Description | Schema |
|---|---|---|
200 | OK | CoverResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
DELETE/cover/{mangaOrCoverId}Delete Cover
| Name | In | Required | Type |
|---|---|---|---|
mangaOrCoverId | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
CustomList10
POST/listCreate CustomList
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — CustomListCreate
| Status | Description | Schema |
|---|---|---|
200 | OK | CustomListResponse |
400 | Bad Request | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/list/{id}Get CustomList
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | CustomListResponse |
404 | CustomList not found | ErrorResponse |
PUT/list/{id}Update CustomList
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json — CustomListEdit
| Status | Description | Schema |
|---|---|---|
200 | OK | CustomListResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/list/{id}Delete CustomList
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
POST/list/{id}/followFollow CustomList
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/list/{id}/followUnfollow CustomList
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
POST/manga/{id}/list/{listId}Add Manga in CustomList
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
listId | path | yes | string |
order | query | no | integer |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/manga/{id}/list/{listId}Remove Manga in CustomList
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
listId | path | yes | string |
order | query | no | integer |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/user/listGet logged User CustomList list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
| Status | Description | Schema |
|---|---|---|
200 | OK | CustomListList |
GET/user/{id}/listGet User's CustomList list
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
limit | query | no | integer |
offset | query | no | integer |
| Status | Description | Schema |
|---|---|---|
200 | OK | CustomListList |
Feed2
GET/list/{id}/feedCustomList Manga feed
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
limit | query | no | integer |
offset | query | no | integer |
translatedLanguage[] | query | no | array |
originalLanguage[] | query | no | array |
excludedOriginalLanguage[] | query | no | array |
contentRating[] | query | no | array |
excludedGroups[] | query | no | array |
excludedUploaders[] | query | no | array |
includeFutureUpdates | query | no | string |
externalUrl | query | no | string |
excludeExternalUrl | query | no | string |
createdAtSince | query | no | string |
updatedAtSince | query | no | string |
publishAtSince | query | no | string |
order | query | no | object |
includes[] | query | no | — |
includeEmptyPages | query | no | integer |
includeFuturePublishAt | query | no | integer |
includeExternalUrl | query | no | integer |
includeUnavailable | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | ChapterList |
400 | Bad Request | ErrorResponse |
401 | Unauthorized | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/user/follows/manga/feedGet logged User followed Manga feed (Chapter list)
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
translatedLanguage[] | query | no | array |
originalLanguage[] | query | no | array |
excludedOriginalLanguage[] | query | no | array |
contentRating[] | query | no | array |
excludedGroups[] | query | no | array |
excludedUploaders[] | query | no | array |
includeFutureUpdates | query | no | string |
externalUrl | query | no | string |
excludeExternalUrl | query | no | string |
createdAtSince | query | no | string |
updatedAtSince | query | no | string |
publishAtSince | query | no | string |
order | query | no | object |
includes[] | query | no | — |
includeEmptyPages | query | no | integer |
includeFuturePublishAt | query | no | integer |
includeExternalUrl | query | no | integer |
includeUnavailable | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | ChapterList |
400 | Bad Request | ErrorResponse |
404 | User not Found | ErrorResponse |
Follows8
GET/user/follows/groupGet logged User followed Groups
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | ScanlationGroupList |
GET/user/follows/group/{id}Check if logged User follows a Group
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | The User follow that Group | Response |
404 | The User doesn't follow that Group | Response |
GET/user/follows/listGet logged User followed CustomList list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
| Status | Description | Schema |
|---|---|---|
200 | OK | CustomListList |
GET/user/follows/list/{id}Check if logged User follows a CustomList
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | The User follow that CustomList | Response |
404 | The User doesn't follow that CustomList | Response |
GET/user/follows/mangaGet logged User followed Manga list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | MangaList |
GET/user/follows/manga/{id}Check if logged User follows a Manga
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | The User follow that Manga | Response |
404 | The User doesn't follow that Manga | Response |
GET/user/follows/userGet logged User followed User list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
| Status | Description | Schema |
|---|---|---|
200 | OK | UserList |
GET/user/follows/user/{id}Check if logged User follows a User
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | The User follow that User | Response |
404 | The User doesn't follow that User | Response |
Forums1
POST/forums/threadCreate forums thread
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | ForumsThreadResponse |
403 | Forbidden | ErrorResponse |
404 | If the resource for which the thread creation was requested does not exist | ErrorResponse |
Infrastructure1
GET/pingPing healthcheck
| Status | Description | Schema |
|---|---|---|
200 | Pong | — |
Legacy1
POST/legacy/mappingLegacy ID mapping
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — MappingIdBody
| Status | Description | Schema |
|---|---|---|
200 | This response will give you an array of mappings of resource identifiers ; the `data.attributes.newId` field corresponds to the new UUID. | MappingIdResponse |
400 | Bad Request | ErrorResponse |
Manga21
GET/mangaManga list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
title | query | no | string |
authorOrArtist | query | no | string |
authors[] | query | no | array |
artists[] | query | no | array |
year | query | no | — |
includedTags[] | query | no | array |
includedTagsMode | query | no | string |
excludedTags[] | query | no | array |
excludedTagsMode | query | no | string |
status[] | query | no | array |
originalLanguage[] | query | no | array |
excludedOriginalLanguage[] | query | no | array |
availableTranslatedLanguage[] | query | no | array |
publicationDemographic[] | query | no | array |
ids[] | query | no | array |
contentRating[] | query | no | array |
createdAtSince | query | no | string |
updatedAtSince | query | no | string |
order | query | no | object |
includes[] | query | no | — |
hasAvailableChapters | query | no | string |
hasUnavailableChapters | query | no | string |
group | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | Manga list | MangaList |
400 | Bad Request | ErrorResponse |
POST/mangaCreate Manga
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — MangaCreate
| Status | Description | Schema |
|---|---|---|
200 | Manga Created | MangaResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
GET/manga/draftGet a list of Manga Drafts
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
state | query | no | string |
order | query | no | object |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | MangaResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/manga/draft/{id}Get a specific Manga Draft
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | MangaResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
POST/manga/draft/{id}/commitSubmit a Manga Draft
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
201 | OK | MangaResponse |
400 | BadRequest | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/manga/randomGet a random Manga
| Name | In | Required | Type |
|---|---|---|---|
includes[] | query | no | — |
contentRating[] | query | no | array |
includedTags[] | query | no | array |
includedTagsMode | query | no | string |
excludedTags[] | query | no | array |
excludedTagsMode | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | MangaResponse |
GET/manga/statusGet all Manga reading status for logged User
| Name | In | Required | Type |
|---|---|---|---|
status | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
GET/manga/tagTag list
| Status | Description | Schema |
|---|---|---|
200 | OK | TagResponse |
GET/manga/{id}Get Manga
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | MangaResponse |
403 | Forbidden | ErrorResponse |
404 | Manga no content | ErrorResponse |
PUT/manga/{id}Update Manga
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | MangaResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/manga/{id}Delete Manga
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | Manga has been deleted. | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/manga/{id}/aggregateGet Manga volumes & chapters
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
translatedLanguage[] | query | no | array |
groups[] | query | no | array |
includeUnavailable | query | no | integer |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
GET/manga/{id}/feedManga feed
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
externalUrl | query | no | string |
excludeExternalUrl | query | no | string |
limit | query | no | integer |
offset | query | no | integer |
translatedLanguage[] | query | no | array |
originalLanguage[] | query | no | array |
excludedOriginalLanguage[] | query | no | array |
contentRating[] | query | no | array |
excludedGroups[] | query | no | array |
excludedUploaders[] | query | no | array |
includeFutureUpdates | query | no | string |
createdAtSince | query | no | string |
updatedAtSince | query | no | string |
publishAtSince | query | no | string |
order | query | no | object |
includes[] | query | no | — |
includeEmptyPages | query | no | integer |
includeFuturePublishAt | query | no | integer |
includeExternalUrl | query | no | integer |
includeUnavailable | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | ChapterList |
400 | Bad Request | ErrorResponse |
POST/manga/{id}/followFollow Manga
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
404 | Not Found | ErrorResponse |
DELETE/manga/{id}/followUnfollow Manga
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
404 | Not Found | ErrorResponse |
GET/manga/{id}/recommendationGet up to 20 similar Manga Recommendations
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
includes[] | query | no | — |
order | query | no | object |
contentRating[] | query | no | array |
| Status | Description | Schema |
|---|---|---|
200 | OK | MangaRecommendationList |
GET/manga/{id}/statusGet a Manga reading status
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
POST/manga/{id}/statusUpdate Manga reading status
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json — UpdateMangaStatus
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
400 | Bad Request | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/manga/{mangaId}/relationManga relation list
| Name | In | Required | Type |
|---|---|---|---|
mangaId | path | yes | string |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | Manga relation list | MangaRelationList |
400 | Bad Request | ErrorResponse |
POST/manga/{mangaId}/relationCreate Manga relation
| Name | In | Required | Type |
|---|---|---|---|
mangaId | path | yes | string |
Content-Type | header | yes | string |
application/json — MangaRelationCreate
| Status | Description | Schema |
|---|---|---|
200 | Manga relation created | MangaRelationResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
DELETE/manga/{mangaId}/relation/{id}Delete Manga relation
| Name | In | Required | Type |
|---|---|---|---|
mangaId | path | yes | string |
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | Manga relation has been deleted. | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
Rating3
GET/ratingGet your ratings
| Name | In | Required | Type |
|---|---|---|---|
manga | query | yes | array |
| Status | Description | Schema |
|---|---|---|
200 | Self-rating list | — |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
POST/rating/{mangaId}Create or update Manga rating
| Name | In | Required | Type |
|---|---|---|---|
mangaId | path | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/rating/{mangaId}Delete Manga rating
| Name | In | Required | Type |
|---|---|---|---|
mangaId | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | Manga rating was deleted | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
ReadMarker4
GET/manga/readManga read markers
| Name | In | Required | Type |
|---|---|---|---|
ids[] | query | yes | array |
grouped | query | no | boolean |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
GET/manga/{id}/readManga read markers
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
POST/manga/{id}/readManga read markers batch
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
updateHistory | query | no | boolean |
application/json — ChapterReadMarkerBatch
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
GET/user/historyGet users reading history
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
404 | Manga no content | ErrorResponse |
Report3
GET/reportGet a list of reports by the user
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
category | query | no | string |
reasonId | query | no | string |
objectId | query | no | string |
status | query | no | string |
order | query | no | object |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | ReportListResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
POST/reportCreate a new Report
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
201 | Created | Response |
400 | Bad request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
GET/report/reasons/{category}Get a list of report reasons
| Name | In | Required | Type |
|---|---|---|---|
category | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
400 | Bad request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
ScanlationGroup7
GET/groupScanlation Group list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
ids[] | query | no | array |
name | query | no | string |
focusedLanguage | query | no | string |
includes[] | query | no | — |
order | query | no | object |
| Status | Description | Schema |
|---|---|---|
200 | OK | ScanlationGroupList |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
POST/groupCreate Scanlation Group
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — CreateScanlationGroup
| Status | Description | Schema |
|---|---|---|
200 | OK | ScanlationGroupResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
GET/group/{id}Get Scanlation Group
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
includes[] | query | no | — |
| Status | Description | Schema |
|---|---|---|
200 | OK | ScanlationGroupResponse |
403 | Forbidden | ErrorResponse |
404 | ScanlationGroup not found | ErrorResponse |
PUT/group/{id}Update Scanlation Group
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
Content-Type | header | yes | string |
application/json — ScanlationGroupEdit
| Status | Description | Schema |
|---|---|---|
200 | OK | ScanlationGroupResponse |
400 | Bad Request | ErrorResponse |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
DELETE/group/{id}Delete Scanlation Group
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
POST/group/{id}/followFollow Scanlation Group
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
404 | Not Found | ErrorResponse |
DELETE/group/{id}/followUnfollow Scanlation Group
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
404 | Not Found | ErrorResponse |
Settings5
GET/settingsGet an User Settings
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
404 | Manga no content | ErrorResponse |
POST/settingsCreate or update an User Settings
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
404 | Manga no content | ErrorResponse |
GET/settings/templateGet latest Settings template
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
404 | Manga no content | ErrorResponse |
POST/settings/templateCreate Settings template
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
GET/settings/template/{version}Get Settings template by version id
| Name | In | Required | Type |
|---|---|---|---|
version | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
403 | Forbidden | ErrorResponse |
404 | Manga no content | ErrorResponse |
Statistics6
GET/statistics/chapterGet statistics about given chapters
| Name | In | Required | Type |
|---|---|---|---|
chapter[] | query | yes | array |
| Status | Description | Schema |
|---|---|---|
200 | Statistics | — |
GET/statistics/chapter/{uuid}Get statistics about given chapter
| Name | In | Required | Type |
|---|---|---|---|
uuid | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | Statistics | — |
GET/statistics/groupGet statistics about given groups
| Name | In | Required | Type |
|---|---|---|---|
group[] | query | yes | array |
| Status | Description | Schema |
|---|---|---|
200 | Statistics | — |
GET/statistics/group/{uuid}Get statistics about given scanlation group
| Name | In | Required | Type |
|---|---|---|---|
uuid | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | Statistics | — |
GET/statistics/mangaFind statistics about given Manga
| Name | In | Required | Type |
|---|---|---|---|
manga[] | query | yes | array |
| Status | Description | Schema |
|---|---|---|
200 | Statistics | — |
GET/statistics/manga/{uuid}Get statistics about given Manga
| Name | In | Required | Type |
|---|---|---|---|
uuid | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | Statistics | — |
Upload9
GET/uploadGet the current User upload session
| Status | Description | Schema |
|---|---|---|
200 | OK | UploadSession |
403 | Forbidden | ErrorResponse |
404 | Not Found | ErrorResponse |
POST/upload/beginStart an upload session
| Name | In | Required | Type |
|---|---|---|---|
Content-Type | header | yes | string |
application/json — BeginUploadSession
| Status | Description | Schema |
|---|---|---|
200 | OK | UploadSession |
POST/upload/begin/{chapterId}Start an edit chapter session
| Name | In | Required | Type |
|---|---|---|---|
chapterId | path | yes | string |
Content-Type | header | yes | string |
application/json — BeginEditSession
| Status | Description | Schema |
|---|---|---|
200 | OK | UploadSession |
400 | Bad Request if Chapter's Manga is unpublished | ErrorResponse |
401 | Unauthorized if user does not have upload permissions or has no rights to edit the chapter (needs to be uploader or group member) | ErrorResponse |
POST/upload/check-approval-requiredCheck if a given manga / locale for a User needs moderation approval
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
404 | Manga not found | Response |
POST/upload/{uploadSessionId}Upload images to the upload session
| Name | In | Required | Type |
|---|---|---|---|
uploadSessionId | path | yes | string |
Content-Type | header | yes | string |
multipart/form-data
| Status | Description | Schema |
|---|---|---|
200 | OK | — |
400 | Bad Request | ErrorResponse |
DELETE/upload/{uploadSessionId}Abandon upload session
| Name | In | Required | Type |
|---|---|---|---|
uploadSessionId | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
DELETE/upload/{uploadSessionId}/batchDelete a set of uploaded images from the Upload Session
| Name | In | Required | Type |
|---|---|---|---|
uploadSessionId | path | yes | string |
Content-Type | header | yes | string |
application/json
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
POST/upload/{uploadSessionId}/commitCommit the upload session and specify chapter data
| Name | In | Required | Type |
|---|---|---|---|
uploadSessionId | path | yes | string |
Content-Type | header | yes | string |
application/json — CommitUploadSession
| Status | Description | Schema |
|---|---|---|
200 | OK | Chapter |
DELETE/upload/{uploadSessionId}/{uploadSessionFileId}Delete an uploaded image from the Upload Session
| Name | In | Required | Type |
|---|---|---|---|
uploadSessionId | path | yes | string |
uploadSessionFileId | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
User5
GET/userUser list
| Name | In | Required | Type |
|---|---|---|---|
limit | query | no | integer |
offset | query | no | integer |
ids[] | query | no | array |
username | query | no | string |
order | query | no | object |
| Status | Description | Schema |
|---|---|---|
200 | OK | UserList |
POST/user/delete/{code}Approve User deletion
| Name | In | Required | Type |
|---|---|---|---|
code | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
GET/user/meLogged User details
| Status | Description | Schema |
|---|---|---|
200 | OK | UserResponse |
GET/user/{id}Get User
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | UserResponse |
DELETE/user/{id}Delete User
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | string |
| Status | Description | Schema |
|---|---|---|
200 | OK | Response |
Try it
Developer reference
https://api.mangadex.org~5 requests/second per IP address
- GET/manga
- GET/manga/{id}
- GET/manga/random
- GET/chapter
Changelog
- gained an OpenAPI spec