Skip to content

HTTP API

The UI is server-rendered, but the useful endpoints are plain JSON. All of them require a session cookie and are scoped to that account.

Endpoint Purpose
GET /healthz Liveness check (no auth)
GET /api/browse?path= One directory listing
GET /api/jobs/{id} Import job progress
POST /api/jobs/{id}/cancel Stop a running import
GET /api/meta/{provider}/series?q=&year= Series search on one source, scored
GET /api/meta/{provider}/issues?series_id=&issue= Issues in a series
GET /api/meta/{provider}/issue/{id} Issue detail mapped to our fields
POST /api/meta/{provider}/automatch/{comic_id} Auto-match against one named source
POST /api/automatch/{comic_id} Auto-match, falling through the account's configured sources in order
/api/cv/* Comic Vine's old paths — kept as redirects to the /api/meta/comicvine/* equivalents above
GET /api/comic/{id}/reader Everything the reader needs, as URLs
POST /api/comic/{id}/progress Record where somebody got to
GET /pages/{uuid}/{n}/{rendition} One page, cached
GET /comic/{id}/page/{n} Stable alias, redirects to the above
GET /comic/{id}/download The original file