Docs API başvurusu Destek, bayilik ve ortaklık Bayi Bayi Bayi hesapları kendi uç-müşterilerini yönetir, hizmet atar, uç-müşteri anahtarı üretir ve kullanım raporu okur. Hizmetler bayinin hesabında kalır ve bayi indirimiyle fiyatlanır.
# GET /cloud/reseller/settings Bayi ayarları Kapsam: reseller getResellerSettings Bu işlemin OpenAPI parçası
Yanıtlar 200 Settings — data: ResellerSettings 403 Key lacks the scope, IP not allowed, or feature disabled
Örnekler curl CLI Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/settings' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala gyro reseller setting getKopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/reseller/settings", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/settings", {
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/reseller/settings Bayi ayarlarını kaydet (beyaz etiket) Kapsam: reseller saveResellerSettings Bu işlemin OpenAPI parçası
İstek gövdesi Alan Tür Açıklama white_labelboolean
Yanıtlar 200 Settings — data: ResellerSettings 403 Key lacks the scope, IP not allowed, or feature disabled
Örnekler curl CLI Python JavaScript
Kopyala curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/settings' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"white_label": true}'Kopyala gyro reseller setting set --help # tüm seçeneklerKopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.put("https://www.gyrohosting.com/api/v1/client/cloud/reseller/settings", headers=h, json={"white_label": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/settings", {
method: "PUT",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"white_label": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# GET /cloud/reseller/report Uç-müşteri başına kullanım ve fatura raporu Kapsam: reseller resellerReport Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama fromquery string toquery string
Yanıtlar 200 Report — data: ResellerReport 403 Key lacks the scope, IP not allowed, or feature disabled
Örnekler curl CLI Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/report' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala gyro reseller report getKopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/reseller/report", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/report", {
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/reseller/assign Hizmeti uç-müşteriye ata (customer_id 0 = atamayı kaldır) Kapsam: reseller assignService Bu işlemin OpenAPI parçası
İstek gövdesi Alan Tür Açıklama service_id zorunlu integer customer_id zorunlu integer
Yanıtlar 200 Assignment — data: object 404 Not found — also returned for objects owned by someone else
Örnekler curl CLI Python JavaScript
Kopyala curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/assign' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"service_id": 1, "customer_id": 1}'Kopyala gyro reseller assign --help # tüm seçeneklerKopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/reseller/assign", headers=h, json={"service_id": 1, "customer_id": 1}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/assign", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"service_id": 1, "customer_id": 1}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# GET /cloud/reseller/customers Uç-müşterileri listele Kapsam: reseller listResellerCustomers Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama external_refquery string pagequery integer limitquery integer
Yanıtlar 200 Customers — data: array<EndCustomer> 403 Key lacks the scope, IP not allowed, or feature disabled
Örnekler curl CLI Terraform Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala gyro reseller customer listKopyala # kaynak gyro_reseller_customer: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/reseller_customer
# Reseller (bayi) accounts only
resource "gyro_reseller_customer" "acme" {
name = "Acme Ltd"
external_ref = "acme-001"
allow_order = true # Acme's keys may order servers, paid from YOUR balance at your discount
}Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers", {
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/reseller/customers Uç-müşteri oluştur Kapsam: reseller createResellerCustomer Bu işlemin OpenAPI parçası
İstek gövdesi Alan Tür Açıklama namestring emailstring external_refstring Your own customer id (unique per reseller) notestring statusstring (active, suspended) allow_orderboolean May this customer's keys order servers (paid from YOUR balance)?
Yanıtlar 201 Created — data: EndCustomer 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 ...)
Örnekler curl CLI Terraform Python JavaScript
Kopyala curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Ltd", "external_ref": "acme-001", "allow_order": false}'Kopyala gyro reseller customer create --help # tüm seçeneklerKopyala # kaynak gyro_reseller_customer: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/reseller_customer
# Reseller (bayi) accounts only
resource "gyro_reseller_customer" "acme" {
name = "Acme Ltd"
external_ref = "acme-001"
allow_order = true # Acme's keys may order servers, paid from YOUR balance at your discount
}Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers", headers=h, json={"name": "Acme Ltd", "external_ref": "acme-001", "allow_order": False}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"name": "Acme Ltd", "external_ref": "acme-001", "allow_order": false}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# GET /cloud/reseller/customers/{id} Uç-müşteriyi getir Kapsam: reseller getResellerCustomer Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama id zorunlu path integer
Yanıtlar 200 Customer — data: EndCustomer 404 Not found — also returned for objects owned by someone else
Örnekler curl CLI Terraform Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala gyro reseller customer get 12345Kopyala # kaynak gyro_reseller_customer: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/reseller_customer
# Reseller (bayi) accounts only
resource "gyro_reseller_customer" "acme" {
name = "Acme Ltd"
external_ref = "acme-001"
allow_order = true # Acme's keys may order servers, paid from YOUR balance at your discount
}Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/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}`);# PATCH /cloud/reseller/customers/{id} Uç-müşteriyi güncelle (askıya alma = anahtarları çalışmaz) Kapsam: reseller updateResellerCustomer Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama id zorunlu path integer
İstek gövdesi Alan Tür Açıklama namestring emailstring external_refstring Your own customer id (unique per reseller) notestring statusstring (active, suspended) allow_orderboolean May this customer's keys order servers (paid from YOUR balance)?
Yanıtlar 200 Customer — data: EndCustomer 404 Not found — also returned for objects owned by someone else
Örnekler curl CLI Terraform Python JavaScript
Kopyala curl -s -X PATCH 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "string", "email": "string", "external_ref": "string", "note": "string", "status": "active", "allow_order": true}'Kopyala gyro reseller customer update 12345 --help # tüm seçeneklerKopyala # kaynak gyro_reseller_customer: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/reseller_customer
# Reseller (bayi) accounts only
resource "gyro_reseller_customer" "acme" {
name = "Acme Ltd"
external_ref = "acme-001"
allow_order = true # Acme's keys may order servers, paid from YOUR balance at your discount
}Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.patch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345", headers=h, json={"name": "string", "email": "string", "external_ref": "string", "note": "string", "status": "active", "allow_order": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345", {
method: "PATCH",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"name": "string", "email": "string", "external_ref": "string", "note": "string", "status": "active", "allow_order": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# DELETE /cloud/reseller/customers/{id} Uç-müşteriyi sil (anahtarlar ve webhook'lar iptal, hizmet ataması kalkar) Kapsam: reseller deleteResellerCustomer Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama id zorunlu path integer confirm zorunlu query boolean
Yanıtlar 200 Deleted 404 Not found — also returned for objects owned by someone else 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
Örnekler curl CLI Terraform Python JavaScript
Kopyala curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala gyro reseller customer delete 12345Kopyala # kaynak gyro_reseller_customer: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/reseller_customer
# Reseller (bayi) accounts only
resource "gyro_reseller_customer" "acme" {
name = "Acme Ltd"
external_ref = "acme-001"
allow_order = true # Acme's keys may order servers, paid from YOUR balance at your discount
}Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345", {
method: "DELETE",
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/reseller/customers/{id}/keys Uç-müşterinin anahtarlarını listele Kapsam: reseller listResellerCustomerKeys Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama id zorunlu path integer
Yanıtlar 200 Keys — data: array<ApiKey> 404 Not found — also returned for objects owned by someone else
Örnekler curl CLI Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala gyro reseller customer key list 12345Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys", {
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/reseller/customers/{id}/keys Uç-müşteri için anahtar üret (token bir kez döner) Kapsam: reseller createResellerCustomerKey Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama id zorunlu path integer
İstek gövdesi Alan Tür Açıklama name zorunlu string scopesarray<string (cloud_read, cloud_write, cloud_order, cloud_delete, services_read, services_write, webhooks)> servicesarray<integer> Optional service allow list actionsarray<string> Optional action allow list: server actions (reboot) or tool:action / tool:* / method:name ipsarray<string> rate_limitinteger Requests per minute (<= your own limit; 0 = default)
Yanıtlar 201 Created — data: object 404 Not found — also returned for objects owned by someone else 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
Örnekler curl CLI Python JavaScript
Kopyala curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "string", "scopes": ["cloud_read"], "services": [1], "actions": ["string"], "ips": ["string"], "rate_limit": 1}'Kopyala gyro reseller customer key create 12345 --help # tüm seçeneklerKopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys", headers=h, json={"name": "string", "scopes": ["cloud_read"], "services": [1], "actions": ["string"], "ips": ["string"], "rate_limit": 1}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"name": "string", "scopes": ["cloud_read"], "services": [1], "actions": ["string"], "ips": ["string"], "rate_limit": 1}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# DELETE /cloud/reseller/customers/{id}/keys/{kid} Uç-müşteri anahtarını iptal et Kapsam: reseller deleteResellerCustomerKey Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama id zorunlu path integer kid zorunlu path integer
Yanıtlar 200 Deleted 404 Not found — also returned for objects owned by someone else
Örnekler curl CLI Python JavaScript
Kopyala curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys/1' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala gyro reseller customer key delete 12345Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/reseller/customers/12345/keys/1", {
method: "DELETE",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
},
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);