Update workflow template¶
Replaces the contents of a workflow template. The interface is updated as fully defined; fields to be retained should also be provided in the request.
PUT https://moi.matrixorigin.cn/newmoi/workflow-templates/{id}
Preparation before calling¶
First query workflow template details to obtain the current complete definition; the fields to be retained should be copied to this request. Prepare a personal access token and target workspace ID that has access to the target workspace. Updating built-in templates also requires administrator rights.
Request body¶
namestringRequired- The updated template name. Custom templates cannot have the same name in the current workspace and language.
descriptionstring- Updated template description; this field will be cleared if not passed.
dsl_yamlstringRequired- Updated workflow DSL YAML.
runtime_fieldsstring- The updated runtime field JSON text; if not passed, the field will be cleared. Must be valid JSON when provided.
is_builtinboolean- Template type cannot be changed. When updating a custom template set to true, it will be rejected; the permissions of the built-in template are verified by the server based on the original template type.
template_keystring- Can be omitted to retain the original value when updating a built-in template; it is ignored and cleared in custom templates. It cannot be used to change the template type.
Request example
curl -X PUT "https://moi.matrixorigin.cn/newmoi/workflow-templates/$TEMPLATE_ID" \
-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
}'
Successful response¶
Returns 200 on success. data is the updated complete template object.
The response fields are as follows.
codestring- OK when successful.
msgstring- OK when successful.
data.idinteger- Template ID.
data.workspace_idstring- The ID of the workspace to which it belongs; the built-in template is an empty string.
data.created_bystring- Creator ID.
data.updated_bystring- Last updater ID.
data.template_keystring- Built-in template identifier; custom template is an empty string.
data.namestring- The updated name.
data.descriptionstring- Updated description.
data.languagestring- Template language.
data.dsl_yamlstring- Updated workflow DSL YAML.
data.runtime_fieldsstring- Updated runtime field JSON text.
data.is_builtinboolean- The original type of the template.
data.created_atstring- Creation time; may be omitted if not provided by the server.
data.updated_atstring- Last updated time; may be omitted if not provided by the server.
Successful response example
{
"code": "OK",
"msg": "OK",
"data": {
"id": 12,
"workspace_id": "ws-001",
"created_by": "user-001",
"updated_by": "user-002",
"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-18T11:00:00Z"
}
}
Error response¶
codestring- Error code.
msgstring- Readable error message.
datanull- `null` in an error response.
Error response example
{
"code": "ErrTemplateTypeImmutable",
"msg": "不能修改模板类型",
"data": null
}
Follow-up operations¶
Query workflow template details confirms the update result.
Last updated on