Clean up API documentation files by removing Phase X references: Remove 'API Explorer will be inserted here in Phase X' placeholders from: - 70+ API endpoint documentation files - Authentication endpoints (login, logout, register, refresh) - User endpoints (profile, settings, password) - Device endpoints (registration, sync, shelves) - Library endpoints (CRUD, folders, visibility) - Media endpoints (items, progress, highlights, notes) - Admin endpoints (users, analytics) - Sync endpoints (Kobo, KOReader) - OPDS endpoints - Scanner endpoints - Queue endpoints These placeholders were from planning documents and have no meaning to API consumers. The documentation is now clean and ready for use.
68 lines
1.7 KiB
Markdown
68 lines
1.7 KiB
Markdown
# Markup Sync
|
|
|
|
Sync markup highlights and annotations from Kobo device.
|
|
|
|
**Endpoint**: `POST /api/sync/kobo/markup`
|
|
**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 |
|
|
|--------|------|-----------|-------------|
|
|
| bookmarks | array | Yes | Array of bookmark/markup objects |
|
|
|
|
### Bookmark Object
|
|
|
|
| Field | Type | Required | Description |
|
|
|--------|------|-----------|-------------|
|
|
| BookmarkID | string | Yes | Unique bookmark ID |
|
|
| ContentID | string | Yes | Book content ID |
|
|
| StartPosition | integer | Yes | Highlight start position |
|
|
| EndPosition | integer | No | Highlight end position |
|
|
| Text | string | No | Highlighted text |
|
|
| Annotation | string | No | User annotation |
|
|
| DateCreated | string | Yes | ISO 8601 timestamp |
|
|
| Chapter | string | No | Chapter title |
|
|
| Hidden | boolean | No | Whether bookmark is hidden |
|
|
|
|
### Example Request
|
|
|
|
```json
|
|
{
|
|
"bookmarks": [
|
|
{
|
|
"BookmarkID": "bookmark123",
|
|
"ContentID": "book-uuid",
|
|
"StartPosition": 1234,
|
|
"EndPosition": 1456,
|
|
"Text": "Highlighted text from book",
|
|
"Annotation": "My annotation",
|
|
"DateCreated": "2026-02-08T10:00:00Z",
|
|
"Chapter": "Chapter 1",
|
|
"Hidden": false
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Response (200 OK)
|
|
|
|
```json
|
|
{
|
|
"message": "Markup synced successfully",
|
|
"synced_count": 1
|
|
}
|
|
```
|
|
|
|
## Error Responses
|
|
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| 401 | Device authentication failed |
|
|
| 400 | Invalid request data |
|
|
| 404 | Device or book not found |
|