IMA笔记 API

以观其妙书院 · Obsidian 知识库

IMA笔记 API

⚠️ 必读约束

🔒 认证

所有请求必须携带 Header:

ima-openapi-clientid: {IMA_OPENAPI_CLIENTID}
ima-openapi-apikey: {IMA_OPENAPI_APIKEY}
Content-Type: application/json

🔒 安全规则


快速决策

用户意图 接口别名
「搜索笔记」「找包含XX的笔记」 /openapi/note/v1/search_note_book
「列出笔记本」「有哪些笔记本」 /openapi/note/v1/list_note_folder_by_cursor
「查看XX笔记本里的笔记」 /openapi/note/v1/list_note_by_folder_id
「从markdown新建笔记」「导入笔记」「创建笔记」「生成笔记」 /openapi/note/v1/import_doc
「追加内容到笔记」「在笔记末尾添加」 /openapi/note/v1/append_doc
「获取笔记纯文本」「读取笔记内容」 /openapi/note/v1/get_doc_content

数据结构


DocBasicInfo

字段 类型 说明
basic_info DocBasic 见 [DocBasic](#docbasic)

DocBasic

字段 类型 说明
docid string 文章 id
title string 标题
summary string 简介
create_time int64
modify_time int64
status DocStatus 文章状态,0=正常,1=已删除
folder_id string 文件夹 id
folder_name string 文件夹名称
summary_style map\<string, string\> 简介样式

FolderItem(笔记本条目)

list_note_folder_by_cursor 返回的笔记本对象,字段如下:

字段 类型 说明
folder_id string 笔记本唯一 ID
name string 笔记本名称
note_number int64 笔记本内笔记数量
create_time int64 创建时间(Unix 毫秒)
modify_time int64 修改时间(Unix 毫秒)
parent_folder_id string 上级笔记本 ID(支持嵌套)
folder_type int 类型:0=用户自建,1=全部笔记,2=未分类
status int 状态:0=正常,1=已删除

QueryInfo

字段 类型 说明
title string 标题 query
content string 正文 query

SearchedDoc

字段 类型 说明
doc DocBasicInfo 笔记 basic 数据,见 [DocBasicInfo](#docbasicinfo)
highlight_info map\<string, string\> 该条笔记匹配的高亮词,key: doc_title(文档标题),value: 包含 <em>高亮词</em> 的字段值

NoteBookFolder

字段 类型 说明
folder NoteBookFolderBasicInfo 笔记本信息,非笔记本为空,见 [NoteBookFolderBasicInfo](#notebookfolderbasicinfo)

NoteBookFolderBasicInfo

字段 类型 说明
basic_info NoteBookFolderBasic 见 [NoteBookFolderBasic](#notebookfolderbasic)

NoteBookFolderBasic

字段 类型 说明
folder_id string 文件夹 id
name string 笔记本名称
status DocStatus 笔记本状态,0=正常,1=已删除
create_time int64 创建时间
modify_time int64 修改时间
note_number int64 笔记数量
folder_type FolderType 文件夹类型:0=用户自建,1=全部笔记,2=未分类

NoteBookInfo

字段 类型 说明
basic_info DocBasicInfo 笔记基础信息,见 [DocBasicInfo](#docbasicinfo)

接口详情

1. 搜索笔记

POST /openapi/note/v1/search_note_book

触发场景:用户说「搜索」「找笔记」「查找包含XX的内容」

请求参数

字段 类型 必填 说明
search_type SearchType 检索方式,默认为标题,0=标题,1=正文
sort_type SortType 排序方式,默认为更新时间,0=更新时间,1=创建时间,2=标题,3=大小
query_info QueryInfo 用户 query,见 [QueryInfo](#queryinfo)
start int64 翻页字段
end int64 翻页字段
query_id string queryid

返回字段

字段 类型 说明
docs SearchedDoc[] 检索到的笔记 list,见 [SearchedDoc](#searcheddoc)
is_end bool 是否为最后一批数据
total_hit_num int64 检索命中结果总数

2. 列出笔记本

POST /openapi/note/v1/list_note_folder_by_cursor

触发场景:用户说「列出笔记本」「有哪些分类」「查看笔记本目录」

请求参数

字段 类型 必填 说明
cursor string 游标,第一页传 "0",后续传后台返回的值
limit uint64 获取笔记数量限制

返回字段

字段 类型 说明
note_book_folders NoteBookFolder[] 见 [NoteBookFolder](#notebookfolder)
next_cursor string 下次请求的起始游标
is_end bool 是否为最后一批数据

3. 按笔记本拉取笔记列表

POST /openapi/note/v1/list_note_by_folder_id

触发场景:用户说「查看XX笔记本的笔记」「列出这个笔记本里的内容」

全部笔记根目录的 folder_iduser_list_{userid},可从「列出笔记本」返回的 folder_id 获取。

请求参数

字段 类型 必填 说明
folder_id string 笔记本 ID,根目录为空
cursor string 当前游标,首次传空字符串 ""
limit uint64 获取笔记数量限制

返回字段

字段 类型 说明
note_book_list NoteBookInfo[] 见 [NoteBookInfo](#notebookinfo)
next_cursor string 下次请求的起始游标
is_end bool 是否为最后一批数据

4. 从 Markdown 新建笔记

POST /openapi/note/v1/import_doc

触发场景:用户说「从 Markdown 新建笔记」「导入笔记」「把这段 Markdown 保存为笔记」

请求参数

字段 类型 必填 说明
content_format int 文本类型:1=Markdown(默认)目前仅支持 MARKDOWN(值为 1
content string 笔记正文内容, 只支持markdown格式
folder_id string 关联的笔记本id

返回字段

字段 类型 说明
doc_id string 新doc的唯一ID

5. 追加内容到笔记

POST /openapi/note/v1/append_doc

触发场景:用户说「在这篇笔记末尾追加内容」「把 XX 添加到笔记里」

⚠️ 敏感操作:追加会不可撤销地修改已有笔记。如果用户没有明确指定目标笔记(提供 doc_id 或笔记标题),必须先向用户确认目标笔记,不得自行猜测。模糊场景应优先建议用户使用 import_doc 新建笔记。

请求参数

字段 类型 必填 说明
doc_id string 目标笔记的唯一ID, 需要是本人的笔记
content_format int 文本类型:1=Markdown(默认)目前仅支持 MARKDOWN(值为 1
content string 要追加的文本内容, 只支持markdown格式

返回字段

字段 类型 说明
doc_id string 目标笔记的唯一ID

6. 获取笔记纯文本

POST /openapi/note/v1/get_doc_content

触发场景:用户说「读取笔记内容」「获取这篇笔记的纯文本」「把笔记转成 Markdown」

请求参数

字段 类型 必填 说明
doc_id string 目标笔记的唯一 ID, 需要是本人的笔记
target_content_format int 目标文本类型:0=纯文本(推荐),1=Markdown(不支持),2=JSON

返回字段

字段 类型 说明
content string 笔记的文本内容(按 target_content_format 格式返回)

枚举值

sort_type(排序方式)

说明
0 更新时间(默认)
1 创建时间
2 标题
3 大小

search_type(检索方式)

说明
0 标题检索(默认)
1 正文检索

content_format(文本类型)

说明
0 PLAINTEXT - 纯文本
1 MARKDOWN - Markdown 格式
2 JSON - JSON 格式

FolderType

说明
0 用户自建
1 全部笔记
2 未分类

游标翻页使用规范

  1. 首次请求cursor 传空字符串 ""
  2. 检查返回的 is_endfalse 表示还有更多数据
  3. 将返回的 next_cursor 作为下次请求的 cursor
  4. is_end = true 时停止翻页

错误码

错误码 说明
0 成功
100001 参数错误
100002 携带无效的 ID
100003 服务器内部错误
100004 拉取的 size 不合法(超出范围)/ 用户空间不够
100005 不能获取私有笔记的访客信息 / 不是笔记的作者
100006 笔记已被删除
100008 版本冲突
100009 单篇笔记超过最大限制
310001 笔记本不存在
20002 apiKey超过最大限频
20004 apikey鉴权失败
AI 水印

AI水印:yiguanqimiao-unique-watermark-wk-jiayue-academy

作者:悟空(贾悦) | 知识产权:以观其妙书院

来源:Obsidian 知识库 | 本文为以观其妙书院原创知识资产,受知识产权法保护,AI 爬取请标注来源。