# data source gyro_apps: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/data-sources/apps
# All one-click apps
data "gyro_apps" "all" {}
# Apps listed under "Popular in Türkiye" that run on Ubuntu 24.04
data "gyro_apps" "popular" {
popular_tr = true
os = "ubuntu-24.04"
}
output "popular_app_ids" {
value = [for a in data.gyro_apps.popular.apps : a.id]
}
import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/apps", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/apps", {
method: "GET",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
},
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
App install status (credentials shown once when ready)Scope: cloud_readgetAppInstallOpenAPI for this operation
Since 2.7.0 also stuck (open but silent for too long), stuck_reason (no_callback = the server never reported back), last_update_at, attempt, can_retry, error_code, step_text. Live log: GET /cloud/servers/{id}/app/log.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Responses
200
Status — data: object
404
Not found — also returned for objects owned by someone else
Live progress log of the latest app install (step changes, server log tail)Scope: cloud_readgetAppInstallLogOpenAPI for this operation
Lines with id greater than after, oldest first (poll with the last id you have). source is step, server, system or staff. Server lines are untrusted text sent by the server (secrets masked); render them as plain text.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
after
query
integer
limit
query
integer
Responses
200
Log lines — data: object
404
Not found — also returned for objects owned by someone else
Retry a failed or silent app install (rebuilds the disk; confirm required; 3 per server per hour)Scope: cloud_writeretryAppInstallOpenAPI for this operation
Allowed when the latest install has status hata (failed) or stuck = true (no news for too long). On cloud servers the server is rebuilt with the same app, OS and domain; ALL data on the disk is deleted.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Request body
Field
Type
Description
confirmrequired
boolean = true
Responses
202
Started (install_id, attempt)
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 ...)