Skip to main content
This guide covers common library workflows using LibraryService.

List libraries

import { LibraryService } from 'komga-sdk';

const service = new LibraryService(client);
const libraries = await service.getAll();

console.log(libraries.map((library) => library.name));

Get a library by ID

const library = await service.getById('library-123');
console.log(library.root);

Create a library

LibraryCreationDto has many required fields. Use the API reference if you need to tune defaults.
import { type LibraryCreationDto } from 'komga-sdk';

const payload: LibraryCreationDto = {
  name: 'Comics',
  root: '/data/comics',
  oneshotsDirectory: '/data/comics/oneshots',
  scanInterval: 'DAILY',
  seriesCover: 'FIRST',
  scanDirectoryExclusions: [],
  analyzeDimensions: false,
  convertToCbz: false,
  emptyTrashAfterScan: false,
  hashFiles: false,
  hashKoreader: false,
  hashPages: false,
  importBarcodeIsbn: false,
  importComicInfoBook: true,
  importComicInfoCollection: true,
  importComicInfoReadList: true,
  importComicInfoSeries: true,
  importComicInfoSeriesAppendVolume: false,
  importEpubBook: false,
  importEpubSeries: false,
  importLocalArtwork: true,
  importMylarSeries: false,
  repairExtensions: false,
  scanCbx: true,
  scanEpub: false,
  scanPdf: true,
  scanForceModifiedTime: false,
  scanOnStartup: true,
};

const created = await service.create(payload);

Update a library

await service.update('library-123', { name: 'Updated Library' });

Scan a library

await service.scan('library-123');

Delete a library

await service.delete('library-123');

Next steps