[ aws . stepfunctions ]



Starts a state machine execution.


StartExecution is idempotent. If StartExecution is called with the same name and input as a running execution, the call will succeed and return the same response as the original request. If the execution is closed or if the input is different, it will return a 400 ExecutionAlreadyExists error. Names can be reused after 90 days.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--state-machine-arn <value>
[--name <value>]
[--input <value>]
[--trace-header <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--state-machine-arn (string)

The Amazon Resource Name (ARN) of the state machine to execute.

--name (string)

The name of the execution. This name must be unique for your AWS account, region, and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide .

A name must not contain:

  • white space

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters " # % \ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F , U+007F-009F )

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

--input (string)

The string that contains the JSON input data for the execution, for example:

"input": "{\"first_name\" : \"test\"}"


If you don’t include any JSON input data, you still must include the two braces, for example: "input": "{}"

Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

--trace-header (string)

Passes the AWS X-Ray trace header. The trace header can also be passed in the request payload.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.


executionArn -> (string)

The Amazon Resource Name (ARN) that identifies the execution.

startDate -> (timestamp)

The date the execution is started.