# Get Unlinked Books Get all books that haven't been linked to media items yet for a specific device. **Endpoint**: `GET /api/devices/:deviceId/sync/unlinked-books` **Auth**: Required ## Path Parameters | Parameter | Type | Required | Description | | --------- | ------------- | -------- | ----------- | | deviceId | string (UUID) | Yes | Device UUID | ## Query Parameters | Parameter | Type | Required | Description | | --------- | ------- | -------- | ----------------------------------------------- | | limit | integer | No | Maximum number of items to return (default: 50) | | offset | integer | No | Number of items to skip (default: 0) | ## Request Headers | Header | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | Authorization | string | Yes | Bearer token | ### Example Request ```http GET /api/devices/550e8400-e29b-41d4-a716-446655440000/sync/unlinked-books?limit=10 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... ``` ## Response (200 OK) ```json { "items": [ { "id": "uuid", "file_name": "book.epub", "file_path": "/path/to/book.epub", "size_bytes": 1234567, "modified_at": "2026-02-08T10:00:00Z" } ], "total": 15, "limit": 10, "offset": 0 } ``` ## Error Responses | Code | Description | | ---- | ------------------------ | | 401 | Invalid or expired token | | 404 | Device not found |