openapi: 3.0.0 info: version: '2016-11-23' x-release: v4 title: 'AWS Step Functions #X Amz Target=AWSStepFunctions.CreateActivity #X Amz Target=AWSStepFunctions.CreateActivity #X Amz Target=AWSStepFunctions.CreateStateMachine API' description: Step Functions

Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.

You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.

Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on Amazon Web Services, your own servers, or any system that has access to Amazon Web Services. You can access and use Step Functions using the console, the Amazon Web Services SDKs, or an HTTP API. For more information about Step Functions, see the Step Functions Developer Guide .

x-logo: url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: states x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/states-2016-11-23.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://states.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The AWS SFN multi-region endpoint - url: https://states.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The AWS SFN multi-region endpoint - url: http://states.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The AWS SFN endpoint for China (Beijing) and China (Ningxia) - url: https://states.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The AWS SFN endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] 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.

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

responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateStateMachineOutput' '480': description: InvalidArn content: application/json: schema: $ref: '#/components/schemas/InvalidArn' '481': description: InvalidDefinition content: application/json: schema: $ref: '#/components/schemas/InvalidDefinition' '482': description: InvalidName content: application/json: schema: $ref: '#/components/schemas/InvalidName' '483': description: InvalidLoggingConfiguration content: application/json: schema: $ref: '#/components/schemas/InvalidLoggingConfiguration' '484': description: InvalidTracingConfiguration content: application/json: schema: $ref: '#/components/schemas/InvalidTracingConfiguration' '485': description: StateMachineAlreadyExists content: application/json: schema: $ref: '#/components/schemas/StateMachineAlreadyExists' '486': description: StateMachineDeleting content: application/json: schema: $ref: '#/components/schemas/StateMachineDeleting' '487': description: StateMachineLimitExceeded content: application/json: schema: $ref: '#/components/schemas/StateMachineLimitExceeded' '488': description: StateMachineTypeNotSupported content: application/json: schema: $ref: '#/components/schemas/StateMachineTypeNotSupported' '489': description: TooManyTags content: application/json: schema: $ref: '#/components/schemas/TooManyTags' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateStateMachineInput' parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - AWSStepFunctions.CreateStateMachine summary: AWS Step Functions - Create State Machine x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - '#X Amz Target=AWSStepFunctions.CreateStateMachine' components: schemas: Enabled: type: boolean InvalidName: {} StateMachineLimitExceeded: {} StateMachineTypeNotSupported: {} TagValue: type: string minLength: 0 maxLength: 256 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: _ . : / = + - @.

' 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. LoggingConfiguration: type: object properties: level: allOf: - $ref: '#/components/schemas/LogLevel' - description: Defines which category of execution history events are logged. includeExecutionData: allOf: - $ref: '#/components/schemas/IncludeExecutionData' - description: Determines whether execution data is included in your log. When set to 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. InvalidTracingConfiguration: {} StateMachineDeleting: {} InvalidLoggingConfiguration: {} InvalidDefinition: {} TracingConfiguration: type: object properties: enabled: allOf: - $ref: '#/components/schemas/Enabled' - description: When set to true, X-Ray tracing is enabled. description: 'Selects whether or not the state machine''s X-Ray tracing is enabled. Default is false ' IncludeExecutionData: type: boolean StateMachineType: type: string enum: - STANDARD - EXPRESS LogLevel: type: string enum: - ALL - ERROR - FATAL - 'OFF' 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:

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 is STANDARD. 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: allOf: - $ref: '#/components/schemas/TagList' - description: '

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: _ . : / = + - @.

' tracingConfiguration: allOf: - $ref: '#/components/schemas/TracingConfiguration' - description: Selects whether X-Ray tracing is enabled. StateMachineAlreadyExists: {} Arn: type: string minLength: 1 maxLength: 256 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:

Timestamp: type: string format: date-time Definition: type: string minLength: 1 maxLength: 1048576 format: password 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 TagKey: type: string minLength: 1 maxLength: 128 InvalidArn: {} TooManyTags: {} TagList: type: array items: $ref: '#/components/schemas/Tag' LogDestinationList: type: array items: $ref: '#/components/schemas/LogDestination' parameters: 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 X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 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-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/states/ x-hasEquivalentPaths: true