All Products
Search
Document Center

CloudFlow:CreateFlow

Last Updated:Oct 23, 2026

Creates a flow.

Operation description

Operation description

  • The number of flows that each user can create is subject to resource limits. For more information, see Limits. If you have special requirements, submit a ticket to request an adjustment.

  • Flows are distinguished by name at the user level. Flows with the same name cannot exist under a single account.

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:CreateFlow

create

*Flow

acs:fnf:{#regionId}:{#accountId}:flow/*

None None

Request parameters

Parameter

Type

Required

Description

Example

Name

string

Yes

The name of the flow. The name must be unique within the same region and cannot be modified after creation. Valid values:

  • The name can contain letters, digits, underscores (_), and hyphens (-).

  • The first character must be a letter or an underscore (_).

  • The name is case-sensitive.

  • The name must be 1 to 128 characters in length.

my_flow_name

Definition

string

Yes

The definition of the flow, which follows the Flow Definition Language (FDL) syntax standard. For forward compatibility, the system supports two flow definition specifications.

Note

In the preceding flow definition examples, Name: my_flow_name specifies the flow name, which must be consistent with the Name request parameter.

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

Description

string

Yes

The description of the flow.

my test flow

Type

string

Yes

The type of the flow. Valid value: FDL.

Valid values:

  • FDL :

    Flow Definition Language.

FDL

RoleArn

string

No

The resource descriptor of the authorization role on which the flow execution depends. When the flow is executed, CloudFlow assumes this role to operate related flow resources.

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

ExternalStorageLocation

string

No

The external storage location.

/path

ExecutionMode

string

No

The execution mode. Valid values: Express and Standard. For forward compatibility, an empty string is equivalent to the Standard execution mode.

Valid values:

  • Express :

    Express mode.

  • Standard :

    Standard mode.

Standard

Environment

object

No

The environment context that can be accessed when you execute the flow.

Variables

array<object>

No

The list of environment 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

ResourceGroupId

string

No

The ID of the resource group.

Response elements

Element

Type

Description

Example

object

The response data.

Type

string

The type of the flow.

Valid values:

  • FDL :

    Flow Definition Language.

FDL

Definition

string

The definition of the flow. For forward compatibility, the system supports two flow definition specifications.

Legacy: "type: flow\nversion: v1\nname: my_flow_name\nsteps:\n - type: pass\n name: mypass" Latest: "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 authorization role on which the flow execution depends. When the flow is executed, CloudFlow assumes this role to operate related flow resources.

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

RequestId

string

The request ID. CloudFlow returns a request ID whenever an HTTP status code is returned.

testRequestID

Description

string

The description of the flow.

my test flow

Name

string

The name of the flow.

my_flow_name

CreatedTime

string

The time when the flow was created. The time is displayed in UTC and follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss.sssZ format.

2019-01-01T01:01:01.001Z

LastModifiedTime

string

The time when the flow was last modified. The time is displayed in UTC and follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss.sssZ format.

2019-01-01T01:01:01.001Z

Id

string

The unique identifier of the flow.

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

ExecutionMode

string

The execution mode. Valid values: Express and Standard. For forward compatibility, this field may be an empty string, which is equivalent to the Standard mode.

Standard

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

ResourceGroupId

string

The ID of the resource group to which the flow belongs.

rg-xxx

Examples

Success response

JSON format

{
  "Type": "FDL",
  "Definition": "Legacy version:\n\"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass\"\n\nNew version:\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",
  "Name": "my_flow_name",
  "CreatedTime": "2019-01-01T01:01:01.001Z",
  "LastModifiedTime": "2019-01-01T01:01:01.001Z",
  "Id": "e589e092-e2c0-4dee-b306-3574ddfdddf5****",
  "ExecutionMode": "Standard",
  "Environment": {
    "Variables": [
      {
        "Name": "key",
        "Value": "value",
        "Description": "description"
      }
    ]
  },
  "ResourceGroupId": "rg-xxx"
}

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 EntityTooLarge The payload size exceeds maximum allowed size (%s bytes). The payload size exceeds maximum allowed size (%s bytes).
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.
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.
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 FlowAlreadyExists Flow %s already exists. Flow %s already exists.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.