---
title: "Upsert margin notes"
method: POST
path: "/reader/books/{book_id}/margin-notes"
tags: ["AI"]
---

# Upsert margin notes

`POST /reader/books/{book_id}/margin-notes`

Create or update margin notes (client → server sync)

## Path parameters

- `book_id` string, required

## Request body

- SchemaMarginNote[]
  - `book_id` string
  - `cfi` string
  - `chapter` string
  - `confidence` number
  - `content` string
  - `ctime` integer
  - `dismissed` boolean
  - `helpful` boolean
  - `id` integer
  - `related_book_id` string
  - `related_book_title` string
  - `related_highlight` string
  - `user_id` integer
  - `utime` integer

## Response `200`

OK

- object

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/lxpio/apis/omnigram-api.md) · [All operations](https://skmtc.net/lxpio/apis/omnigram-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lxpio/omnigram-api/versions/58911ffb3093/schema)
