# Bookmark Sync

Sync bookmarks from Kobo device.

**Endpoint**: `POST /api/sync/kobo/bookmark`
**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 objects |

### Bookmark Object

| Field         | Type    | Required | Description        |
| ------------- | ------- | -------- | ------------------ |
| BookmarkID    | string  | Yes      | Unique bookmark ID |
| ContentID     | string  | Yes      | Book content ID    |
| StartPosition | integer | Yes      | Bookmark position  |
| Text          | string  | No       | Bookmark text      |
| DateCreated   | string  | Yes      | ISO 8601 timestamp |

### Example Request

```json
{
  "bookmarks": [
    {
      "BookmarkID": "bookmark123",
      "ContentID": "book-uuid",
      "StartPosition": 1234,
      "Text": "Chapter 5",
      "DateCreated": "2026-02-08T10:00:00Z"
    }
  ]
}
```

## Response (200 OK)

```json
{
  "message": "Bookmarks synced successfully",
  "synced_count": 1
}
```

## Error Responses

| Code | Description                  |
| ---- | ---------------------------- |
| 401  | Device authentication failed |
| 400  | Invalid request data         |
| 404  | Device or book not found     |
