diff --git a/bruno/devices/Add Books to Kobo Shelf.bru b/bruno/devices/Add Books to Kobo Shelf.bru new file mode 100644 index 0000000..b88cbf1 --- /dev/null +++ b/bruno/devices/Add Books to Kobo Shelf.bru @@ -0,0 +1,26 @@ +meta { + name: Add Books to Kobo Shelf + type: http + seq: 1 +} + +POST {{baseURL}}/api/devices/{{deviceID}}/shelves +Authorization: Bearer {{userToken}} +Content-Type: application/json + +{ + "media_item_ids": [ + "{{bookUUID1}}", + "{{bookUUID2}}" + ], + "shelf_name": "Reading List", + "shelf_position": 0 +} + +{ + "meta": { + "name": "Add Books to Kobo Shelf", + "description": "Add one or more books to a Kobo device shelf", + "documentation": "Manages which books should be synced to a specific Kobo device. Supports multiple shelves for organization." + } +} diff --git a/bruno/devices/Clear Kobo Shelf.bru b/bruno/devices/Clear Kobo Shelf.bru new file mode 100644 index 0000000..40eef92 --- /dev/null +++ b/bruno/devices/Clear Kobo Shelf.bru @@ -0,0 +1,16 @@ +meta { + name: Clear Kobo Shelf + type: http + seq: 1 +} + +DELETE {{baseURL}}/api/devices/{{deviceID}}/shelves/clear?shelf={{shelfName}} +Authorization: Bearer {{userToken}} + +{ + "meta": { + "name": "Clear Kobo Shelf", + "description": "Clear all books from a Kobo device shelf (or all shelves if no shelf name specified)", + "documentation": "Removes all books from the specified shelf. If no shelf name is provided, clears all shelves for the device." + } +} diff --git a/bruno/devices/Get Kobo Shelf.bru b/bruno/devices/Get Kobo Shelf.bru new file mode 100644 index 0000000..9579785 --- /dev/null +++ b/bruno/devices/Get Kobo Shelf.bru @@ -0,0 +1,16 @@ +meta { + name: Get Kobo Shelf + type: http + seq: 1 +} + +GET {{baseURL}}/api/devices/{{deviceID}}/shelves?shelf={{shelfName}} +Authorization: Bearer {{userToken}} + +{ + "meta": { + "name": "Get Kobo Shelf Books", + "description": "Get all books on a Kobo device shelf, optionally filter by shelf name", + "documentation": "Returns a list of books with their shelf positions and Kobo-specific metadata (entitlement ID, revision number)." + } +} diff --git a/bruno/devices/Remove Book from Kobo Shelf.bru b/bruno/devices/Remove Book from Kobo Shelf.bru new file mode 100644 index 0000000..f3f9501 --- /dev/null +++ b/bruno/devices/Remove Book from Kobo Shelf.bru @@ -0,0 +1,16 @@ +meta { + name: Remove Book from Kobo Shelf + type: http + seq: 1 +} + +DELETE {{baseURL}}/api/devices/{{deviceID}}/shelves?media_item_id={{bookUUID}} +Authorization: Bearer {{userToken}} + +{ + "meta": { + "name": "Remove Book from Kobo Shelf", + "description": "Remove a specific book from a Kobo device shelf", + "documentation": "Removes the book from the device's shelf, preventing it from syncing to that device." + } +} diff --git a/bruno/kobo/Server Sync to Kobo.bru b/bruno/kobo/Server Sync to Kobo.bru new file mode 100644 index 0000000..2411d47 --- /dev/null +++ b/bruno/kobo/Server Sync to Kobo.bru @@ -0,0 +1,44 @@ +meta { + name: Server Sync to Kobo + type: http + seq: 1 +} + +POST {{baseURL}}/api/sync/kobo/sync-from-server +Authorization: Bearer {{koboToken}} +x-kobo-device: {"DeviceId":"kobo-clara-test","Model":"Kobo Clara","SerialNumber":"N123456789"} +Content-Type: application/json + +[ + { + "ContentId": "{{bookUUID}}", + "PercentRead": 65.4, + "LastModified": "2026-01-31T12:00:00Z", + "Bookmarks": [ + { + "BookmarkId": "bookmark-123", + "ContentId": "{{bookUUID}}", + "BookmarkText": "This is an important note", + "BookmarkType": "bookmark", + "BookmarkTitle": "Chapter 5 Note" + } + ], + "Highlights": [ + { + "BookmarkId": "highlight-456", + "ContentId": "{{bookUUID}}", + "BookmarkText": "highlighted passage text", + "BookmarkType": "annotation", + "BookmarkTitle": "Chapter 3 Highlight" + } + ] + } +] + +{ + "meta": { + "name": "Sync from Bookmann to Kobo", + "description": "Server-initiated sync pushing progress, bookmarks, and highlights from Bookmann to Kobo device", + "documentation": "Two-way sync endpoint. Allows Bookmann server to push updates to Kobo device, including reading progress, bookmarks, and highlights." + } +} diff --git a/bruno/media-items/EPUB Download.bru b/bruno/media-items/EPUB Download.bru new file mode 100644 index 0000000..0d08a63 --- /dev/null +++ b/bruno/media-items/EPUB Download.bru @@ -0,0 +1,15 @@ +meta { + name: EPUB Download + type: http + seq: 1 +} + +GET {{baseURL}}/api/books/{{bookUUID}}/download + +{ + "meta": { + "name": "Download EPUB Book", + "description": "Download an EPUB book file from Bookmann server (no auth required - for Kobo device download)", + "documentation": "Kobo devices can download books directly from Bookmann using this endpoint. The endpoint returns the book file with appropriate Content-Type headers." + } +}