AWS CloudTrail
amazonaws · Cloud
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
Sample Requests
Gets event data results of a query. You must specify the QueryID value returned by the StartQuery operation, and an ARN for EventDataStore .
Hover any highlighted part to learn what it does
| 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));Lists the channels in the current account, and their source names.
Hover any highlighted part to learn what it does
| 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));Returns information about all event data stores in the account, in the current region.
Hover any highlighted part to learn what it does
| 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
- 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?