Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS Directory Service

amazonaws · Cloud

Cloud No Auth Free & Open cloud

Directory Service Directory Service is a web service that makes it easy for you to setup and run directories in the Amazon Web Services cloud, or connect your Amazon Web Services resources with an existing self-managed Microsoft Active Directory. This guide provides detailed information about Directory Service operations, data types, parameters, and errors. For information about Directory Services features, see Directory

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST DescribeClientAuthenticationSettings

Retrieves information about the type of client authentication for the specified directory, if the type is specified. If no type is specified, information about all client authentication types that are supported for the specified directory is retrieved. Currently, only SmartCard is suppo

https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeClientAuthenticationSettings?Limit=10&NextToken=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target DirectoryService_20150416.DescribeClientAuthenticationSettings
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeClientAuthenticationSettings?Limit=10&NextToken=example" \
  -H "X-Amz-Target: DirectoryService_20150416.DescribeClientAuthenticationSettings"
import requests
params = {
    "Limit": "10",
    "NextToken": "example"
}
headers = {
    "X-Amz-Target": "DirectoryService_20150416.DescribeClientAuthenticationSettings"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeClientAuthenticationSettings",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeClientAuthenticationSettings');
url.searchParams.set('Limit', '10');
url.searchParams.set('NextToken', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'DirectoryService_20150416.DescribeClientAuthenticationSettings'
  },
}); 
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/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeClientAuthenticationSettings")
	q := baseURL.Query()
	q.Set("Limit", "10")
	q.Set("NextToken", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "DirectoryService_20150416.DescribeClientAuthenticationSettings")

	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/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeClientAuthenticationSettings")
uri.query = URI.encode_www_form({
  "Limit" => "10",
  "NextToken" => "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"] = "DirectoryService_20150416.DescribeClientAuthenticationSettings"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeClientAuthenticationSettings?" . http_build_query([
    "Limit" => "10",
    "NextToken" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: DirectoryService_20150416.DescribeClientAuthenticationSettings"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST DescribeDirectories

Obtains information about the directories that belong to this account. You can retrieve information about specific directories by passing the directory identifiers in the DirectoryIds parameter. Otherwise, all directories that belong to the current account are returned. <p

https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDirectories?Limit=10&NextToken=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target DirectoryService_20150416.DescribeDirectories
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDirectories?Limit=10&NextToken=example" \
  -H "X-Amz-Target: DirectoryService_20150416.DescribeDirectories"
import requests
params = {
    "Limit": "10",
    "NextToken": "example"
}
headers = {
    "X-Amz-Target": "DirectoryService_20150416.DescribeDirectories"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDirectories",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDirectories');
url.searchParams.set('Limit', '10');
url.searchParams.set('NextToken', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'DirectoryService_20150416.DescribeDirectories'
  },
}); 
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/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDirectories")
	q := baseURL.Query()
	q.Set("Limit", "10")
	q.Set("NextToken", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "DirectoryService_20150416.DescribeDirectories")

	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/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDirectories")
uri.query = URI.encode_www_form({
  "Limit" => "10",
  "NextToken" => "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"] = "DirectoryService_20150416.DescribeDirectories"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDirectories?" . http_build_query([
    "Limit" => "10",
    "NextToken" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: DirectoryService_20150416.DescribeDirectories"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST DescribeDomainControllers

Provides information about any domain controllers in your directory.

https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDomainControllers?Limit=10&NextToken=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target DirectoryService_20150416.DescribeDomainControllers
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDomainControllers?Limit=10&NextToken=example" \
  -H "X-Amz-Target: DirectoryService_20150416.DescribeDomainControllers"
import requests
params = {
    "Limit": "10",
    "NextToken": "example"
}
headers = {
    "X-Amz-Target": "DirectoryService_20150416.DescribeDomainControllers"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDomainControllers",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDomainControllers');
url.searchParams.set('Limit', '10');
url.searchParams.set('NextToken', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'DirectoryService_20150416.DescribeDomainControllers'
  },
}); 
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/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDomainControllers")
	q := baseURL.Query()
	q.Set("Limit", "10")
	q.Set("NextToken", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "DirectoryService_20150416.DescribeDomainControllers")

	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/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDomainControllers")
uri.query = URI.encode_www_form({
  "Limit" => "10",
  "NextToken" => "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"] = "DirectoryService_20150416.DescribeDomainControllers"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ds/2015-04-16/#X-Amz-Target=DirectoryService_20150416.DescribeDomainControllers?" . http_build_query([
    "Limit" => "10",
    "NextToken" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: DirectoryService_20150416.DescribeDomainControllers"
    ]),
]];
$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 Directory Service?

AWS Directory 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. AWS Directory 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 ↗