All Products
Search
Document Center

CloudFlow:UpdateFlow

Last Updated:Oct 24, 2025

Updates the content of a flow.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

fnf:UpdateFlow

update

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

Name

string

Yes

The name of the created flow.

my_flow_name

Definition

string

No

The definition of the flow. The definition must comply with the Flow Definition Language (FDL) syntax. For forward compatibility, the system supports two versions of flow definition specifications.

Note

In the preceding flow definition example, `Name: my_flow_name` specifies the name of the flow. The name must be the same as the value of the `Name` input parameter.

旧版: " type: flow version: v1 name: my_flow_name steps: - type: pass name: mypass " 新版: " Type: StateMachine SpecVersion: v1 Name: my_flow_name StartAt: my_state States: - Type: Pass Name: my_state End: true "

Description

string

No

The description of the flow.

my test flow

Type

string

No

The type of the flow. Set the value to FDL.

FDL

RoleArn

string

No

The resource descriptor of the RAM role that the flow execution requires. The execution engine assumes this role to call the APIs of related resources when the flow is executed.

acs:ram:${region}:${accountID}:${role}

Environment

object

No

The list of variables that can be accessed during flow execution.

Variables

array<object>

No

The list of variables that can be accessed during flow execution.

object

No

The list of variables that can be accessed during flow execution.

Name

string

No

The name of the variable.

key

Value

string

No

The value of the variable.

value

Description

string

No

The description of the variable.

description

Response elements

Element

Type

Description

Example

object

The returned data.

Type

string

The type of the flow.

FDL

Definition

string

The definition of the flow, which complies with the FDL syntax. For forward compatibility, the system supports two versions of flow definition specifications.

旧版: "type: flow\nversion: v1\nname: my_flow_name\nsteps:\n - type: pass\n name: mypass" 新版: "Type: StateMachine\nSpecVersion: v1\nName: my_flow_name\nStartAt: my_state\nStates:\n - Type: Pass\n Name: my_state\n End: true"

RoleArn

string

The resource descriptor of the RAM role that the flow execution requires. The execution engine assumes this role to call the APIs of related resources when the flow is executed.

acs:ram:${region}:${accountID}:${role}

RequestId

string

The request ID.

testRequestID

Description

string

The description of the flow.

my test flow

ExternalStorageLocation

string

The external storage location.

/path

Name

string

The name of the flow.

my_flow_name

CreatedTime

string

The time when the flow was created.

2019-01-01T01:01:01.001Z

LastModifiedTime

string

The time when the flow was last modified.

2019-01-01T01:01:01.001Z

Id

string

The unique ID of the flow.

e589e092-e2c0-4dee-b306-3574ddfdddf5****

Environment

object

The list of variables that can be accessed during flow execution.

Variables

array<object>

The list of variables that can be accessed during flow execution.

object

The list of variables that can be accessed during flow execution.

Name

string

The name of the variable.

key

Value

string

The value of the variable.

value

Description

string

The description of the variable.

description

Examples

Success response

JSON format

{
  "Type": "FDL",
  "Definition": "旧版:\n\"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n  - type: pass\\n    name: mypass\"\n\n新版:\n\"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n  - Type: Pass\\n    Name: my_state\\n    End: true\"",
  "RoleArn": "acs:ram:${region}:${accountID}:${role}",
  "RequestId": "testRequestID",
  "Description": "my test flow",
  "ExternalStorageLocation": "/path",
  "Name": "my_flow_name",
  "CreatedTime": "2019-01-01T01:01:01.001Z",
  "LastModifiedTime": "2019-01-01T01:01:01.001Z",
  "Id": "e589e092-e2c0-4dee-b306-3574ddfdddf5****",
  "Environment": {
    "Variables": [
      {
        "Name": "key",
        "Value": "value",
        "Description": "description"
      }
    ]
  }
}

Error codes

HTTP status code

Error code

Error message

Description

400 ActionNotSupported The requested API operation '%s' is incorrect. Please check.
400 APIVersionNotSupported The requested API version '%s' is not supported yet. Please check.
400 InvalidArgument Parameter error. Parameter error.
400 MissingRequiredHeader The HTTP header '%s' must be specified. The HTTP header '%s' must be specified.
400 MissingRequiredParams The HTTP query '%s' must be specified. The HTTP query '%s' must be specified.
412 PreconditionFailed The resource to be modified has been changed. The resource to be modified has been changed. Please try again later.
500 InternalServerError An internal error has occurred. Please retry. An internal error has occurred. Please retry.
403 AccessDenied The resources doesn't belong to you.
403 InvalidAccessKeyID The AccessKey ID %s is invalid. The AccessKey ID %s is invalid.
403 RequestTimeTooSkewed The difference between the request time %s and the current time %s is too large. The difference between the request time %s and the current time %s is too large.
403 SignatureNotMatch The request signature we calculated does not match the signature you provided. Check your access key and signing method. The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.
404 FlowNotExists Flow %s does not exist. Flow %s does not exist.
415 UnsupportedMediaType The content type must be "application/json". The content type must be "application/json".
429 ResourceThrottled The request is throttled. Please try again later. The request is throttled. Please try again later.
409 ConcurrentUpdateError Update conflict, please retry. Update conflict, please retry.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.