Skip to content

List a library's publications

GET
/api/v1/libraries/{libraryId}/publications
curl --request GET \
--url 'http://localhost:8080/api/v1/libraries/1/publications?limit=50' \
--header 'Authorization: Bearer <token>'

Publications come grouped by series, with series in title order. Within a series, numbered publications come first in number order, then the rest by title. Numbers inside titles compare by value, so “Episode 2” comes before “Episode 10”.

libraryId
required
integer format: int64
cursor
string

Opaque cursor from the previous page’s nextCursor.

limit
integer
default: 50 >= 1 <= 200

Items per page. Values outside the range are clamped.

One page of publications.

Media typeapplication/json
object
items
required
Array<object>
object
id
required
integer format: int64
series
required
object
id
required
integer format: int64
title
required
string
title
required

From the file’s metadata, or its file name when it has none.

string
numberLabel
required

The number in its series as the file’s metadata writes it, such as “3”, “1.5” or “Vol. 3”.

string | null
format
required

Comic archives get their format from their bytes, so a ZIP named .cbr is cbz. A FictionBook zipped as .fb2.zip or .fbz is fb2 too; its file downloads as application/x-zip-compressed-fb2. remote is a chapter from an extension: it has pages but no file. A chapter from an extension whose source reads only EPUBs or only PDFs is epub or pdf, and its file is downloaded through the source.

string
Allowed values: epub pdf cbz cbt cbr cb7 mobi azw3 fb2 txt markdown remote
pageCount
required

Number of pages for comic formats.

integer | null
available
required

False when the file is missing from disk. Missing files are kept so progress survives.

boolean
hasCover
required

Whether /cover has an image for this publication.

boolean
nextCursor

Pass as cursor to get the next page. Absent on the last page.

string

Example

{
"items": [
{
"format": "epub"
}
]
}

The request was malformed.

Media typeapplication/json
object
code
required
string
Allowed values: bad_request unauthorized forbidden not_found unavailable scan_in_progress content_changed already_set_up name_taken last_admin progress_conflict too_many_attempts not_linked identity_taken last_sign_in provider_unavailable too_many_sign_ins repository_exists repository_not_allowed repository_unreadable repository_needs_token repository_needs_password repository_needs_credentials repository_credentials_refused extension_invalid source_failed source_unavailable source_check_failed internal
message
required

Explains the problem to a developer.

string

Example

{
"code": "bad_request"
}

The request has no valid session token.

Media typeapplication/json
object
code
required
string
Allowed values: bad_request unauthorized forbidden not_found unavailable scan_in_progress content_changed already_set_up name_taken last_admin progress_conflict too_many_attempts not_linked identity_taken last_sign_in provider_unavailable too_many_sign_ins repository_exists repository_not_allowed repository_unreadable repository_needs_token repository_needs_password repository_needs_credentials repository_credentials_refused extension_invalid source_failed source_unavailable source_check_failed internal
message
required

Explains the problem to a developer.

string

Example

{
"code": "bad_request"
}

The resource does not exist.

Media typeapplication/json
object
code
required
string
Allowed values: bad_request unauthorized forbidden not_found unavailable scan_in_progress content_changed already_set_up name_taken last_admin progress_conflict too_many_attempts not_linked identity_taken last_sign_in provider_unavailable too_many_sign_ins repository_exists repository_not_allowed repository_unreadable repository_needs_token repository_needs_password repository_needs_credentials repository_credentials_refused extension_invalid source_failed source_unavailable source_check_failed internal
message
required

Explains the problem to a developer.

string

Example

{
"code": "bad_request"
}

The server failed; details are in its log.

Media typeapplication/json
object
code
required
string
Allowed values: bad_request unauthorized forbidden not_found unavailable scan_in_progress content_changed already_set_up name_taken last_admin progress_conflict too_many_attempts not_linked identity_taken last_sign_in provider_unavailable too_many_sign_ins repository_exists repository_not_allowed repository_unreadable repository_needs_token repository_needs_password repository_needs_credentials repository_credentials_refused extension_invalid source_failed source_unavailable source_check_failed internal
message
required

Explains the problem to a developer.

string

Example

{
"code": "bad_request"
}