OpenAPI English gyrohosting.com ↗
Markdown olarak görClaude'da aç ↗

Hizmetler (tüm ürünler)

Tüm ürün hatlarına (bulut sunucu, VDS, fiziksel sunucu, kurumsal mail, izleme, depolama, lisans, ...) genel köprü. Müşteri panelinde bir hizmette yapılabilen her şey bir modül aracı ya da metodudur ve burada erişilebilir. GET /cloud/services/{id}/tools ile başlayın: o hizmetin araçlarını, eylemlerini ve güvenlik politikasını (read, confirm, secret) döndürür.

#GET/cloud/services

Tüm ürün hatlarındaki hizmetleri listeleKapsam: services_readlistServicesBu işlemin OpenAPI parçası

Parametreler

AlaninTürAçıklama
product_linequerystring (cloud_server, vds, dedicated_server, mail, monitor, storage, license, app)
statusquerystring
customer_idqueryintegerReseller main key only
pagequeryinteger
limitqueryinteger
projectqueryintegerOnly services in this project (0 = default project). Unknown project: 404 project_not_found.

Yanıtlar

200Services — data: array<Service>
401Missing, invalid or revoked key

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/services' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro service list
# veri kaynağı gyro_services: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/data-sources/services
data "gyro_services" "mail" {
  product_line = "mail"
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/services", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/services", {
  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}`);

#GET/cloud/services/{id}

Hizmeti getir (yenileme, iptal, erişim bilgileri)Kapsam: services_readgetServiceBu işlemin OpenAPI parçası

Parametreler

AlaninTürAçıklama
id zorunlupathinteger

Yanıtlar

200Service — data: Service
404Not found — also returned for objects owned by someone else

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/services/12345' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro service get 12345
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/services/12345", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/services/12345", {
  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}`);

#GET/cloud/services/{id}/tools

Hizmetin araçlarını, eylemlerini ve güvenlik politikasını keşfetKapsam: services_readlistServiceToolsBu işlemin OpenAPI parçası

Parametreler

AlaninTürAçıklama
id zorunlupathinteger

Yanıtlar

200Tools — data: ServiceTools
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro service tool list 12345
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools", {
  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}`);

#GET/cloud/services/{id}/tools/{tool}

Bir aracı oku (posta kutuları, snapshot'lar, DNS kayıtları, ...)Kapsam: services_readgetServiceToolDataBu işlemin OpenAPI parçası

Parametreler

AlaninTürAçıklama
id zorunlupathinteger
tool zorunlupathstring

Yanıtlar

200Tool data (module specific) — data: object
404Not found — also returned for objects owned by someone else

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools/1' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro service tool get 12345
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools/1", {
  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}`);

#POST/cloud/services/{id}/tools/{tool}/{action}

Bir araç eylemi çalıştır (posta kutusu oluştur, snapshot'tan dön, ...)Kapsam: services_writerunServiceToolActionBu işlemin OpenAPI parçası

Gövde alanları aracın kendi alanlarıdır (araç verisine ve rehberdeki modül tablosuna bakın). Keşif yanıtında confirm işaretli eylemler "confirm": true ister.

Parametreler

AlaninTürAçıklama
id zorunlupathinteger
tool zorunlupathstring
action zorunlupathstring

İstek gövdesi

AlanTürAçıklama
confirmboolean

Yanıtlar

202Accepted — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools/1/reboot' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "password": "S3cure-pass!", "quota": 2048}'
gyro service tool run 12345 --help    # tüm seçenekler
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools/1/reboot", headers=h, json={"email": "[email protected]", "password": "S3cure-pass!", "quota": 2048}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/tools/1/reboot", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"email": "[email protected]", "password": "S3cure-pass!", "quota": 2048}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/services/{id}/methods/{method}

Müşteri-çağrılabilir modül metodunu çağır (örn. lisans change_ip)Kapsam: services_writecallServiceMethodBu işlemin OpenAPI parçası

Parametreler

AlaninTürAçıklama
id zorunlupathinteger
method zorunlupathstring

İstek gövdesi

AlanTürAçıklama

Yanıtlar

200Result — data: object
404Not found — also returned for objects owned by someone else
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/services/12345/methods/1' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ip": "203.0.113.10"}'
gyro service method call 12345 --help    # tüm seçenekler
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/methods/1", headers=h, json={"ip": "203.0.113.10"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/methods/1", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"ip": "203.0.113.10"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/services/{id}/label

Hizmetin takma adını ve etiketlerini getirKapsam: services_readgetServiceLabelBu işlemin OpenAPI parçası

Hizmetlerinizden birinin (her ürün hattı) müşteri tanımlı takma adı ve renkli etiketleri. Etiketsiz hizmet "nickname": null ve "tags": [] döner. Etiketler yalnız hizmet sahibine görünür; devirden sonra eski sahibin etiketi gösterilmez.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id

Yanıtlar

200Label — data: ServiceLabel
401Missing, invalid or revoked key
403Key lacks the scope, IP not allowed, or feature disabled
404Not found — also returned for objects owned by someone else
429Too many requests (rate_limited); see the Retry-After and X-RateLimit-* headers

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/services/12345/label' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro service label get 12345
# kaynak gyro_service_label: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/service_label
# Give any service a nickname and colour tags. The nickname becomes the service title in the
# client area; the product name and service number stay below it.
resource "gyro_server" "api" {
  plan          = "standart-2-4"
  region        = "tr-ist-1"
  image         = "ubuntu-24.04"
  confirm_order = true
}

resource "gyro_service_label" "api" {
  service_id = tonumber(gyro_server.api.id)
  nickname   = "api-gateway"
  tags = [
    { name = "production", color = "green" },
    { name = "api" }, # colour omitted: a stable default is chosen by the API
  ]
}

# An existing service (e.g. a container environment) by its number.
resource "gyro_service_label" "ecs" {
  service_id = 12345
  nickname   = "gyro-ecs-1"
  tags       = [{ name = "staging", color = "orange" }]
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/label", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/label", {
  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}`);

#PUT/cloud/services/{id}/label

Hizmetin takma adını ve/veya etiketlerini ayarlaKapsam: services_writeupdateServiceLabelBu işlemin OpenAPI parçası

nickname, tags ya da ikisini gönderin; gönderilmeyen alan değişmez. nickname "" veya null temizler; tags tüm etiketlerin yerine geçer, [] temizler. Etiket "ad" ya da {"name", "color"}; bilinmeyen/eksik renk için sabit varsayılan atanır. Aynı adlı (büyük/küçük harf duyarsız) etiketler birleştirilir. Sınır: anahtar başına dakikada 30 etiket yazması (429 rate_limited). Alt hesap anahtarı label:edit eylemi ister. Hatalar: 422 nothing_to_update, invalid_nickname, invalid_tags; 404 service_not_found (başka hesabın hizmeti dahil) veya feature_unavailable.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id

İstek gövdesi

AlanTürAçıklama
nicknamestring | null"" or null clears the nickname. No control characters.
tagsarray | nullReplaces all tags; [] or null clears them. Item: a tag name, or {"name", "color"} (CLI: use --data for colours).

Yanıtlar

200Saved label — data: ServiceLabel
401Missing, invalid or revoked key
403Key lacks the scope, IP not allowed, or feature disabled
404Not found — also returned for objects owned by someone else
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
429Too many requests (rate_limited); see the Retry-After and X-RateLimit-* headers

Örnekler

curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/cloud/services/12345/label' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"nickname": "Accounting server", "tags": [{"name": "production", "color": "green"}, "customer-A"]}'
gyro service label set 12345 --help    # tüm seçenekler
# kaynak gyro_service_label: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/service_label
# Give any service a nickname and colour tags. The nickname becomes the service title in the
# client area; the product name and service number stay below it.
resource "gyro_server" "api" {
  plan          = "standart-2-4"
  region        = "tr-ist-1"
  image         = "ubuntu-24.04"
  confirm_order = true
}

resource "gyro_service_label" "api" {
  service_id = tonumber(gyro_server.api.id)
  nickname   = "api-gateway"
  tags = [
    { name = "production", color = "green" },
    { name = "api" }, # colour omitted: a stable default is chosen by the API
  ]
}

# An existing service (e.g. a container environment) by its number.
resource "gyro_service_label" "ecs" {
  service_id = 12345
  nickname   = "gyro-ecs-1"
  tags       = [{ name = "staging", color = "orange" }]
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.put("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/label", headers=h, json={"nickname": "Accounting server", "tags": [{"name": "production", "color": "green"}, "customer-A"]}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/services/12345/label", {
  method: "PUT",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"nickname": "Accounting server", "tags": [{"name": "production", "color": "green"}, "customer-A"]}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);