Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS OpsWorks

amazonaws · Cloud

Cloud No Auth Free & Open cloud

AWS OpsWorks Welcome to the AWS OpsWorks Stacks API Reference . This guide provides descriptions, syntax, and usage examples for AWS OpsWorks Stacks actions and data types, including common parameters and error codes. AWS OpsWorks Stacks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWo

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST DescribeEcsClusters

Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks Stacks currently supports only one cluster per layer, so the result set has

https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.DescribeEcsClusters?NextToken=example&MaxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target OpsWorks_20130218.DescribeEcsClusters
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.DescribeEcsClusters?NextToken=example&MaxResults=example" \
  -H "X-Amz-Target: OpsWorks_20130218.DescribeEcsClusters"
import requests
params = {
    "NextToken": "example",
    "MaxResults": "example"
}
headers = {
    "X-Amz-Target": "OpsWorks_20130218.DescribeEcsClusters"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.DescribeEcsClusters",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.DescribeEcsClusters');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'OpsWorks_20130218.DescribeEcsClusters'
  },
}); 
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/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.DescribeEcsClusters")
	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", "OpsWorks_20130218.DescribeEcsClusters")

	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/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.DescribeEcsClusters")
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"] = "OpsWorks_20130218.DescribeEcsClusters"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.DescribeEcsClusters?" . http_build_query([
    "NextToken" => "example",
    "MaxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: OpsWorks_20130218.DescribeEcsClusters"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST AssignInstance

Assign a registered instance to a layer. You can assign registered on-premises instances to any layer type. You can assign registered Amazon EC2 instances only to custom layers. You cannot use this action with instances that were created with A

https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignInstance

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target OpsWorks_20130218.AssignInstance
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignInstance" \
  -H "X-Amz-Target: OpsWorks_20130218.AssignInstance"
import requests
headers = {
    "X-Amz-Target": "OpsWorks_20130218.AssignInstance"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignInstance",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignInstance';

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

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

func main() {
	targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignInstance"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "OpsWorks_20130218.AssignInstance")

	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/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignInstance")

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

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

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignInstance";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: OpsWorks_20130218.AssignInstance"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST AssignVolume

Assigns one of the stack's registered Amazon EBS volumes to a specified instance. The volume must first be registered with the stack by calling RegisterVolume . After you register the volume, you must call UpdateVolume to specify a mount point before calling AssignVolume

https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignVolume

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target OpsWorks_20130218.AssignVolume
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignVolume" \
  -H "X-Amz-Target: OpsWorks_20130218.AssignVolume"
import requests
headers = {
    "X-Amz-Target": "OpsWorks_20130218.AssignVolume"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignVolume",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignVolume';

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

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

func main() {
	targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignVolume"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "OpsWorks_20130218.AssignVolume")

	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/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignVolume")

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

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

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/opsworks/2013-02-18/#X-Amz-Target=OpsWorks_20130218.AssignVolume";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: OpsWorks_20130218.AssignVolume"
    ]),
]];
$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 OpsWorks?

AWS OpsWorks 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 OpsWorks 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 ↗