Skip to content

地址、密钥与报错 ​

先记住三件事:把请求发到对的地址、按宿主设置携带密钥、看 HTTP 状态判断结果。

请求地址 ​

本机开发时,API 默认监听 http://localhost:8188。业务接口一般以 /api 开头,例如:

http
GET /api/projects

健康检查是 GET /healthz。它不需要 API 密钥,可用于确认服务是否启动。/swagger 和 /openapi/v1.json 是默认的开发环境文档地址;宿主可以修改这些路径,也可以关闭文档页面。

什么时候要带密钥 ​

官方 SereinFlow.Api 宿主默认关闭 REST 鉴权,方便本机开发。将 SereinFlow 集成到其他 ASP.NET Core 宿主时,REST 默认要求鉴权。实际行为由 SereinFlow:Api:RequireAuthentication 决定。

开启后,请在请求头放入:

http
Authorization: Bearer <你的密钥>

管理项目、流程和环境的接口通常需要管理员密钥。运行相关接口分别检查 run.execute、run.read 或 run.message.publish 权限。管理密钥的接口即使 REST 鉴权开关关闭,也仍要求管理员密钥;首次创建管理员密钥的 /mcp-keys/setup 只接受本机请求。

完整密钥只在创建或轮换时显示一次。把它放在自己的安全配置中,不要写进文章、源码或日志。

看懂常见状态码 ​

状态一般表示什么先检查什么
200 或 201已完成,或已创建读取返回的对象和 ID
202请求已接受,仍可能在执行用返回的 ID 再查状态
400请求内容不合要求看返回的校验问题
401没有可用密钥看 Authorization 请求头
403有密钥,但权限不够看密钥的项目范围和权限
404地址中的资源不存在检查 ID、路径及所属项目
409当前版本或状态不允许操作重新读取最新状态再决定下一步

大多数错误使用 application/problem+json,常见字段是 status 和 title;部分会带 code 或 currentVersion。流程校验等场景可能返回别的 JSON 结构,因此请保留整个响应体帮助排查。

用 PowerShell 发第一个请求 ​

powershell
Invoke-RestMethod 'http://localhost:8188/api/projects'

如果你的宿主要求密钥,可以加上 -Headers @{ Authorization = "Bearer $apiKey" }。这里的 $apiKey 由你在本机安全地赋值。

SereinFlow 使用与开发文档