Archive API

Everything dealing with Archives.

Get all Archives

GET http://lrr.tvc-16.science/api/archives

Get the Archive Index in JSON form. You can use the IDs of this JSON with the other endpoints.

[{
    "arcid": "ec9b83b6a835771b0f9862d0326add2f8373989a",
    "isnew": "true",
    "extension": "zip",
    "pagecount": 128,
    "progress": 0,
    "tags": "",
    "lastreadtime": 1589038280,
    "title": "Ghost in the Shell 01.5 - Human-Error Processor v01c01"
}, {
    "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"
}, {
    "arcid": "2810d5e0a8d027ecefebca6237031a0fa7b91eb3",
    "isnew": "false",
    "extension": "cbz",
    "pagecount": 0,
    "progress": 0,
    "tags": "parody:fate grand order,  character:abigail williams,  character:artoria pendragon alter,  character:asterios,  character:ereshkigal,  character:gilgamesh,  character:hans christian andersen,  character:hassan of serenity,  character:hector,  character:helena blavatsky,  character:irisviel von einzbern,  character:jeanne alter,  character:jeanne darc,  character:kiara sessyoin,  character:kiyohime,  character:lancer,  character:martha,  character:minamoto no raikou,  character:mochizuki chiyome,  character:mordred pendragon,  character:nitocris,  character:oda nobunaga,  character:osakabehime,  character:penthesilea,  character:queen of sheba,  character:rin tosaka,  character:saber,  character:sakata kintoki,  character:scheherazade,  character:sherlock holmes,  character:suzuka gozen,  character:tamamo no mae,  character:ushiwakamaru,  character:waver velvet,  character:xuanzang,  character:zhuge liang,  group:wadamemo,  artist:wada rco,  artbook,  full color",
    "lastreadtime": 1337038282,
    "title": "Fate GO MEMO 2"
}, {
    "arcid": "e69e43e1355267f7d32a4f9b7f2fe108d2401ebf",
    "isnew": "false",
    "extension": "pdf",
    "pagecount": 0,
    "progress": 0,
    "tags": "character:segata sanshiro",
    "lastreadtime": 1337038234,
    "title": "Saturn Backup Cartridge - Japanese Manual"
}, {
    "arcid": "e4c422fd10943dc169e3489a38cdbf57101a5f7e",
    "isnew": "false",
    "extension": "epub",
    "pagecount": 0,
    "progress": 0,
    "tags": "parody: jojo's bizarre adventure",
    "lastreadtime": 0,
    "title": "Rohan Kishibe goes to Gucci"
}]

Get Untagged Archives

GET http://lrr.tvc-16.science/api/archives/untagged

Get archives that don't have any tags recorded. This follows the same rules as the Batch Tagging filter and will include archives that have parody:, date_added:, series: or artist: tags.

[
    "d1858d5dc36925aa66be072a97817650d39de166",
    "c3458d5dc36925da93be072a97817650d39de166",
    "28697b96f0ac5858be2614ed10ca47742c9522fd",
]

Get Archive Metadata

GET http://lrr.tvc-16.science/api/archives/:id/metadata

Get Metadata (title, tags) for a given Archive.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process.

{
    "arcid": "e69e43e1355267f7d32a4f9b7f2fe108d2401ebf",
    "isnew": "false",
    "pagecount": 34,
    "progress": 3,
    "tags": "character:segata sanshiro",
    "lastreadtime": 1337038234,
    "title": "Saturn Backup Cartridge - Japanese Manual"
}

Get Archive Categories

GET http://lrr.tvc-16.science/api/archives/:id/categories

Get all the Categories which currently refer to this Archive ID.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process.

{
    "categories": [
        {
            "archives": [
                "0d50858d727723d856d2ab78564bb8e906e65f14",
                "7f03b8b1f337e1e42b2c2890533c0de7479d41ca"
            ],
            "id": "SET_1613080290",
            "last_used": "1614298062",
            "name": "My great category",
            "pinned": "0",
            "search": ""
        }
    ],
    "operation": "find_arc_categories",
    "success": 1
}

Get Archive Tankoubons

GET http://lrr.tvc-16.science/api/archives/:id/tankoubons

Get all the Tankoubons which currently refer to this Archive ID.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process.

{
    "operation": "find_arc_tankoubons",
    "success": 1,
    "tankoubons": [
        "TANK_1688616437",
        "TANK_1688693913"
    ]
}

Get Archive Thumbnail

GET http://lrr.tvc-16.science/api/archives/:id/thumbnail

Get a Thumbnail image for a given Archive. This endpoint will queue generation of the thumbnail in the background if it doesn't already exist, and return a placeholder image. If you want to get the background job ID instead of the placeholder, you can use the no_fallback query parameter.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process.

Query Parameters

NameTypeDescription

page

int

Specify which page you want to get a thumbnail for. Defaults to the cover, aka page 1.

no_fallback

boolean

Disables the placeholder image and returns a JSON if the thumbnail is queued for extraction. This parameter does nothing if the image already exists.

{
  "job": 2429,
  "operation": "serve_thumbnail",
  "success": 1
}

Download an Archive

GET http://lrr.tvc-16.science/api/archives/:id/download

Download an Archive from the server.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to download.

Extract an Archive

GET http://lrr.tvc-16.science/api/archives/:id/files

Get a list of URLs pointing to the images contained in an archive. If necessary, this endpoint also launches a background Minion job to extract the archive so it is ready for reading.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process.

Query Parameters

NameTypeDescription

force

bool

Force a full background re-extraction of the Archive. Existing cached files might still be used in subsequent /api/archives/:id/page calls until the Archive is fully re-extracted.

{
    "job": 561,
    "pages": [".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=00.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=01.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=03.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=04.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=05.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=06.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=07.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=08.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=09.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=20.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=21.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=22.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=23.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=24.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=25.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=26.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=27.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=28.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=29.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=30.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=31.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=32.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=33.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=34.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=35.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=36.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=37.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=38.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=39.jpg",
        ".\/api\/archives\/28697b96f0ac5858be2614ed10ca47742c9522fd\/page&path=40.jpg"
    ]
}

Clear Archive New flag

DELETE http://lrr.tvc-16.science/api/archives/:id/isnew

Clears the "New!" flag on an archive.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process

{
    "id": "f3fc480a97f1afcd81c8e3392a3bcc66fe6c0809",
    "operation": "clear_new",
    "success": 1
}

Update Reading Progression

PUT http://lrr.tvc-16.science/api/archives/:id/progress/:page

Tell the server which page of this Archive you're currently showing/reading, so that it updates its internal reading progression accordingly. This endpoint will also update the date this Archive was last read, using the current server timestamp.

You should call this endpoint only when you're sure the user is currently reading the page you present. Don't use it when preloading images off the server.

Whether to make reading progression regressible or not is up to the client. (The web client will reduce progression if the user starts reading previous pages) Consider however removing the "New!" flag from an archive when you start updating its progress - The web client won't display any reading progression if the new flag is still set.

⚠ 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.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process

page*

int

Current page to update the reading progress to. Must be a positive integer, and inferior or equal to the total page number of the archive.

{
  "id": "75d18ce470dc99f83dc355bdad66319d1f33c82b",
  "operation": "update_progress",
  "page": 34,
  "lastreadtime": 123943543,
  "success": 1
}

πŸ”‘Update Thumbnail

PUT http://lrr.tvc-16.science/api/archives/:id/thumbnail

Update the cover thumbnail for the given Archive. You can specify a page number to use as the thumbnail, or you can use the default thumbnail.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process.

page

int

Page you want to make the thumbnail out of. Defaults to 1.

{
  "operation": "update_thumbnail",
  "success": 1,
  "new_thumbnail": "/mnt//lrr/content/thumb/95/9595845d952e8141feeba375767248b960979bc2.jpg"
}

πŸ”‘Update Archive Metadata

PUT http://lrr.tvc-16.science/api/archives/:id/metadata

Update tags and title for the given Archive. Data supplied to the server through this method will overwrite the previous data.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process.

Query Parameters

NameTypeDescription

title

string

New Title of the Archive.

tags

string

New Tags of the Archive.

{
    "operation": "update_metadata",
    "success": 1
}

πŸ”‘Delete Archive

DELETE http://lrr.tvc-16.science/api/archives/:id

Delete both the archive metadata and the file stored on the server. πŸ™ Please ask your user for confirmation before invoking this endpoint.

Path Parameters

NameTypeDescription

id*

string

ID of the Archive to process.

{
    "operation": "delete_archive",
    "success": 1,
    "id": "75d18ce470dc99f83dc355bdad66319d1f33c82b",
    "filename": "big_chungus.zip"
}

Last updated