Skip to content

Undo a publication's edits

DELETE
/api/v1/publications/{publicationId}/edits
curl --request DELETE \
--url http://localhost:8080/api/v1/publications/1/edits \
--header 'Authorization: Bearer <token>'

Admin only. Drops every edit and reads the file’s own metadata again. If a scan of the library is running, reading waits for it, and after 20 seconds the response is 202 while reading carries on. A publication from a source library answers 202 at once, and a sync of its library reads it again.

publicationId
required
integer format: int64

The publication with the file’s own metadata.

Media typeapplication/json

A publication with metadata read from the file (the EPUB package document, ComicInfo.xml in a CBZ, or a PDF’s document information), with any fields an admin edited written over it.

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
editedFields
required

Fields an admin changed by hand, which rescans keep.

Array<string>
Allowed values: title number description publisher language published readingDirection contributors
contributors
required

People credited, in the order the file lists them.

Array<object>
object
name
required
string
role
required
string
Allowed values: author illustrator penciler inker colorist letterer coverArtist editor translator contributor
description
required

May contain HTML, as EPUB descriptions often do.

string | null
publisher
required
string | null
language
required

A BCP 47 language tag.

string | null
published
required

YYYY, YYYY-MM or YYYY-MM-DD.

string | null
readingDirection
required

Set when the file says; right to left for manga marked so.

string | null
Allowed values: ltr rtl

Example

{
"format": "epub",
"editedFields": [
"title"
],
"contributors": [
{
"role": "author"
}
],
"language": "en",
"published": "2014-06",
"readingDirection": "ltr"
}

The edits are gone and the file will be read once the running scan finishes, or by the next sync of a source library.

Media typeapplication/json
object
status
required
string
Allowed values: queued

Example

{
"status": "queued"
}

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 signed-in user may not do this. demo_account when the user is a shared demo account, named in CHEK_DEMO_USERS, which can’t change its password, sessions, sign-in providers, extensions or annotations.

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"
}