Tankoubon API
Endpoints related to Tankoubons.
Get list of Tankoubons paginated.
Page of the list of Tankoubons.
The amount of tanks per page depends on the server archives_per_page setting.
Tankoubons
Total count of Tankoubons on the server
Number of Tankoubons on the current page
GET /api/tankoubons HTTP/1.1
Host: lrr.tvc-16.science
Accept: */*
Tankoubons
{
"result": [
{
"id": "TANK_1749925516",
"name": "sailor moon",
"summary": "",
"tags": "",
"archives": [
"e69e43e1355267f7d32a4f9b7f2fe108d2401ebf",
"e69e43e1355267f7d32a4f9b7f2fe108d2401ebg"
],
"progress": 0
}
],
"total": 1,
"filtered": 1
}Create a new Tankoubon or update the name of an existing one.
Use Authorization: Bearer <base64(api_key)>
Name of the Tankoubon
ID of an existing Tankoubon, if you want to change its name.
Success response
ID of the created/modified Tankoubon
Error response
PUT /api/tankoubons HTTP/1.1
Host: lrr.tvc-16.science
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 31
"name='text'&tankid='text'"{
"operation": "create_tankoubon",
"tankoubon_id": "text",
"success": 0
}Get the details of the specified tankoubon ID.
ID of the Tankoubon desired
Tankoubon
ID of this Tankoubon.
Name of this Tankoubon.
Full list of archive IDs contained in this Tankoubon.
^[0-9a-f]{40}$^TANK_[0-9]{10}$Reading progress (page number) for this Tankoubon.
Error response
GET /api/tankoubons/{id} HTTP/1.1
Host: lrr.tvc-16.science
Accept: */*
{
"id": "text",
"name": "text",
"summary": "text",
"tags": "text",
"archives": [
null
],
"progress": 1
}Get the details of the specified tankoubon ID with paginated archive metadata. The amount of archives per page depends on the server archives_per_page setting.
ID of the Tankoubon desired
Page of the Archives list. Defaults to -1, which returns all archives.
-1Tankoubon
The total amount of archives in this Tankoubon.
The amount of archives in the current page.
Error response
GET /api/tankoubons/{id}/full HTTP/1.1
Host: lrr.tvc-16.science
Accept: */*
{
"result": {
"id": "text",
"name": "text",
"summary": "text",
"tags": "text",
"progress": 1,
"archives": [
null
],
"full_data": [
{
"arcid": "28697b96f0ac5858be2614ed10ca47742c9522fd",
"isnew": false,
"extension": "rar",
"pagecount": 34,
"progress": 3,
"tags": "parody:fate grand order, group:wadamemo, artist:wada rco, artbook, full color",
"lastreadtime": 1337038281,
"title": "Fate GO MEMO",
"filename": "Fate GO MEMO",
"summary": null,
"size": 1234567,
"toc": [
{
"name": "Chapter 1",
"page": 1
},
{
"name": "Chapter 2",
"page": 13
},
{
"name": "Chapter 3",
"page": 25
}
]
}
]
},
"total": 1,
"filtered": 1
}Modify the full metadata (name, summary, additional tags) or the contents of a Tankoubon.
If you only need to change the name of Tank, consider just using PUT /api/tankoubons.
Note: If there is no need to update something in one of the data keys, do not send the key -- This otherwise can result in unwanted results.
Use Authorization: Bearer <base64(api_key)>
ID of the Tankoubon desired
Ordered array with the IDs of the archives.
Success response
Name of operation
Error message if any
Success message if any
Returns 1 if operation was successful, else 0
Error response
The Tankoubon is currently locked for modification
PUT /api/tankoubons/{id} HTTP/1.1
Host: lrr.tvc-16.science
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 93
{
"archives": [
"text"
],
"metadata": {
"name": "text",
"summary": "text",
"tags": "text",
"append": true
}
}{
"operation": "text",
"error": "text",
"successMessage": "text",
"success": 0
}Remove a Tankoubon from the server. This doesn't delete underlying Archives.
Use Authorization: Bearer <base64(api_key)>
ID of the Tankoubon desired
Success response
Name of operation
Error message if any
Success message if any
Returns 1 if operation was successful, else 0
Error response
The Tankoubon is currently locked for modification
DELETE /api/tankoubons/{id} HTTP/1.1
Host: lrr.tvc-16.science
Authorization: YOUR_API_KEY
Accept: */*
{
"operation": "text",
"error": "text",
"successMessage": "text",
"success": 0
}Append an archive at the final position of a Tankoubon.
Use Authorization: Bearer <base64(api_key)>
ID of the Tankoubon to update.
ID of the Archive to append.
Success response
Name of operation
Error message if any
Success message if any
Returns 1 if operation was successful, else 0
Error response
The Tankoubon is currently locked for modification
PUT /api/tankoubons/{id}/{archive} HTTP/1.1
Host: lrr.tvc-16.science
Authorization: YOUR_API_KEY
Accept: */*
{
"operation": "text",
"error": "text",
"successMessage": "text",
"success": 0
}Use Authorization: Bearer <base64(api_key)>
ID of the Tankoubon to update.
ID of the Archive to remove.
Result
Name of operation
Error message if any
Success message if any
Returns 1 if operation was successful, else 0
Error response
The Tankoubon is currently locked for modification
DELETE /api/tankoubons/{id}/{archive} HTTP/1.1
Host: lrr.tvc-16.science
Authorization: YOUR_API_KEY
Accept: */*
{
"operation": "text",
"error": "text",
"successMessage": "text",
"success": 0
}Get the cover thumbnail for a given Tankoubon. By default, the thumbnail is sourced from the first page of the first archive. This endpoint will return a placeholder image if it doesn't already exist. If you want to queue generation of the thumbnail in the background, you can use the no_fallback query parameter.
ID of the Tankoubon desired
Disables the placeholder image, queues the thumbnail for extraction and returns a JSON with code 202. This parameter does nothing if the image already exists. (You will get the image with code 200 no matter what)
If the thumbnail was already extracted, you get it directly.
The thumbnail is queued for extraction. Use /api/minion/:jobid to track when your thumbnail is ready.
Error response
GET /api/tankoubons/{id}/thumbnail HTTP/1.1
Host: lrr.tvc-16.science
Accept: */*
binarySet the cover thumbnail for the given Tankoubon using a global page number that spans all archives in the tank (in order). The global page is translated to the correct archive and local page automatically.
Use Authorization: Bearer <base64(api_key)>
ID of the Tankoubon desired
Global 1-indexed page number across all archives in the tankoubon. Page 1 is the first page of the first archive, and so on.
Tankoubon thumbnail updated
Path to the new thumbnail file
Error response
PUT /api/tankoubons/{id}/thumbnail?page=1 HTTP/1.1
Host: lrr.tvc-16.science
Authorization: YOUR_API_KEY
Accept: */*
{
"operation": "update_tankoubon_thumbnail",
"success": 0,
"new_thumbnail": "text"
}Tell the server which page of this Tankoubon you're currently reading, so that it updates its internal reading progression accordingly. The page number is global across all Archives in the tank (If a tank has two Archives with 20 and 25 pages, page 26 will be page 6 in Archive #2). ⚠ If the server is configured to use clientside progress tracking, this API call will return an error! Make sure to check using /api/info whether the server tracks reading progression or not before calling this endpoint.
ID of the Tankoubon to update.
Global 1-indexed page number to update the reading progress to. Must be a positive integer.
Success response
ID of the tankoubon updated
Name of the operation
Updated reading progress
Last read time in epoch seconds
Returns 1 if successful, else 0
Generic error response
Authentication required when authprogress is enabled
PUT /api/tankoubons/{id}/progress/{page} HTTP/1.1
Host: lrr.tvc-16.science
Accept: */*
{
"id": "TANK_1589141306",
"operation": "update_tank_progress",
"page": 5,
"lastreadtime": 123943543,
"success": 1
}Last updated