Skip to main content

PaginatedResponse_LibraryDto

Generic paginated response wrapper with HATEOAS links

data object[]required

The data items for this page

  • Array [
  • allowedFormatsstring[]nullable

    Allowed file formats (e.g., ["CBZ", "CBR", "EPUB"])

    Example: ["CBZ","CBR","PDF"]
    autoMatchConditions

    Auto-match conditions (JSON object with mode and rules) Controls when auto-matching runs for this library

    bookConfig

    Book strategy-specific configuration (JSON)

    bookCountinteger,null<int64>nullable

    Total number of books in this library

    Example: 1250
    bookStrategyBookStrategy (string)required

    Book naming strategy (filename, metadata_first, smart, series_name)

    Possible values: [filename, metadata_first, smart, series_name, custom]

    createdAtstring<date-time>required

    When the library was created

    Example: 2024-01-01T00:00:00Z
    defaultReadingDirectionstringrequired

    Default reading direction for books in this library (ltr, rtl, ttb or webtoon)

    Example: ltr
    descriptionstring | nullnullable

    Optional description

    Example: My comic book collection
    excludedPatternsstring | nullnullable

    Excluded path patterns (newline-separated, e.g., ".DS_Store\nThumbs.db")

    Example: .DS_Store Thumbs.db
    idstring<uuid>required

    Library unique identifier

    Example: 550e8400-e29b-41d4-a716-446655440000
    isActivebooleanrequired

    Whether the library is active

    Example: true
    lastScannedAtstring,null<date-time>nullable

    When the library was last scanned

    Example: 2024-01-15T10:30:00Z
    namestringrequired

    Library name

    Example: Comics
    numberConfig

    Number strategy-specific configuration (JSON)

    numberStrategyNumberStrategy (string)required

    Book number strategy (file_order, metadata, filename, smart)

    Possible values: [file_order, metadata, filename, smart]

    pathstringrequired

    Filesystem path to the library root

    Example: /media/comics
    scanningConfig object

    Scanning configuration for scheduled scans

    cronSchedulestring | nullnullable

    Cron expression for scheduled scans. Accepts standard 5-part Unix cron (e.g., "0 */6 * * *") or 6-part with seconds (e.g., "0 0 */6 * * *"). Stored as provided; normalization happens at scheduler level.

    Example: 0 */6 * * *
    cronTimezonestring | nullnullable

    IANA timezone for the cron schedule (e.g., "America/Los_Angeles", "Europe/London"). Overrides the server-level scheduler.timezone config for this library. If not set, falls back to the server default (which itself defaults to UTC).

    Example: America/Los_Angeles
    enabledbooleanrequired

    Whether scheduled scanning is enabled

    Example: true
    purgeDeletedOnScanboolean

    Purge soft-deleted books after completing a scan

    Example: false
    scanModestringrequired

    Default scan mode for scheduled scans ("normal" or "deep")

    Example: normal
    scanOnStartboolean

    Scan library when the application starts

    Example: false
    seriesConfig

    Strategy-specific configuration (JSON)

    seriesCountinteger,null<int64>nullable

    Total number of series in this library

    Example: 85
    seriesStrategySeriesStrategy (string)required

    Series detection strategy (series_volume, series_volume_chapter, flat, etc.)

    Possible values: [series_volume, series_volume_chapter, flat, publisher_hierarchy, calibre, custom]

    titlePreprocessingRules

    Title preprocessing rules (JSON array of regex rules) Applied during scan to clean series titles before metadata search

    updatedAtstring<date-time>required

    When the library was last updated

    Example: 2024-01-15T10:30:00Z
  • ]
  • links objectrequired

    HATEOAS navigation links

    firststringrequired

    Link to the first page

    laststringrequired

    Link to the last page

    nextstring | nullnullable

    Link to the next page (null if on last page)

    prevstring | nullnullable

    Link to the previous page (null if on first page)

    selfstringrequired

    Link to the current page

    pageinteger<int64>required

    Current page number (1-indexed)

    Possible values: >= 0

    Example: 1
    pageSizeinteger<int64>required

    Number of items per page

    Possible values: >= 0

    Example: 50
    totalinteger<int64>required

    Total number of items across all pages

    Possible values: >= 0

    Example: 150
    totalPagesinteger<int64>required

    Total number of pages

    Possible values: >= 0

    Example: 3
    PaginatedResponse_LibraryDto
    {
    "data": [
    {
    "allowedFormats": [
    "CBZ",
    "CBR",
    "PDF"
    ],
    "bookCount": 1250,
    "bookStrategy": "filename",
    "createdAt": "2024-01-01T00:00:00Z",
    "defaultReadingDirection": "ltr",
    "description": "My comic book collection",
    "excludedPatterns": ".DS_Store\nThumbs.db",
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "isActive": true,
    "lastScannedAt": "2024-01-15T10:30:00Z",
    "name": "Comics",
    "numberStrategy": "file_order",
    "path": "/media/comics",
    "scanningConfig": {
    "cronSchedule": "0 */6 * * *",
    "cronTimezone": "America/Los_Angeles",
    "enabled": true,
    "purgeDeletedOnScan": false,
    "scanMode": "normal",
    "scanOnStart": false
    },
    "seriesCount": 85,
    "seriesStrategy": "series_volume",
    "updatedAt": "2024-01-15T10:30:00Z"
    }
    ],
    "links": {
    "first": "string",
    "last": "string",
    "next": "string",
    "prev": "string",
    "self": "string"
    },
    "page": 1,
    "pageSize": 50,
    "total": 150,
    "totalPages": 3
    }