curl --request GET \
--url https://console.advinservers.com/api/v1/client/snapshots/storages \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/snapshots/storages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://console.advinservers.com/api/v1/client/snapshots/storages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/snapshots/storages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/snapshots/storages"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://console.advinservers.com/api/v1/client/snapshots/storages")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/snapshots/storages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"uuid": "9e83397b-d88e-43ae-bfb7-a8c2e6eda853",
"name": "Storage 1",
"status": "active",
"status_label": "Active",
"progress_message": null,
"needs_funds": false,
"size_gb": 200,
"capacity": 214748364800,
"used": 85899345920,
"remaining": 128849018880,
"snapshots_count": 1,
"is_suspended": false,
"is_usable": true,
"billing": {
"service_id": 7436,
"invoice_id": 16388,
"invoice_url": null,
"checkout_uuid": null,
"invoice_status": "Paid",
"amount": "3.00",
"currency": "USD",
"billing_cycle": "Monthly",
"payment_due_at": null,
"payment_window_minutes": 30,
"paid_at": "2026-06-03T17:26:52+00:00"
},
"cancellation_type": null,
"cancellation_requested_at": null,
"autopay": false,
"can_cancel": false,
"can_resize": true,
"pending_resize": null,
"created_at": "2026-06-03T17:26:40+00:00"
}
],
"catalog": {
"enabled": true,
"currency": "USD",
"price_per_gb": "0.0150",
"billing_cycle": "Monthly",
"min_gb": 100,
"max_gb": 10000
}
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Too Many Attempts."
}List snapshot storages
Overview
Lists the snapshot storages in the current team that have not ended, oldest first, with the space used in each. The response also includes the price of a new storage. Each storage is billed as its own service and sized in GiB (1 GiB is 1,073,741,824 bytes).
Permissions
Requires the snapshot.read (View snapshots) permission for the selected team. Resources outside that team return 404.
curl --request GET \
--url https://console.advinservers.com/api/v1/client/snapshots/storages \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/snapshots/storages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://console.advinservers.com/api/v1/client/snapshots/storages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/snapshots/storages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/snapshots/storages"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://console.advinservers.com/api/v1/client/snapshots/storages")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/snapshots/storages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"uuid": "9e83397b-d88e-43ae-bfb7-a8c2e6eda853",
"name": "Storage 1",
"status": "active",
"status_label": "Active",
"progress_message": null,
"needs_funds": false,
"size_gb": 200,
"capacity": 214748364800,
"used": 85899345920,
"remaining": 128849018880,
"snapshots_count": 1,
"is_suspended": false,
"is_usable": true,
"billing": {
"service_id": 7436,
"invoice_id": 16388,
"invoice_url": null,
"checkout_uuid": null,
"invoice_status": "Paid",
"amount": "3.00",
"currency": "USD",
"billing_cycle": "Monthly",
"payment_due_at": null,
"payment_window_minutes": 30,
"paid_at": "2026-06-03T17:26:52+00:00"
},
"cancellation_type": null,
"cancellation_requested_at": null,
"autopay": false,
"can_cancel": false,
"can_resize": true,
"pending_resize": null,
"created_at": "2026-06-03T17:26:40+00:00"
}
],
"catalog": {
"enabled": true,
"currency": "USD",
"price_per_gb": "0.0150",
"billing_cycle": "Monthly",
"min_gb": 100,
"max_gb": 10000
}
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Too Many Attempts."
}Authorizations
Your API key, sent as a bearer token. Create one in the control panel under API Keys, give it only the permissions the integration needs, and copy it when it is created. It cannot be shown again. Each key is restricted to one owned team. The key determines the team for every request.
Response
The record, as a JSON object. There is no envelope.
The storages, oldest first.
Show child attributes
Show child attributes
[ { "uuid": "9e83397b-d88e-43ae-bfb7-a8c2e6eda853", "name": "Storage 1", "status": "active", "status_label": "Active", "progress_message": null, "needs_funds": false, "size_gb": 200, "capacity": 214748364800, "used": 85899345920, "remaining": 128849018880, "snapshots_count": 1, "is_suspended": false, "is_usable": true, "billing": { "service_id": 7436, "invoice_id": 16388, "invoice_url": null, "checkout_uuid": null, "invoice_status": "Paid", "amount": "3.00", "currency": "USD", "billing_cycle": "Monthly", "payment_due_at": null, "payment_window_minutes": 30, "paid_at": "2026-06-03T17:26:52+00:00" }, "cancellation_type": null, "cancellation_requested_at": null, "autopay": false, "can_cancel": false, "can_resize": true, "pending_resize": null, "created_at": "2026-06-03T17:26:40+00:00" } ]
The price per GiB, the allowed sizes, and how many storages the account may hold across all of its teams.
Show child attributes
Show child attributes
{ "enabled": true, "currency": "USD", "price_per_gb": "0.0150", "billing_cycle": "Monthly", "min_gb": 100, "max_gb": 10000 }