AWS Storage Gateway
amazonaws · Cloud
Storage Gateway Service Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and the Amazon Web Services storage infrastructure. The service enables you to securely upload data to the Amazon Web Services Cloud for cost effective backup and rapid disaster recovery. Use the following links to get started using the Stora
Authentication
Sample Requests
Returns a description of specified virtual tapes in the virtual tape shelf (VTS). This operation is only supported in the tape gateway type. If a specific TapeARN is not specified, Storage Gateway returns a description of all virtual tapes found in the VTS associated with your
Hover any highlighted part to learn what it does
| X-Amz-Target | StorageGateway_20130630.DescribeTapeArchives |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeArchives?Limit=10&Marker=example" \ -H "X-Amz-Target: StorageGateway_20130630.DescribeTapeArchives"
import requests
params = {
"Limit": "10",
"Marker": "example"
}
headers = {
"X-Amz-Target": "StorageGateway_20130630.DescribeTapeArchives"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeArchives",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeArchives');
url.searchParams.set('Limit', '10');
url.searchParams.set('Marker', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'StorageGateway_20130630.DescribeTapeArchives'
},
});
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/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeArchives")
q := baseURL.Query()
q.Set("Limit", "10")
q.Set("Marker", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "StorageGateway_20130630.DescribeTapeArchives")
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/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeArchives")
uri.query = URI.encode_www_form({
"Limit" => "10",
"Marker" => "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"] = "StorageGateway_20130630.DescribeTapeArchives"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeArchives?" . http_build_query([
"Limit" => "10",
"Marker" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: StorageGateway_20130630.DescribeTapeArchives"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns a list of virtual tape recovery points that are available for the specified tape gateway. A recovery point is a point-in-time view of a virtual tape at which all the data on the virtual tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be reco
Hover any highlighted part to learn what it does
| X-Amz-Target | StorageGateway_20130630.DescribeTapeRecoveryPoints |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeRecoveryPoints?Limit=10&Marker=example" \ -H "X-Amz-Target: StorageGateway_20130630.DescribeTapeRecoveryPoints"
import requests
params = {
"Limit": "10",
"Marker": "example"
}
headers = {
"X-Amz-Target": "StorageGateway_20130630.DescribeTapeRecoveryPoints"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeRecoveryPoints",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeRecoveryPoints');
url.searchParams.set('Limit', '10');
url.searchParams.set('Marker', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'StorageGateway_20130630.DescribeTapeRecoveryPoints'
},
});
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/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeRecoveryPoints")
q := baseURL.Query()
q.Set("Limit", "10")
q.Set("Marker", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "StorageGateway_20130630.DescribeTapeRecoveryPoints")
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/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeRecoveryPoints")
uri.query = URI.encode_www_form({
"Limit" => "10",
"Marker" => "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"] = "StorageGateway_20130630.DescribeTapeRecoveryPoints"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapeRecoveryPoints?" . http_build_query([
"Limit" => "10",
"Marker" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: StorageGateway_20130630.DescribeTapeRecoveryPoints"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes associated with the specified gateway. This operation is only supported in the tape gateway type.
Hover any highlighted part to learn what it does
| X-Amz-Target | StorageGateway_20130630.DescribeTapes |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapes?Limit=10&Marker=example" \ -H "X-Amz-Target: StorageGateway_20130630.DescribeTapes"
import requests
params = {
"Limit": "10",
"Marker": "example"
}
headers = {
"X-Amz-Target": "StorageGateway_20130630.DescribeTapes"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapes",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapes');
url.searchParams.set('Limit', '10');
url.searchParams.set('Marker', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'StorageGateway_20130630.DescribeTapes'
},
});
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/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapes")
q := baseURL.Query()
q.Set("Limit", "10")
q.Set("Marker", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "StorageGateway_20130630.DescribeTapes")
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/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapes")
uri.query = URI.encode_www_form({
"Limit" => "10",
"Marker" => "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"] = "StorageGateway_20130630.DescribeTapes"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/storagegateway/2013-06-30/#X-Amz-Target=StorageGateway_20130630.DescribeTapes?" . http_build_query([
"Limit" => "10",
"Marker" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: StorageGateway_20130630.DescribeTapes"
]),
]];
$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 Storage Gateway?
AWS Storage Gateway 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 Storage Gateway 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?