创建工作流模板

在当前工作区创建自定义工作流模板。自定义模板仅在当前工作区可见;内置模板需要管理员权限。

POST https://moi.matrixorigin.cn/newmoi/workflow-templates

调用前准备

准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和模板的工作流 DSL。创建内置模板还需要管理员权限。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:要创建模板的工作区 ID,通过 X-Workspace-ID Header 传递。

请求体

字段

类型

是否必填

说明

template_key

string

内置模板的标识。创建自定义模板时服务端会忽略此字段并返回空字符串。创建内置模板时必须提供,且同一语言下不能重复。

name

string

模板名称。自定义模板在当前工作区、当前语言下不能重名。

description

string

模板说明。

dsl_yaml

string

工作流 DSL 的 YAML 文本。

runtime_fields

string

运行时字段定义的 JSON 文本;提供时必须是合法 JSON 字符串。

is_builtin

boolean

是否创建为内置模板,默认 false。设为 true 需要管理员权限,且不能使用受系统管理的内置模板标识。

请求示例

以下示例创建自定义模板:

curl -X POST "https://moi.matrixorigin.cn/newmoi/workflow-templates" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "<TEMPLATE_NAME>",
    "description": "<DESCRIPTION>",
    "dsl_yaml": "<WORKFLOW_DSL_YAML>",
    "runtime_fields": "{\"fields\":[]}",
    "is_builtin": false
  }'

成功响应

成功时返回 200data 为新建的模板。保存 data.id,后续查询、更新或删除模板需要使用该值。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "id": 12,
    "workspace_id": "ws-001",
    "created_by": "user-001",
    "updated_by": "user-001",
    "template_key": "",
    "name": "daily-import-template",
    "description": "每日导入工作流模板",
    "language": "zh-CN",
    "dsl_yaml": "workflow: {}",
    "runtime_fields": "{\"fields\":[]}",
    "is_builtin": false,
    "created_at": "2026-08-18T10:00:00Z",
    "updated_at": "2026-08-18T10:00:00Z"
  }
}

响应字段如下。

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data.id

integer

模板 ID。

data.workspace_id

string

所属工作区 ID;内置模板为空字符串。

data.created_by

string

创建者标识。

data.updated_by

string

最后更新者标识。

data.template_key

string

内置模板标识;自定义模板为空字符串。

data.name

string

模板名称。

data.description

string

模板说明。

data.language

string

模板语言,例如 zh-CN

data.dsl_yaml

string

已保存的工作流 DSL YAML。

data.runtime_fields

string

已保存的运行时字段 JSON 文本;未配置时为空字符串。

data.is_builtin

boolean

是否为内置模板。

data.created_at

string

创建时间;服务端未提供时可能省略。

data.updated_at

string

最后更新时间;服务端未提供时可能省略。

错误响应

失败响应的 datanull

{
  "code": "ErrParamInvalid",
  "msg": "请求参数无效",
  "data": null
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

ErrParamInvalid

请求体无法解析,namedsl_yaml 为空,或 runtime_fields 不是合法 JSON 文本。

检查 JSON 结构,并提供非空的名称和 DSL。

400

ErrWorkspaceIDMissing

请求上下文中缺少工作区。

传入有效的 X-Workspace-ID

400

ErrSeedTemplateManaged

尝试使用由系统管理的内置模板标识。

创建自定义模板,或使用非受管的内置模板标识。

403

ErrPermissionDenied

创建内置模板时当前身份不是管理员。

使用有管理员权限的身份,或创建自定义模板。

409

ErrDuplicateName

自定义模板名称在当前工作区和语言下已存在。

修改 name 后重试。

409

ErrDuplicateKey

内置模板的 template_key 在当前语言下已存在。

更换 template_key

500

ErrServer

服务端未能创建模板。

稍后重试。

后续操作

使用 data.id 查询工作流模板详情

最后更新于