AWS Step Functions Step Functions Operations API
The Step Functions Operations API from AWS Step Functions — 3 operation(s) for step functions operations.
The Step Functions Operations API from AWS Step Functions — 3 operation(s) for step functions operations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/aws-step-functions:aws-step-functions-operations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: AWS Step Functions Operations API
version: '2016-11-23'
description: Generated from AWS's published Smithy model for AWS Step Functions. 3 operation(s).
contact:
name: Amazon Web Services
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
identifier: Apache-2.0
url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://states.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
tags:
- name: Operations
paths:
/#RedriveExecution:
post:
operationId: RedriveExecution
summary: Redrive Execution
description: Restarts unsuccessful executions of Standard workflows that didn't complete successfully in the last 14 days. These include failed, aborted, or timed out executions. When you redrive an execution, it continues the failed execution from the unsuccessful step and uses the same input. Step Functions preserves the results and execution history of the successful steps, and doesn't rerun these steps when you redrive an execution. Redriven executions use the same state machine definition and execution ARN as the original execution attempt. For workflows that include an Inline Map or Parallel state, RedriveExecution API action reschedules and redrives only the iterations and branches that failed or aborted. To redrive a workflow that includes a Distributed Map state whose Map Run failed, you must redrive the parent workflow. The parent workflow redrives all the unsuccessful states, including a failed Map Run. If a Map Run was not started in the original execution attempt, the redriven parent workflow starts the Map Run. This API action is not supported by EXPRESS state machines. However, you can restart the unsuccessful executions of Express child workflows in a Distributed Map by redrivin
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/RedriveExecutionOutput'
'400':
description: ExecutionDoesNotExist; ExecutionLimitExceeded; ExecutionNotRedrivable; InvalidArn; ValidationException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ExecutionDoesNotExist'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AWSStepFunctions.RedriveExecution
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/RedriveExecutionInput'
tags:
- Operations
/#TestState:
post:
operationId: TestState
summary: Test State
description: 'Accepts the definition of a single state and executes it. You can test a state without creating a state machine or updating an existing state machine. Using this API, you can test the following: A state''s input and output processing data flow An Amazon Web Services service integration request and response An HTTP Task request and response You can call this API on only one state at a time. The states that you can test include the following: All Task types except Activity Pass Wait Choice Succeed Fail The TestState API assumes an IAM role which must contain the required IAM permissions for the resources your state is accessing. For information about the permissions a state might need, see IAM permissions to test a state. The TestState API can run for up to five minutes. If the execution of a state exceeds this duration, it fails with the States.Timeout error. TestState only supports the following when a mock is specified: Activity tasks, .sync or .waitForTaskToken service integration patterns, Parallel, or Map states.'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/TestStateOutput'
'400':
description: InvalidArn; InvalidDefinition; InvalidExecutionInput; ValidationException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/InvalidArn'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AWSStepFunctions.TestState
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/TestStateInput'
tags:
- Operations
/#ValidateStateMachineDefinition:
post:
operationId: ValidateStateMachineDefinition
summary: Validate State Machine Definition
description: 'Validates the syntax of a state machine definition specified in Amazon States Language (ASL), a JSON-based, structured language. You can validate that a state machine definition is correct without creating a state machine resource. Suggested uses for ValidateStateMachineDefinition: Integrate automated checks into your code review or Continuous Integration (CI) process to check state machine definitions before starting deployments. Run validation from a Git pre-commit hook to verify the definition before committing to your source repository. Validation will look for problems in your state machine definition and return a result and a list of diagnostic elements. The result value will be OK when your workflow definition can be successfully created or updated. Note the result can be OK even when diagnostic warnings are present in the response. The result value will be FAIL when the workflow definition contains errors that would prevent you from creating or updating your state machine. The list of ValidateStateMachineDefinitionDiagnostic data elements can contain zero or more WARNING and/or ERROR elements. The ValidateStateMachineDefinition API might add new diagnostics in the future, a'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ValidateStateMachineDefinitionOutput'
'400':
description: ValidationException
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ValidationException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AWSStepFunctions.ValidateStateMachineDefinition
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ValidateStateMachineDefinitionInput'
tags:
- Operations
components:
schemas:
ValidationException:
type: object
properties:
message:
type: string
reason:
type: string
enum:
- API_DOES_NOT_SUPPORT_LABELED_ARNS
- MISSING_REQUIRED_PARAMETER
- CANNOT_UPDATE_COMPLETED_MAP_RUN
- INVALID_ROUTING_CONFIGURATION
description: The input does not satisfy the constraints specified by an Amazon Web Services service.
TestStateInput:
type: object
properties:
definition:
type: string
description: The Amazon States Language (ASL) definition of the state or state machine.
roleArn:
type: string
description: The Amazon Resource Name (ARN) of the execution role with the required IAM permissions for the state.
input:
type: string
description: A string that contains the JSON input data for the state.
inspectionLevel:
type: string
enum:
- INFO
- DEBUG
- TRACE
description: 'Determines the values to return when a state is tested. You can specify one of the following types: INFO: Shows the final state output. By default, Step Functions sets inspectionLevel to INFO if you don''t specify a level. DEBUG: Shows the final state output along with the input and output data processing result. TRACE: Shows the HTTP request and response for an HTTP Task. This level also shows the final state output along with the input and output data processing result. Each of these levels also provide information about the status of the state execution and the next state to transition to.'
revealSecrets:
type: boolean
description: Specifies whether or not to include secret information in the test result. For HTTP Tasks, a secret includes the data that an EventBridge connection adds to modify the HTTP request headers, query parameters, and body. Step Functions doesn't omit any information included in the state definition or the HTTP response. If you set revealSecrets to true, you must make sure that the IAM user that calls the TestState API has permission for the states:RevealSecrets action. For an example of IAM policy that sets the states:RevealSecrets permission, see IAM permissions to test a state. Without this permi
variables:
type: string
description: JSON object literal that sets variables used in the state under test. Object keys are the variable names and values are the variable values.
stateName:
type: string
description: Denotes the particular state within a state machine definition to be tested. If this field is specified, the definition must contain a fully-formed state machine definition.
mock:
$ref: '#/components/schemas/MockInput'
context:
type: string
description: A JSON string representing a valid Context object for the state under test. This field may only be specified if a mock is specified in the same request.
stateConfiguration:
$ref: '#/components/schemas/TestStateConfiguration'
required:
- definition
TestStateOutput:
type: object
properties:
output:
type: string
description: The JSON output data of the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.
error:
type: string
description: The error returned when the execution of a state fails.
cause:
type: string
description: A detailed explanation of the cause for the error when the execution of a state fails.
inspectionData:
$ref: '#/components/schemas/InspectionData'
nextState:
type: string
description: The name of the next state to transition to. If you haven't defined a next state in your definition or if the execution of the state fails, this field doesn't contain a value.
status:
type: string
enum:
- SUCCEEDED
- FAILED
- RETRIABLE
- CAUGHT_ERROR
description: The execution status of the state.
TestStateConfiguration:
type: object
properties:
retrierRetryCount:
type: integer
description: The number of retry attempts that have occurred for the state's Retry that applies to the mocked error.
errorCausedByState:
type: string
description: The name of the state from which an error originates when an error is mocked for a Map or Parallel state.
mapIterationFailureCount:
type: integer
description: The number of Map state iterations that failed during the Map state invocation.
mapItemReaderData:
type: string
description: The data read by ItemReader in Distributed Map states as found in its original source.
InspectionDataResponse:
type: object
properties:
protocol:
type: string
description: The protocol used to return the HTTP response.
statusCode:
type: string
description: The HTTP response status code for the HTTP response.
statusMessage:
type: string
description: The message associated with the HTTP status code.
headers:
type: string
description: The response headers associated with the HTTP response.
body:
type: string
description: The HTTP response returned.
ExecutionDoesNotExist:
type: object
properties:
message:
type: string
RedriveExecutionInput:
type: object
properties:
executionArn:
type: string
description: The Amazon Resource Name (ARN) of the execution to be redriven.
clientToken:
type: string
description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The API will return idempotent responses for the last 10 client tokens used to successfully redrive the execution. These client tokens are valid for up to 15 minutes after they are first used.
required:
- executionArn
InspectionDataRequest:
type: object
properties:
protocol:
type: string
description: The protocol used to make the HTTP request.
method:
type: string
description: The HTTP method used for the HTTP request.
url:
type: string
description: The API endpoint used for the HTTP request.
headers:
type: string
description: The request headers associated with the HTTP request.
body:
type: string
description: The request body for the HTTP request.
ValidateStateMachineDefinitionInput:
type: object
properties:
definition:
type: string
description: The Amazon States Language definition of the state machine. For more information, see Amazon States Language (ASL).
type:
type: string
enum:
- STANDARD
- EXPRESS
description: The target type of state machine for this definition. The default is STANDARD.
severity:
type: string
enum:
- ERROR
- WARNING
description: Minimum level of diagnostics to return. ERROR returns only ERROR diagnostics, whereas WARNING returns both WARNING and ERROR diagnostics. The default is ERROR.
maxResults:
type: integer
description: The maximum number of diagnostics that are returned per call. The default and maximum value is 100. Setting the value to 0 will also use the default of 100. If the number of diagnostics returned in the response exceeds maxResults, the value of the truncated field in the response will be set to true.
required:
- definition
InvalidArn:
type: object
properties:
message:
type: string
InspectionData:
type: object
properties:
input:
type: string
description: The raw state input.
afterArguments:
type: string
description: The input after Step Functions applies an Arguments filter. This event will only be present when QueryLanguage for the state machine or individual states is set to JSONata. For more info, see Transforming data with Step Functions.
afterInputPath:
type: string
description: The input after Step Functions applies the InputPath filter. Not populated when QueryLanguage is JSONata.
afterParameters:
type: string
description: The effective input after Step Functions applies the Parameters filter. Not populated when QueryLanguage is JSONata.
result:
type: string
description: The state's raw result.
afterResultSelector:
type: string
description: The effective result after Step Functions applies the ResultSelector filter. Not populated when QueryLanguage is JSONata.
afterResultPath:
type: string
description: The effective result combined with the raw state input after Step Functions applies the ResultPath filter. Not populated when QueryLanguage is JSONata.
request:
$ref: '#/components/schemas/InspectionDataRequest'
response:
$ref: '#/components/schemas/InspectionDataResponse'
variables:
type: string
description: JSON string that contains the set of workflow variables after execution of the state. The set will include variables assigned in the state and variables set up as test state input.
errorDetails:
$ref: '#/components/schemas/InspectionErrorDetails'
afterItemsPath:
type: string
description: The effective input after the ItemsPath filter is applied. Not populated when the QueryLanguage is JSONata.
afterItemSelector:
type: string
description: An array containing the inputs for each Map iteration, transformed by the ItemSelector specified in a Map state.
afterItemBatcher:
type: string
description: The effective input after the ItemBatcher filter is applied in a Map state.
afterItemsPointer:
type: string
description: The effective input after the ItemsPointer filter is applied in a Map state.
toleratedFailureCount:
type: integer
description: The tolerated failure threshold for a Map state as defined in number of Map state iterations.
toleratedFailurePercentage:
type: number
description: The tolerated failure threshold for a Map state as defined in percentage of Map state iterations.
maxConcurrency:
type: integer
description: The max concurrency of the Map state.
MockInput:
type: object
properties:
result:
type: string
description: A JSON string containing the mocked result of the state invocation.
errorOutput:
$ref: '#/components/schemas/MockErrorOutput'
fieldValidationMode:
type: string
enum:
- STRICT
- PRESENT
- NONE
description: 'Determines the level of strictness when validating mocked results against their respective API models. Values include: STRICT: All required fields must be present, and all present fields must conform to the API''s schema. PRESENT: All present fields must conform to the API''s schema. NONE: No validation is performed. If no value is specified, the default value is STRICT.'
MockErrorOutput:
type: object
properties:
error:
type: string
description: A string denoting the error code of the exception thrown when invoking the tested state. This field is required if mock.errorOutput is specified.
cause:
type: string
description: A string containing the cause of the exception thrown when executing the state's logic.
ValidateStateMachineDefinitionDiagnostic:
type: object
properties:
severity:
type: string
enum:
- ERROR
- WARNING
description: A value of ERROR means that you cannot create or update a state machine with this definition. WARNING level diagnostics alert you to potential issues, but they will not prevent you from creating or updating your state machine.
code:
type: string
description: Identifying code for the diagnostic.
message:
type: string
description: Message describing the diagnostic condition.
location:
type: string
description: 'Location of the issue in the state machine, if available. For errors specific to a field, the location could be in the format: /States//, for example: /States/FailState/ErrorPath.'
required:
- severity
- code
- message
InspectionErrorDetails:
type: object
properties:
catchIndex:
type: integer
description: The array index of the Catch which handled the exception.
retryIndex:
type: integer
description: The array index of the Retry which handled the exception.
retryBackoffIntervalSeconds:
type: integer
description: The duration in seconds of the backoff for a retry on a failed state invocation.
ValidateStateMachineDefinitionOutput:
type: object
properties:
result:
type: string
enum:
- OK
- FAIL
description: The result value will be OK when no syntax errors are found, or FAIL if the workflow definition does not pass verification.
diagnostics:
type: array
items:
$ref: '#/components/schemas/ValidateStateMachineDefinitionDiagnostic'
description: An array of diagnostic errors and warnings found during validation of the state machine definition. Since warnings do not prevent deploying your workflow definition, the result value could be OK even when warning diagnostics are present in the response.
truncated:
type: boolean
description: The result value will be true if the number of diagnostics found in the workflow definition exceeds maxResults. When all diagnostics results are returned, the value will be false.
required:
- result
- diagnostics
RedriveExecutionOutput:
type: object
properties:
redriveDate:
type: string
format: date-time
description: The date the execution was last redriven.
required:
- redriveDate
securitySchemes:
sigv4:
type: apiKey
in: header
name: Authorization
description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
x-aws-sigv4:
signingName: states
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/sfn/service/2016-11-23/sfn-2016-11-23.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)