info:
  name: KOReader Sync Progress
  type: http
  seq: 1
http:
  method: POST
  url: '{{base_url}}/api/sync/koreader/progress'
  auth: inherit
  body:
    type: json
    jsonBody: "{\n    \"library_id\": null,\n    \"books\": [\n      {\n        \"\
      uuid\": \"{{book_uuid"
  headers:
  - key: Authorization
    value: Bearer {{device_token

docs: |-
  ## KOReader Sync Progress
  
    Synchronizes reading progress from a KOReader device to the Bookhoard server.
  
    **Method:** POST
  
    **Endpoint:** /api/sync/koreader/progress
  
    **Authentication:** Bearer token (device token)
  
    **Request Body:**
    - `library_id` (string, optional): Library UUID
    - `books` (array): Array of book progress objects
      - `uuid` (string): Book UUID
      - `title` (string): Book title
      - `authors` (array): List of authors
      - `progress` (number): Progress value
      - `percentage` (number): Percentage complete (0-1)
      - `last_read` (string): ISO 8601 timestamp
      - `chapter` (number): Current chapter
      - `epubcfi` (string): EPUB Canonical Fragment Identifier
      - `page` (number): Current page
      - `total_pages` (number): Total pages
    - `sync_mode` (string): Sync mode (immediate, deferred)
    - `device_info` (object): Device information
      - `koreader_version` (string): KOReader version
      - `device_model` (string): Device model identifier
  
    **Response:**
    - `sync_status` (string): Sync status (accepted, processing)
    - `books_synced` (number): Number of books synced
  
    **Status Codes:**
    - 202: Accepted - sync queued
    - 401: Unauthorized
    - 500: Internal server error
