curl 示例前,先选择 Cloud 区域。需要认证的调用必须使用与密钥同一区域的地址。下方示例都使用 MIROBODY_API_BASE:
POST /v1/extract 是本端点的已弃用别名,仍可使用,请求与响应完全相同。/v1/standardize 读取一份化验报告或健康文档,返回其中找到的每条读数,每条都匹配到 LOINC 编码、归一到 UCUM 单位(机制见标准化机制)。调用是同步的(一次请求、读数即返回),因此一份多页文档可能耗时数秒,请相应设置客户端超时。
默认是 dry-run(store=false):你获得标准化结果,什么都不持久化,零副作用。设 store=true(并给出 retention)则同时把这些读数经由与 POST /v1/data 相同的管线、作为记录写入 Subject 的存储。
请求
两种输入形态:- multipart/form-data:一个
file(PDF / 图片 / Excel / 纯文本;图片与 PDF 会 OCR),下表字段作为表单字段。 - application/json:
{"text": "..."}(原始报告文本)或{"file_key": "..."}(已通过/v1/files上传的文件)。
user 字段是租户隔离键。 后端把 (你的账户, user) 映射为内部的数据主体(Subject),Subject 之间完全隔离:为每个终端用户传入其稳定 id,任何用户都看不到别人的数据。省略时回落到你账户的默认 Subject。Subject 对 Mirobody 网页应用和其他开发者均不可见。该值在映射前会被归一化(去首尾空白 + 转小写),Alice 与 alice 解析为同一个 Subject。请传入稳定、规范的 id。Dry-run(默认)
标准化并存储
响应
无可量化读数的叙事文本
/v1/standardize 返回的是可量化读数。纯叙事文本(「整个下午头晕头疼」)是明确声明的边界,不是错误:调用成功(200),返回空的 data 数组加一个 note:
POST /v1/responses 发送,带 store: true、独立的 session_id(如 journal-{entry_id})、builtin_tools: "none",以及要求简短确认的 instructions。随后 Mirobody 会自动从这条已存储的记录中抽出可量化读数与持久记忆。采用每个 session_id 一个响应的设计时,删除该响应也会一并撤回它产生的记忆;已写入数据面的读数仍需通过 /v1/data 删除。准确生命周期见写日记。
错误
所有失败都是显式的,不存在静默的部分成功。