AWS Step Functions #X Amz Target=AWSStepFunctions.CreateStateMachine API

The #X Amz Target=AWSStepFunctions.CreateStateMachine API from AWS Step Functions — 1 operation(s) for #x amz target=awsstepfunctions.createstatemachine.

Operations 1

POST /#X-Amz-Target=AWSStepFunctions.CreateStateMachine AWS Step Functions - Create State Machine #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aws-step-functions-x-amz-target-awsstepfunctions-createstatemachine-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aws-step-functions-x-amz-target-awsstepfunctions-createstatemachine-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  x-release: v4
  title: 'AWS Step Functions #X Amz Target=AWSStepFunctions.CreateActivity #X Amz Target=AWSStepFunctions.CreateActivity #X Amz Target=AWSStepFunctions.CreateStateMachine #X Amz Target=AWSStepFunctions.CreateStateMachine API'
  description: <fullname>Step Functions</fullname> <p>Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.</p> <p>You can use Step Functions to build applications from individual components, each of which performs a discrete function, or <i>task</i>, 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.</p> <p>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 <i> <a href="https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html">Step Functions Developer Guide</a> </i>.</p>
  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
    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: <p>Creates a state machine. A state machine consists of a collection of states that can do work (<code>Task</code> states), determine to which states to transition next (<code>Choice</code> states), stop an execution with an error (<code>Fail</code> states), and so on. State machines are specified using a JSON-based, structured language. For more information, see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html">Amazon States Language</a> in the Step Functions User Guide.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.</p> </note> <note> <p> <code>CreateStateMachine</code> is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. <code>CreateStateMachine</code>'s idempotency check is based on the state machine <code>name</code>, <code>definition</code>, <code>type</code>, <code>LoggingConfiguration</code> and <code>TracingConfiguration</code>. If a following request has a different <code>roleArn</code> or <code>tags</code>, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, <code>roleArn</code> and <code>tags</code> will not be updated, even if they are different.</p> </note>
      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:
    InvalidDefinition: {}
    StateMachineLimitExceeded: {}
    StateMachineDeleting: {}
    LogDestination:
      type: object
      properties:
        cloudWatchLogsLogGroup:
          allOf:
          - $ref: '#/components/schemas/CloudWatchLogsLogGroup'
          - description: An object describing a CloudWatch log group. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html">AWS::Logs::LogGroup</a> in the CloudFormation User Guide.
      description: <p/>
    InvalidName: {}
    Arn:
      type: string
      minLength: 1
      maxLength: 256
    LogLevel:
      type: string
      enum:
      - ALL
      - ERROR
      - FATAL
      - 'OFF'
    Name:
      type: string
      minLength: 1
      maxLength: 80
    IncludeExecutionData:
      type: boolean
    InvalidTracingConfiguration: {}
    StateMachineType:
      type: string
      enum:
      - STANDARD
      - EXPRESS
    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 <code>false</code>, 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 <code>OFF</code>.
      description: The <code>LoggingConfiguration</code> data type is used to set CloudWatch Logs options.
    CreateStateMachineInput:
      type: object
      required:
      - name
      - definition
      - roleArn
      title: CreateStateMachineInput
      properties:
        name:
          allOf:
          - $ref: '#/components/schemas/Name'
          - description: '<p>The name of the state machine. </p> <p>A name must <i>not</i> contain:</p> <ul> <li> <p>white space</p> </li> <li> <p>brackets <code>&lt; &gt; { } [ ]</code> </p> </li> <li> <p>wildcard characters <code>? *</code> </p> </li> <li> <p>special characters <code>" # % \ ^ | ~ ` $ &amp; , ; : /</code> </p> </li> <li> <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>)</p> </li> </ul> <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p>'
        definition:
          allOf:
          - $ref: '#/components/schemas/Definition'
          - description: The Amazon States Language definition of the state machine. See <a href="https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html">Amazon States Language</a>.
        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 <code>STANDARD</code>. You cannot update the <code>type</code> of a state machine once it has been created.
        loggingConfiguration:
          allOf:
          - $ref: '#/components/schemas/LoggingConfiguration'
          - description: <p>Defines what execution history events are logged and where they are logged.</p> <note> <p>By default, the <code>level</code> is set to <code>OFF</code>. For more information see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html">Log Levels</a> in the Step Functions User Guide.</p> </note>
        tags:
          allOf:
          - $ref: '#/components/schemas/TagList'
          - description: '<p>Tags to be added when creating a state machine.</p> <p>An array of key-value pairs. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost Management User Guide</i>, and <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html">Controlling Access Using IAM Tags</a>.</p> <p>Tags may only contain Unicode letters, digits, white space, or these symbols: <code>_ . : / = + - @</code>.</p>'
        tracingConfiguration:
          allOf:
          - $ref: '#/components/schemas/TracingConfiguration'
          - description: Selects whether X-Ray tracing is enabled.
    Timestamp:
      type: string
      format: date-time
    TagList:
      type: array
      items:
        $ref: '#/components/schemas/Tag'
    TracingConfiguration:
      type: object
      properties:
        enabled:
          allOf:
          - $ref: '#/components/schemas/Enabled'
          - description: When set to <code>true</code>, X-Ray tracing is enabled.
      description: 'Selects whether or not the state machine''s X-Ray tracing is enabled. Default is <code>false</code> '
    InvalidLoggingConfiguration: {}
    StateMachineAlreadyExists: {}
    StateMachineTypeNotSupported: {}
    InvalidArn: {}
    TooManyTags: {}
    Definition:
      type: string
      minLength: 1
      maxLength: 1048576
      format: password
    LogDestinationList:
      type: array
      items:
        $ref: '#/components/schemas/LogDestination'
    Enabled:
      type: boolean
    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.
    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 <code>:*</code> '
      description: <p/>
    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: '<p>Tags are key-value pairs that can be associated with Step Functions state machines and activities.</p> <p>An array of key-value pairs. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost Management User Guide</i>, and <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html">Controlling Access Using IAM Tags</a>.</p> <p>Tags may only contain Unicode letters, digits, white space, or these symbols: <code>_ . : / = + - @</code>.</p>'
    TagValue:
      type: string
      minLength: 0
      maxLength: 256
    TagKey:
      type: string
      minLength: 1
      maxLength: 128
  parameters:
    X-Amz-Credential:
      name: X-Amz-Credential
      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-Date:
      name: X-Amz-Date
      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-Algorithm:
      name: X-Amz-Algorithm
      in: header
      schema:
        type: string
      required: false
    X-Amz-Signature:
      name: X-Amz-Signature
      in: header
      schema:
        type: string
      required: false
    X-Amz-SignedHeaders:
      name: X-Amz-SignedHeaders
      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