Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS CloudTrail

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

CloudTrail This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail. CloudTrail is a web service that records Amazon Web Services API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the Amazon Web Services API call, the source IP address, the request parameters, and

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST GetQueryResults

Gets event data results of a query. You must specify the QueryID value returned by the StartQuery operation, and an ARN for EventDataStore .

https://api.apis.guru/v2/specs/amazonaws.com/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.GetQueryResults?NextToken=example

Hover any highlighted part to learn what it does

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

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.GetQueryResults'
  },
}); 
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/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.GetQueryResults")
	q := baseURL.Query()
	q.Set("NextToken", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.GetQueryResults")

	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/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.GetQueryResults")
uri.query = URI.encode_www_form({
  "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"] = "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.GetQueryResults"

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

Lists the channels in the current account, and their source names.

https://api.apis.guru/v2/specs/amazonaws.com/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListChannels?NextToken=example&MaxResults=example

Hover any highlighted part to learn what it does

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

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListChannels'
  },
}); 
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/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListChannels")
	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", "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListChannels")

	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/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListChannels")
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"] = "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListChannels"

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

Returns information about all event data stores in the account, in the current region.

https://api.apis.guru/v2/specs/amazonaws.com/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListEventDataStores?NextToken=example&MaxResults=example

Hover any highlighted part to learn what it does

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

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListEventDataStores'
  },
}); 
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/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListEventDataStores")
	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", "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListEventDataStores")

	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/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListEventDataStores")
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"] = "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListEventDataStores"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/cloudtrail/2013-11-01/#X-Amz-Target=com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListEventDataStores?" . http_build_query([
    "NextToken" => "example",
    "MaxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.ListEventDataStores"
    ]),
]];
$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 CloudTrail?

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