GetExecutionHistory - AWS Step Functions

GetExecutionHistory

Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp of the events. Use the reverseOrder parameter to get the latest events first.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

This API action is not supported by EXPRESS state machines.

Request Syntax

{ "executionArn": "string", "includeExecutionData": boolean, "maxResults": number, "nextToken": "string", "reverseOrder": boolean }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

executionArn

The Amazon Resource Name (ARN) of the execution.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Required: Yes

includeExecutionData

You can select whether execution data (input or output of a history event) is returned. The default is true.

Type: Boolean

Required: No

maxResults

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

Type: Integer

Valid Range: Minimum value of 0. Maximum value of 1000.

Required: No

nextToken

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1024.

Required: No

reverseOrder

Lists events in descending order of their timeStamp.

Type: Boolean

Required: No

Response Syntax

{ "events": [ { "activityFailedEventDetails": { "cause": "string", "error": "string" }, "activityScheduledEventDetails": { "heartbeatInSeconds": number, "input": "string", "inputDetails": { "truncated": boolean }, "resource": "string", "timeoutInSeconds": number }, "activityScheduleFailedEventDetails": { "cause": "string", "error": "string" }, "activityStartedEventDetails": { "workerName": "string" }, "activitySucceededEventDetails": { "output": "string", "outputDetails": { "truncated": boolean } }, "activityTimedOutEventDetails": { "cause": "string", "error": "string" }, "evaluationFailedEventDetails": { "cause": "string", "error": "string", "location": "string", "state": "string" }, "executionAbortedEventDetails": { "cause": "string", "error": "string" }, "executionFailedEventDetails": { "cause": "string", "error": "string" }, "executionRedrivenEventDetails": { "redriveCount": number }, "executionStartedEventDetails": { "input": "string", "inputDetails": { "truncated": boolean }, "roleArn": "string", "stateMachineAliasArn": "string", "stateMachineVersionArn": "string" }, "executionSucceededEventDetails": { "output": "string", "outputDetails": { "truncated": boolean } }, "executionTimedOutEventDetails": { "cause": "string", "error": "string" }, "id": number, "lambdaFunctionFailedEventDetails": { "cause": "string", "error": "string" }, "lambdaFunctionScheduledEventDetails": { "input": "string", "inputDetails": { "truncated": boolean }, "resource": "string", "taskCredentials": { "roleArn": "string" }, "timeoutInSeconds": number }, "lambdaFunctionScheduleFailedEventDetails": { "cause": "string", "error": "string" }, "lambdaFunctionStartFailedEventDetails": { "cause": "string", "error": "string" }, "lambdaFunctionSucceededEventDetails": { "output": "string", "outputDetails": { "truncated": boolean } }, "lambdaFunctionTimedOutEventDetails": { "cause": "string", "error": "string" }, "mapIterationAbortedEventDetails": { "index": number, "name": "string" }, "mapIterationFailedEventDetails": { "index": number, "name": "string" }, "mapIterationStartedEventDetails": { "index": number, "name": "string" }, "mapIterationSucceededEventDetails": { "index": number, "name": "string" }, "mapRunFailedEventDetails": { "cause": "string", "error": "string" }, "mapRunRedrivenEventDetails": { "mapRunArn": "string", "redriveCount": number }, "mapRunStartedEventDetails": { "mapRunArn": "string" }, "mapStateStartedEventDetails": { "length": number }, "previousEventId": number, "stateEnteredEventDetails": { "input": "string", "inputDetails": { "truncated": boolean }, "name": "string" }, "stateExitedEventDetails": { "assignedVariables": { "string" : "string" }, "assignedVariablesDetails": { "truncated": boolean }, "name": "string", "output": "string", "outputDetails": { "truncated": boolean } }, "taskFailedEventDetails": { "cause": "string", "error": "string", "resource": "string", "resourceType": "string" }, "taskScheduledEventDetails": { "heartbeatInSeconds": number, "parameters": "string", "region": "string", "resource": "string", "resourceType": "string", "taskCredentials": { "roleArn": "string" }, "timeoutInSeconds": number }, "taskStartedEventDetails": { "resource": "string", "resourceType": "string" }, "taskStartFailedEventDetails": { "cause": "string", "error": "string", "resource": "string", "resourceType": "string" }, "taskSubmitFailedEventDetails": { "cause": "string", "error": "string", "resource": "string", "resourceType": "string" }, "taskSubmittedEventDetails": { "output": "string", "outputDetails": { "truncated": boolean }, "resource": "string", "resourceType": "string" }, "taskSucceededEventDetails": { "output": "string", "outputDetails": { "truncated": boolean }, "resource": "string", "resourceType": "string" }, "taskTimedOutEventDetails": { "cause": "string", "error": "string", "resource": "string", "resourceType": "string" }, "timestamp": number, "type": "string" } ], "nextToken": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

events

The list of events that occurred in the execution.

Type: Array of HistoryEvent objects

nextToken

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1024.

Errors

For information about the errors that are common to all actions, see Common Errors.

ExecutionDoesNotExist

The specified execution does not exist.

HTTP Status Code: 400

InvalidArn

The provided Amazon Resource Name (ARN) is not valid.

HTTP Status Code: 400

InvalidToken

The provided token is not valid.

HTTP Status Code: 400

KmsAccessDeniedException

Either your AWS KMS key policy or API caller does not have the required permissions.

HTTP Status Code: 400

KmsInvalidStateException

The AWS KMS key is not in valid state, for example: Disabled or Deleted.

HTTP Status Code: 400

KmsThrottlingException

Received when AWS KMS returns ThrottlingException for a AWS KMS call that Step Functions makes on behalf of the caller.

HTTP Status Code: 400

Examples

HelloWorld Execution History

The following shows example output from GetExecutionHistory for a simple HelloWorld state machine, comprised of a single Pass state.

Sample Response

{ "events": [ { "timestamp": 1525283875.58, "executionStartedEventDetails": { "input": "{}", "inputDetails": { "truncated": false }, "roleArn": "arn:aws:iam::123456789123:role/service-role/StatesExecutionRole-us-east-1" }, "type": "ExecutionStarted", "id": 1, "previousEventId": 0 }, { "timestamp": 1525283875.612, "type": "PassStateEntered", "id": 2, "stateEnteredEventDetails": { "input": "{}", "inputDetails": { "truncated": false }, "name": "HelloWorld" }, "previousEventId": 0 }, { "timestamp": 1525283875.612, "stateExitedEventDetails": { "output": "\"Hello World!\"", "outputDetails": { "truncated": false }, "name": "HelloWorld" }, "type": "PassStateExited", "id": 3, "previousEventId": 2 }, { "executionSucceededEventDetails": { "output": "\"Hello World!\"", "outputDetails": { "truncated": false } }, "timestamp": 1525283875.612, "type": "ExecutionSucceeded", "id": 4, "previousEventId": 3 } ] }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: