Files
bookhoard/docs/developer/api/book-matching/bulk_link_books.md
T
john-okeefe de4f2ba7d8 docs(api): add universal progress tracking documentation
- get_universal_progress.md - GET /api/progress/:id
- update_universal_progress.md - POST /api/progress/:id
- get_progress_history.md - GET /api/progress/:id/history

Documents device-agnostic (universal) reading progress tracking
that works across all devices (Kobo, KOReader, etc.)
2026-02-08 12:38:14 -05:00

62 lines
1.3 KiB
Markdown

# Bulk Link Books
Link multiple books to media items at once.
**Endpoint**: `POST /api/sync/bulk-link-books`
**Auth**: Required
**Content-Type**: `application/json`
## Request Body
| Field | Type | Required | Description |
|--------|------|-----------|-------------|
| links | array | Yes | Array of book-media link objects |
Each link object contains:
| Field | Type | Required | Description |
|--------|------|-----------|-------------|
| device_id | string (UUID) | Yes | Device UUID |
| book_id | string (UUID) | Yes | Book ID from device |
| media_item_id | string (UUID) | Yes | Media item UUID to link to |
### Example Request
```json
{
"links": [
{
"device_id": "550e8400-e29b-41d4-a716-446655440000",
"book_id": "book-123",
"media_item_id": "660e8400-e29b-41d4-a716-446655440001"
},
{
"device_id": "550e8400-e29b-41d4-a716-446655440000",
"book_id": "book-456",
"media_item_id": "770e8400-e29b-41d4-a716-446655440002"
}
]
}
```
## Response (200 OK)
```json
{
"message": "Books linked successfully",
"linked_count": 2,
"failed_count": 0
}
```
## Error Responses
| Code | Description |
|------|-------------|
| 400 | Invalid request data |
| 401 | Invalid or expired token |
| 404 | Device, book, or media item not found |
## Try It Out
<!-- API Explorer will be inserted here in Phase 3 -->