- Move all files from bruno-yaml/* to bruno/* - Maintains existing directory structure within categories - Updates bruno/user/auth files with OAuth2 refresh token flow - Updates bruno/user/profile files for user profile management - Adds bruno/dashboard/ directory with dashboard API tests - Preserves all existing test scenarios and OpenCollection YAML format - No functional changes - file reorganization only
93 lines
2.5 KiB
YAML
93 lines
2.5 KiB
YAML
info:
|
|
name: Get Book Metadata
|
|
type: http
|
|
seq: 8
|
|
|
|
http:
|
|
method: GET
|
|
url: '{{base_url}}/api/sync/koreader/metadata/{{book_uuid}}'
|
|
auth: inherit
|
|
|
|
docs: |-
|
|
## Get KOReader Book Metadata
|
|
|
|
Retrieves metadata for a specific book from the server.
|
|
|
|
**Method:** GET
|
|
|
|
**Endpoint:** /api/sync/koreader/metadata/:book_uuid
|
|
|
|
**Authentication:** Bearer token
|
|
|
|
**Path Parameters:**
|
|
- `book_uuid` (string): SHA-256 based book identifier
|
|
|
|
**Response:**
|
|
- `uuid` (string): Book UUID (SHA-256)
|
|
- `title` (string): Book title
|
|
- `authors` (array): Author names
|
|
- `series` (string, optional): Series name
|
|
- `series_index` (number, optional): Position in series
|
|
- `publisher` (string, optional): Publisher name
|
|
- `publication_date` (string, optional): Release date
|
|
- `language` (string, optional): ISO 639-1 language code
|
|
- `description` (string, optional): Book description
|
|
- `cover_url` (string, optional): Cover image URL
|
|
- `cover_thumbnail_url` (string, optional): Thumbnail URL
|
|
- `identifiers` (object): Various identifiers
|
|
- `isbn` (string, optional): ISBN-13
|
|
- `asin` (string, optional): Amazon ASIN
|
|
- `goodreads` (string, optional): Goodreads ID
|
|
- `google_books` (string, optional): Google Books ID
|
|
- `metadata_sources` (array): Sources metadata was pulled from
|
|
- `last_synced` (string): Last metadata sync timestamp
|
|
- `file_metadata` (object):
|
|
- `file_size` (integer): File size in bytes
|
|
- `format` (string): File format (epub, pdf, mobi, etc.)
|
|
- `pages` (integer, optional): Page count
|
|
- `word_count` (integer, optional): Estimated words
|
|
|
|
**Status Codes:**
|
|
- 200: Success
|
|
- 401: Unauthorized
|
|
- 404: Book not found
|
|
|
|
**Metadata Purpose:**
|
|
- Enrich book information on device
|
|
- Improve book organization
|
|
- Enable better search
|
|
- Support series sorting
|
|
- Provide cover images
|
|
- Link to external sources
|
|
|
|
**KOReader Usage:**
|
|
- Display in book info dialog
|
|
- Used for library sorting
|
|
- Shown in file browser
|
|
- Series grouping
|
|
- Cover display
|
|
- Search optimization
|
|
|
|
**SHA-256 Book ID:**
|
|
- Primary identifier in KOReader
|
|
- Universal across devices
|
|
- Format-independent
|
|
- Generated from file content
|
|
- Survives metadata changes
|
|
|
|
**Metadata Sources:**
|
|
- Google Books API
|
|
- Open Library
|
|
- Goodreads API
|
|
- ISBN database lookup
|
|
- Publisher metadata
|
|
- User-provided metadata
|
|
|
|
**Use Cases:**
|
|
- Initial book import
|
|
- Metadata refresh
|
|
- Cover image download
|
|
- Series organization
|
|
- Duplicate detection
|
|
- Library management
|