Billing (tr-ist-1, prepaid): the first snapshot is free; every additional snapshot is its own hourly item and is billed at least 1 hour, even if it is deleted within minutes (the oldest snapshot counts as the free one). tr-ist-1: quota = number of snapshots allowed on the plan (add-on), snapshot ids are stable numbers derived by the API. Prepaid tr-ist-1 servers also return pricing {billing, free, extra_monthly_eur, extra_hourly_eur, billable}: the first snapshot(s) are free, each extra snapshot is charged hourly from the balance while it exists. 2.14.0 (Gyro Compute): snapshot ids are the platform's own ids; name is returned too.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Responses
200
Snapshots — data: object
404
Not found — also returned for objects owned by someone else
Billing (tr-ist-1, prepaid): the first snapshot is free; every additional snapshot is its own hourly item and is billed at least 1 hour, even if it is deleted within minutes (the oldest snapshot counts as the free one).
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Responses
202
Snapshot is being created (poll the list until status is available) — data: object
404
Not found — also returned for objects owned by someone else
409
State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422
Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
Examples
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/snapshots' \
-H "Authorization: Bearer $GYRO_TOKEN"
gyro server snapshot create 12345
import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/snapshots", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/snapshots", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
},
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
Billing (tr-ist-1, prepaid): the first snapshot is free; every additional snapshot is its own hourly item and is billed at least 1 hour, even if it is deleted within minutes (the oldest snapshot counts as the free one).
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
sidrequired
path
integer
Responses
202
Accepted
404
Not found — also returned for objects owned by someone else