Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS Step Functions

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

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 Functio

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST 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

https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.GetExecutionHistory?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSStepFunctions.GetExecutionHistory
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.GetExecutionHistory?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AWSStepFunctions.GetExecutionHistory"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AWSStepFunctions.GetExecutionHistory"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.GetExecutionHistory",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.GetExecutionHistory');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSStepFunctions.GetExecutionHistory'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.GetExecutionHistory")
	q := baseURL.Query()
	q.Set("nextToken", "example")
	q.Set("maxResults", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSStepFunctions.GetExecutionHistory")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.GetExecutionHistory")
uri.query = URI.encode_www_form({
  "nextToken" => "example",
  "maxResults" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSStepFunctions.GetExecutionHistory"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.GetExecutionHistory?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSStepFunctions.GetExecutionHistory"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST ListActivities

Lists the existing activities. 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

https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListActivities?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSStepFunctions.ListActivities
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListActivities?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AWSStepFunctions.ListActivities"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AWSStepFunctions.ListActivities"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListActivities",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListActivities');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSStepFunctions.ListActivities'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListActivities")
	q := baseURL.Query()
	q.Set("nextToken", "example")
	q.Set("maxResults", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSStepFunctions.ListActivities")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListActivities")
uri.query = URI.encode_www_form({
  "nextToken" => "example",
  "maxResults" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSStepFunctions.ListActivities"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListActivities?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSStepFunctions.ListActivities"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST ListExecutions

Lists all executions of a state machine or a Map Run. You can list all executions related to a state machine by specifying a state machine Amazon Resource Name (ARN), or those related to a Map Run by specifying a Map Run ARN. Results are sorted by time, with the most recent execution first

https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListExecutions?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSStepFunctions.ListExecutions
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListExecutions?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AWSStepFunctions.ListExecutions"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AWSStepFunctions.ListExecutions"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListExecutions",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListExecutions');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSStepFunctions.ListExecutions'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListExecutions")
	q := baseURL.Query()
	q.Set("nextToken", "example")
	q.Set("maxResults", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSStepFunctions.ListExecutions")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListExecutions")
uri.query = URI.encode_www_form({
  "nextToken" => "example",
  "maxResults" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSStepFunctions.ListExecutions"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/states/2016-11-23/#X-Amz-Target=AWSStepFunctions.ListExecutions?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSStepFunctions.ListExecutions"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with AWS Step Functions?

AWS Step Functions is a Cloud API. Developers commonly use cloud APIs for:

  • provisioning and managing cloud infrastructure
  • automating deployments and container orchestration
  • monitoring uptime and performance metrics
  • managing storage buckets and databases
  • setting up auto-scaling and load balancing

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. AWS Step Functions is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗