openapi-0915。核对日期:2026-09-10。
基础地址:https://meoo.com/open/v1
调用约定
所有接口使用Authorization: Bearer <token>。系统集成使用具备相应 Scope 的团队成员短期 Token,或已授权的 OAuth Access Token;用户 API Key 可用于个人测试和临时调试。凭证所属租户必须能够访问目标项目,并且当前用户具备对应的项目操作权限。
project_id 是项目公开 URL ID,不是数据库主键;长度为 1~50,只能包含英文字母、数字、_ 和 -。本文示例先设置:
200,直接返回本文所示 JSON 对象,不包含 success、result 或 data 外层包装。请求体必须为 JSON 对象,不接受未列出的字段;客户端应容忍响应未来新增字段。
除数据库 SQL 结果中的时间值外,资源响应中的时间戳均为 Unix 毫秒,可能为 null。对象大小、存储桶大小上限、估算行数以字符串返回,避免整数精度损失。
接口与权限一览
下表路径均以/projects/{project_id} 为前缀。不同 Scope 不会自动相互包含,例如 cloud.read 不能代替 cloud.credentials.read,cloud.database.read 不能执行 SQL。
项目 API Key 只能访问绑定的项目;当前项目 API Key 默认权限集合不包含
cloud.credentials.read 和 cloud.storage.write,这两类操作请使用已授予对应权限的成员短期 Token、OAuth Access Token 或用户 API Key。
开通与连接
开通项目云服务
cloud.write。
该接口同步完成云服务开通。首次开通成功后返回 status: "ready"、created: true;已经开通的项目返回 created: false。无需获取任务 ID 或等待异步开通任务。
请求体可以省略,也可以传 {}。
首次开通响应示例:
403 quota_exceeded。
获取云服务凭证
cloud.credentials.read。
Cache-Control: private, no-store)。应在可信服务端调用,只将应用需要的 url 和 anon_key 配置给客户端。service_key 不得发送到浏览器、写入前端环境变量或日志。项目尚未开通时返回 409 cloud_not_enabled。
云数据库
查询数据库状态
cloud.database.read。
status 字段:
200;该接口不返回实例 ID、数据库地址或凭证。需要开通时调用 POST /projects/{project_id}/cloud。
查询数据表结构
cloud.database.read。
返回 public Schema 中的数据表、字段和行级安全(RLS)信息,不接受自定义 Schema 参数。
columns[] 字段:
执行 SQL
cloud.database.write,包括只执行 SELECT 的请求。
该接口接受查询、数据变更、表结构变更、权限变更、事务控制及多条 SQL,适用于可信服务端的数据库管理。应用用户的数据读写应通过应用客户端及对应 RLS 策略处理。
无需业务表即可执行的连通性示例:
响应最多 100 行且不超过 1 MiB。
truncated: true 只表示返回的数据不完整,SQL 仍可能已经完整执行。响应超过 1 MiB 时返回 413 response_too_large,请通过列选择、过滤条件和 SQL 分页缩小结果。
同一请求中的多条 SQL 按同一事务执行,任一 SQL 语句失败时整次请求回滚。响应大小限制、请求超时和网络中断不等于数据库回滚;对有副作用的 SQL,先查询实际数据或表结构确认结果,再决定是否重试。
SQL 结果值的映射:
SQL 语法、对象名称或约束错误返回
400 invalid_query,需要修改 SQL 后重试;云服务故障返回 502 upstream_error。
对象存储
支持查询存储桶、分页查询对象、上传/覆盖对象及批量删除对象。本文接口不提供独立的存储桶创建、对象下载或下载链接签发操作;应用文件访问可使用云服务客户端的 Storage 能力。 所有bucket_name 长度为 1~100,以英文字母或数字开头,其余字符允许英文字母、数字、.、_、-。请使用真实存在的桶名,不要直接照搬示例 uploads。
查询存储桶
cloud.storage.read。
查询对象列表
cloud.storage.read。
Query 参数:
按对象名升序分页。翻页时保持相同的
bucket_name 和 prefix,原样传回令牌,不要自行解析或修改。
objects[] 字段:
上传或覆盖对象
cloud.storage.write。
path 不能以 / 开头或结尾,不能含空路径段、.、.. 或控制字符。文件写入还需满足目标桶的文件类型和大小配置。
以下内容 aGVsbG8= 解码后为 hello,目标桶需允许 text/plain:
413 artifact_too_large。此接口返回上传结果,不返回下载 URL。
删除对象
cloud.storage.write。
云函数
云函数运行在 Deno Edge Runtime,函数包的根目录应包含index.ts。function_name 长度为 1~64,必须以英文字母开头,其余字符仅允许英文字母、数字、_ 和 -。
查询云函数
cloud.function.read。
functions 数组,每个函数包含:
部署或更新云函数
cloud.function.write。
函数不存在时创建,名称已存在时更新。部署成功同步返回 HTTP 200 和函数信息;此接口不返回异步任务 ID。新建函数受云函数数量权益和项目额度约束。
准备
hello-world/index.ts,在该目录内部打包,避免 ZIP 多套一层目录。以下示例依赖 zip 和 Python 3,仅用于生成请求体:
function 与上文函数列表的单项结构一致:
413 artifact_too_large;新增数量超限返回 403 quota_exceeded;数量权益暂时无法确认时可返回 503 service_unavailable。
函数的业务调用通过云实例的 /functions/v1/{function_name} 入口完成,具体代码与应用登录态处理见 云服务使用指南。不要将 Open API 管理令牌作为应用用户 JWT 使用。
删除云函数
cloud.function.write。
查询云函数日志
cloud.function.logs.read。
Query 参数:
start_time 必须小于 end_time,单次范围不超过 1 小时。不传时间即查询最近 15 分钟。该接口不返回分页令牌;需要更长历史时按时间窗口分次查询。
用户认证方式
启用认证方式
cloud.write。
该接口启用指定认证方式,不提供禁用参数;不应通过省略某一方式或传空数组来关闭已启用方式。启用配置后,登录、注册、验证码等应用流程仍需在业务代码中接入。
providers 只列出本次请求的认证方式:
Secret
Secret 适合保存云函数调用外部服务所需的密钥,函数中可通过Deno.env.get('SECRET_NAME') 读取。接口只返回名称和更新结果,不返回 Secret 明文。
secret_name 长度为 1~128,必须以英文字母或 _ 开头,只能包含英文字母、数字和 _。
查询 Secret 列表
cloud.secret.read。
创建或覆盖 Secret
cloud.secret.write。
删除 Secret
cloud.secret.write。
404 not_found。
限流与错误处理
所有调用都受凭证/应用及当前用户维度的限流约束。部分操作另有项目维度限制,同类写入共享下表对应的限制:
遇到
429 时按 Retry-After 响应头等待,不要立即密集重试。其他限流维度也可能先达到上限。
错误使用 application/problem+json:
响应头也提供
X-Meoo-Trace-Id。常见错误如下:
项目冻结、封禁或其他不可操作状态还可能返回相应项目错误码。客户端应按
code 处理已知情况,并以 HTTP 状态码处理未来新增的错误码。
