Find an API

Search public APIs with auth details & Postman guides

← All APIs

Amazon Simple Workflow Service

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

Amazon Simple Workflow Service The Amazon Simple Workflow Service (Amazon SWF) makes it easy to build applications that use Amazon's cloud to coordinate work across distributed components. In Amazon SWF, a task represents a logical unit of work that is performed by a component of your workflow. Coordinating tasks in a workflow involves managing intertask dependencies, scheduling, and concurrency in accordance with the logical flow of the application. Amazon

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST GetWorkflowExecutionHistory

Returns the history of the specified workflow execution. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call. This operation is eventually consistent. The results are best e

https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.GetWorkflowExecutionHistory?nextPageToken=example&maximumPageSize=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target SimpleWorkflowService.GetWorkflowExecutionHistory
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.GetWorkflowExecutionHistory?nextPageToken=example&maximumPageSize=example" \
  -H "X-Amz-Target: SimpleWorkflowService.GetWorkflowExecutionHistory"
import requests
params = {
    "nextPageToken": "example",
    "maximumPageSize": "example"
}
headers = {
    "X-Amz-Target": "SimpleWorkflowService.GetWorkflowExecutionHistory"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.GetWorkflowExecutionHistory",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.GetWorkflowExecutionHistory');
url.searchParams.set('nextPageToken', 'example');
url.searchParams.set('maximumPageSize', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'SimpleWorkflowService.GetWorkflowExecutionHistory'
  },
}); 
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/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.GetWorkflowExecutionHistory")
	q := baseURL.Query()
	q.Set("nextPageToken", "example")
	q.Set("maximumPageSize", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "SimpleWorkflowService.GetWorkflowExecutionHistory")

	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/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.GetWorkflowExecutionHistory")
uri.query = URI.encode_www_form({
  "nextPageToken" => "example",
  "maximumPageSize" => "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"] = "SimpleWorkflowService.GetWorkflowExecutionHistory"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.GetWorkflowExecutionHistory?" . http_build_query([
    "nextPageToken" => "example",
    "maximumPageSize" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: SimpleWorkflowService.GetWorkflowExecutionHistory"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST ListActivityTypes

Returns information about all activities registered in the specified domain that match the specified name and registration status. The result includes information like creation date, current status of the activity, etc. The results may be split into multiple pages. To retrieve subsequent pages, m

https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListActivityTypes?nextPageToken=example&maximumPageSize=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target SimpleWorkflowService.ListActivityTypes
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListActivityTypes?nextPageToken=example&maximumPageSize=example" \
  -H "X-Amz-Target: SimpleWorkflowService.ListActivityTypes"
import requests
params = {
    "nextPageToken": "example",
    "maximumPageSize": "example"
}
headers = {
    "X-Amz-Target": "SimpleWorkflowService.ListActivityTypes"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListActivityTypes",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListActivityTypes');
url.searchParams.set('nextPageToken', 'example');
url.searchParams.set('maximumPageSize', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'SimpleWorkflowService.ListActivityTypes'
  },
}); 
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/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListActivityTypes")
	q := baseURL.Query()
	q.Set("nextPageToken", "example")
	q.Set("maximumPageSize", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "SimpleWorkflowService.ListActivityTypes")

	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/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListActivityTypes")
uri.query = URI.encode_www_form({
  "nextPageToken" => "example",
  "maximumPageSize" => "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"] = "SimpleWorkflowService.ListActivityTypes"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListActivityTypes?" . http_build_query([
    "nextPageToken" => "example",
    "maximumPageSize" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: SimpleWorkflowService.ListActivityTypes"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST ListClosedWorkflowExecutions

Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call. This operation is eventually c

https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListClosedWorkflowExecutions?nextPageToken=example&maximumPageSize=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target SimpleWorkflowService.ListClosedWorkflowExecutions
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListClosedWorkflowExecutions?nextPageToken=example&maximumPageSize=example" \
  -H "X-Amz-Target: SimpleWorkflowService.ListClosedWorkflowExecutions"
import requests
params = {
    "nextPageToken": "example",
    "maximumPageSize": "example"
}
headers = {
    "X-Amz-Target": "SimpleWorkflowService.ListClosedWorkflowExecutions"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListClosedWorkflowExecutions",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListClosedWorkflowExecutions');
url.searchParams.set('nextPageToken', 'example');
url.searchParams.set('maximumPageSize', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'SimpleWorkflowService.ListClosedWorkflowExecutions'
  },
}); 
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/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListClosedWorkflowExecutions")
	q := baseURL.Query()
	q.Set("nextPageToken", "example")
	q.Set("maximumPageSize", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "SimpleWorkflowService.ListClosedWorkflowExecutions")

	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/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListClosedWorkflowExecutions")
uri.query = URI.encode_www_form({
  "nextPageToken" => "example",
  "maximumPageSize" => "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"] = "SimpleWorkflowService.ListClosedWorkflowExecutions"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/swf/2012-01-25/#X-Amz-Target=SimpleWorkflowService.ListClosedWorkflowExecutions?" . http_build_query([
    "nextPageToken" => "example",
    "maximumPageSize" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: SimpleWorkflowService.ListClosedWorkflowExecutions"
    ]),
]];
$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 Amazon Simple Workflow Service?

Amazon Simple Workflow Service 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. Amazon Simple Workflow Service 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 ↗