All Products
Search
Document Center

CloudFlow:CreateFlow

Last Updated:Oct 24, 2025

Creates a flow.

Operation description

Description

  • The number of flows that you can create is limited by your resource quota. For more information, see Limits. To request a quota increase, you can submit a ticket.

  • Flow names must be unique within an Alibaba Cloud 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 changed after the flow is created. The name must meet the following requirements:

  • It can contain letters (a–z and A–Z), digits (0–9), underscores (_), and hyphens (-).

  • It must start with a letter or an underscore (_).

  • It is case-sensitive.

  • It must be 1 to 128 characters in length.

my_flow_name

Definition

string

Yes

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

Note

In the example flow definitions, Name: my_flow_name specifies the flow name. The value must be the same as the value of the Name request 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

Yes

The description of the flow.

my test flow

Type

string

Yes

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

Valid values:

  • FDL :

    Flow description language

FDL

RoleArn

string

No

The Alibaba Cloud Resource Name (ARN) of the RAM role that Serverless Workflow assumes to access resources when the flow is executed.

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 processed as the Standard execution mode.

Valid values:

  • Express :

    Quick execution mode

  • Standard :

    Standard execution pattern

Standard

Environment

object

No

The environment context that the flow can access during its execution.

Variables

array<object>

No

The list of environment variables that the flow can access during its execution.

object

No

The list of variables that the flow can access during its 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.

Valid values:

  • FDL :

    Flow Description Language

FDL

Definition

string

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

旧版: "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 ARN of the RAM role that Serverless Workflow assumes to access resources when the flow is executed.

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

RequestId

string

The ID of the request. Serverless Workflow returns a request ID for each request that has an HTTP status code.

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.

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****

ExecutionMode

string

The execution mode. Valid values: Express and Standard. For forward compatibility, if this parameter is left empty, the Standard mode is used.

Standard

Environment

object

The list of variables that the flow can access during its execution.

Variables

array<object>

The list of variables that the flow can access during its execution.

object

The list of variables that the flow can access during its 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",
  "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"
      }
    ]
  }
}

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.