openapi: 3.1.0 info: title: 'Amazon Step Functions Executions #X Amz Target=AWSStepFunctions.CreateStateMachine API' description: Amazon Step Functions is a serverless workflow orchestration service that lets you coordinate distributed applications and microservices using visual workflows. This API enables you to create and manage state machines, start and monitor executions, and retrieve execution history. version: '2016-11-23' contact: name: Amazon Web Services url: https://aws.amazon.com/contact-us/ termsOfService: https://aws.amazon.com/service-terms/ servers: - url: https://states.{region}.amazonaws.com description: Amazon Step Functions Regional Endpoint variables: region: default: us-east-1 description: AWS Region security: - sigv4Auth: [] tags: - name: '#X Amz Target=AWSStepFunctions.CreateStateMachine' paths: /#X-Amz-Target=AWSStepFunctions.CreateStateMachine: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: CreateStateMachine description:
Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), and so on. State machines are specified using a JSON-based, structured language. For more information, see Amazon States Language in the Step Functions User Guide.
If you set the publish parameter of this API action to true, it publishes version 1 as the first revision of the state machine.
This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
CreateStateMachine is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. CreateStateMachine's idempotency check is based on the state machine name, definition, type, LoggingConfiguration, and TracingConfiguration. The check is also based on the publish and versionDescription parameters. If a following request has a different roleArn or tags, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, roleArn and tags will not be updated, even if they are different.
false, data is excluded.
destinations:
allOf:
- $ref: '#/components/schemas/LogDestinationList'
- description: An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF.
description: The LoggingConfiguration data type is used to set CloudWatch Logs options.
LogDestinationList:
type: array
items:
$ref: '#/components/schemas/LogDestination'
Tag:
type: object
properties:
key:
allOf:
- $ref: '#/components/schemas/TagKey'
- description: The key of a tag.
value:
allOf:
- $ref: '#/components/schemas/TagValue'
- description: The value of a tag.
description: 'Tags are key-value pairs that can be associated with Step Functions state machines and activities.
An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.
Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.
true, X-Ray tracing is enabled.
description: 'Selects whether or not the state machine''s X-Ray tracing is enabled. Default is false '
TagList:
type: array
items:
$ref: '#/components/schemas/Tag'
Definition:
type: string
minLength: 1
maxLength: 1048576
format: password
LogDestination:
type: object
properties:
cloudWatchLogsLogGroup:
allOf:
- $ref: '#/components/schemas/CloudWatchLogsLogGroup'
- description: An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the CloudFormation User Guide.
description:
CreateStateMachineInput:
type: object
required:
- name
- definition
- roleArn
title: CreateStateMachineInput
properties:
name:
allOf:
- $ref: '#/components/schemas/Name'
- description: 'The name of the state machine.
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 _.
' definition: allOf: - $ref: '#/components/schemas/Definition' - description: The Amazon States Language definition of the state machine. See Amazon States Language. roleArn: allOf: - $ref: '#/components/schemas/Arn' - description: The Amazon Resource Name (ARN) of the IAM role to use for this state machine. type: allOf: - $ref: '#/components/schemas/StateMachineType' - description: Determines whether a Standard or Express state machine is created. The default isSTANDARD. You cannot update the type of a state machine once it has been created.
loggingConfiguration:
allOf:
- $ref: '#/components/schemas/LoggingConfiguration'
- description: Defines what execution history events are logged and where they are logged.
By default, the level is set to OFF. For more information see Log Levels in the Step Functions User Guide.
Tags to be added when creating a state machine.
An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.
Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.
true to publish the first version of the state machine during creation. The default is false.
versionDescription:
allOf:
- $ref: '#/components/schemas/VersionDescription'
- description: Sets description about the state machine version. You can only set the description if the publish parameter is set to true. Otherwise, if you set versionDescription, but publish to false, this API action throws ValidationException.
CloudWatchLogsLogGroup:
type: object
properties:
logGroupArn:
allOf:
- $ref: '#/components/schemas/Arn'
- description: 'The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :* '
description:
Name:
type: string
minLength: 1
maxLength: 80
InvalidTracingConfiguration: {}
ValidationException: {}
StateMachineTypeNotSupported: {}
InvalidArn: {}
StateMachineType:
type: string
enum:
- STANDARD
- EXPRESS
Enabled:
type: boolean
Publish:
type: boolean
TagKey:
type: string
minLength: 1
maxLength: 128
CreateStateMachineOutput:
type: object
required:
- stateMachineArn
- creationDate
properties:
stateMachineArn:
allOf:
- $ref: '#/components/schemas/Arn'
- description: The Amazon Resource Name (ARN) that identifies the created state machine.
creationDate:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: The date the state machine is created.
stateMachineVersionArn:
allOf:
- $ref: '#/components/schemas/Arn'
- description: The Amazon Resource Name (ARN) that identifies the created state machine version. If you do not set the publish parameter to true, this field returns null value.
LogLevel:
type: string
enum:
- ALL
- ERROR
- FATAL
- 'OFF'
InvalidDefinition: {}
IncludeExecutionData:
type: boolean
StateMachineDeleting: {}
TooManyTags: {}
VersionDescription:
type: string
maxLength: 256
format: password
ConflictException: {}
InvalidLoggingConfiguration: {}
TagValue:
type: string
minLength: 0
maxLength: 256
InvalidName: {}
StateMachineAlreadyExists: {}
Timestamp:
type: string
format: date-time
StateMachineLimitExceeded: {}
Arn:
type: string
minLength: 1
maxLength: 256
parameters:
X-Amz-SignedHeaders:
name: X-Amz-SignedHeaders
in: header
schema:
type: string
required: false
X-Amz-Signature:
name: X-Amz-Signature
in: header
schema:
type: string
required: false
X-Amz-Security-Token:
name: X-Amz-Security-Token
in: header
schema:
type: string
required: false
X-Amz-Content-Sha256:
name: X-Amz-Content-Sha256
in: header
schema:
type: string
required: false
X-Amz-Date:
name: X-Amz-Date
in: header
schema:
type: string
required: false
X-Amz-Credential:
name: X-Amz-Credential
in: header
schema:
type: string
required: false
X-Amz-Algorithm:
name: X-Amz-Algorithm
in: header
schema:
type: string
required: false
securitySchemes:
sigv4Auth:
type: apiKey
name: Authorization
in: header
description: AWS Signature Version 4 authentication
externalDocs:
description: Amazon Step Functions API Reference
url: https://docs.aws.amazon.com/step-functions/latest/apireference/