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

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

Operations 1

POST /#X-Amz-Target=AWSStepFunctions.CreateStateMachine Amazon 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/amazon-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

amazon-step-functions-x-amz-target-awsstepfunctions-createstatemachine-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2016-11-23'
  x-release: v4
  title: 'AWS Step Functions #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://twitter.com/awscloud/profile_image?size=original
    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: <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> <p>If you set the <code>publish</code> parameter of this API action to <code>true</code>, it publishes version <code>1</code> as the first revision of the state machine.</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>. The check is also based on the <code>publish</code> and <code>versionDescription</code> parameters. 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'
              examples:
                CreateStateMachine200Example:
                  summary: Default CreateStateMachine 200
                  x-microcks-default: true
                  value:
                    stateMachineArn: arn:aws:service:us-east-1:123456789012:resource/example
                    creationDate: example-value
                    stateMachineVersionArn: arn:aws:service:us-east-1:123456789012:resource/example
        '480':
          description: InvalidArn
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidArn'
              examples:
                CreateStateMachine480Example:
                  summary: Default CreateStateMachine 480
                  x-microcks-default: true
                  value: example-value
        '481':
          description: InvalidDefinition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidDefinition'
              examples:
                CreateStateMachine481Example:
                  summary: Default CreateStateMachine 481
                  x-microcks-default: true
                  value: example-value
        '482':
          description: InvalidName
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidName'
              examples:
                CreateStateMachine482Example:
                  summary: Default CreateStateMachine 482
                  x-microcks-default: true
                  value: example-value
        '483':
          description: InvalidLoggingConfiguration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidLoggingConfiguration'
              examples:
                CreateStateMachine483Example:
                  summary: Default CreateStateMachine 483
                  x-microcks-default: true
                  value: example-value
        '484':
          description: InvalidTracingConfiguration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidTracingConfiguration'
              examples:
                CreateStateMachine484Example:
                  summary: Default CreateStateMachine 484
                  x-microcks-default: true
                  value: example-value
        '485':
          description: StateMachineAlreadyExists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateMachineAlreadyExists'
              examples:
                CreateStateMachine485Example:
                  summary: Default CreateStateMachine 485
                  x-microcks-default: true
                  value: example-value
        '486':
          description: StateMachineDeleting
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateMachineDeleting'
              examples:
                CreateStateMachine486Example:
                  summary: Default CreateStateMachine 486
                  x-microcks-default: true
                  value: example-value
        '487':
          description: StateMachineLimitExceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateMachineLimitExceeded'
              examples:
                CreateStateMachine487Example:
                  summary: Default CreateStateMachine 487
                  x-microcks-default: true
                  value: example-value
        '488':
          description: StateMachineTypeNotSupported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateMachineTypeNotSupported'
              examples:
                CreateStateMachine488Example:
                  summary: Default CreateStateMachine 488
                  x-microcks-default: true
                  value: example-value
        '489':
          description: TooManyTags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyTags'
              examples:
                CreateStateMachine489Example:
                  summary: Default CreateStateMachine 489
                  x-microcks-default: true
                  value: example-value
        '490':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
              examples:
                CreateStateMachine490Example:
                  summary: Default CreateStateMachine 490
                  x-microcks-default: true
                  value: example-value
        '491':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
              examples:
                CreateStateMachine491Example:
                  summary: Default CreateStateMachine 491
                  x-microcks-default: true
                  value: example-value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStateMachineInput'
            examples:
              CreateStateMachineRequestExample:
                summary: Default CreateStateMachine request
                x-microcks-default: true
                value:
                  name: MyResource
                  definition: example-value
                  roleArn: arn:aws:service:us-east-1:123456789012:resource/example
                  type: example-value
                  loggingConfiguration: example-value
                  tags: example-value
                  tracingConfiguration: example-value
                  publish: example-value
                  versionDescription: example-value
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSStepFunctions.CreateStateMachine
      summary: Amazon Create State Machine
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - '#X Amz Target=AWSStepFunctions.CreateStateMachine'
components:
  schemas:
    TagList:
      type: array
      items:
        $ref: '#/components/schemas/Tag'
    Name:
      type: string
      minLength: 1
      maxLength: 80
    Arn:
      type: string
      minLength: 1
      maxLength: 256
    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.
    Timestamp:
      type: string
      format: date-time
    TooManyTags: {}
    StateMachineDeleting: {}
    StateMachineTypeNotSupported: {}
    InvalidName: {}
    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/>
    Enabled:
      type: boolean
    ConflictException: {}
    StateMachineType:
      type: string
      enum:
      - STANDARD
      - EXPRESS
    IncludeExecutionData:
      type: boolean
    InvalidArn: {}
    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 <code>publish</code> parameter to <code>true</code>, this field returns null value.
    Publish:
      type: boolean
    StateMachineLimitExceeded: {}
    ValidationException: {}
    TagValue:
      type: string
      minLength: 0
      maxLength: 256
    TagKey:
      type: string
      minLength: 1
      maxLength: 128
    LogDestinationList:
      type: array
      items:
        $ref: '#/components/schemas/LogDestination'
    InvalidLoggingConfiguration: {}
    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.
        publish:
          allOf:
          - $ref: '#/components/schemas/Publish'
          - description: Set to <code>true</code> to publish the first version of the state machine during creation. The default is <code>false</code>.
        versionDescription:
          allOf:
          - $ref: '#/components/schemas/VersionDescription'
          - description: Sets description about the state machine version. You can only set the description if the <code>publish</code> parameter is set to <code>true</code>. Otherwise, if you set <code>versionDescription</code>, but <code>publish</code> to <code>false</code>, this API action throws <code>ValidationException</code>.
    InvalidDefinition: {}
    StateMachineAlreadyExists: {}
    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> '
    InvalidTracingConfiguration: {}
    LogLevel:
      type: string
      enum:
      - ALL
      - ERROR
      - FATAL
      - 'OFF'
    VersionDescription:
      type: string
      maxLength: 256
      format: password
    Definition:
      type: string
      minLength: 1
      maxLength: 1048576
      format: password
    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>'
    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/>
  parameters:
    X-Amz-Security-Token:
      name: X-Amz-Security-Token
      in: header
      schema:
        type: string
      required: false
    X-Amz-Signature:
      name: X-Amz-Signature
      in: header
      schema:
        type: string
      required: false
    X-Amz-Credential:
      name: X-Amz-Credential
      in: header
      schema:
        type: string
      required: false
    X-Amz-Date:
      name: X-Amz-Date
      in: header
      schema:
        type: string
      required: false
    X-Amz-SignedHeaders:
      name: X-Amz-SignedHeaders
      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
  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