Files
bookhoard/docs/developer/api/collections/create_shelf_mapping.md
T
john-okeefe 4d321528b2 docs: update comprehensive API documentation and project guides
This commit updates all documentation files throughout the project:

- Updated IMPLEMENTATION_PLAN.md with new implementation details
- Updated PROJECT_GUIDELINES.md with coding standards and practices
- Updated README.md with current project information
- Updated SCREENSHOT_AUTOMATION.md with new automation details
- Added TEST_DATA.md with test fixtures data
- Updated cover_image_serving_plan.md with static URL patterns

Documentation API updates:
- Updated API reference documentation for all endpoints including:
  - Authentication (login, logout, register, refresh_token)
  - Book matching (auto_link, bulk_link, link_book, search)
  - Collections (CRUD operations, shelf mappings, auto-assign rules)
  - Conflicts (bulk operations, resolve/dismiss)
  - Devices (registration, approval, shelf management)
  - Highlights (create, update, delete, get)
  - Kobo sync (bookmark, markup, initialization, sync)
  - KOReader sync (library, metadata, bookmarks, progress)
  - Libraries (CRUD, folders, media items, stats)
  - Media items (bulk operations, CRUD)
  - Notes (CRUD operations)
  - OPDS (acquisition, feeds, publication)
  - Progress (reading progress tracking)
  - Queue (device queue management)
  - Ratings (star ratings)
  - Scanner (watch mode, scan operations)
  - Sync protocols (Kobo, KOReader)
  - Users (profile, password, admin operations)
  - WebSocket protocols

- Updated user guides (admin, dashboard, settings, sync)
- Updated device setup guides (Kobo, KOReader)
- Updated developer guides (testing, contributing, operations)
- Updated scripts/README.md
2026-02-27 17:06:22 -05:00

2.2 KiB

Create Shelf Mapping

Map a collection to a device shelf for syncing.

Endpoint: POST /api/devices/{deviceId}/collections Auth: Required Content-Type: application/json

Path Parameters

Parameter Type Required Description
deviceId string (UUID) Yes Device UUID

Request Body

Field Type Required Description
collection_id string (UUID) Yes Collection UUID to map
device_shelf_name string Yes Name of the shelf on the device
sync_direction string No Sync direction (default: "bidirectional")

Sync Directions

Direction Description
bidirectional Sync both ways between Bookhoard and device
book_to_hoard Bookhoard → Device only
device_to_hoard Device → Bookhoard only
none No sync (mapping only for reference)

Example Request

{
  "collection_id": "550e8400-e29b-41d4-a716-446655440000",
  "device_shelf_name": "Sci-Fi",
  "sync_direction": "bidirectional"
}

Response (201 Created)

{
  "id": "990e8400-e29b-41d4-a716-446655440000",
  "collection_id": "550e8400-e29b-41d4-a716-446655440000",
  "collection_name": "Science Fiction",
  "device_shelf_name": "Sci-Fi",
  "sync_direction": "bidirectional",
  "created_at": "2026-02-01T10:00:00Z"
}

Use Case

Collections can be synced to device-specific shelves (Kobo, KOReader). This allows automatic organization of books on your e-reader based on your Bookhoard collections.

Error Responses

Code Description
400 Invalid request (validation failed)
401 Authentication required
404 Device or collection not found
409 Mapping already exists
500 Internal server error

Try It Out