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.

HTTP
PUT $CLOUDSIGMA_API_BASE/workflow-templates/{id}

Before you call this API

Configure the regional API endpoint and authentication, and select the target workspace.

First query workflow template details to obtain the current complete definition; the fields to be retained should be copied to this request. Updating built-in templates also requires administrator rights.

Request

Shell
curl -X PUT "$CLOUDSIGMA_API_BASE/workflow-templates/$TEMPLATE_ID" \
  -H "X-API-Key: $CLOUDSIGMA_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
  }'

Request body

ParameterTypeRequiredDescription
namestringRequiredThe updated template name. Custom templates cannot have the same name in the current workspace and language.
descriptionstringUpdated template description; this field will be cleared if not passed.
dsl_yamlstringRequiredUpdated workflow DSL YAML.
runtime_fieldsstringThe updated runtime field JSON text; if not passed, the field will be cleared. Must be valid JSON when provided.
is_builtinbooleanTemplate 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_keystringCan 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.

Successful response

Returns 200 on success. data is the updated complete template object.

The response fields are as follows.

JSON
{
  "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"
  }
}
FieldTypeDescription
codestringOK when successful.
msgstringOK when successful.
data.idintegerTemplate ID.
data.workspace_idstringThe ID of the workspace to which it belongs; the built-in template is an empty string.
data.created_bystringCreator ID.
data.updated_bystringLast updater ID.
data.template_keystringBuilt-in template identifier; custom template is an empty string.
data.namestringThe updated name.
data.descriptionstringUpdated description.
data.languagestringTemplate language.
data.dsl_yamlstringUpdated workflow DSL YAML.
data.runtime_fieldsstringUpdated runtime field JSON text.
data.is_builtinbooleanThe original type of the template.
data.created_atstringCreation time; may be omitted if not provided by the server.
data.updated_atstringLast updated time; may be omitted if not provided by the server.

Error response

JSON
{
  "code": "ErrTemplateTypeImmutable",
  "msg": "不能修改模板类型",
  "data": null
}
FieldTypeDescription
codestringError code.
msgstringReadable error message.
datanull`null` in an error response.

Follow-up operations

Query workflow template details confirms the update result.

Last updated on