Files
bookhoard/docs/developer/api/kobo/sync_from_server.md
T
John O'Keefe 50282895f5 fix(docs): Work Order 2 — correct stale paths (11 docs + 3 Bruno)
Fix all wrong-path artifacts identified by the audit:
- Kobo sync endpoints (init/bookmark/markup/sync-from-server/analytics): add
  missing :token device segment (6 doc files incl. kobo-protocol.md)
- Highlights/notes update+delete: add missing /:id media-item prefix
- media-items/download_media_item.md: removed (static /uploads route, not an
  API endpoint; info about the file route is recoverable from OPDS docs)
- Bruno: /libraries/visible -> /visibility, /collections/books missing id,
  /audio/0 -> track_index
- operations/troubleshooting.md: same /libraries/visible -> /visibility fix
- media-items/get_audio_track.md + get_audio_chapters.md: /audio/0 examples fixed
- Deleted monolithic docs/developer/api-reference.md (duplicate of split docs)
- Fixed 4 stale entries in docs/developer/api/api-reference.md (split index)

Audit re-run: orphan docs 0, orphan Bruno 6 (all scenario files with literal IDs).
2026-10-24 14:44:19 -04:00

1.7 KiB

Sync From Server

Status: Coming Soon — Native Kobo sync is not yet supported on real devices; this endpoint is under active development and may change.

Push content and metadata to Kobo device.

Endpoint: POST /api/sync/kobo/:token/sync-from-server Auth: Required (Device authentication)

Device Authentication

This endpoint requires device authentication (not user JWT). Kobo devices authenticate using their device credentials and access tokens.

Request Body

Field Type Required Description
book_ids array of string No Array of ContentIDs to sync
full_sync boolean No Whether to perform full sync (default: false)

Example Request

{
  "book_ids": ["content-id-1", "content-id-2"],
  "full_sync": false
}

Response (200 OK)

{
  "books": [
    {
      "ContentID": "content-id-1",
      "Title": "Book Title",
      "Author": "Author Name",
      "ISBN": "978-0123456789",
      "PublicationDate": "2026-02-08",
      "FileSize": 1234567,
      "CoverImageId": "cover-id-1",
      "Metadata": {
        "language": "en",
        "publisher": "Publisher Name"
      }
    }
  ],
  "total": 2
}

Error Responses

Code Description
401 Device authentication failed
404 Device not found

Notes

This endpoint pushes library content from the server to the Kobo device. It's called during sync operations to update the device's library catalog.