İçeriğe atla
Core Cloud cloud.core.gen.tr

Geliştiriciler için

C2 Cloud API

Makinelerinize, disklerinize, ağlarınıza, DNS kayıtlarınıza ve aboneliklerinize HTTP üzerinden sorabileceğiniz ve söyleyebileceğiniz her şey. Bu sayfa, bir istemci üretecinin okuduğu tanımdan üretilir; bu yüzden API'nin yapmadığı bir şeyi anlatamaz.

Temel adres
https://cloud.core.gen.tr/api/v1
Sürüm
1.0.0
İşlemler
227
Bu sayfada

01 Genel Bakış

Bu API nedir

https://cloud.core.gen.tr adresindeki bulutun müşteri API'si.

Kimlik doğrulaması, panelde Ayarlar → API Anahtarları altında oluşturulan bir kişisel erişim anahtarıyla yapılır; anahtar Authorization: Bearer <token> başlığıyla gönderilir.

Her anahtar bir yetki kümesi taşır. Bir uç noktanın gerektirdiği yetkiyi taşımayan bir anahtarla gelen istek, anahtarın sahibinin başka türlü nelere izinli olduğuna bakılmaksızın 403 ile reddedilir.

Hatalar, application/problem+json ortam türüyle verilen RFC 9457 problem ayrıntılarıdır.

Bu sayfanın üretildiği tanım da yayımlanır; istemcinizi elle yazmak yerine üretebilirsiniz: OpenAPI, YAML olarak · OpenAPI, JSON olarak

Bir asistandan kullanın

Aşağıdakilerin tümü HTTP'dir ve yazacağınız bir program içindir. Bunun yerine istediğiniz şey bir asistana kendi cümlelerinizle sormaksa — Claude Code, Claude Desktop veya panelinizde hâlihazırda bulunan asistan — aynı buluta, aynı anahtarlar ve aynı denetimlerle Model Context Protocol üzerinden ulaşılır.

Claude üzerinden kullanın

02 Kimlik doğrulama

Bir anahtar ve nereye uzanabildiği

Panelde Ayarlar → API Anahtarları altından kişisel bir erişim anahtarı oluşturun ve her istekte gönderin:

curl 'https://cloud.core.gen.tr/api/v1/me' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

Bir anahtar, iki sınırdan hangisi darsa ona ulaşır

İzin, anahtarın ne yapmak için oluşturulduğunu söyler. Hesap yetkiniz ise bugün hâlâ neye izniniz olduğunu söyler. Her istek ikisine birden bakılarak denetlenir; böylece bir anahtar, sahibine hesabının zaten vermediği bir şeyi veremez ve anahtarını oluşturduktan sonra erişimi daraltılan bir kullanıcı, eski düzeyde çalışmayı bu anahtarla sürdüremez.

Her iki ret de 403 döner ve gerekçe, hata belgesinin detail alanında yer alır. Uç noktaları tek tek deneyip ret toplamak yerine, sunulan anahtarın gerçekte hangi izinleri taşıdığını GET /me ile sorun.

Bir anahtarın taşıyabileceği izinler

İzin Neye izin verir Hesap yetkisi Açtığı uç noktalar
cloud:read Sanal makinalarınızı, veri depolarınızı ve anlık görüntülerini, ISO'larınızı, şablonlarınızı, firewall kurallarınızı, kamusal IP adreslerinizi, VPN'inizi, uyum gruplarınızı, bunların arkasındaki teklifleri ve kullanım kayıtlarınızı görüntüler. Bir sanal makinanın kayıtlı parolasını da okur. cloud: view GET /affinity-groups GET /compute-offerings GET /disk-offerings GET /egress-rules GET /ingress-rules GET /instances GET /instances/{instance} GET /instances/{instance}/annotations GET /instances/{instance}/events GET /instances/{instance}/networks GET /instances/{instance}/password GET /instances/{instance}/schedules GET /instances/{instance}/vm-snapshots GET /isos GET /isos/{iso} GET /networks GET /networks/{network} GET /public-ip-addresses GET /public-ip-addresses/{publicIPAddress} GET /public-ip-addresses/{publicIPAddress}/move-plan GET /templates GET /templates/{template} GET /usage GET /volumes GET /volumes/{volume} GET /volumes/{volume}/snapshot-policies GET /volumes/{volume}/snapshots GET /volumes/{volume}/snapshots/{snapshot} GET /vpn GET /vpn/users
cloud:write Sanal makinalarınızı başlatır, durdurur, yeniden başlatır ve adlarını değiştirir; parola sıfırlar, konsol açar, ISO ve veri deposu bağlar veya çıkarır; disk anlık görüntüsü alır; firewall kurallarını, VPN kullanıcılarını ve uyum gruplarını yönetir. cloud: manage POST /affinity-groups DELETE /affinity-groups/{affinityGroup} PATCH /affinity-groups/{affinityGroup} POST /egress-rules DELETE /egress-rules/{egressRule} POST /ingress-rules DELETE /ingress-rules/{ingressRule} PATCH /ingress-rules/{ingressRule} PATCH /instances/{instance} POST /instances/{instance}/actions/attach-iso POST /instances/{instance}/actions/detach-iso POST /instances/{instance}/actions/reset-password POST /instances/{instance}/actions/restart POST /instances/{instance}/actions/start POST /instances/{instance}/actions/stop POST /instances/{instance}/annotations DELETE /instances/{instance}/annotations/{annotation} GET /instances/{instance}/console POST /instances/{instance}/networks/{network}/actions/attach POST /instances/{instance}/networks/{network}/actions/change-ip POST /instances/{instance}/networks/{network}/actions/detach POST /instances/{instance}/networks/{network}/actions/make-primary POST /instances/{instance}/networks/{network}/actions/move POST /instances/{instance}/schedules DELETE /instances/{instance}/schedules/{schedule} PATCH /instances/{instance}/schedules/{schedule} POST /instances/{instance}/vm-snapshots DELETE /instances/{instance}/vm-snapshots/{vmSnapshot} POST /instances/{instance}/vm-snapshots/{vmSnapshot}/actions/revert POST /isos/uploads DELETE /isos/uploads/{upload} GET /isos/uploads/{upload} POST /isos/uploads/{upload}/actions/complete POST /isos/uploads/{upload}/chunks DELETE /isos/{iso} PATCH /isos/{iso} DELETE /networks/{network} PATCH /networks/{network} POST /public-ip-addresses/{publicIPAddress}/actions/move PATCH /volumes/{volume} POST /volumes/{volume}/actions/attach POST /volumes/{volume}/actions/detach POST /volumes/{volume}/snapshot-policies POST /volumes/{volume}/snapshots DELETE /volumes/{volume}/snapshots/{snapshot} POST /volumes/{volume}/snapshots/{snapshot}/actions/restore PATCH /vpn POST /vpn/users DELETE /vpn/users/{vpnUser}
dns:read DNS alanlarınızı ve içlerindeki bütün kayıtları okur. dns: view GET /dns-zones GET /dns-zones/{zone} GET /dns-zones/{zone}/records
dns:write DNS alanı oluşturur ve siler, kayıt ekler, değiştirir ve kaldırır; bir kamusal IP adresinin ters DNS kaydını ayarlar. dns: manage POST /dns-zones DELETE /dns-zones/{zone} POST /dns-zones/{zone}/records DELETE /dns-zones/{zone}/records/{record} PATCH /dns-zones/{zone}/records/{record} PATCH /public-ip-addresses/{publicIPAddress}
billing:read Aboneliklerinizi, siparişlerinizi, ödemelerinizi, geri ödemelerinizi, kayıtlı kartlarınızı, hesap bakiyenizi ve ürün kataloğunu okur. billing: view GET /billing/account GET /billing/credits GET /credit-cards GET /domain-name-products GET /domain-name-products/{domainNameProduct} GET /ip-address-products GET /ip-address-products/{ipAddressProduct} GET /network-products GET /network-products/{networkProduct} GET /payments GET /payments/{payment} GET /payments/{payment}/invoice GET /payments/{payment}/proforma GET /refunds GET /service-products GET /service-products/{serviceProduct} GET /subscriptions GET /subscriptions/{subscription} GET /subscriptions/{subscription}/resize-quote GET /virtual-machine-products GET /virtual-machine-products/{virtualMachineProduct} GET /volume-products GET /volume-products/{volumeProduct}
billing:write Açık bir faturayı kayıtlı bir kartla öder, iade süresi içinde iade ister, şirketinize kesilmiş faturanın iptaline onay verir ve kayıtlı bir kartı siler. Ödeme, kartı başka hiçbir onay sormadan tahsil eder; 3-D Secure gerektiren bir kart panele yönlendirilir. Kart eklemek panelde kalır. billing: manage DELETE /credit-cards/{creditCard} POST /invoice-refund-requests/{invoiceRefundRequest}/actions/confirm POST /payments/{payment}/actions/pay POST /subscriptions/{subscription}/actions/refund
order:write Sipariş verir, abonelikleri yeniden boyutlandırır ve iptal eder. Sipariş vermek ve yeniden boyutlandırmak para harcar — başka bir onay istenmeden yapılır ve ödenmesi gereken bir fatura panelden ya da billing:write ile ödenir. Bu izni yalnızca paranız konusunda güvendiğiniz bir istemciye verin. shop: manage POST /orders POST /subscriptions/{subscription}/actions/cancel POST /subscriptions/{subscription}/actions/cancel-resize POST /subscriptions/{subscription}/actions/resize
account:read Kendi profilinizi, iletişim bilgilerinizi ve kullanılan anahtarın izinlerini okur. account: view GET /account/billing-information GET /activity-log GET /me GET /me/settings
account:write Kendi profilinizi, bildirim ayarlarınızı ve hesabın fatura bilgilerini değiştirir. account: manage PATCH /account/billing-information PATCH /me PATCH /me/settings
tickets:read Destek taleplerinizi ve üzerlerindeki yanıtları okur. tickets: view GET /tickets GET /tickets/{ticket}
tickets:write Destek talebi açar, taleplere yanıt yazar ve talepleri kapatır — her biri destek ekibimize sizin adınıza gider. tickets: manage POST /tickets POST /tickets/{ticket}/actions/close POST /tickets/{ticket}/comments
ai:read Yapay zeka ağ geçidi anahtarlarınızı, ekibimizin onlara koyduğu sınırları ve harcamalarını okur. ai: view GET /ai/keys GET /ai/usage
ai:write Gizli değeri yalnızca bir kez gösterilen bir yapay zeka ağ geçidi anahtarı oluşturur ve bir anahtarı iptal eder. Anahtarların sınırlarını ekibimiz belirler; buradan değiştirilemez. ai: manage POST /ai/keys DELETE /ai/keys/{aiKey}
admin:read admin Herhangi bir müşterinin hesabını, sanal makinalarını, DNS alanlarını, aboneliklerini ve denetim kayıtlarını okur. Ayrıca admin rolü gerektirir — bir anahtar, sahibinde olmayan yetkiyi asla vermez. — GET /admin/ai/prompts GET /admin/audit-logs GET /admin/audit-logs/{auditLog} GET /admin/customers GET /admin/customers/{user} GET /admin/customers/{user}/dns-zones GET /admin/customers/{user}/instances GET /admin/customers/{user}/subscriptions GET /admin/failed-jobs GET /admin/failed-jobs/{failedJob} GET /admin/health GET /admin/horizon GET /admin/jobs GET /admin/news GET /admin/news/{news} GET /admin/staged-actions GET /admin/staged-actions/{stagedAction} GET /admin/support-assignments GET /admin/work-queues
admin:write admin Herhangi bir müşterinin sanal makinesini başlatır, durdurur, yeniden başlatır ve üzerine ISO bağlar veya çıkarır; haber, SSS ve hukuki metin taslakları yazar; destek taleplerini yanıtlar ve atar; davetleri, destek atamalarını ve saklama bekletmelerini yönetir. Yayınlama, kredi tanımlama, giriş engeli ve dışarıya dönük diğer her işlem yalnızca onay kuyruğuna konur; kararı panelde bir yönetici verir. Ayrıca admin rolü gerektirir — bir anahtar, sahibinde olmayan yetkiyi asla vermez. — POST /admin/ai/prompts POST /admin/customers/{user}/instances/{instance}/actions/attach-iso POST /admin/customers/{user}/instances/{instance}/actions/detach-iso POST /admin/customers/{user}/instances/{instance}/actions/restart POST /admin/customers/{user}/instances/{instance}/actions/start POST /admin/customers/{user}/instances/{instance}/actions/stop POST /admin/news POST /admin/news/{news} POST /admin/news/{news}/publish POST /admin/tickets/{ticket}/assignment POST /admin/tickets/{ticket}/close POST /admin/tickets/{ticket}/comments
support:read support Size atanan müşterilerin hesaplarını, kaynaklarını ve denetim kayıtlarını okur. Ayrıca destek rolü gerektirir ve paneldeki atama denetimlerinin aynısından geçer. — GET /support/customers GET /support/customers/{user} GET /support/customers/{user}/audit-logs GET /support/customers/{user}/dns-zones GET /support/customers/{user}/instances GET /support/customers/{user}/subscriptions GET /support/customers/{user}/subscriptions/{subscription}/resize-quote GET /support/staged-actions/{stagedAction}
support:write support Size atanan müşteriler üzerinde destek panelinin yaptığı gibi işlem yapar — makineleri, ağları, VPN'i, anlık görüntüleri, DNS'i, destek talepleri, profili, fatura bilgileri ve üyeleri ile desteğin yapabildiği faturalama işlemleri — her biri yalnızca atamanızın yönetmenize izin verdiği yerde. Hesap kredisi yalnızca istenir: onu bir yönetici onaylar. Ayrıca destek rolü gerektirir. — POST /support/customers/{user}/billing-information POST /support/customers/{user}/billing/bill-notices POST /support/customers/{user}/billing/refunds-block POST /support/customers/{user}/billing/shop-block POST /support/customers/{user}/credits POST /support/customers/{user}/credits/{creditGrant}/actions/adjust POST /support/customers/{user}/credits/{creditGrant}/actions/remove POST /support/customers/{user}/dns-zones POST /support/customers/{user}/dns-zones/{zone}/actions/delete POST /support/customers/{user}/dns-zones/{zone}/records POST /support/customers/{user}/dns-zones/{zone}/records/{record} POST /support/customers/{user}/dns-zones/{zone}/records/{record}/actions/delete POST /support/customers/{user}/instances/{instance}/actions/rename POST /support/customers/{user}/instances/{instance}/actions/restart POST /support/customers/{user}/instances/{instance}/actions/start POST /support/customers/{user}/instances/{instance}/actions/stop GET /support/customers/{user}/instances/{instance}/console POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/attach POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/change-ip POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/detach POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/make-primary POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/move POST /support/customers/{user}/instances/{instance}/vm-snapshots POST /support/customers/{user}/instances/{instance}/vm-snapshots/{vmSnapshot}/actions/delete POST /support/customers/{user}/instances/{instance}/vm-snapshots/{vmSnapshot}/actions/revert POST /support/customers/{user}/invoice-refund-requests/{invoiceRefundRequest}/actions/confirm POST /support/customers/{user}/invoice-refund-requests/{invoiceRefundRequest}/actions/decline POST /support/customers/{user}/invoice-refund-requests/{invoiceRefundRequest}/actions/resolve POST /support/customers/{user}/invoice-refund-requests/{invoiceRefundRequest}/actions/retry POST /support/customers/{user}/members/{member} POST /support/customers/{user}/members/{member}/actions/remove POST /support/customers/{user}/networks/{network}/actions/release POST /support/customers/{user}/password POST /support/customers/{user}/payments/{payment}/chargebacks POST /support/customers/{user}/profile POST /support/customers/{user}/public-ip-addresses/{publicIPAddress}/networks/{network}/actions/move POST /support/customers/{user}/social-accounts/{socialAccount}/actions/unlink POST /support/customers/{user}/subscriptions/{subscription}/actions/cancel POST /support/customers/{user}/subscriptions/{subscription}/actions/force-refund POST /support/customers/{user}/subscriptions/{subscription}/actions/lift-suspension POST /support/customers/{user}/subscriptions/{subscription}/actions/lock POST /support/customers/{user}/subscriptions/{subscription}/actions/request-invoice-cancellation POST /support/customers/{user}/subscriptions/{subscription}/actions/unlock POST /support/customers/{user}/subscriptions/{subscription}/actions/unstage-resize POST /support/customers/{user}/tickets/{ticket}/actions/close POST /support/customers/{user}/tickets/{ticket}/comments POST /support/customers/{user}/volumes/{volume}/snapshot-policies POST /support/customers/{user}/volumes/{volume}/snapshots POST /support/customers/{user}/volumes/{volume}/snapshots/{snapshot}/actions/delete POST /support/customers/{user}/volumes/{volume}/snapshots/{snapshot}/actions/restore POST /support/customers/{user}/vpn POST /support/customers/{user}/vpn/users POST /support/customers/{user}/vpn/users/{vpnUser}/actions/delete

03 Ortak kurallar

Her uç noktanın aynı biçimde yaptığı şeyler

İstekler ve yanıtlar

JSON gönderin, JSON isteyin. Tek bir kaynak data anahtarı altında döner; bir liste ise data altında, yanında meta ve links ile döner. Her yazma işlemi, hesaptaki e-posta adresinin doğrulanmış olmasını gerektirir; tıpkı panelde olduğu gibi.

Sayfalama

Listeler page ve per_page alır. per_page varsayılan olarak 25'tir ve 100'ün üzerindeki her değer 100'e indirilir. Toplamlar meta içinde, komşu sayfalar links içinde döner.

İstek sınırları

Bütçeler hesap başına değil anahtar başına sayılır; böylece bir betik, bir diğerinin payını tüketemez. Okumalar dakikada 120, yazmalar 60, personelin başka bir müşteriyi okuması 30, sipariş 5, buluta gidip eşitleyen okuma (refresh=true) ise 10'dur — sonuncusu doğrudan buluta ulaştığı için düzenli yoklamada kullanılmamalıdır.

Her yanıt RateLimit-Limit, RateLimit-Remaining ve RateLimit-Reset başlıklarını taşır; sonuncusu saniye cinsindendir. Sınır aşıldığında yanıt, Retry-After başlığıyla birlikte 429'dur.

Güvenle yeniden deneme

Sipariş vermek, sizin belirlediğiniz bir Idempotency-Key başlığı gerektirir. Anahtar, sipariş çalışmadan önce ayrılır; böylece ilk deneme sürerken gelen bir tekrar, ikinci bir tahsilat yerine 409 alır ve tamamlanmış bir isteğin tekrarı, yeniden sipariş vermek yerine ilk yanıtı geri oynatır.

Hatalar

Tüm API için tek bir hata biçimi — application/problem+json ile sunulan RFC 9457 problem detayları — böylece hiçbir istemci iki biçim arasında dallanmak zorunda kalmaz. Dallanmayı type alanına göre yapın; her durum kodu için sabit bir URI'dir. Sunucu kaynaklı hatalar canlı ortamda hiçbir zaman iç ayrıntı taşımaz.

Alan Tür Açıklama
type string Hata sınıfını belirten kalıcı bir URI. Her durum kodu için bir tane.
title string Hata sınıfının kısa ve sabit bir özeti — aynı `type` değerinin her örneği için aynı metindir; bu yüzden gösterilmesi ya da eşleştirmede kullanılması güvenlidir. Bu seferki sorunu `detail` anlatır.
status integer HTTP durum kodu, gövdede yinelenir.
detail string Bu belirli duruma ilişkin, insan tarafından okunabilir bir açıklama. 5xx yanıtlarında üretim ortamında sabit ve belirsiz bir metindir — iç ayrıntılar günlüğe yazılır, asla sunulmaz.
instance string Başarısız olan isteğin yolu.
errors İsteğe bağlı object Yalnızca 422 yanıtında bulunur. Alan adından mesaj listesine eşleme.
{
    "type": "https://cloud.core.gen.tr/api/errors/validation-failed",
    "title": "Validation failed",
    "status": 422,
    "detail": "The name field is required.",
    "instance": "/api/v1/me"
}

İşlemler

Identity

Sunulan anahtarın kime ait olduğu.

GET /me #

Sunulan anahtarın ardındaki kimlik

account:read api.read

Kimliği doğrulanmış kullanıcıyı, bu istekte kullanılan anahtarın taşıdığı izinlerle birlikte döner. Bir anahtarın neler yapabileceğini uç noktaları deneyip 403 toplayarak değil, buradan öğrenin.

Yanıtlar

  • 200 Kimliği doğrulanmış kullanıcı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/me' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /activity-log #

Etkinlik kaydınızı okuyun

account:read api.read

Sizinle ilgili her denetim kaydı, en yenisi önce — panelin Etkinlik kaydı. Bütünlük zinciri, kaydedilen değişiklikler ve istek bağlamı hiçbir zaman yayımlanmaz.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
domain İsteğe bağlı query string one of cloud, billing, dns, tickets, account, auth, shop, privacy, partner, system

Yanıtlar

  • 200 Denetim kayıtlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/activity-log' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Account

Kendi profiliniz ve bildirim ayarlarınız ile hesabın fatura bilgileri — okumak için account:read, değiştirmek için account:write. Parolalar, giriş yöntemleri, iki güvenlik anahtarı ve lisans sözleşmesi panelde kalır.

PATCH /me #

Kendi profilinizi değiştirin

account:write api.read api.write

Panelin profil formu, alan alan ve aynı kurallarla: tam adınız, doğum tarihiniz, kimlik numaranız (ya da dili Türkçe olmayan bir müşteri için 22222222222 yer tutucusu ve bir pasaport numarası), telefon numaranız ve diliniz. Kimlik belgesi, panelde olduğu gibi SİZİN dilinize göre değerlendirilir. Bir T.C. kimlik numarası, kurulum bunu yapıyorsa nüfus kaydına karşı denetlenir; ret, identity_number üzerinde bir 422 olarak döner. Kimlik belgeleri asla geri gönderilmez.

account:write gerektirir ve sahibinin account: manage yetkisi olmalıdır — her üyenin kendi profilini düzenlediği panelden daha katıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Tam adınız — en az iki sözcük.
birthdate Zorunlu string Doğum tarihiniz; en az 18 yaşında olmalısınız.
identity_number Zorunlu string T.C. kimlik numaranız ya da pasaport numarasıyla birlikte `22222222222`.
passport_number İsteğe bağlı string Pasaport numaranız — diliniz Türkçe değilse ve kayıtlı bir numara yoksa zorunludur.
phone Zorunlu string `+` ile başlayan uluslararası biçimde telefon numaranız.
language Zorunlu string Paneli ve bildirimlerinizi okuduğunuz dil.

Yanıtlar

  • 200 Kaydedilmiş profiliniz.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/me' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Ayşe Yılmaz",
    "birthdate": "string",
    "identity_number": "string",
    "phone": "+90 532 000 00 00",
    "language": "tr-TR"
}'
GET /me/settings #

Bildirim ayarlarınız

account:read api.read

Kendi bildirim anahtarlarınız ve yalnızca panelden değiştirilen iki güvenlik anahtarı.

Yanıtlar

  • 200 Ayarlarınız.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/me/settings' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
PATCH /me/settings #

Bildirim ayarlarınızı değiştirin

account:write api.read api.write

E-postayla ve telefonla bildirimleri açar ya da kapatır; göndermediğiniz bir alan değerini korur. Telegram iki adımlı giriş anahtarı ve API anahtarlarını iptal etme anahtarı burada kabul edilmez — her birinin panelde kendi kanıtlanmış kapısı vardır ve bir anahtar, çalınmış bir oturumun onları zayıflatmak için kullanacağı kimlik bilgisinin ta kendisidir. Her değişiklik denetim kaydına yazılır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
enable_email_notifications İsteğe bağlı boolean E-postayla bildirim.
enable_phone_notifications İsteğe bağlı boolean Telefonla (Telegram) bildirim.

Yanıtlar

  • 200 Kaydedilmiş ayarlarınız.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/me/settings' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "enable_email_notifications": true,
    "enable_phone_notifications": true
}'
GET /account/billing-information #

Hesabın fatura bilgileri

account:read api.read

Hesabın her faturasının ve proformasının düzenlendiği bilgiler ve faturalarının tahsil edildiği para birimi.

Yanıtlar

  • 200 Fatura bilgileri.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/account/billing-information' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
PATCH /account/billing-information #

Hesabın fatura bilgilerini değiştirin

account:write api.read api.write

Panelin fatura formu, aynı kurallarla. corporate: true şirket adını, vergi numarasını ve vergi dairesini zorunlu kılar. Bir iş ortağı hesabı, corporate ne derse desin kurumsal kalır: onu şirket adı ve vergi numarası olmadan bırakacak bir gövde corporate üzerinde bir 422 ile reddedilir. Ülke, faturaların hangi para biriminde tahsil edileceğini belirler (Türkiye: TL, diğer her yer: USD); bu yüzden açık faturalar varken para birimini değiştirecek bir değişiklik country üzerinde bir 422 ile reddedilir — önce onları ödeyin. Faturadaki ad her zaman hesap sahibinindir.

account:write gerektirir ve sahibinin account: manage yetkisi olmalıdır — panelin kapısıyla aynı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
corporate İsteğe bağlı boolean Kurumsal fatura. Gönderilmezse ya da false ise bireyseldir — iş ortağı hesabı hariç: o, bu alan ne derse desin kurumsal kalır.
company_name İsteğe bağlı string Şirketin adı; kurumsal fatura için zorunludur.
tax_number İsteğe bağlı string Şirketin vergi numarası (rakamlar); kurumsal fatura için zorunludur.
tax_office İsteğe bağlı string Şirketin vergi dairesi; kurumsal fatura için zorunludur.
address Zorunlu string Açık adres.
city Zorunlu string Şehir.
postal_code Zorunlu string Posta kodu.
country Zorunlu string Fatura ülkesi — bir ISO 3166 kodu (`TR`, `792`) ya da adı.

Yanıtlar

  • 200 Kaydedilmiş fatura bilgileri.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/account/billing-information' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "address": "string",
    "city": "string",
    "postal_code": "string",
    "country": "TR"
}'

İşlemler

AI gateway

Hesabın yapay zeka ağ geçidi anahtarları — onları ve harcamalarını listeleyin (ai:read), bir anahtar oluşturun ve iptal edin (ai:write). Anahtarların sınırlarını ekibimiz belirler. Ağ geçidi kapalıyken her rota 403 döner.

GET /ai/keys #

Hesabın yapay zeka ağ geçidi anahtarlarını listeleyin

ai:read api.read

Hesaptaki her anahtar, canlı ve iptal edilmiş, en yenisi önce — asla gizli değer olmadan. meta, hesabın anahtar sınırını, kaç anahtarın canlı olduğunu ve kodunuzun yöneldiği ağ geçidi adresini taşır. Kurulumda yapay zeka ağ geçidi kapalıyken buradaki her rota 403 döner.

Yanıtlar

  • 200 Anahtarlar.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/ai/keys' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /ai/keys #

Bir yapay zeka ağ geçidi anahtarı oluşturun

ai:write api.read api.order

Hesabın ağ geçidi bütçesine karşı bir anahtar üretir ve secret değeriyle 201 döner. Gizli değer yalnızca bu yanıttadır — hiçbir yerde saklanmaz ve kaybedilen bir gizli değerin yerine yeni bir anahtar oluşturulur. Anahtar, hesabın max_keys sınırına sayılır; sınıra ulaşılmışsa, hesap için başka bir anahtar o anda oluşturuluyorsa ya da kullanıcı veya hesap engellenmişse istek 409 ile reddedilir ve hiçbir şey oluşturulmaz. Anahtarı bağlayan sınırları (bütçe, dakikadaki istek ve token sayısı, izin verilen modeller) ekibimiz belirler; buradan değiştirilemez. Oluşturulan her anahtar denetim kaydına yazılır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Anahtara verdiğiniz ad — birinin iptal edilmesi gerektiğinde onu ayırt etmenin yolu.
expires_at İsteğe bağlı string Anahtarın kendiliğinden çalışmayı bırakacağı an; gelecekte olmalıdır. Hiç bırakmaması için göndermeyin.

Yanıtlar

  • 201 Gizli değeriyle birlikte anahtar — yalnızca bu kez gösterilir.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 409 Anahtar sınırına ulaşıldı, başka bir anahtar oluşturuluyor ya da kullanıcı veya hesap engellenmiş. Hiçbir şey oluşturulmadı.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/ai/keys' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "ci runner"
}'
DELETE /ai/keys/{aiKey} #

Bir yapay zeka ağ geçidi anahtarını iptal edin

ai:write api.read api.write

Ağ geçidine anahtarı kabul etmeyi bırakmasını söyler, ardından iptali kaydeder — asla tersi sırayla değil; böylece iptal edilmiş görünen bir anahtar gerçekten ölüdür. Hesabın yapay zeka anahtarlarını yönetebilen her üye, bir iş arkadaşının oluşturduğu anahtarı iptal edebilir. Idempotent: zaten iptal edilmiş bir anahtarı iptal etmek onunla birlikte 200 döner. Başka bir hesabın anahtarı 404 döner.

Parametreler

Ad Yeri Tür Açıklama
aiKey Zorunlu path integer Anahtarın kimliği.

Yanıtlar

  • 200 İptal edilmiş anahtar.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/ai/keys/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /ai/usage #

Yapay zeka ağ geçidi sınırları ve harcama

ai:read api.read

Ekibimizin hesabın ağ geçidi takımına koyduğu sınırlar — bütçe, dakikadaki istek ve token sayısı ve anahtarların çağırabileceği modeller — ve takımın ağ geçidinden canlı okunan harcaması. Sınırlar burada yalnızca okunur: panel de onları değiştirecek bir kapı sunmaz. Ağ geçidi yanıt vermediğinde sınırlar yine okunur ve rakamın neden eksik olduğunu spend.error söyler. Hesabın ilk anahtarından önce ikisi de null olur.

Yanıtlar

  • 200 Sınırlar ve harcama.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/ai/usage' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Compute

Sanal makineler.

GET /instances #

Sanal makinaları listele

cloud:read api.read

Varsayılan olarak veritabanından yanıtlanır. Önce sağlayıcıyla eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Sanal makinalardan bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /instances/{instance} #

Tek bir sanal makinayı oku

cloud:read api.read

Bir makine için bilerek DELETE yoktur: makine ücretli bir aboneliktir ve o aboneliğin iptal edilmesiyle kaldırılır — POST /subscriptions/{subscription}/actions/cancel; kimlik, bu makinenin GET /subscriptions içindeki aboneliğidir. İptal faturalamayı durdurur ve makineyi saklama kuyruğuna bırakır; panelin İptal düğmesiyle aynı yoldur.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Sanal makina.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
PATCH /instances/{instance} #

Bir sanal makinayı yeniden adlandır

cloud:write api.read api.write

Değiştirilebilen tek alan budur. Ölçeklendirme bir faturalama olayıdır (POST /orders), yaşam döngüsü değişiklikleri ise eylemlerdir.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string

Yanıtlar

  • 200 Güncellenen sanal makina.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/instances/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string"
}'
GET /instances/{instance}/networks #

Bir makinenin ağlarını listele

cloud:read api.read

Bu makinenin bağlı olduğu ağlar — arayüzleri, buluttan canlı okunur — ve katılabileceği, çağırana ait ağlar. Hiçbir şey eşitlenmez: saklanan hiçbir kaydın adlandırmadığı bir ağdaki arayüz id: null döndürür. Salt okunur; hiçbir şey yazmaz ve silmez.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Makinenin ağları.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances/1/networks' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /instances/{instance}/vm-snapshots #

Bir makinenin canlı anlık görüntülerini listele

cloud:read api.read

Planı bunları içeren bir makinenin tüm makine kopyaları. Veritabanından yanıtlanır; önce bulutla eşitlemek için refresh=true gönderin (daha dar sınır; bulutun artık listelemediği yerel kayıtları siler). Saklama kuyruğunda bekleyen kopyalar listelenmez.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Canlı anlık görüntülerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances/1/vm-snapshots' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/vm-snapshots #

Bir makinenin canlı anlık görüntüsünü al

cloud:write api.read api.write

Makinenin tamamının bir kopyasını başlatır (with_memory true ise belleğiyle birlikte). Canlı anlık görüntüler kapalıyken, makinenin planı bunları içermiyorsa ya da hakkı dolmuşsa, veya makine yeniden boyutlandırılırken 409 ile reddedilir.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string
description İsteğe bağlı string
with_memory İsteğe bağlı boolean

Yanıtlar

  • 201 Alınmakta olan anlık görüntü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/vm-snapshots' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string"
}'
DELETE /instances/{instance}/vm-snapshots/{vmSnapshot} #

Bir canlı anlık görüntüyü sil

cloud:write api.read api.write

Kopyayı bulutta siler. Geri alınamaz. Hâlâ alınmakta olan bir kopya 409 döndürür.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
vmSnapshot Zorunlu path integer

Yanıtlar

  • 204 Silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/instances/1/vm-snapshots/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/vm-snapshots/{vmSnapshot}/actions/revert #

Bir makineyi canlı bir anlık görüntüye geri döndür

cloud:write api.read api.write

Makineyi bu kopyaya YERİNDE geri döndürür — o zamandan beri olan her şey kaybolur. Makine durdurulmuş olmalıdır. Bellekli bir kopya, bir iade talebi makineyi tutarken reddedilir. Her ret, nedenini söyleyen bir 409 döndürür.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
vmSnapshot Zorunlu path integer

Yanıtlar

  • 200 Geri döndürmeden sonra makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/vm-snapshots/1/actions/revert' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /instances/{instance}/schedules #

Bir makinenin güç planlarını listele

cloud:read api.read

Makinenin saklandığı hâliyle başlatma, durdurma ve yeniden başlatma planları. paused_by, bir başlatma planını kapatan bekletmeyi (askıya alma, saklama) adlandırır.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Planlar.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances/1/schedules' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/schedules #

Bir güç planı ekle

cloud:write api.read api.write

Bulutun kendi başına çalıştırdığı bir cron planı. Askıya alınmış bir makineye plan eklenemez; bir BAŞLATMA planı, bir iade talebi makineyi tutarken 409 ile reddedilir.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
action Zorunlu string
name İsteğe bağlı string
description İsteğe bağlı string
cron_expression Zorunlu string
timezone Zorunlu string
enabled İsteğe bağlı boolean
start_at İsteğe bağlı string
end_at İsteğe bağlı string

Yanıtlar

  • 201 Plan.
  • 202 Oluşturuldu, bulut henüz listelemedi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/schedules' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "action": "start",
    "cron_expression": "0 8 * * 1-5",
    "timezone": "Europe/Istanbul"
}'
PATCH /instances/{instance}/schedules/{schedule} #

Bir güç planını düzenle ya da aç/kapat

cloud:write api.read api.write

Planı değiştirir; açmak ya da kapatmak için enabled gönderin. Bir BAŞLATMA planını açmak bir başlatmadır; bu yüzden askıya alınmış bir makinede ve bir iade talebi makineyi tutarken (409 ile) reddedilir. Açıkça yapılan bir geçiş paused_by alanını temizler.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
schedule Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
name İsteğe bağlı string
description İsteğe bağlı string
cron_expression Zorunlu string
timezone Zorunlu string
enabled İsteğe bağlı boolean
start_at İsteğe bağlı string
end_at İsteğe bağlı string

Yanıtlar

  • 200 Plan.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/instances/1/schedules/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "cron_expression": "0 8 * * 1-5",
    "timezone": "Europe/Istanbul"
}'
DELETE /instances/{instance}/schedules/{schedule} #

Bir güç planını sil

cloud:write api.read api.write

Planı bulutta ve burada siler.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
schedule Zorunlu path integer

Yanıtlar

  • 204 Silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/instances/1/schedules/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /instances/{instance}/annotations #

Bir makinenin notlarını listele

cloud:read api.read

Makinede tutulan notlar, buluttan canlı okunur. Hiçbir şey yazmaz ve silmez.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Notlar.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances/1/annotations' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/annotations #

Bir makineye not ekle

cloud:write api.read api.write

Makineye bir not ekler.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
annotation Zorunlu string

Yanıtlar

  • 201 Not.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/annotations' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "annotation": "string"
}'
DELETE /instances/{instance}/annotations/{annotation} #

Bir notu sil

cloud:write api.read api.write

Bu makinenin notlarından birini siler; başka bir makinedeki not 404 döndürür.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
annotation Zorunlu path string

Yanıtlar

  • 204 Silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/instances/1/annotations/annotation' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /instances/{instance}/events #

Bir makinenin olaylarını listele

cloud:read api.read

Makineye ne olduğu — başlatmalar, durdurmalar, geri yüklemeler — bulutun olay kaydından canlı okunur. Hiçbir şey yazmaz ve silmez.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Olaylar.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances/1/events' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/networks/{network}/actions/attach #

Bir makineyi başka bir ağa ekle

cloud:write api.read api.write

{network} ağını makineye EK bir ağ olarak ekler; makinenin bağlı olduğu ağlar yerinde kalır — panelin Ekle düğmesi. Makine de ağ da çağırana ait olmalıdır (başka bir hesabınki 404 döner). Kilitli bir makine ya da bulutun reddi, nedenini detail alanında söyleyen bir 409 döndürür.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
network Zorunlu path integer

Yanıtlar

  • 200 Değişiklikten sonra saklandığı hâliyle makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/networks/1/actions/attach' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/networks/{network}/actions/detach #

Bir makineyi bir ağdan çıkar

cloud:write api.read api.write

Makineyi {network} ağından çıkarır — panelin Çıkar düğmesi. Makinenin tek ya da birincil ağıysa veya orada ona hâlâ yönlendirme kuralları varsa 409 ile reddedilir.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
network Zorunlu path integer

Yanıtlar

  • 200 Değişiklikten sonra saklandığı hâliyle makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/networks/1/actions/detach' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/networks/{network}/actions/make-primary #

Bir ağı makinenin birincil ağı yap

cloud:write api.read api.write

Makinenin varsayılan yolunu, zaten bağlı olması gereken {network} ağına taşır. Bunun için makine DURDURULUR ve yeniden başlatılmaz.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
network Zorunlu path integer

Yanıtlar

  • 200 Değişiklikten sonra saklandığı hâliyle makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/networks/1/actions/make-primary' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/networks/{network}/actions/move #

Bir makineyi başka bir ağa taşı

cloud:write api.read api.write

Makineyi tek adımda from_network_id ağından ÇIKARIP {network} ağına taşır — panelin Taşı düğmesi. Bunun için makine durdurulur. Makine bulunduğu ağdan ayrılamıyorsa 409 ile reddedilir.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
network Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
from_network_id Zorunlu integer Makinenin ayrılacağı ağ (`GET /networks` içinden biri).

Yanıtlar

  • 200 Değişiklikten sonra saklandığı hâliyle makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/networks/1/actions/move' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "from_network_id": 1
}'
POST /instances/{instance}/networks/{network}/actions/change-ip #

Bir makinenin bir ağdaki özel adresini değiştir

cloud:write api.read api.write

Makineye {network} ağında ip_address özel adresini verir. Bunun için makine durdurulur. Zaten sahip olduğu adres 422 döner; ağın dışındaki ya da kullanılmakta olan bir adres bunu söyleyen bir 409 döndürür.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer
network Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
ip_address Zorunlu string

Yanıtlar

  • 200 Değişiklikten sonra saklandığı hâliyle makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/networks/1/actions/change-ip' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "ip_address": "10.1.1.20"
}'
POST /instances/{instance}/actions/start #

Bir sanal makinayı başlat

cloud:write api.read api.write

Idempotent: zaten çalışan bir sanal makinayı başlatmak, buluta hiç başvurmadan anında 200 döndürür. Terraform ve benzeri araçlar komut vermek yerine istenen durumu eşitler; bu nedenle makinanın zaten içinde bulunduğu bir durumu istemek asla hata vermemelidir.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Başlatılmış (ya da zaten çalışan) sanal makina.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/actions/start' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/actions/stop #

Bir sanal makinayı durdur

cloud:write api.read api.write

Idempotent: zaten durmuş bir sanal makinayı durdurmak, start ile aynı nedenle, buluta hiç başvurmadan anında 200 döndürür.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Durdurulmuş (ya da zaten durmuş olan) sanal makina.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/actions/stop' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/actions/restart #

Bir sanal makinayı yeniden başlat

cloud:write api.read api.write

Idempotent değil — start/stop işlemlerinin aksine karşılaştırılacak bir hedef durum yoktur; bu yüzden sanal makinanın mevcut durumu ne olursa olsun her zaman buluta gider.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Yeniden başlatılmış sanal makina.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/actions/restart' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/actions/reset-password #

Bir sanal makinanın parolasını sıfırla

cloud:write api.read api.write

Idempotent DEĞİL: her çağrı yepyeni bir parola üretip saklar ve öncekinin yerine koyar. Sonucu ardından GET /instances/{instance}/password üzerinden ya da bu yanıtın data alanından alın — parolanın kendisi burada asla yer almaz (bkz. Instance).

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Parola sıfırlandıktan sonraki sanal makina.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/actions/reset-password' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /instances/{instance}/password #

Bir sanal makinanın parolasını oku

cloud:read api.read

Veritabanından yanıtlanır; buluta hiç bağlanmaz. Sahibi olan abonelik kilitliyse ve çağıran personel değilse 403 yerine null döner — sanal makina görünürdür, yalnızca parolası görünmez.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Sanal makinanın parolası.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances/1/password' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /instances/{instance}/console #

Bir sanal makina konsol oturumu aç

cloud:write api.read api.write

Her çağrıda bulutta tek kullanımlık, yeni bir konsol oturumu üretir — bu, veritabanından bir okuma değil, sağlayıcı üzerinde bir eylemdir; bu yüzden cloud:read değil cloud:write gerektirir ve yaşam döngüsü eylemleriyle aynı istek sınırına tabidir.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 Bir konsol oturumu adresi (URL).
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/instances/1/console' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /instances/{instance}/actions/attach-iso #

Bir sanal makinaya ISO bağla

cloud:write api.read api.write

Idempotent: bu sanal makinada hâlihazırda bağlı olan bir ISO'yu yeniden bağlamak, buluta hiç başvurmadan anında 200 döndürür.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
iso_id Zorunlu integer Çağıranın görebildiği bir ISO'yu göstermelidir (herkese açık ya da kendisine ait). Başkasına ait özel bir ISO ya da var olmayan bir id, 404 değil doğrulama hatası (422) verir — adreslenen kaynak ISO değil, sanal makinadır.

Yanıtlar

  • 200 ISO'su bağlanmış (ya da zaten bağlı olan) sanal makina.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/actions/attach-iso' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "iso_id": 5
}'
POST /instances/{instance}/actions/detach-iso #

Bir sanal makinada bağlı olan ISO'yu çıkar

cloud:write api.read api.write

Idempotent: hiçbir ISO bağlı olmayan bir sanal makinada çıkarma işlemi, buluta hiç başvurmadan anında 200 döndürür.

Parametreler

Ad Yeri Tür Açıklama
instance Zorunlu path integer

Yanıtlar

  • 200 ISO'su çıkarılmış (ya da zaten çıkarılmış olan) sanal makina.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/instances/1/actions/detach-iso' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
PATCH /isos/{iso} #

ISO'larınızdan birini yeniden adlandırın

cloud:write api.read api.write

Yüklediğiniz bir imajın adını, açıklamasını ve önyüklenebilir bayrağını değiştirir — panelin düzenleme formu, üç alanın tamamı. Genel bir imaj ya da başka bir hesabınki reddedilir.

Parametreler

Ad Yeri Tür Açıklama
iso Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string
description Zorunlu string
bootable Zorunlu boolean

Yanıtlar

  • 200 ISO.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/isos/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "description": "string",
    "bootable": true
}'
DELETE /isos/{iso} #

ISO'larınızdan birini silin

cloud:write api.read api.write

Yüklediğiniz bir imajı bulutta ve burada siler. Geri alınamaz. Genel bir imaj ya da başka bir hesabınki reddedilir.

Parametreler

Ad Yeri Tür Açıklama
iso Zorunlu path integer

Yanıtlar

  • 204 Silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/isos/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /isos/uploads #

Parçalı bir ISO yüklemesi başlat

cloud:write api.read api.write

size baytlık (en çok 4 GiB) bir imaj için bir yükleme açar. İmajı chunk_size baytlık (16 MiB; sonuncusu daha kısa olabilir) parçalar hâlinde POST /isos/uploads/{upload}/chunks ile, herhangi bir sırayla ve bir hatadan sonra yeniden gönderin, ardından POST …/actions/complete çağırın. Bir hesapta aynı anda üç yükleme açık olabilir; dördüncüsü 422 döner. Altı saat boyunca işlem görmeyen yüklemeler silinir.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string
description Zorunlu string
bootable Zorunlu boolean
filename Zorunlu string Dosyanın adı; `.iso` ya da `.img` ile bitmelidir.
size Zorunlu integer

Yanıtlar

  • 201 Açık yükleme.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/isos/uploads' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "description": "string",
    "bootable": true,
    "filename": "string",
    "size": 1
}'
GET /isos/uploads/{upload} #

Açık bir yüklemeyi oku

cloud:write api.read

Yükleme ve alınmış parça sıra numaraları; böylece yerini kaybeden bir istemci yalnızca eksik olanları gönderir. Başka bir hesabın yüklemesi 404 döndürür.

Parametreler

Ad Yeri Tür Açıklama
upload Zorunlu path string

Yanıtlar

  • 200 Açık yükleme.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/isos/uploads/upload' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
DELETE /isos/uploads/{upload} #

Bir yüklemeden vazgeç

cloud:write api.read api.write

Yüklemeden vazgeçer ve parçalarını hemen siler.

Parametreler

Ad Yeri Tür Açıklama
upload Zorunlu path string

Yanıtlar

  • 204 Vazgeçildi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/isos/uploads/upload' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /isos/uploads/{upload}/chunks #

Bir yüklemenin bir parçasını gönder

cloud:write api.read api.write

Bir parça, multipart/form-data olarak: index (0'dan başlar) ve file. Sonuncusu hariç her parça tam olarak chunk_size bayt olmalıdır; yanlış boyutta bir parça ya da yüklemenin dışında bir sıra numarası 422 döner. Bir parçayı yeniden göndermek onu değiştirir.

Parametreler

Ad Yeri Tür Açıklama
upload Zorunlu path string

Yanıtlar

  • 200 Bu parçası alınmış yükleme.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/isos/uploads/upload/chunks' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /isos/uploads/{upload}/actions/complete #

Bir yüklemeyi tamamla ve ISO'yu kaydet

cloud:write api.read api.write

Parçaları birleştirir ve imajı buluta kaydeder. ISO ile 201; bulut imajı aldı ama henüz listelemediyse 202 — listelediğinde GET /isos içinde görünür. Eksik bir parça 422 döner. Her iki durumda da yükleme ardından silinir.

Parametreler

Ad Yeri Tür Açıklama
upload Zorunlu path string

Yanıtlar

  • 201 Kaydedilen ISO.
  • 202 Kaydedildi, bulut henüz listelemedi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/isos/uploads/upload/actions/complete' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Storage

Diskler ve ISO'lar.

GET /volumes #

Diskleri listele

cloud:read api.read

Varsayılan olarak veritabanından yanıtlanır. Önce sağlayıcıyla eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Disklerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/volumes' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /volumes/{volume} #

Bir diski oku

cloud:read api.read

Bir disk için bilerek DELETE yoktur: ek disk ücretli bir aboneliktir ve o aboneliğin iptal edilmesiyle kaldırılır — POST /subscriptions/{subscription}/actions/cancel; kimlik, bu diskin GET /subscriptions içindeki aboneliğidir. Bir makinenin kök diski makineyle birlikte gider.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Disk.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/volumes/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
PATCH /volumes/{volume} #

Bir diski yeniden adlandır

cloud:write api.read api.write

Değiştirilebilen tek alan budur. Bağlama ve ayırma birer eylemdir; boyut değiştirmek ise bir faturalama olayıdır (POST /orders).

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string

Yanıtlar

  • 200 Güncellenmiş disk.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/volumes/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string"
}'
POST /volumes/{volume}/actions/attach #

Bir diski, çağıranın sanal makinalarından birine bağla

cloud:write api.read api.write

Idempotent: adı verilen sanal makinaya zaten bağlı olan bir diski bağlamak, buluta hiç başvurmadan anında 200 döndürür.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
instance_id Zorunlu integer Çağıranın sahibi olduğu bir sanal makinayı göstermelidir. Başkasına ait ya da var olmayan bir id, 404 değil doğrulama hatası (422) verir — adreslenen kaynak sanal makina değil, diskin kendisidir.

Yanıtlar

  • 200 Disk, bağlanmış (ya da adı verilen sanal makinaya zaten bağlı) hâliyle.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/volumes/1/actions/attach' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "instance_id": 17
}'
POST /volumes/{volume}/actions/detach #

Bir diski, bağlı olduğu sanal makinadan ayır

cloud:write api.read api.write

Idempotent: zaten ayrılmış bir diski ayırmak, buluta hiç başvurmadan anında 200 döndürür.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer

Yanıtlar

  • 200 Disk, ayrılmış (ya da zaten ayrılmış) hâliyle.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/volumes/1/actions/detach' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /volumes/{volume}/snapshots #

Bir diskin anlık görüntülerini listele

cloud:read api.read

Varsayılan olarak veritabanından yanıtlanır. Diskin anlık görüntülerini önce bulutla eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır, düzenli yoklama için kullanılmamalıdır ve bulutun artık listelemediği yerel anlık görüntü kayıtlarını siler. Saklama kuyruğuna alınmış bir anlık görüntü (diskin planından anlık görüntüler çıkarıldıktan sonra) listelenmez.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Diskin anlık görüntülerinden, en yenisi başta olmak üzere bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/volumes/1/snapshots' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /volumes/{volume}/snapshots #

Bir diskin elle anlık görüntüsünü al

cloud:write api.read api.write

Anlık görüntü arka planda alınır: yanıt onu Creating durumunda taşır. Elle alınan anlık görüntü, anlık görüntü sınırından düşer. Sınıra ulaşıldığında (yalnızca elle alınanlar sayılır), diskin planı anlık görüntü içermediğinde ya da disk veya bağlı olduğu makine yeniden boyutlandırılırken 409 döner; hangisi olduğunu gövdedeki detail söyler. Anlık görüntü DELETE /volumes/{volume}/snapshots/{snapshot} ile silinir, POST …/{snapshot}/actions/restore ile yeni bir diske geri yüklenir ve /volumes/{volume}/snapshot-policies ile zamanlanır.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer

İstek gövdesi İsteğe bağlı

Alan Tür Açıklama
name İsteğe bağlı string Anlık görüntü için isteğe bağlı bir etiket.

Yanıtlar

  • 201 İstenmiş ve alınmakta olan anlık görüntü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/volumes/1/snapshots' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "before-upgrade"
}'
GET /volumes/{volume}/snapshots/{snapshot} #

Bir diskin tek bir anlık görüntüsünü oku

cloud:read api.read

Veritabanından yanıtlanır. Başka bir diskin anlık görüntüsü, saklama kuyruğunda tutulan bir anlık görüntü ve var olmayan bir kimlik 404 döndürür.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer
snapshot Zorunlu path integer

Yanıtlar

  • 200 Anlık görüntü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/volumes/1/snapshots/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
DELETE /volumes/{volume}/snapshots/{snapshot} #

Bir anlık görüntüyü sil

cloud:write api.read api.write

Anlık görüntüyü bulutta siler; panelin Sil düğmesiyle aynı işlemdir. Geri alınamaz. Saklama kuyruğunda tutulan bir anlık görüntü sizin silebileceğiniz bir şey değildir ve 404 döndürür.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer
snapshot Zorunlu path integer

Yanıtlar

  • 204 Silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/volumes/1/snapshots/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /volumes/{volume}/snapshots/{snapshot}/actions/restore #

Bir anlık görüntüyü yeni bir diske geri yükle

cloud:write api.read api.write

Anlık görüntüden name adlı YENİ bir disk oluşturur — alındığı diski asla yerinde geri sarmaz. Yeni disk max_vols kotasından düşer ve bir anlık görüntü sınırlı sayıda geri yüklenebilir; 409, ulaşılan sınırı ya da hesapta başka bir geri yüklemenin başlamakta olduğunu söyler. Geri yükleme arka planda çalışır: yeni disk, bulut bildirdiğinde GET /volumes içinde görünür; yanıt ise restore_count alanı artmış anlık görüntüyü taşır.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer
snapshot Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Yeni diskin adı.

Yanıtlar

  • 202 Geri yükleme başladı; başladığı anlık görüntü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/volumes/1/snapshots/1/actions/restore' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "restored-data"
}'
GET /volumes/{volume}/snapshot-policies #

Bir diskin saklama planlarını listele

cloud:read api.read

Bulutun bu disk için tuttuğu planlar — "7 günlük, 4 haftalık sakla". Bulut her anlık görüntüyü planına göre alır ve sayıyı aşan en eskisini siler. Veritabanından yanıtlanır.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer

Yanıtlar

  • 200 Diskin saklama planları.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/volumes/1/snapshot-policies' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /volumes/{volume}/snapshot-policies #

Bir diske saklama planı ekle

cloud:write api.read api.write

Panelin saklama formu: bir aralık ve kaç anlık görüntünün tutulacağı. Bulut planı UTC'de yoğun olmayan bir saatte çalıştırır. max_snaps, hesabın anlık görüntü sınırıyla — bir makinenin önyükleme diskinde makinenin planıyla — sınırlıdır; plan hiç disk anlık görüntüsü içermiyorsa 409 bunu söyler. Silme yoktur: panel de sunmaz.

Parametreler

Ad Yeri Tür Açıklama
volume Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
interval_type Zorunlu string
max_snaps Zorunlu integer Bu plandan kaç anlık görüntünün tutulacağı.

Yanıtlar

  • 201 Plan.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/volumes/1/snapshot-policies' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "interval_type": "HOURLY",
    "max_snaps": 1
}'
GET /isos #

ISO'ları listele

cloud:read api.read

Varsayılan olarak veritabanından yanıtlanır. Önce sağlayıcıyla eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır.

Çağıranın görebildiği her ISO'yu içerir: kendi ISO'ları ve sağlayıcının herkese açık işaretlediği bütün ISO'lar.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 ISO'lardan bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/isos' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /isos/{iso} #

Tek bir ISO'yu oku

cloud:read api.read

Herkese açıksa ya da çağırana aitse görünür. Başka bir müşteriye ait özel bir ISO 404 döner; hiç var olmayan bir kayıttan ayırt edilemez.

Parametreler

Ad Yeri Tür Açıklama
iso Zorunlu path integer
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 ISO.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/isos/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Catalogue

Şablonlar ve teklifler — her sanal makinenin ve her veri deposunun üzerine kurulduğu, satılabilir küresel ürün kataloğu. Salt okunur: eşitlemenin burada neden hiçbir zaman sunulmadığını her uç noktanın açıklamasında bulabilirsiniz.

GET /templates #

Şablonları listele

cloud:read api.read

Kataloğu sağlayıcıyla eşitlemek, satılabilir ürünleri kaldırabilen genel bir yönetim işlemidir; bu yüzden burada bilinçli olarak sunulmaz. Bu uç nokta her zaman panelin hâlihazırda bildiğini döndürür.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Şablonlardan bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/templates' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /templates/{template} #

Bir şablonu oku

cloud:read api.read

Kataloğu sağlayıcıyla eşitlemek, satılabilir ürünleri kaldırabilen genel bir yönetim işlemidir; bu yüzden burada bilinçli olarak sunulmaz. Bu uç nokta her zaman panelin hâlihazırda bildiğini döndürür.

Parametreler

Ad Yeri Tür Açıklama
template Zorunlu path integer

Yanıtlar

  • 200 Şablon.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/templates/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /compute-offerings #

Hesaplama tekliflerini listele

cloud:read api.read

Kataloğu sağlayıcıyla eşitlemek, satılabilir ürünleri kaldırabilen genel bir yönetim işlemidir; bu yüzden burada bilinçli olarak sunulmaz. Bu uç nokta her zaman panelin hâlihazırda bildiğini döndürür.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Hesaplama tekliflerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/compute-offerings' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /disk-offerings #

Disk tekliflerini listele

cloud:read api.read

Kataloğu sağlayıcıyla eşitlemek, satılabilir ürünleri kaldırabilen genel bir yönetim işlemidir; bu yüzden burada bilinçli olarak sunulmaz. Bu uç nokta her zaman panelin hâlihazırda bildiğini döndürür.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Disk tekliflerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/disk-offerings' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Network

Güvenlik duvarı kuralları, kamusal IP adresleri, VPN ve yakınlık grupları. Her koleksiyon uç noktasının açıklamasında, o uç noktanın istek yolundan uzak tutmak için var olduğu eşitleyen kardeşi anlatılır — bu eşitlemenin en ağır biriktiği yer ağ kaynaklarıdır, çünkü güvenlik duvarı kurallarını okumak sanal makineleri de eşitleyebilir.

GET /ingress-rules #

Giriş güvenlik duvarı kurallarını listele

cloud:read api.read

Varsayılan olarak veritabanından yanıtlanır. Önce sağlayıcıyla eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır. Ayrıca bu API'deki en yıkıcı okumadır: çağırdığı eşitleme metodu, sağlayıcının listesinde yer almayan yerel güvenlik duvarı kurallarını siler; oluşturma dalı ise çağıranın sanal makinalarını da eşitleyerek listede yer almayanları aynı şekilde siler.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Giriş kurallarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/ingress-rules' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /ingress-rules #

Bir giriş güvenlik duvarı kuralı oluştur

cloud:write api.read api.write

Bir kamusal IP adresi ile port çiftini, çağıranın kendi sanal makinalarından birindeki özel bir porta yönlendirir. public_ip_address çağıranın kendi kayıtlı kamusal IP adreslerinden birini, instance_id ise çağıranın kendi sanal makinalarından birini göstermelidir; ikisinden birinin çözülememesi 404 değil 422 verir — adreslenen kaynak bu koleksiyon uç noktasıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
public_ip_address Zorunlu string
protocol Zorunlu string
public_port_start Zorunlu integer
public_port_end Zorunlu integer `public_port_start` değerine eşit ya da ondan büyük olmalıdır.
private_port_start Zorunlu integer
private_port_end Zorunlu integer `private_port_start` değerine eşit ya da ondan büyük olmalıdır.
instance_id Zorunlu integer

Yanıtlar

  • 201 Oluşturulan giriş kuralı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/ingress-rules' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "public_ip_address": "203.0.113.10",
    "protocol": "tcp",
    "public_port_start": 1,
    "public_port_end": 1,
    "private_port_start": 1,
    "private_port_end": 1,
    "instance_id": 17
}'
PATCH /ingress-rules/{ingressRule} #

Bir giriş güvenlik duvarı kuralını yeniden yönlendir

cloud:write api.read api.write

Değiştirilebilen tek alanlar: kuralın hangi özel portlara ve çağıranın kendi sanal makinalarından hangisine yönlendirdiğidir. instance_id, çağıranın sahibi olduğu bir sanal makinayı göstermelidir; başkasına ait ya da var olmayan bir id 404 değil, doğrulama hatası (422) verir — adreslenen kaynak kuraldır ve bu istek çalışmadan önce çözülmüş, sahipliği doğrulanmıştır.

Parametreler

Ad Yeri Tür Açıklama
ingressRule Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
private_port_start Zorunlu integer
private_port_end Zorunlu integer `private_port_start` değerine eşit ya da ondan büyük olmalıdır.
instance_id Zorunlu integer

Yanıtlar

  • 200 Güncellenen giriş kuralı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/ingress-rules/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "private_port_start": 1,
    "private_port_end": 1,
    "instance_id": 17
}'
DELETE /ingress-rules/{ingressRule} #

Bir giriş güvenlik duvarı kuralını sil

cloud:write api.read api.write

“Her değişiklik güncel gösterimi döndürür” kuralının belgelenmiş tek istisnası: silmeden sonra döndürülecek bir şey kalmaz; bu yüzden silinen kaynağı 200 ile döndürmek yerine boş gövdeyle 204 yanıtı verilir.

Parametreler

Ad Yeri Tür Açıklama
ingressRule Zorunlu path integer

Yanıtlar

  • 204 Kural silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/ingress-rules/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /egress-rules #

Çıkış güvenlik duvarı kurallarını listele

cloud:read api.read

Varsayılan olarak veritabanından yanıtlanır. Önce sağlayıcıyla eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Çıkış kurallarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/egress-rules' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /egress-rules #

Bir çıkış güvenlik duvarı kuralı oluştur

cloud:write api.read api.write

source_cidr adresinden destination_cidr adresine giden trafiğe izin verir. Her ikisi de geçerli birer CIDR bloğu olmalıdır — bir güvenlik duvarı uç noktasından buluta bozuk bir CIDR ulaşması, doğrulama inceliği değil, güvenlik açığıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
source_cidr Zorunlu string
destination_cidr Zorunlu string
protocol Zorunlu string
port_start Zorunlu integer
port_end Zorunlu integer `port_start` değerine eşit ya da ondan büyük olmalıdır.

Yanıtlar

  • 201 Oluşturulan çıkış kuralı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/egress-rules' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "source_cidr": "10.0.0.0/24",
    "destination_cidr": "0.0.0.0/0",
    "protocol": "tcp",
    "port_start": 1,
    "port_end": 1
}'
DELETE /egress-rules/{egressRule} #

Bir çıkış güvenlik duvarı kuralını sil

cloud:write api.read api.write

“Her değişiklik güncel gösterimi döndürür” kuralının belgelenmiş tek istisnası: silmeden sonra döndürülecek bir şey kalmaz; bu yüzden silinen kaynağı 200 ile döndürmek yerine boş gövdeyle 204 yanıtı verilir.

Parametreler

Ad Yeri Tür Açıklama
egressRule Zorunlu path integer

Yanıtlar

  • 204 Kural silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/egress-rules/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /networks #

Ağları listele

cloud:read api.read

Çağıranın kendi yalıtılmış ağları; ücretsiz olan önce gelir. Veritabanından yanıtlanır ve sağlayıcıyla hiçbir zaman eşitlenmez — eşitleyen bir okuma yerel kayıtları sildiği için refresh parametresi yoktur. Bir sipariş satırında network_id olarak buradaki bir id değerini kullanın.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Ağlardan bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/networks' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /networks/{network} #

Bir ağı oku

cloud:read api.read

Çağıranın ağlarından biri. Başka bir hesabın ağı, var olmayan bir kimlik gibi 404 döndürür.

Parametreler

Ad Yeri Tür Açıklama
network Zorunlu path integer

Yanıtlar

  • 200 Ağ.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/networks/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
PATCH /networks/{network} #

Bir ağı adlandır

cloud:write api.read api.write

Ağ için çağıranın kendi adını belirler — bulutun hiç görmediği bir etiket. null ya da boş bir metin, üretilen ada geri döndürür.

Parametreler

Ad Yeri Tür Açıklama
network Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
label İsteğe bağlı string

Yanıtlar

  • 200 Ağ.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/networks/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "label": "string"
}'
DELETE /networks/{network} #

Bir ağı bırak

cloud:write api.read api.write

Boşaltılmış bir ağı, tuttuğu genel adresle birlikte buluta geri verir. Bu ağın gidip gidemeyeceğine bırakma anında karar verilir: üzerinde hâlâ bir şey — bir makine, satın alınmış bir adres, aboneliği — varsa, neyin olduğunu söyleyen bir 409 ile reddedilir. Geri alınamaz.

Parametreler

Ad Yeri Tür Açıklama
network Zorunlu path integer

Yanıtlar

  • 204 Bırakıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/networks/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /public-ip-addresses #

Kamusal IP adreslerini listele

cloud:read api.read

Varsayılan olarak veritabanından yanıtlanır. Önce sağlayıcıyla eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır. Sağlayıcının listesinde bulunmayan yerel kayıtları siler.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Kamusal IP adreslerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/public-ip-addresses' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /public-ip-addresses/{publicIPAddress} #

Bir kamusal IP adresini oku

cloud:read api.read

Varsayılan olarak veritabanından yanıtlanır. Yanıt verilmeden önce çağıranın adres kümesinin tamamını sağlayıcıyla eşitleyip bu adresi aralarından seçmek için refresh=true gönderin — sağlayıcıda tek bir adresi sorgulamanın yolu yoktur. Bu biçimin istek sınırı çok daha dardır, düzenli yoklama için kullanılmamalıdır ve koleksiyon uç noktasında olduğu gibi, sağlayıcının listesinde bulunmayan yerel kayıtları siler.

Parametreler

Ad Yeri Tür Açıklama
publicIPAddress Zorunlu path integer
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Kamusal IP adresi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/public-ip-addresses/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
PATCH /public-ip-addresses/{publicIPAddress} #

Bir kamusal IP adresinin ters DNS kaydını ayarla

dns:write api.read api.write

DNS servisinde bir PTR kaydı ve yerel satırı yazar. Bulutta hiçbir şeyi değiştirmez, bu yüzden cloud:write değil dns:write izni gerekir; ancak önce adresin bulutun canlı listesinde hâlâ bu hesaba ait olduğunu denetler: değilse 422, liste okunamazsa 502 döner. Bkz. DNSUserService::updatePublicIPAddress().

Parametreler

Ad Yeri Tür Açıklama
publicIPAddress Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
reverse_record Zorunlu string Geçerli bir DNS ana makine adı.

Yanıtlar

  • 200 Güncellenen kamusal IP adresi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/public-ip-addresses/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "reverse_record": "host.example.com"
}'
POST /public-ip-addresses/{publicIPAddress}/actions/move #

Bir genel adresi başka bir ağa taşı

cloud:write api.read api.write

SATIN ALINMIŞ bir adresi çağıranın başka bir ağına taşır. Bulut bir adresi yeniden yerleştiremez; bu yüzden bu işlem adresi BIRAKIR ve hedef ağda yenisini alır: adres değişir ve geri alınamaz. Ücret alınmaz. Bir ağın kendi kaynak NAT adresi, üzerinde yönlendirme kuralı ya da VPN bulunan bir adres ve üzerinde henüz hiçbir şey çalışmayan bir hedef ağ, her biri bunu söyleyen bir 409 ile reddedilir.

Parametreler

Ad Yeri Tür Açıklama
publicIPAddress Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
network_id Zorunlu integer Hedef ağ (`GET /networks` içinden biri).

Yanıtlar

  • 200 Yeni adres.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/public-ip-addresses/1/actions/move' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "network_id": 1
}'
GET /public-ip-addresses/{publicIPAddress}/move-plan #

Bir adresin nereye taşınabileceğini oku

cloud:read api.read

Bu adresin taşınıp taşınamayacağı ve çağıranın hangi ağlarına taşınabileceği; taşınamıyorsa nedeni. Saklanan ağlardan yanıtlanır; hiçbir şey eşitlenmez.

Parametreler

Ad Yeri Tür Açıklama
publicIPAddress Zorunlu path integer

Yanıtlar

  • 200 Plan.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/public-ip-addresses/1/move-plan' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /vpn #

Çağıranın VPN'lerini listele

cloud:read api.read

Tek bir nesne değil, bir koleksiyondur: bir müşteri hesabında hiç yapılandırılmış VPN olmayabilir ya da ilke olarak birden fazla olabilir. Varsayılan olarak veritabanından yanıtlanır; önce sağlayıcıyla eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır, düzenli yoklama için kullanılmamalıdır ve sağlayıcının listesinde bulunmayan yerel satırları siler.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 VPN'lerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/vpn' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
PATCH /vpn #

Bir VPN ağ geçidini aç ya da kapat

cloud:write api.read api.write

Çağıranın genel adreslerinden birindeki uzaktan erişim VPN ağ geçidini açar ya da kapatır — panelin anahtarı. Ağ geçidi, bulut bildirdiğinde GET /vpn?refresh=true içinde görünür. Bulutun yapmadığı bir geçiş bunu söyleyen bir 409 döndürür; kullanıcılar /vpn/users üzerinden yönetilir.

İstek gövdesi Zorunlu

Alan Tür Açıklama
public_ip_address_id Zorunlu integer
enabled Zorunlu boolean

Yanıtlar

  • 204 Geçiş yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/vpn' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "public_ip_address_id": 1,
    "enabled": true
}'
GET /vpn/users #

VPN kullanıcılarını listele

cloud:read api.read

Veritabanından yanıtlanır; buluta hiç bağlanmaz. refresh parametresi yoktur — kamusal IP adresleri ve VPN'lerin aksine, bu uç noktanın API üzerinden açılmış, eşitleyici bir eşi yoktur.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 VPN kullanıcılarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/vpn/users' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /vpn/users #

Bir VPN kullanıcısı oluştur

cloud:write api.read api.write

Çağıranın hesabı altında bulutta bir VPN kullanıcısı oluşturur. username, çağıranın kendi VPN kullanıcıları arasında kullanılmamış olmalıdır; başka bir müşterinin kullandığı bir ad çakışma sayılmaz.

Her iki alan da bizim daha gevşek bir kuralımıza göre değil, bulut sağlayıcısının kendi kuralına göre doğrulanır: her biri bir harf ya da rakamla BAŞLAMALI, ardından harf, rakam ve küçük bir noktalama kümesi kullanabilir — kullanıcı adı için @ . - _, parola için @ + = . - _. Bunun dışında kalan bir değer burada 422 verir. Eskiden böyle bir değer kabul edilir, sonrasında sağlayıcı tarafından reddedilirdi; bu da çağırana, hiç erişimi olmayan bir sistemi adıyla anan bir 502 olarak dönerdi.

İstek gövdesi Zorunlu

Alan Tür Açıklama
username Zorunlu string
password Zorunlu string

Yanıtlar

  • 201 Yeni VPN kullanıcısı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/vpn/users' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "username": "jdoe",
    "password": "string"
}'
DELETE /vpn/users/{vpnUser} #

Bir VPN kullanıcısını sil

cloud:write api.read api.write

“Her değişiklik güncel gösterimi döndürür” kuralının belgelenmiş tek istisnası: silmeden sonra döndürülecek bir şey kalmaz; bu yüzden silinen kaynağı 200 ile döndürmek yerine boş gövdeyle 204 yanıtı verilir.

Parametreler

Ad Yeri Tür Açıklama
vpnUser Zorunlu path integer

Yanıtlar

  • 204 VPN kullanıcısı silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/vpn/users/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /affinity-groups #

Uyum gruplarını listele

cloud:read api.read

Veritabanından yanıtlanır; buluta hiç bağlanmaz. refresh parametresi yoktur: bu uç noktanın eşitleyici eşi, bu API'deki diğerlerinin hiçbirine benzemeyecek ölçüde yıkıcıdır — sağlayıcının listesinde bulunmayan yerel uyum gruplarını, yanı sıra sanal makina üyelik kayıtlarını da siler — ve burada asla açılmaz.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Uyum gruplarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/affinity-groups' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /affinity-groups #

Bir uyum grubu oluştur

cloud:write api.read api.write

name, bütün müşterilerin uyum grupları arasında benzersiz olmalıdır — sağlayıcı, uyum grubu adlarını hesap bazında ayırmaz. Her instances.* değeri, çağıranın kendi sanal makinalarından birini göstermelidir; başkasına ait ya da olmayan bir id 404 değil 422 verir.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string
description İsteğe bağlı string
affinity_type Zorunlu string
instances İsteğe bağlı array of integer

Yanıtlar

  • 201 Yeni uyum grubu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/affinity-groups' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "web-tier",
    "affinity_type": "Host Affinity"
}'
PATCH /affinity-groups/{affinityGroup} #

Bir uyum grubunun üyeliğini yeniden belirle

cloud:write api.read api.write

Değiştirilebilen tek alan: çağıranın kendi sanal makinalarından hangilerinin gruba ait olduğu. Sağlayıcı, oluşturulduktan sonra bir uyum grubunun adının ya da türünün değiştirilmesini desteklemez. Her instances.* değeri, çağıranın kendi sanal makinalarından birini göstermelidir; başkasına ait ya da olmayan bir id 404 değil 422 verir — adreslenen kaynak, bu istek çalışmadan önce zaten çözümlenmiş ve sahipliği doğrulanmış olan grubun kendisidir. Boş bir dizi, grubun üyeliğini temizler.

Parametreler

Ad Yeri Tür Açıklama
affinityGroup Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
instances Zorunlu array of integer

Yanıtlar

  • 200 Güncellenmiş uyum grubu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/affinity-groups/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "instances": [
        17
    ]
}'
DELETE /affinity-groups/{affinityGroup} #

Bir uyum grubunu sil

cloud:write api.read api.write

“Her değişiklik güncel gösterimi döndürür” kuralının belgelenmiş tek istisnası: silmeden sonra döndürülecek bir şey kalmaz; bu yüzden silinen kaynağı 200 ile döndürmek yerine boş gövdeyle 204 yanıtı verilir.

Parametreler

Ad Yeri Tür Açıklama
affinityGroup Zorunlu path integer

Yanıtlar

  • 204 Uyum grubu silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/affinity-groups/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

DNS

Panelin DNS tümleşiğindeki alanlar ve kayıtlar. Buradaki herhangi bir okumada refresh=true, API'nin tamamındaki en geniş etki alanına sahip eşitlemedir — tek bir alanı eşitleyen bir işlem yoktur, bu yüzden her seferinde çağıranın DNS hesabının tamamı yeniden eşitlenir, yalnızca isteğin adreslediği kaynak değil.

GET /dns-zones #

DNS alanlarını listele

dns:read api.read

Varsayılan olarak veritabanından yanıtlanır. Önce DNS servisiyle eşitlemek için refresh=true gönderin — bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır. /instances veya /volumes üzerindeki aynı parametrenin aksine, bir DNS tazelemesi yalnızca bu listeyi değil, çağıranın tüm DNS hesabını eşitler: alttaki serviste tek bir DNS alanını eşitlemenin daha ucuz bir yolu yoktur. Ayrıca DNS servisinin kendi listesinde artık bulunmayan yerel DNS alanlarını (ve buna bağlı olarak kayıtlarını) siler.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 DNS alanlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/dns-zones' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /dns-zones #

Bir DNS alanı oluştur

dns:write api.read api.write

Çağıranın kendi aboneliklerinden en az birinin dağıtılmış durumda olmasını gerektirir ve 6'ncı DNS alanını reddeder — her ikisi de DNS alanı DNS servisinde oluşturulmadan önce denetlenir; böylece reddedilen bir istek sağlayıcı tarafında asla sahipsiz bir DNS alanı bırakmaz.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string DNS alanının etki alanı adı; sonunda nokta olmadan.

Yanıtlar

  • 201 Oluşturulan DNS alanı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/dns-zones' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "example.com"
}'
GET /dns-zones/{zone} #

Bir DNS alanını oku

dns:read api.read

Varsayılan olarak veritabanından yanıtlanır. Yanıt vermeden önce eşitlemek için refresh=true gönderin — koleksiyon uç noktasında olduğu gibi bu, çağıranın tüm DNS hesabını eşitler (tek bir DNS alanını eşitleyen bir işlem yoktur) ve ardından bu DNS alanını sonucun içinden seçer. Bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır.

Parametreler

Ad Yeri Tür Açıklama
zone Zorunlu path integer
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 DNS alanı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/dns-zones/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
DELETE /dns-zones/{zone} #

Bir DNS alanını sil

dns:write api.read api.write

DNS alanını DNS servisinden ve yerel satırıyla birlikte, ayrıca tüm kayıtlarının yerel satırlarıyla birlikte siler. “Her değişiklik güncel gösterimi döndürür” kuralının belgelenmiş tek istisnası: döndürülecek bir şey kalmaz; bu yüzden silinen kaynağı 200 ile döndürmek yerine boş gövdeyle 204 yanıtı verilir.

Parametreler

Ad Yeri Tür Açıklama
zone Zorunlu path integer

Yanıtlar

  • 204 DNS alanı (ve kayıtları) silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/dns-zones/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /dns-zones/{zone}/records #

Bir DNS alanının kayıtlarını listele

dns:read api.read

Varsayılan olarak veritabanından yanıtlanır: DNS alanının kendi kayıtlarının sade bir okuması, sağlayıcıya hiçbir çağrı yapılmaz (DNS alanının kendisi zaten çağırana ait olmalıdır — herhangi bir kayda bakılmadan önce çözülür ve değilse 404 döner). Önce eşitlemek için refresh=true gönderin — DNS alanı uç noktalarında olduğu gibi bu, yalnızca bu DNS alanını değil, çağıranın tüm DNS hesabını eşitler ve istek sınırı çok daha dardır.

Parametreler

Ad Yeri Tür Açıklama
zone Zorunlu path integer
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 DNS alanının kayıtlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/dns-zones/1/records' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /dns-zones/{zone}/records #

Bir DNS kaydı oluştur

dns:write api.read api.write

Çağıranın kendi aboneliklerinden en az birinin dağıtılmış durumda olmasını gerektirir ve bu DNS alanında 256'ncı kaydı reddeder — her ikisi de kayıt DNS servisinde oluşturulmadan önce denetlenir. Kaydın oluşturulması, yeni kaydın geri okunmasının bir yan etkisi olarak çağıranın tüm DNS hesabını da eşitler — yerel satırını elde etmenin daha ucuz bir yolu yoktur, çünkü alttaki sağlayıcı çağrısı böyle bir satır döndürmez. Kaydın adında ve türünde zaten bulunan bir değer, hiçbir şey yazılmadan data alanında 422 ile reddedilir: bir değer, bir kayıttır.

Parametreler

Ad Yeri Tür Açıklama
zone Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Göreli bir değer (örneğin `www`) DNS alanının kendi adına göre otomatik olarak nitelenir; zaten tam nitelenmiş bir değer (sonunda nokta) olduğu gibi kullanılır.
type Zorunlu string
data Zorunlu string

Yanıtlar

  • 201 Oluşturulan DNS kaydı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/dns-zones/1/records' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "www",
    "type": "A",
    "data": "203.0.113.5"
}'
PATCH /dns-zones/{zone}/records/{record} #

Bir DNS kaydını güncelle

dns:write api.read api.write

Değiştirilebilen tek alanlar: type ve data. Kaydı DNS servisinde ve yerel satırda doğrudan günceller, kaydın id değerini korur — alttaki servis metodu değişikliği kendi başına yerelde saklamaz; bunun yerine hesabın tamamını kapsayan eşitleme üzerinden ilerlemek bu kaydı silip yerine farklı bir id ile yenisini oluştururdu. Bu addaki başka bir kaydın zaten taşıdığı yeni bir type ve data, hiçbir şey yazılmadan data alanında 422 ile reddedilir; kaydın kendi güncel değerini göndermek kabul edilir ve hiçbir şeyi değiştirmez.

Parametreler

Ad Yeri Tür Açıklama
zone Zorunlu path integer
record Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
type Zorunlu string
data Zorunlu string

Yanıtlar

  • 200 Güncellenen DNS kaydı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X PATCH 'https://cloud.core.gen.tr/api/v1/dns-zones/1/records/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "A",
    "data": "203.0.113.6"
}'
DELETE /dns-zones/{zone}/records/{record} #

Bir DNS kaydını sil

dns:write api.read api.write

Kaydı DNS servisinden ve yerel satırıyla birlikte siler. “Her değişiklik güncel gösterimi döndürür” kuralının belgelenmiş tek istisnası: döndürülecek bir şey kalmaz; bu yüzden silinen kaynağı 200 ile döndürmek yerine boş gövdeyle 204 yanıtı verilir. DNS servisi bu kaydın değerini artık tutmuyorsa çağrı 409 döner, yerel satırı korur; bölgenin kayıt listesinde refresh=true ile eşitlenir.

Parametreler

Ad Yeri Tür Açıklama
zone Zorunlu path integer
record Zorunlu path integer

Yanıtlar

  • 204 Kayıt silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/dns-zones/1/records/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Billing

Satılabilir katalog, abonelikler ve iptalleri, ödemeler, saklı kredi kartları, iadeler, hesap bakiyesi ve sipariş verme. POST /orders yalnızca hesap bakiyesinden öder. billing:write ile açık bir fatura 3-D Secure'dan geçmiş kayıtlı bir kartla ödenebilir — geçmemiş bir kart bir approval_url ile panele geri gönderilir, çünkü banka doğrulaması tarayıcıda bir kişi ister —, iade istenebilir ve kayıtlı bir kart silinebilir; kart eklemek panelde kalır. Her uç noktanın açıklamasında, o uç noktanın istek yolundan bilerek uzak tuttuğu eşitleyen kardeşi — varsa — anlatılır.

GET /virtual-machine-products #

Sanal makina ürünlerini listele

billing:read api.read

Satılabilir sanal makina kataloğu. refresh parametresi yoktur: bu uç nokta yapısı gereği veritabanından yanıtlanır — üzerine kurulduğu tanımların aksine, buradaki hiçbir şey bulutla eşitlenmez. VirtualMachineProductPolicy::view() ile uyumlu olarak yalnızca yayımlanmış ürünler döner.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Sanal makina ürünlerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/virtual-machine-products' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /virtual-machine-products/{virtualMachineProduct} #

Bir sanal makina ürününü oku

billing:read api.read

Yayımlanmamış bir ürün için 404 döndürür; bu, VirtualMachineProductPolicy::view() ile aynıdır — tıpkı GET /isos/{iso} uç noktasının IsoPolicy::view görünürlük kuralını yeniden üretmesi gibi, kural burada bir sorgu kısıtı olarak yeniden üretilmiştir; politika denetimi olsaydı bunun yerine 403 dönerdi.

Parametreler

Ad Yeri Tür Açıklama
virtualMachineProduct Zorunlu path integer

Yanıtlar

  • 200 Sanal makina ürünü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/virtual-machine-products/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /volume-products #

Disk ürünlerini listele

billing:read api.read

Satılabilir disk kataloğu. GET /virtual-machine-products ile aynı nedenden ötürü refresh parametresi yoktur. Yalnızca yayımlanmış ürünler döner.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Disk ürünlerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/volume-products' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /volume-products/{volumeProduct} #

Bir disk ürününü oku

billing:read api.read

Yayımlanmamış bir ürün için 404 döndürür; bu, VolumeProductPolicy::view() ile aynıdır — kural bir politika denetimi olarak değil, bir sorgu kısıtı olarak yeniden üretilmiştir.

Parametreler

Ad Yeri Tür Açıklama
volumeProduct Zorunlu path integer

Yanıtlar

  • 200 Disk ürünü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/volume-products/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /ip-address-products #

Genel IP adresi ürünlerini listele

billing:read api.read

Satılabilir genel IPv4 adresi kataloğu. Yalnızca yayımlanmış VE fiyatı belirlenmiş ürünler döner — POST /orders uç noktasının satış kuralıyla aynıdır. Sipariş için ip_address türünde bir satır kullanın.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Genel IP adresi ürünlerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/ip-address-products' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /ip-address-products/{ipAddressProduct} #

Bir genel IP adresi ürününü oku

billing:read api.read

Yayımlanmamış ya da ödeme planı olmayan bir ürün için, var olmayan bir kimlikle aynı yanıtı, yani 404 döndürür.

Parametreler

Ad Yeri Tür Açıklama
ipAddressProduct Zorunlu path integer

Yanıtlar

  • 200 Genel IP adresi ürünü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/ip-address-products/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /network-products #

Ağ ürünlerini listele

billing:read api.read

Satılabilir ek ağ kataloğu. Yalnızca yayımlanmış VE fiyatı belirlenmiş ürünler döner. Sipariş için network türünde bir satır kullanın; her hesabın zaten bir ücretsiz ağı vardır ve max_networks bunu da sayar.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Ağ ürünlerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/network-products' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /network-products/{networkProduct} #

Bir ağ ürününü oku

billing:read api.read

Yayımlanmamış ya da ödeme planı olmayan bir ürün için 404 döndürür.

Parametreler

Ad Yeri Tür Açıklama
networkProduct Zorunlu path integer

Yanıtlar

  • 200 Ağ ürünü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/network-products/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /service-products #

Hizmet ürünlerini listele

billing:read api.read

Mağazanın sattığı tek seferlik hizmetler — burada YALNIZCA OKUNUR. Bir hizmet POST /orders ile değil, panelden satın alınır: satın almak, işi bir kişinin yapmasını gerektirir. Yalnızca bir müşterinin gerçekten satın alabileceği hizmetler döner (yayımlanmış, fiyatı belirlenmiş ve serbestçe ya da en az bir şablonun yanında sunulan).

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Hizmet ürünlerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/service-products' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /service-products/{serviceProduct} #

Bir hizmet ürününü oku

billing:read api.read

Bir müşterinin satın alamayacağı bir hizmet için 404 döndürür — yayımlanmamış, fiyatı belirlenmemiş, hiçbir şey için sunulmayan ya da iş ortaklığı eğitimi.

Parametreler

Ad Yeri Tür Açıklama
serviceProduct Zorunlu path integer

Yanıtlar

  • 200 Hizmet ürünü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/service-products/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /domain-name-products #

Alan adı ürünlerini listele

billing:read api.read

Alan adı kataloğu — YALNIZCA OKUNUR ve yalnızca alan adı satışı açıkken; aksi hâlde 404 döner. Bir alan adı, adın boş olup olmadığının kayıt kuruluşuna sorulduğu panelden satın alınır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Alan adı ürünlerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/domain-name-products' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /domain-name-products/{domainNameProduct} #

Bir alan adı ürününü oku

billing:read api.read

Alan adı satışı kapalıyken ve yayımlanmamış ya da fiyatı belirlenmemiş bir ürün için 404 döndürür.

Parametreler

Ad Yeri Tür Açıklama
domainNameProduct Zorunlu path integer

Yanıtlar

  • 200 Alan adı ürünü.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/domain-name-products/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /subscriptions #

Abonelikleri listele

billing:read api.read

Yalnızca veritabanından yanıtlanır — refresh parametresi yoktur. Disklerin ya da sanal makinaların aksine buradaki eşitleyici eşi (BillingUserService::listSubscriptions()) “sağlayıcıya neyin var olduğunu sormak” değildir: deployed altındaki her aboneliği deployed durumuna yükselten (öyle ki yalnızca listelemek bile bir Terraform sağlayıcısının kendi kurulumunu bitmiş sayardı), sanal makinası taşınmış abonelikleri sonlandıran, ROOT disk aboneliklerini ödemeleriyle birlikte silen ve bulutu arayan yönetsel bir onarım geçişidir. Hangi istek sınırıyla olursa olsun, bir müşterinin GET isteğinin ardında durmamalıdır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Aboneliklerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/subscriptions' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /subscriptions/{subscription} #

Tek bir aboneliği oku

billing:read api.read

Sahiplik, bir politika denetimi olarak değil, sorgunun kendisinde bir kısıt olarak uygulanır: başka bir müşterinin aboneliği burada 404 döner; panelin kendi rotası ise (örtük bağlama ve SubscriptionPolicy) 403 döndürürdü. GET /subscriptions ile aynı nedenle refresh parametresi yoktur.

Parametreler

Ad Yeri Tür Açıklama
subscription Zorunlu path integer

Yanıtlar

  • 200 Abonelik.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/subscriptions/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /subscriptions/{subscription}/actions/cancel #

Bir aboneliği iptal et

order:write api.read api.write

Aboneliği sonlandırır. billing:read değil order:write izni gerekir: iptal, ödenmiş bir varlığı sona erdirir; bu yüzden burada hiçbir karta çekim yapılmasa da, tıpkı bir sipariş gibi, ticari yazma izninin bilinçli olarak açılmasının ardındadır — TokenAbility sınıfının açıklaması, okuma/yazma tablosunun ayrı bir billing:write ile “tamamlanmasının” amaçlanmadığını açıkça söyler.

Zaten sonlandırılmış bir abonelikte tekrarı güvenlidir (idempotent): çağrıyı yinelemek, ikinci bir iptalin yol açacağı 409 yerine güncel (zaten sonlandırılmış) gösterimi 200 ile döner; böylece zaman aşımından sonra yeniden denenen bir Terraform destroy işlemi başarısız olmaz.

Şu anda deployed durumunda olmayan hiçbir şeyi iptal etmez — hâlâ çalışan bir sanal makina, hâlâ bağlı bir disk ya da eksik bir sanal makina/disk — ve 409 ile reddeder; çünkü bunların her biri, çağıranın önce çözmesi gereken bir çakışma durumudur (sanal makinayı durdurun, diski ayırın), hatalı biçimlendirilmiş bir istek değil.

Parametreler

Ad Yeri Tür Açıklama
subscription Zorunlu path integer

Yanıtlar

  • 200 Sonlandırılmış (ya da zaten sonlandırılmış olan) abonelik.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/subscriptions/1/actions/cancel' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /subscriptions/{subscription}/resize-quote #

Bir yeniden boyutlandırmayı fiyatlandır

billing:read api.read

Bu makineyi, diski ya da ağı aynı türden bir ürün olan product_id'ye taşımayı hiçbir şeyi değiştirmeden fiyatlandırır. Satın alma hâlâ iade edilebilirken (iade süresi içinde yeniden boyutlandırma sunulmaz), açık bir fatura varken ya da panelin reddedeceği başka herhangi bir nedenle, servisin kendi sözleriyle 409 ile reddedilir.

Parametreler

Ad Yeri Tür Açıklama
subscription Zorunlu path integer
product_id Zorunlu query integer

Yanıtlar

  • 200 Fiyat teklifi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/subscriptions/1/resize-quote' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /subscriptions/{subscription}/actions/resize #

Bir makineyi, diski ya da ağı yeniden boyutlandır

order:write api.read api.order

GET /subscriptions/{subscription}/resize-quote ile fiyatlandırılan yeniden boyutlandırmayı, fiyatlandırıldığı andaki tutarla gerçekleştirir: teklifin token değerini quote_token olarak gönderin; fiyat o zamandan beri değiştiyse yeniden boyutlandırma 409 ile reddedilir (teklifler beş dakika geçerlidir).

Bir küçültme ya da aynı fiyata geçiş hemen tamamlanır: küçültme, dönemin kullanılmayan kısmını mümkünse ödemeyi yapan karta, değilse hesap kredisine iade eder ve her kısmın nereye gittiğini refunds söyler. Bir BÜYÜTME hazırlanır ve faturası, tıpkı POST /orders gibi, bir kişinin payment_url adresinde ödemesi için bırakılır (202): bir kartın ilk çekimi etkileşimli bir 3-D Secure adımı ister. Fatura ödenene kadar makine boyutunu korur ve abonelik scaling durumunda kalır; faturayı ödemek yeniden boyutlandırmayı bitirir. Yeni abonelikte POST …/actions/cancel-resize, hazırlanmış bir yeniden boyutlandırmayı geri alır. Faturası üç gün boyunca ödenmeyen hazırlanmış bir yeniden boyutlandırma sizin yerinize geri alınır: abonelik mevcut boyutuna ve kendi faturalamasına döner, fatura geri çekilir, hiçbir para hareket etmez ve hesaba bilgi verilir. Ödenmiş bir fatura asla geri çekilmez.

order:write ve faturalama yönetim yetkisi gerekir. Idempotency-Key zorunludur.

Parametreler

Ad Yeri Tür Açıklama
subscription Zorunlu path integer
Idempotency-Key Zorunlu header string Çağıranın seçtiği ve bu isteğin güvenle yinelenmesini sağlayan bir anahtar. Anahtar sipariş çalışmadan önce alınır: ilk istek hâlâ sürerken gelen bir yineleme ikinci bir tahsilat yerine `409` alır; tamamlanmış bir isteğin tekrarı ise yeniden sipariş vermek yerine ilk yanıtı `Idempotent-Replay: true` başlığıyla yeniden oynatır. Anahtarlar çağırana özeldir ve 24 saat geçerlidir. Aynı anahtarı farklı bir gövdeyle yeniden kullanmak `409` döner.

İstek gövdesi Zorunlu

Alan Tür Açıklama
product_id Zorunlu integer
quote_token Zorunlu string

Yanıtlar

  • 200 Yeniden boyutlandırma tamamlandı (bir küçültme ya da ücretsiz bir geçiş).
  • 202 Büyütme hazırlandı; faturası `payment_url` adresinde üç gün bekler, sonra ödenmemiş yeniden boyutlandırma geri alınır.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/subscriptions/1/actions/resize' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Idempotency-Key: a-key-you-choose' \
  -H 'Content-Type: application/json' \
  -d '{
    "product_id": 1,
    "quote_token": "string"
}'
POST /subscriptions/{subscription}/actions/cancel-resize #

Hazırlanmış bir yeniden boyutlandırmadan vazgeç

order:write api.read api.write

Bir yeniden boyutlandırmanın hazırladığı YENİ abonelik (durumu scaling) üzerinde: ödenmemiş faturası silinir, yerini aldığı abonelik geri getirilir ve para hareket etmez. Faturası zaten ödenmiş bir yeniden boyutlandırma 409 ile reddedilir. Geri getirilen aboneliği döndürür.

Parametreler

Ad Yeri Tür Açıklama
subscription Zorunlu path integer

Yanıtlar

  • 200 Geri getirilen abonelik.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/subscriptions/1/actions/cancel-resize' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /subscriptions/{subscription}/actions/refund #

İade isteyin

billing:write api.read api.order

Panelin İade düğmesi, aynı kodla çalışır. İade süresi içinde (satın almadan itibaren yedi gün) para, ödemeyi yapan karta geri döner ve satın alma sona erer; bir makinenin önce durdurulmuş olması gerekir ve kendisi için satın alınmış canlı bir hizmeti olan bir makine, hizmet iade edilene kadar reddedilir.

Satın alma için düzenlenmiş bir fatura varsa, herhangi bir para geri dönmeden önce iptal edilmelidir: yanıt o zaman outcome: invoice_cancellation_requested ile 202 olur; bir destek talebiyle birlikte bir fatura iptal isteği açılır ve bir makine hemen durdurulur. Bir şirket iptali POST /invoice-refund-requests/{invoiceRefundRequest}/actions/confirm ile onaylar. O istek hâlâ beklerken yeniden istemek reddedilir; ekip faturayı iptal ettikten sonra yeniden istemek, borçlu olunan iadeyi yeniden dener.

İade edildiğinde outcome: refunded ile 200; banka onu sonuçlandırırken outcome: refund_pending ile 202. Her ret, panelin cümlesini taşıyan bir 409 olur: süre dolmuştur, hesapta iadeler engellenmiştir, satın alma yeniden boyutlandırılmıştır, önceki bir istek hâlâ açıktır vb. Başka bir hesabın aboneliği 404 döner.

billing:write gerektirir ve sahibinin billing: manage yetkisi olmalıdır — panelin kapısıyla aynı.

Parametreler

Ad Yeri Tür Açıklama
subscription Zorunlu path integer Aboneliğin kimliği.

Yanıtlar

  • 200 İade edildi.
  • 202 İade sonuçlanıyor ya da onun yerine bir fatura iptal isteği duruyor.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 İade reddedildi; `detail`, panelin cümlesini taşır.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/subscriptions/1/actions/refund' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /payments #

Ödemeleri listele

billing:read api.read

Varsayılan olarak veritabanından yanıtlanır. Hiç yeniden hesaplanmamış bir ödemede amount/subtotal/taxes/discount/applied_balance/taxable_base/list_total/ catalogue_discount alanları null'dur — yeniden hesaplamak bir yazma işlemidir, bu yüzden düz bir GET bunu hiç tetiklemez. Dönen sayfadaki her ödemeyi yeniden hesaplamak için refresh=true gönderin; bu biçimin istek sınırı çok daha dardır ve düzenli yoklama için kullanılmamalıdır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Ödemelerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/payments' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /payments/{payment} #

Tek bir ödemeyi oku

billing:read api.read

Sahiplik, sorgunun kendisinde bir kısıt olarak uygulanır: başka bir müşterinin ödemesi 404 döner. Yanıt verilmeden önce amount ve kardeş alanlarının yeniden hesaplanmasını zorlamak için refresh=true gönderin — düz bir okumanın bunu neden hiç yapmadığı için GET /payments açıklamasına bakın. Müşterinin bankasının yaptığı bir ters ibraz chargebacks alanında yayımlanır — tutarı ve tarihi; gerekçesi ya da bankanın referansı asla.

Parametreler

Ad Yeri Tür Açıklama
payment Zorunlu path integer
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Ödeme.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/payments/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /payments/{payment}/invoice #

Bir ödemenin faturasını indir

billing:read api.read

Muhasebecimizin bu ödeme için düzenlediği fatura belgesi, PDF olarak. Bir belge kaydedilene kadar 404 döner.

Parametreler

Ad Yeri Tür Açıklama
payment Zorunlu path integer

Yanıtlar

  • 200 Fatura, PDF olarak.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/payments/1/invoice' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /payments/{payment}/proforma #

Bir ödemenin proformasını indir

billing:read api.read

Bu ödemenin proforması, PDF olarak — panelin belgesi, Türkçe.

Parametreler

Ad Yeri Tür Açıklama
payment Zorunlu path integer

Yanıtlar

  • 200 Proforma, PDF olarak.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/payments/1/proforma' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /payments/{payment}/actions/pay #

Açık bir faturayı kayıtlı bir kartla ödeyin

billing:write api.read api.order

Açık bir fatura için kendi kayıtlı kartlarınızdan birini, tıpkı panelin Öde düğmesinin yaptığı gibi tahsil eder: önce tanımlanmış hesap kredisi uygulanır, kalan tutar başka bir onay istenmeden karttan çekilir ve faturanın satın aldığı şey — bir yenileme, bir boyutlandırma, bir makine — tamamlanır. Bu işlem para harcar.

3-D Secure'dan geçmemiş bir kart, bir kişi olmadan tahsil edilemez: yanıt o zaman sorun belgesi code: three_d_secure_required ve approval_url taşıyan bir 409 olur — approval_url, bir kişinin bankanın doğrulamasını tamamladığı paneldeki fatura sayfasıdır. Burada hiçbir doğrulama başlatılmaz. Panelde olduğu gibi deneme faturaya kaydedilir; fatura ödenene kadar başarısız görünür.

Panelin cümlesiyle 409 olarak reddedilenler: zaten ödenmiş, iade edilmiş ya da iptal edilmiş bir fatura, hesabın bütün borcu için tek bir ödemeye katılmış bir fatura ve mağazanın bugün satmayacağı bir siparişin faturası. Sizin olmayan bir kart, credit_card_id üzerinde bir 422 olur. Başka bir hesabın faturası 404 döner.

Idempotent. Idempotency-Key zorunludur: zaman aşımından sonraki bir yeniden deneme asla iki kez tahsil etmez.

billing:write gerektirir ve sahibinin billing: manage yetkisi olmalıdır — panelin kapısıyla aynı.

Parametreler

Ad Yeri Tür Açıklama
payment Zorunlu path integer Faturanın kimliği.
Idempotency-Key Zorunlu header string Çağıranın seçtiği ve bu isteğin güvenle yinelenmesini sağlayan bir anahtar. Anahtar sipariş çalışmadan önce alınır: ilk istek hâlâ sürerken gelen bir yineleme ikinci bir tahsilat yerine `409` alır; tamamlanmış bir isteğin tekrarı ise yeniden sipariş vermek yerine ilk yanıtı `Idempotent-Replay: true` başlığıyla yeniden oynatır. Anahtarlar çağırana özeldir ve 24 saat geçerlidir. Aynı anahtarı farklı bir gövdeyle yeniden kullanmak `409` döner.

İstek gövdesi Zorunlu

Alan Tür Açıklama
credit_card_id Zorunlu integer Kendi kayıtlı kartlarınızdan biri, `GET /credit-cards` listesindeki gibi.

Yanıtlar

  • 200 Ödenmiş fatura.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Fatura bu hâliyle tahsil edilemez — ya da kart 3-D Secure gerektirir; o zaman belge `code: three_d_secure_required` ve `approval_url` taşır.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/payments/1/actions/pay' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Idempotency-Key: a-key-you-choose' \
  -H 'Content-Type: application/json' \
  -d '{
    "credit_card_id": 1
}'
GET /credit-cards #

Saklı kredi kartlarını listele

billing:read api.read

Varsayılan olarak veritabanından yanıtlanır. Kart kaydı, zaten oturum ve 2FA arkasında olan panelde kalır — bu API hiçbir zaman PAN (kart numarası) kabul etmez, bu yüzden burada POST yoktur.

refresh=true, ödeme sağlayıcısına her kartı hâlâ tanıyıp tanımadığını doğrudan sorar, kart başına bir çağrı yapar ve sağlayıcının artık tanımadığı her kartın yerel satırını siler — bu, ücretsiz bir “durumu kontrol et” çağrısı değil, çağıranın bilerek seçtiği yıkıcı bir eşitlemedir. Sade bir okumaya göre istek sınırı çok daha dardır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
refresh İsteğe bağlı query boolean default false Yerel veritabanını okumak yerine yanıt vermeden önce sağlayıcıyla eşitle. Çok daha dar bir istek sınırına tabidir; düzenli yoklama için kullanmayın.

Yanıtlar

  • 200 Saklı kredi kartlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/credit-cards' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
DELETE /credit-cards/{creditCard} #

Kayıtlı bir kartı silin

billing:write api.read api.write

Kendi kayıtlı kartlarınızdan birini, panelin yaptığı gibi kaldırır: onunla yenilenen her abonelik karttan ayrılır (bir sonraki faturası bir kart bekler ya da size gönderilir) ve kart ödeme ağ geçidinde de silinir. Başka bir kullanıcının kaydettiği bir kart — aynı hesapta bile olsa — 404 döner: kartlar onları kaydeden kullanıcıya aittir. Kart eklemek bankanın 3-D Secure adımını gerektirir ve panelde kalır.

billing:write gerektirir ve sahibinin billing: manage yetkisi olmalıdır — panelin kapısıyla aynı.

Parametreler

Ad Yeri Tür Açıklama
creditCard Zorunlu path integer Kartın kimliği, `GET /credit-cards` listesindeki gibi.

Yanıtlar

  • 204 Kart silindi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X DELETE 'https://cloud.core.gen.tr/api/v1/credit-cards/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /refunds #

İadeleri listele

billing:read api.read

Yalnızca çağıranın kendi iadeleri. refresh parametresi yoktur: iade, olup bitmiş (ya da beklemede olan) bir şeyin kaydıdır; sağlayıcıda eşitlenecek canlı bir kaynak değildir.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 İadelerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/refunds' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /invoice-refund-requests/{invoiceRefundRequest}/actions/confirm #

Şirketinizin faturasının iptal edilebileceğini onaylayın

billing:write api.read api.write

Bir şirketin faturası yalnızca onun onayıyla iptal edilebilir: bu, onayı panelin Onayla düğmesinin yaptığı gibi kaydeder; ekip ardından faturayı iptal eder ve iadeyi yapar. İstek bir onay beklemiyorsa 409 ile reddedilir. Başka bir hesabın isteği 404 döner.

billing:write gerektirir ve sahibinin billing: manage yetkisi olmalıdır — panelin kapısıyla aynı.

Parametreler

Ad Yeri Tür Açıklama
invoiceRefundRequest Zorunlu path integer Fatura iptal isteğinin kimliği; bir iade yanıtında döndüğü gibi.

Yanıtlar

  • 200 Onaylandı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 İstek bir onay beklemiyor.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/invoice-refund-requests/1/actions/confirm' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /billing/account #

Çağıranın bakiyesini ve ödenmemiş toplamını oku

billing:read api.read

refresh parametresi yoktur: hem balance hem due, doğrudan kayıtlı satırlardan türetilir; dolayısıyla bir sağlayıcıyla eşitlenecek bir şey yoktur.

Yanıtlar

  • 200 Çağıranın hesap özeti.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/billing/account' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /billing/credits #

Tanımlanan kredileri listele

billing:read api.read

Personelimizin hesaba tanımladığı krediler, en yenisi önce — ne verildiği, ne kaldığı ve ne zaman sona erdiği. Kredi tanımlanır, satın alınmaz ve bir fatura ödenirken iskonto olarak uygulanır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Tanımlanan kredilerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/billing/credits' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /orders #

Hesap bakiyesiyle iskonto edilen bir sipariş ver

order:write api.read api.order

Sanal makina, disk, genel IPv4 adresi ve ek ağ satın alır, hesapta bulunan hediye krediyi iskonto olarak uygular ve kalanı karta bırakır. Bir yeniden boyutlandırma gibi, hesabı para harcamaya bağlar; bıraktığı fatura bir tarayıcıda payment_url adresinde ya da 3-D Secure'dan önceden geçmiş kayıtlı bir kartla POST /payments/{id}/actions/pay (billing:write) üzerinden ödenir.

BURADA kart yolu yoktur ve bu bir ayar değil, yapısal bir durumdur: kayıtlı bir kartın ilk çekimi her zaman tarayıcıda etkileşimli bir 3-D Secure doğrulaması gerektirir (global_settings.shop_threeds_only varsayılan olarak true, credit_cards.threeds_authorized varsayılan olarak false'tur) ve bunu arayüzsüz hiçbir istemci tamamlayamaz. Bu yüzden sipariş VERİLİR, abonelikler oluşturulur ve faturanın tamamı, bir kişinin tamamlaması için ödemenin üzerinde bırakılır: böyle bir durumun olup olmadığını needs_card, hesaptaki kredinin düşeceği tutarı credit_applied, ardından karttan istenecek tutarı payable, işlemin tamamlanacağı adresi ise payment_url söyler. Hiçbir kart sessizce çekilmez.

Sipariş vermek para hareketi yaratmaz. Burada bakiyeden hiçbir tutar alınmaz — kredi, diğer bütün faturalarda olduğu gibi ödeme yapıldığında uygulanır; böylece hiç ödenmeyen bir sipariş müşterinin kredisinden hiçbir tutar tutmaz. Bu yüzden credit_applied ile payable, ödeme anında ne olacağının öngörüsüdür; iç içe geçmiş payment nesnesi ise satırın o anki hâlini taşır: amount alanı tutarın tamamıdır ve applied_balance alanı ödeme yapılana kadar 0.00'dır.

Hediye kredi net tutar üzerinden uygulanan ve bu tutarın belirli bir oranıyla sınırlanan bir iskontodur; bu yüzden fiyatı olan bir siparişte, bakiye ne kadar büyük olursa olsun, genellikle ödenecek bir tutar kalır. Bir sipariş artık bakiye yetersizliği yüzünden reddedilmez.

Kredi personelimiz tarafından tanımlanır, satın alınmaz; API'den de panelden de bakiye eklemenin bir yolu yoktur.

Eşzamansız. Ödeme, kurulum demek değildir. Kuyruğa alınan bir dinleyici siparişe tepki verir ve bulutu arayarak her aboneliği new → pending → deployed ya da failed durumuna taşır. Yanıt 202'dir ve ilk aboneliği gösteren bir Location başlığı taşır; oradan GET /subscriptions/{id} ile yoklayın. pending durumundan hiç çıkmayan bir abonelik, henüz kaydedilmemiş başarısız bir kurulumdur — aboneliğin failure_reason alanına bakın.

İdempotent. Idempotency-Key zorunludur. Anahtar, sipariş çalışmadan önce sahiplenilir; böylece zaman aşımına uğrayıp ilk istek hâlâ sürerken yeniden deneyen bir istemci ikinci bir çekim yerine 409 alır. İlk istek tamamlandıktan sonra aynı anahtar aynı gövdeyle özgün 202 yanıtını yineler ve hiçbir şey oluşturmaz.

Ön koşullar, panelin ödeme adımının uyguladığı biçimde burada da bire bir denetlenir ve karşılanmayan koşulu adıyla belirten bir 422 ile reddedilir: kayıtlı fatura bilgisi, kabul edilmiş son kullanıcı lisans sözleşmesi, kayıtlı kimlik ya da pasaport numarası, açık bir mağaza ve çağıranın aşılmamış max_vms, max_vols, max_ips ve max_networks kotaları. Bir adres ayrıca üzerinde zaten bir makine çalışan bir ağ ister — ya da aynı siparişte o ağ için bir makine (network). Bu uç nokta, panelin uyguladığı hiçbir sınırı aşmanın yolu değildir.

order:write izni gerekir; bu izin bir anahtar oluşturulurken varsayılan olarak kapalıdır ve başka hiçbir izin onu örtük olarak vermez.

Parametreler

Ad Yeri Tür Açıklama
Idempotency-Key Zorunlu header string Çağıranın seçtiği ve bu isteğin güvenle yinelenmesini sağlayan bir anahtar. Anahtar sipariş çalışmadan önce alınır: ilk istek hâlâ sürerken gelen bir yineleme ikinci bir tahsilat yerine `409` alır; tamamlanmış bir isteğin tekrarı ise yeniden sipariş vermek yerine ilk yanıtı `Idempotent-Replay: true` başlığıyla yeniden oynatır. Anahtarlar çağırana özeldir ve 24 saat geçerlidir. Aynı anahtarı farklı bir gövdeyle yeniden kullanmak `409` döner.

İstek gövdesi Zorunlu

Alan Tür Açıklama
items Zorunlu array of object Sipariş edilen her birim için bir kayıt. Aynı şeyden iki adet almak için kaydı yineleyin.

Yanıtlar

  • 202 Sipariş ödendi ve kurulum kuyruğa alındı. `Location` ilk aboneliği gösterir.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 409 `Idempotency-Key`, hâlâ süren bir istek tarafından kullanılıyor ya da daha önce farklı bir gövdeyle kullanılmış.
  • 422 Sipariş reddedildi; hiçbir şey oluşturulmadı ve hiçbir tutar tahsil edilmedi. Nedenini `errors` alanı adıyla belirtir: satın alınamayan bir ürün, eşleşmeyen bir ödeme planı ya da çağırana ait olmayan bir ağ için `items.*`, karşılanmayan bir ön koşul için `billing_info`, `eula`, `identity_number`, `shop`, `max_vms`, `max_vols`, `max_ips`, `max_networks` ya da `network` (henüz hiçbir şeyin çalışmadığı bir ağa adres). Bakiye açığı (`balance`) artık bunların arasında DEĞİLDİR — yetersiz bakiye siparişi reddetmez, yalnızca daha az iskonto uygular ve `payable` alanında daha çok tutar bırakır.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/orders' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Idempotency-Key: a-key-you-choose' \
  -H 'Content-Type: application/json' \
  -d '{
    "items": [
        {
            "type": "virtual_machine",
            "product_id": 1,
            "payment_plan_id": 1
        }
    ]
}'

İşlemler

Tickets

Hesabınızın kendi destek talepleri: okuyun, yeni bir talep açın, yanıt yazın ve kapatın. Her yazma, anahtarın sahibi adına hemen destek ekibimize ulaşır ve geri alınamaz. Dosyalar yalnızca panelden eklenir.

GET /tickets #

Destek taleplerinizi listeleyin

tickets:read api.read

Çağıranın hesabındaki her destek talebi, bir çalışma arkadaşının açtıkları da dahil — panelin Destek sayfasının gösterdiği liste. Liste her talebin temel bilgilerini taşır; mesajlar için tek bir talebi okuyun.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Destek taleplerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/tickets' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /tickets #

Bir destek talebi açın

tickets:write api.read api.write

Anahtarın sahibi adına bir talep açar ve hemen destek ekibimize gönderir; ekibe bildirim gider ve ekip talebi okur. Geri alınamaz. Buradan dosya eklenemez — dosyaları paneldeki talep sayfasından ekleyin.

İstek gövdesi Zorunlu

Alan Tür Açıklama
title Zorunlu string Kısa bir konu satırı.
body Zorunlu string Mesaj.
category İsteğe bağlı string Talebin konusu. Verilmezse `general`.

Yanıtlar

  • 201 Açılan destek talebi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/tickets' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Mail bounces since this morning",
    "body": "Every mail to our domain has bounced since 08:00."
}'
GET /tickets/{ticket} #

Destek taleplerinizden birini okuyun

tickets:read api.read

Talep; ilk mesajı ve en eskiden yeniye her yanıtıyla birlikte. Başka bir hesabın talebi, hiç var olmayan bir talep gibi 404 döner.

Parametreler

Ad Yeri Tür Açıklama
ticket Zorunlu path integer

Yanıtlar

  • 200 Destek talebi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/tickets/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /tickets/{ticket}/comments #

Destek taleplerinizden birine yanıt yazın

tickets:write api.read api.write

Anahtarın sahibi adına bir yanıt ekler; destek ekibimize bildirim gider ve ekip yanıtı okur. Geri alınamaz. solved veya sonrasındaki bir talep yanıt almaz ve 409 döner — bunun yerine yeni bir talep açın. Buradan dosya eklenemez.

Parametreler

Ad Yeri Tür Açıklama
ticket Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
comment Zorunlu string Yanıt.

Yanıtlar

  • 201 Eklenen yanıt.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Talep çözülmüş veya kapatılmış; artık yanıt almaz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/tickets/1/comments' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "comment": "It works again, thank you."
}'
POST /tickets/{ticket}/actions/close #

Destek taleplerinizden birini kapatın

tickets:write api.read api.write

Talebi kapatır; destek ekibimize bildirim gider. Zaten kapalı bir talepte ve hâlâ iade edilebilen, satın alınmış bir hizmetin iş emri talebinde 409 döner — o talebi kapatmak iade hakkını sona erdirir, bu yüzden yalnızca paneldeki talep sayfasından kapatılır.

Parametreler

Ad Yeri Tür Açıklama
ticket Zorunlu path integer

Yanıtlar

  • 200 Kapatılan destek talebi.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Talep zaten kapalı ya da hâlâ iade edilebilen bir hizmetin iş emri.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/tickets/1/actions/close' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Usage

Bulutunuzun ne tükettiği — makine saatleri, depolama, IP adresi saatleri ve ağ trafiği. Yalnızca miktarlar; fatura Faturalama altındadır.

GET /usage #

Bulutunuzun ne tükettiğini okuyun

cloud:read api.read

Panelin Kullanım sayfasının çizdikleri: bir zaman aralığındaki makine saatleri, depolama, IP adresi saatleri ve ağ trafiği; her makine ve her disk için birer satır ve her gün için bir satırla. Yalnızca miktarlar — fatura /payments altındadır.

Aralık days (7, 30 veya 90; verilmezse ya da başka bir değerse 30) ya da birlikte verilen from ve to ile belirlenir. En geç dün biter, çünkü bugün henüz sayılmaz, ve en çok 365 gün sürer. instance_id veya volume_id değerleri makinelerinizden ya da disklerinizden birine daraltır; size ait olmayan biri 404 döner. Daraltmadan yalnızca bulutun makine ya da disk başına ölçtükleri geçer — bir makine kendi saatlerini ve disklerinin depolamasını, bir disk kendi depolamasını korur. IP adresi saatleri, ağ trafiği, anlık görüntüler ve şablonlar adres, ağ ya da görüntü başına ölçüldüğü için orada ölçülmez: unmetered bu anahtarların her birini adıyla sayar ve değerleri bir ölçüm değildir, hiçbir zaman sıfır trafik anlamına gelmez.

Bulutun kendi kullanım kayıtlarını okuduğu için daha dar olan eşitleyen okuma bütçesinden düşülür. Bir kez okunan bir aralık bir saat saklanır. available: false, kayıtların şu an okunamadığı anlamına gelir.

Parametreler

Ad Yeri Tür Açıklama
days İsteğe bağlı query integer 7, 30 veya 90. `from` ile `to` birlikte verilirse yok sayılır.
from İsteğe bağlı query string İlk gün, YYYY-MM-DD (GMT).
to İsteğe bağlı query string Son gün, YYYY-MM-DD (GMT); en geç dün.
instance_id İsteğe bağlı query integer Makinelerinizden biri, id ile.
volume_id İsteğe bağlı query integer Disklerinizden biri, id ile. `instance_id` verilirse yok sayılır.

Yanıtlar

  • 200 Aralığın değerleri.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/usage' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Admin

Kurulumun tamamı üzerinde personel okumaları ve bunun yanında, bilerek küçük tutulmuş bir sanal makine yaşam döngüsü yazma kümesi; admin:read veya admin:write taşıyan ve sahibi admin ya da super-admin rolünü de tutan bir anahtar içindir. Yetkinin tek başına olması hiçbir zaman yetmez: bir anahtar, sahibinin onu aldığı sıradaki rolünden daha uzun yaşar, bu yüzden rol her istekte denetlenir.

Okuma/yazma ayrımı yalnızca yönlendirme tablosuna dayanır. AdminPolicyTrait::before(), admin rolünü tutan herkes için true döndürür ve uygulamadaki neredeyse her ilke bunu kullanır — dolayısıyla hiçbir ilke bir yöneticinin okumasını yazmasından ayırt edemez; zorlamanın tamamı abilities:admin:read ile abilities:admin:write ayrımı ve HTTP fiilidir, ve bir test bunu böyle tutmak için yönlendirme tablosunu dolaşır.

Yazmalar sanal makine yaşam döngüsüyle sınırlıdır — başlatma, durdurma, yeniden başlatma, ISO takma, ISO çıkarma — çünkü bir yönetici panel üzerinden zaten her müşterinin bulutu üzerinde tam yazma yetkisine sahiptir; bunu bir admin:write anahtarına yasaklamak hiçbir güvenlik kazandırmıyordu, yalnızca betiklenebilen tek kanalın denetlenemeyen ve hız sınırı konulamayan kanal olması anlamına geliyordu. İki şey bilerek yoktur: sanal makine silme, çünkü bir makine silinmeden önce subscriptions.instance_id serbest bırakılmalıdır ve çıplak bir silme, canlı bir faturalama satırını sahipsiz bırakırdı; ve veri deposu takma/çıkarma, çünkü bu, bu yüzeyde örneği bulunmayan ikinci bir çapraz sahiplik denetimi gerektirir. İkisi de bir sonraki turun adayıdır, gözden kaçmış değildir.

Bu yüzeydeki, bir müşteriyle sınırlı her okuma denetim izine bir <domain>.pii_read satırı yazar — panelin eşdeğer sayfasının yaptığı gibi — ve tam da bu nedenle sıradan bir okumadan daha dar bir hız sınırı bütçesinden düşülür. Her yazma ise kendi açık cloud.instance_* satırını yazar; erişim günlüğü ara katmanı yalnızca başarılı bir GET'i kaydeder. Bu, etkisi yinelenebilirlik sayesinde alttaki CloudStack çağrısının atlandığı durumları da kapsar, çünkü denetlenebilir eylem yöneticinin yaptığı istektir, CloudStack'in gerçekten aranıp aranmadığı değil.

Kurulum içeriği ve onay kuyruğu bu müşteri rotalarının yanında durur; yollarında {user} yoktur. Duyuru taslakları doğrudan oluşturulur ve düzenlenir; birinin yayımlanması ise yalnızca İSTENEBİLİR — istek onu kuyruğa alır ve 202 döner — ve sonunun ne olduğunu GET /admin/staged-actions bildirir. Bu API'deki hiçbir şey kuyruğa alınmış bir isteği onaylamaz ya da reddetmez: bu, oturum açmış bir yöneticinin paneldeki onaylar sayfasında yaptığı bir tıklamadır; dolayısıyla bir anahtar isteyebilir ama asla karar veremez. GET /admin/work-queues ve GET /admin/health, operatör panosunun sayılarını ve kurulumun sağlık durumunu okur; hiçbiri bir kişinin adını vermez. GET /admin/failed-jobs, GET /admin/jobs ve GET /admin/horizon kuyruğu okur — başarısız işlerini, Horizon'un izlediği işleri ve işçilerinin durumunu — ve hiçbir şeyi yeniden denemez, kaldırmaz ya da yeniden başlatmaz.

GET /admin/customers #

Müşterileri listele

admin:read api.read

user rolünü taşıyan her hesap, ada göre sıralı.

Sahibi ayrıca admin (ya da super-admin) rolünü de taşıyan bir admin:read anahtarı gerektirir. İzin tek başına yetmez: bir anahtar, sahibinin onu oluşturduğu andaki rolünden daha uzun yaşar; bu yüzden rol her istekte yeniden denetlenir.

Sorgu, User modellerinin tamamını okumak yerine yayımlanan sütunları açıkça seçer — panelin müşteri tablosunun kullandığı bilinçli izdüşümün aynısı; çünkü izdüşümsüz bir sürümü bir zamanlar her müşterinin kimlik numarasını sayfa yüküne göndermişti.

Veritabanından yanıtlanır; bu arayüzün hiçbir yerinde refresh sürümü yoktur. Bu okumaların eşitleyici eşleri (listSubscriptions(), listZones(), getInstances()) yazma yapar; yönetici kapsamında kurulumun tamamını değiştirir. Böyle bir işi bir GET'in arkasına koymayı kabul edilebilir kılacak bir istek sınırı yoktur.

Bu listeleme denetim kaydı yazmaz: tek bir müşteri hakkında addan ve e-posta adresinden fazlasını yayımlamaz; listenin her sayfası için istek başına bir satır yazmak ise kimsenin verisine yapılmış belirli bir erişimi kaydetmeden denetim izini boğardı. Kaydı, aşağıdaki müşteri bazlı okumalar tutar.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Müşterilerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/customers' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/customers/{user} #

Tek bir müşteriyi getir

admin:read api.read api.privileged

Tek bir müşteri; sanal makinalarının, disklerinin, DNS alanlarının, aboneliklerinin, faturalarının ve destek taleplerinin veritabanından türetilmiş sayılarıyla birlikte.

Panelin buna karşılık gelen sayfası tek bir istekte yirmi dört özellik döndürür ve bunları oluşturmak için CloudStack'e, PowerDNS'e ve ödeme sağlayıcısına bağlanır. Bu uç nokta, o sayfanın parçalarına ayrılmış hâlidir: buradaki sayılar düz select count(*) sorgularıdır, ayrıntı ise bu yolun yanındaki dört alan koleksiyonunda durur.

Başka bir kişinin kaydını okumak, tıpkı paneldeki karşılığı gibi denetim izine bir account.pii_read satırı yazar — KVKK'nın erişim kaydı tutma yükümlülüğü panelin sınırında bitmez. Kendi kaydınızı okumak hiçbir şey yazmaz: aksi hâlde kendi panonuzun her açılışı için bir satır oluşurdu ve kendi işlemleriniz zaten kaydediliyor.

Her çağrı bir denetim kaydı yazdığı için bu yol, sıradan bir okumaya göre daha dar bir istek sınırı bütçesinden düşülür.

Burada yalnızca user rolünü taşıyan değil, herhangi bir hesap adreslenebilir — paneldeki karşılığı da herhangi bir kullanıcıyı bağlar ve bir yöneticinin bir meslektaşının kaydına bakması meşru bir ihtiyaç olabilir. Bu yolun yanındaki listeleme yalnızca müşterileri kapsar. Var olmayan bir id 404 verir.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

Yanıtlar

  • 200 Müşteri.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/customers/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/customers/{user}/instances #

Bir müşterinin sanal makinalarını listele

admin:read api.read api.privileged

Müşterinin sanal makinaları, kayıtlı hâlleriyle ve müşterinin kendi /instances çağrısının döndürdüğü Instance gösterimiyle aynı biçimde — yani sahibinden gizlenen bir alan personelden de gizli kalır.

İstek, hedef müşteri için müşteri kapsamlı bulut servisi çözümlenip okunarak karşılanır. Bu servisin yönetici kapsamlı sürümü de vardır; yalnızca veri kaynağı kancalarının geçersiz kılınması, devralınan her “okurken eşitle” yöntemini kurulum genelinde bir yazma işlemine dönüştürür — tek bir sayfanın okunması başka bir müşterinin kayıtlarını silebilir. Bu arayüzde hiçbir yer onu çözümlemez ve bir kaynak düzeyi testi bunu böyle tutar.

Bu yüzden burada, müşteriye açık /instances uç noktasının aksine refresh parametresi yoktur. Eşitleme bir yazma işlemidir; başkasının makinelerini okuyan üçüncü bir taraf, onu tetiklemesi en son akla gelecek çağırandır.

Bir cloud.pii_read denetim kaydı yazar ve daha dar olan ayrıcalıklı okuma bütçesinden düşülür.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Müşterinin sanal makinalarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/customers/1/instances' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/customers/{user}/dns-zones #

Bir müşterinin DNS alanlarını listele

admin:read api.read api.privileged

Müşterinin DNS alanları, kayıtlı hâlleriyle ve müşterinin kendi /dns-zones çağrısının döndürdüğü DNSZone gösterimiyle aynı biçimde.

İstek, müşteri kapsamlı DNS servisi açıkça çözümlenerek karşılanır. refresh parametresi yoktur: eşitleyici eşi, PowerDNS'in canlı listesinde artık bulunmayan yerel DNS alanlarını — kayıtlarına da yayılarak — kendi güncelleme bayrağına bakılmadan önce siler; yönetici kapsamında ise bunu kurulumdaki her DNS alanına uygular ve eşleşmeyenleri işlemi yapan personelin üzerine geçirir.

Bir dns.pii_read denetim kaydı yazar ve daha dar olan ayrıcalıklı okuma bütçesinden düşülür.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Müşterinin DNS alanlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/customers/1/dns-zones' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/customers/{user}/subscriptions #

Bir müşterinin aboneliklerini listele

admin:read api.read api.privileged

Müşterinin abonelikleri, kayıtlı hâlleriyle ve müşterinin kendi /subscriptions çağrısının döndürdüğü Subscription gösterimiyle aynı biçimde. Para her zaman para birimiyle birlikte, alt birim cinsinden bir tam sayıdır; asla ondalıklı bir sayı değildir.

İstek, müşteri kapsamlı faturalandırma servisi açıkça çözümlenerek karşılanır. refresh parametresi yoktur ve bunun en keskin gerekçesi buradadır: eşitleyici eşi, bağlı kaynağı yer değiştirmiş abonelikleri sonlandırır, bekleyen her aboneliği dağıtılmış duruma yükseltip hata gerekçesini siler, kök disk aboneliklerini ödemeleriyle birlikte siler ve sağlayıcıya bağlanıp yeni abonelikler yaratan sahipsizlik olayları tetikler — hepsi tek bir veritabanı işlemi içinde. Yönetici kapsamında ise girdi kümesi tek bir müşteri değil, tablonun tamamıdır.

Bir billing.pii_read denetim kaydı yazar ve daha dar olan ayrıcalıklı okuma bütçesinden düşülür.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Müşterinin aboneliklerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/customers/1/subscriptions' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /admin/customers/{user}/instances/{instance}/actions/start #

Bir müşterinin sanal makinasını başlat

admin:write api.read api.privileged

Idempotent: zaten çalışan bir makineyi başlatmak, tıpkı sahibinin kendi /instances/{instance}/actions/start çağrısında olduğu gibi, CloudStack'e hiç başvurmadan anında 200 döndürür.

İstek, hedef müşteri için müşteri kapsamlı bulut servisi çözümlenerek karşılanır; yönetici kapsamlı sürüm asla kullanılmaz — bu ayrımın burada da neden belirleyici olduğunu görmek için GET /admin/customers/{user}/instances üzerindeki “müşteri kapsamlı servis” notuna bakın.

Bu rotadaki audit.access:cloud etkisizdir (yalnızca başarılı bir GET'i kaydeder); yöneticinin bir müşterinin makinesi üzerinde işlem yaptığını gösteren kaydı, yukarıdaki idempotenslik denetimi nedeniyle CloudStack'e gerçekten bağlanılmış olsun ya da olmasın, denetleyici açıkça yazar.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer

Yanıtlar

  • 200 Müşterinin sanal makinası, başlatılmış (ya da zaten çalışıyorken) hâliyle.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/customers/1/instances/1/actions/start' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /admin/customers/{user}/instances/{instance}/actions/stop #

Bir müşterinin sanal makinasını durdur

admin:write api.read api.privileged

Idempotent: zaten durmuş bir makineyi durdurmak, start ile aynı gerekçeyle, CloudStack'e hiç başvurmadan anında 200 döndürür.

İstek, hedef müşteri için müşteri kapsamlı bulut servisi çözümlenerek karşılanır; yönetici kapsamlı sürüm asla kullanılmaz — bu ayrımın burada da neden belirleyici olduğunu görmek için GET /admin/customers/{user}/instances üzerindeki “müşteri kapsamlı servis” notuna bakın.

Bu rotadaki audit.access:cloud etkisizdir (yalnızca başarılı bir GET'i kaydeder); yöneticinin bir müşterinin makinesi üzerinde işlem yaptığını gösteren kaydı, yukarıdaki idempotenslik denetimi nedeniyle CloudStack'e gerçekten bağlanılmış olsun ya da olmasın, denetleyici açıkça yazar.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer

Yanıtlar

  • 200 Müşterinin sanal makinası, durdurulmuş (ya da zaten durmuşken) hâliyle.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/customers/1/instances/1/actions/stop' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /admin/customers/{user}/instances/{instance}/actions/restart #

Bir müşterinin sanal makinasını yeniden başlat

admin:write api.read api.privileged

Idempotent değil — start/stop'un aksine karşılaştırılacak bir hedef durum yoktur; bu yüzden makinenin o anki durumu ne olursa olsun her zaman CloudStack'e gidilir.

İstek, hedef müşteri için müşteri kapsamlı bulut servisi çözümlenerek karşılanır; yönetici kapsamlı sürüm asla kullanılmaz — bu ayrımın burada da neden belirleyici olduğunu görmek için GET /admin/customers/{user}/instances üzerindeki “müşteri kapsamlı servis” notuna bakın.

Bu rotadaki audit.access:cloud etkisizdir (yalnızca başarılı bir GET'i kaydeder); yöneticinin bir müşterinin makinesi üzerinde işlem yaptığını gösteren kaydı denetleyici açıkça yazar.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer

Yanıtlar

  • 200 Müşterinin sanal makinası, yeniden başlatılmış hâliyle.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/customers/1/instances/1/actions/restart' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /admin/customers/{user}/instances/{instance}/actions/attach-iso #

Bir müşterinin sanal makinasına ISO bağla

admin:write api.read api.privileged

Idempotent: bu sanal makinaya zaten bağlı olan bir ISO'yu bağlamak, CloudStack'e hiç başvurmadan anında 200 döndürür.

iso_id, HEDEF MÜŞTERİNİN görebildiği bir ISO'yu göstermelidir — herkese açık ya da o müşterinin hesabına ait olan; işlemi yapan yöneticinin kendi hesabına ait olan değil. Kapsamın yöneticinin hesabına göre kurulması, yöneticinin özel imajlarını sunar ve müşterinin kendi imajlarını reddederdi.

İstek, hedef müşteri için müşteri kapsamlı bulut servisi çözümlenerek karşılanır; yönetici kapsamlı sürüm asla kullanılmaz — bu ayrımın burada da neden belirleyici olduğunu görmek için GET /admin/customers/{user}/instances üzerindeki “müşteri kapsamlı servis” notuna bakın.

Bu rotadaki audit.access:cloud etkisizdir (yalnızca başarılı bir GET'i kaydeder); yöneticinin bir müşterinin makinesi üzerinde işlem yaptığını gösteren kaydı denetleyici açıkça yazar.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer

İstek gövdesi Zorunlu

Alan Tür Açıklama
iso_id Zorunlu integer MÜŞTERİNİN görebildiği bir ISO'yu göstermelidir (herkese açık ya da müşterinin hesabına ait). Başkasına ait özel bir id ya da olmayan bir id, 404 değil doğrulama hatası (422) verir — adreslenen kaynak ISO değil, sanal makinadır.

Yanıtlar

  • 200 Müşterinin sanal makinası, ISO bağlanmış (ya da zaten bağlıyken) hâliyle.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/customers/1/instances/1/actions/attach-iso' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "iso_id": 5
}'
POST /admin/customers/{user}/instances/{instance}/actions/detach-iso #

Bir müşterinin sanal makinasında takılı olan ISO'yu çıkar

admin:write api.read api.privileged

Idempotent: bağlı ISO'su olmayan bir sanal makinadan ISO çıkarmak, CloudStack'e hiç başvurmadan anında 200 döndürür.

İstek, hedef müşteri için müşteri kapsamlı bulut servisi çözümlenerek karşılanır; yönetici kapsamlı sürüm asla kullanılmaz — bu ayrımın burada da neden belirleyici olduğunu görmek için GET /admin/customers/{user}/instances üzerindeki “müşteri kapsamlı servis” notuna bakın.

Bu rotadaki audit.access:cloud etkisizdir (yalnızca başarılı bir GET'i kaydeder); yöneticinin bir müşterinin makinesi üzerinde işlem yaptığını gösteren kaydı denetleyici açıkça yazar.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer

Yanıtlar

  • 200 Müşterinin sanal makinası, ISO'su çıkarılmış (ya da zaten çıkarılmışken) hâliyle.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/customers/1/instances/1/actions/detach-iso' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/ai/prompts #

Her iki asistanın sistem istemlerini oku

admin:read api.read

C2'nin çalıştırdığı iki asistan — oturum açmış bir müşterinin konuştuğu panel asistanı ve herkese açık tanıtım sitesindeki sohbet balonu — ve her biri için, değiştirilemeyen yerleşik istem ile onun altına eklenen operatör yönergesi.

Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

core her arayüzde salt okunurdur. Veritabanında değil, uygulamanın kaynağında durur; onu değiştiren bir uç nokta, form ya da araç yoktur. Asistanların güvenle çalışmasını sağlayan kuralları taşır: her bilgiyi bir araçtan oku; bir sanal makinanın durumunu, bir fiyatı ya da bir bakiyeyi asla tahmin etme; bir makine başlatılmadan veya durdurulmadan önce müşterinin açık onayı için bekle; para üzerinde asla aritmetik yapma. Panel asistanı müşterinin parasını harcayabilir; bu kurallar, ona bu iznin verilebilmesinin sebebidir.

guidance operatörün yazdığı bölümdür ve core'un altına EKLENİR, hiçbir zaman onun yerine geçmez. İstemin içinde, üstündeki kurallara ek olan ve onları gevşetemeyen, onlarla çelişemeyen, onları geçersiz kılamayan bir operatör politikası olarak sunulur. null hiçbir şeyin ayarlanmadığı anlamına gelir; her iki arayüzde de null olan bir kurulum, ürünle birlikte gelen istemi bayt bayt aynen gönderir.

core ile yan yana döndürülmesi bilinçlidir: eklenen metin üzerinde çalışan bir çağıran, aslında onun üstündeki sözleşmeye karşı çalışmaktadır ve neyin altına ekleme yaptığını görmek için ikinci bir belge çekmek — ya da tahmin etmek — zorunda kalmamalıdır.

max_guidance, her arayüzün guidance alanı için geçerli olan karakter sınırıdır; bu API, yönetim ayarları formu ve MCP aracı tarafından birebir aynı biçimde uygulanır. Metin her konuşmanın her turunda modele gönderilir; dolayısıyla bir politika olduğu kadar bir masraf kalemidir.

Yanıtlar

  • 200 Her iki asistanın istemleri.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/ai/prompts' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /admin/ai/prompts #

Bir asistanın operatör yönergesini ayarla ya da temizle

admin:write api.read api.privileged

Bir asistanın sistem istemine eklenen operatör yönergesini değiştirir ya da temizler. Sahibi admin veya super-admin rolünü taşıyan bir admin:write anahtarı gerektirir.

surface hangi asistanın kastedildiğini belirtir: oturum açılmış panel asistanı için assistant, anonim tanıtım sohbet balonu için public. Ayrı alanlardır, çünkü ayrı kitlelere seslenirler ve hiçbiri diğerinin metnini okuyamaz.

guidance alanı gönderilmek zorundadır. null veya boş dize onu TEMİZLER ve yerleşik istemi olduğu gibi geri getirir; max_guidance karakterden uzun bir metin kırpılmaz, 422 ile reddedilir.

Yerleşik istemin kendisi ne burada ne de başka bir yerde yazılabilir — bu yoldaki GET işlemine bakın.

Ayar satırındaki her değişiklik — ister burada, ister yönetim ayarları formunda, ister MCP aracı üzerinden yapılmış olsun — işlemi yapan anahtarın sahibi aktör olarak denetim izine kaydedilir. Yanıt olarak GET'in döndürdüğü belgenin aynısı verilir; böylece metni ince ayarlayan bir çağıran, kendi yazdığının sonucunu ikinci bir istek atmadan görür.

İstek gövdesi Zorunlu

Alan Tür Açıklama
surface Zorunlu string Hangi asistanın güncelleneceği.
guidance Zorunlu string Saklanacak operatör yönergesi; temizlemek için null ya da boş bırakın.

Yanıtlar

  • 200 Yazma işleminden sonra her iki asistanın istemleri.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/ai/prompts' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "surface": "assistant",
    "guidance": "string"
}'
GET /admin/audit-logs #

Denetim izi kayıtlarını listele

admin:read api.read

Denetim izinin tamamından bir sayfa, en yenisi başta (occurred_at azalan, eşitliği id bozar; böylece bir istemci aynı kaydı iki kez görmeden sayfalar arasında ilerleyebilir).

Sahibi admin (ya da super-admin) rolünü ve audit.view yetkisini taşıyan bir admin:read anahtarı gerektirir. İzin tek başına yetmez: bir anahtar, sahibinin onu oluşturduğu andaki rolünden daha uzun yaşar; bu yüzden rol her istekte yeniden denetlenir.

Denetim izine yalnızca ekleme yapılır ve hiçbir şey onu eşitlemez; bu yüzden ne refresh parametresi ne de yoklama davranışı vardır — bir kayıt yazıldıktan sonra asla değişmez.

changes, context, hash ve previous_hash yayımlanmaz; nedeni için AuditLog şemasına bakın. Özet zinciri mühürlüdür ve bu API üzerinden değil, c2:verify-audit-chain komutuyla ayrı bir kanaldan doğrulanır.

Aşağıda listelenmeyen her sorgu parametresi yok sayılmaz, 422 ile karşılanır: aksi hâlde bir filtreyi yanlış yazan istemci, denetim izinin tamamını filtresiz alır ve daha dar bir soru sorduğunu sanır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
actor_id İsteğe bağlı query integer min 1 Yalnızca bu kullanıcının yazdığı kayıtlar.
subject_id İsteğe bağlı query integer min 1 Yalnızca veri sahibi bu kullanıcı olan kayıtlar.
event İsteğe bağlı query string max length 96 Noktalı olay adı içinde alt dize eşleşmesi.
domain İsteğe bağlı query string one of cloud, billing, dns, tickets, account, auth, shop, privacy, partner, system `App\Enums\AuditDomain` ile birebir aynı tutulur; `IndexAuditLogRequest` de kendi doğrulama kuralını buradan türetir — `AuditLog` şemasındaki `domain` alanına bakın.
from İsteğe bağlı query string `occurred_at` için alt sınır (dâhil).
to İsteğe bağlı query string `occurred_at` için üst sınır (dâhil).

Yanıtlar

  • 200 Denetim kayıtlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/audit-logs' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/audit-logs/{auditLog} #

Denetim izindeki tek bir kaydı getir

admin:read api.read

Yalnızca ekleme yapılan denetim izinin tek bir kaydı.

Çağıranın okumaya yetkili olmadığı bir kayıt için 404 yerine 403 yanıtı veren, personel arayüzündeki tek uç nokta budur. Başka yerlerde kapsam müşteri bazlı olduğundan, çağıranın kapsamı dışındaki bir kaynak ile var olmayan bir kaynak birbirinden ayırt edilemez; denetim izi ise tek ve genel bir koleksiyondur, dolayısıyla “bu kayıt var ama okuması size ait değil” dürüst yanıttır.

Koleksiyonun aksine bu yol, ara katmanında audit.view şartı taşımaz — yetkilendirmeyi AuditLogPolicy yapar: audit.view yetkisine sahip bir yöneticiyi, kendi izini okuyan veri sahibini ve kaydın veri sahibi bakımından, kaydın alanında en az view düzeyi taşıyan bir destek temsilcisini kabul eder. auth, shop, privacy ve system alanlarındaki kayıtların destek tarafında bir karşılığı yoktur ve bir destek temsilcisine asla görünmezler.

changes, context, hash ve previous_hash yayımlanmaz; AuditLog şemasına bakın.

Parametreler

Ad Yeri Tür Açıklama
auditLog Zorunlu path integer min 1 Denetim kaydının id değeri.

Yanıtlar

  • 200 Denetim kaydı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/audit-logs/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/support-assignments #

Destek atama matrisini listele

admin:read api.read

Destek atama tablosunun her satırı, en son güncellenen başta: hangi temsilcinin hangi müşteri üzerinde işlem yapabileceği ve beş alanın her birinde hangi düzeyde.

Sahibi admin (ya da super-admin) rolünü ve support.manage yetkisini taşıyan bir admin:read anahtarı gerektirir. Paneldeki karşılığı olan rota role_or_permission:super-admin|support.manage ile korunur; yetkiyi harfiyen taşımayan bir super-admin da uygulamanın her kapıyı açan yetki geçidi sayesinde buraya kabul edilir ve bu, ikisini eşdeğer kılar. Bu eşdeğerlik varsayılmaz, testle kanıtlanır.

Salt okunurdur. Bu tablo, Support arayüzündeki her yetki geçidinin denetim düzlemidir: onu yazabilen bir anahtar, herhangi bir temsilciye herhangi bir müşteri üzerinde manage verebilirdi ve böyle bir rotanın arkasında duran bir politika yoktur. Yazma tarafını açmak, yeni bir HTTP fiili değil, kendine ait bir tehdit modeli ister.

Her iki taraf da {id, name, email} alanlarına indirgenir ve hesap silinmişse null olur. Matrisin salt okunur yayımlanması, bir operatörün amaçlanan erişim ile gerçekleşen erişimi hiçbirine dokunmadan karşılaştırmasına imkân verir.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Atama kayıtlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/support-assignments' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/staged-actions #

Onay kuyruğunu listele

admin:read api.read

Bir anahtarın istediği ve bir kişinin karar verdiği her eylem — yayımlanacak bir duyuru ve ileride eklenecek türler — en yenisi başta; ne yapacağı (preview), kimin istediği ve sonunun ne olduğuyla birlikte. Bir isteğin onaylanıp onaylanmadığını, reddedildiğini, süresinin dolduğunu ya da başarısız olduğunu öğrenmek için bu listeyi veya tek kaydı yoklayın.

Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

Salt okunurdur ve bu bilinçli bir tercihtir. Bu API'deki hiçbir uç nokta bir kaydı onaylamaz ya da reddetmez: bu, oturum açmış bir yöneticinin paneldeki onaylar sayfasında (approval_url) yaptığı bir tıklamadır. Bir anahtar yalnızca isteyebilir. Dondurulmuş yük yayımlanmaz; preview, onaylayanın okuduğu cümledir.

Parametreler

Ad Yeri Tür Açıklama
status İsteğe bağlı query string one of pending, approved, rejected, expired, failed Yalnızca bu durumdaki kayıtlar.
action İsteğe bağlı query string Yalnızca bu türdeki kayıtlar; örneğin `publish_news`. Bilinmeyen bir tür `422` ile reddedilir.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Kuyruk kayıtlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/staged-actions' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/staged-actions/{stagedAction} #

Onay kuyruğundaki tek bir kaydı getir

admin:read api.read

Onay kuyruğundaki tek bir kayıt; onu oluşturan isteğin döndürdüğü staged_action_id ile. status, pending durumundan approved, rejected, expired ya da failed durumlarından tam olarak birine geçer ve hiçbir zaman geri dönmez.

Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir. Salt okunurdur: nedeni için listeye bakın.

Parametreler

Ad Yeri Tür Açıklama
stagedAction Zorunlu path integer min 1 Kuyruk kaydının id değeri.

Yanıtlar

  • 200 Kuyruk kaydı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/staged-actions/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/news #

Duyuruları listele

admin:read api.read

Paneldeki duyurular, en yenisi başta; taslaklar da yayımlananlar da. published verildiğinde ona göre süzülür.

Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir. Yayın içeriğidir: hiçbir kişinin verisi okunmadığı için erişim günlüğüne satır yazılmaz.

Parametreler

Ad Yeri Tür Açıklama
published İsteğe bağlı query boolean Yalnızca yayımlanmışlar için `true`, yalnızca taslaklar için `false`.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Duyurulardan bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/news' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /admin/news #

Duyuru taslağı oluştur

admin:write api.read api.privileged

Taslak araçlarının uyguladığı kurallarla bir TASLAK oluşturur: en çok 255 karakterlik title, en çok 2048 karakterlik body, tr-TR, en-US veya ar-SA değerlerinden biri olan language ve isteğe bağlı audience. Burada hiçbir zaman yayımlanmaz, zamanlanmaz ya da gönderilmez: gövdedeki is_published, publish_date ve scheduled_for 422 ile reddedilir (zamanlanan bir duyuru, vakti gelince kendiliğinden yayımlanır); yayımlama, bir yöneticinin onaylaması gereken ayrı bir istektir (POST /admin/news/{news}/publish).

Sahibi admin veya super-admin rolünü taşıyan bir admin:write anahtarı gerektirir.

İstek gövdesi Zorunlu

Alan Tür Açıklama
title Zorunlu string
body Zorunlu string
language Zorunlu string
audience İsteğe bağlı string

Yanıtlar

  • 201 Taslak.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/news' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "string",
    "body": "string",
    "language": "tr-TR"
}'
GET /admin/news/{news} #

Tek bir duyuruyu getir

admin:read api.read

Id ile tek bir duyuru. Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
news Zorunlu path integer min 1 Duyurunun id değeri.

Yanıtlar

  • 200 Duyuru.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/news/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /admin/news/{news} #

Duyuru taslağını düzenle

admin:write api.read api.privileged

Yalnızca gönderilen alanları (title, body, language, audience) değiştirir; her biri oluşturma kurallarına tabidir. Boş bir gövde 422 döner; is_published, publish_date ya da scheduled_for da öyle. Yayımlanmış bir duyuru ya da panelde birinin zamanladığı bir taslak burada düzenlenemez ve 422 döner. PATCH değil POST: personel API'sindeki her yazma işlemi POST'tur.

Sahibi admin veya super-admin rolünü taşıyan bir admin:write anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
news Zorunlu path integer min 1 Taslağın id değeri.

İstek gövdesi Zorunlu

Alan Tür Açıklama
title İsteğe bağlı string
body İsteğe bağlı string
language İsteğe bağlı string
audience İsteğe bağlı string

Yanıtlar

  • 200 Düzenlemeden sonra taslak.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/news/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "string",
    "body": "string",
    "language": "tr-TR",
    "audience": "everyone"
}'
POST /admin/news/{news}/publish #

Bir duyurunun yayımlanmasını iste

admin:write api.read api.privileged

Bir taslağın yayımlanmasını onay kuyruğuna alır ve 202 döner. Bu istek HİÇBİR ŞEYİ YAYIMLAMAZ YA DA GÖNDERMEZ: bir yöneticinin kaydı panelde onaylaması gerekir (approval_url); kimse onaylamazsa 24 saat sonra süresi dolar. Location başlığı ve staged_action_id, sonucu bildiren GET /admin/staged-actions/{stagedAction} uç noktasını gösterir. Zaten yayımlanmış bir duyuru 422 ile reddedilir. Her istek yeni bir kayıt oluşturur.

Sahibi admin veya super-admin rolünü taşıyan bir admin:write anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
news Zorunlu path integer min 1 Taslağın id değeri.

Yanıtlar

  • 202 Kuyruğa alındı; henüz hiçbir şey olmadı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/news/1/publish' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /admin/tickets/{ticket}/comments #

Bir destek talebine ekip olarak yanıt verin

admin:write api.read api.privileged

Sizin adınıza bir ekip yanıtı ekler — yönetici MCP'sinin reply_to_ticket aracının REST ikizi, aynı servisle; böylece müşteri ve hesap sahibi, panelden gelen bir yanıttaki gibi bilgilendirilir. Yalnızca metin, en fazla 10000 karakter. Çözülmüş ya da kapatılmış bir talep yanıt almaz (422). Müşterinin hizmeti hâlâ iade edebildiği bir hizmet iş emri talebi 409 ile reddedilir: oradaki bir ekip yanıtı iade süresini kalıcı olarak bitirirdi; bu yüzden önce işi (onaya bağlı olarak) planlayın ya da panelden yanıt verin.

Sahibi admin veya super-admin rolünü taşıyan bir admin:write anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
ticket Zorunlu path integer min 1 Talebin kimliği.

İstek gövdesi Zorunlu

Alan Tür Açıklama
comment Zorunlu string Yanıt. Müşteri okur.

Yanıtlar

  • 201 Yanıt.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Müşterinin hâlâ iade edebildiği bir hizmet iş emri; bir ekip yanıtı bu süreyi bitirirdi.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/tickets/1/comments' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "comment": "string"
}'
POST /admin/tickets/{ticket}/assignment #

Bir destek talebini bir temsilciye verin

admin:write api.read api.privileged

Talebi, onu tutanın yerine bir destek temsilcisine verir — yönetici MCP'sinin assign_ticket aracının ve panelin Ata düğmesinin REST ikizi, aynı servisle. level, view (okuyucu) ya da manage (çalışan atama, varsayılan) olur. Bir iş ortaklığı talebi ve destek ekibinden olmayan herkes 422 ile reddedilir. Devir, talebin denetim geçmişine yazılır.

Sahibi admin veya super-admin rolünü taşıyan bir admin:write anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
ticket Zorunlu path integer min 1 Talebin kimliği.

İstek gövdesi Zorunlu

Alan Tür Açıklama
agent_id Zorunlu integer Destek temsilcisinin kullanıcı kimliği.
level İsteğe bağlı string Temsilcinin talepte yapabilecekleri; varsayılan `manage`.

Yanıtlar

  • 200 Atama.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/tickets/1/assignment' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_id": 1
}'
POST /admin/tickets/{ticket}/close #

Bir destek talebinin kapatılmasını isteyin

admin:write api.read api.privileged

Talebin kapatılmasını onay kuyruğuna alır ve 202 döner. Bu istek HİÇBİR ŞEYİ KAPATMAZ: bir yöneticinin kaydı panelde onaylaması gerekir (approval_url); kimse onaylamazsa 24 saat sonra süresi dolar; onaylandığında müşteri bilgilendirilir. Bir hizmet iş emri talebinde kapatma, müşterinin kendi iade süresini de bitirir — geçerli olduğunda önizleme bunu söyler. Location başlığı ve staged_action_id, sonucu bildiren GET /admin/staged-actions/{stagedAction} uç noktasını gösterir. Zaten kapatılmış, birleştirilmiş ya da istenmeyen olarak işaretlenmiş bir talep 422 ile reddedilir; ilki hâlâ karar beklerken aynı talep için gönderilen ikinci kapatma isteği de 422 ile reddedilir (hata, bekleyen kaydı belirtir).

Sahibi admin veya super-admin rolünü taşıyan bir admin:write anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
ticket Zorunlu path integer min 1 Talebin kimliği.

Yanıtlar

  • 202 Kuyruğa alındı; henüz hiçbir şey olmadı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/admin/tickets/1/close' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/work-queues #

Bir kişiyi bekleyen işleri listele

admin:read api.read api.privileged

Her operatör kuyruğu — silme kuyruğu, gizlilik talepleri, başarısız ödemeler, tahsilat takibi, onaylar (yönetici MCP'sinin ya da yönetici API'sinin sıraya aldığı ve henüz hiçbir yöneticinin karara bağlamadığı işlemler), tavsiye ödülleri, ortaklık başvuruları ve eğitimleri, açık destek talepleri, katılım istekleri, bekletilen ortak hakedişleri, fatura iş listesi ve fiyat bildirimleri — kaç öğenin ne zamandan beri beklediğiyle birlikte. Sıfırlar da sabit bir sırayla yer alır; böylece eksik bir kuyruk hiçbir zaman boş sanılmaz. Yalnızca sayılardır: kimsenin adı geçmez, bu yüzden erişim günlüğüne satır yazılmaz. Yönetim panosunun ve yönetici MCP sunucusunun okuduğu rakamların aynısıdır. Tek parasal değer olan referrals kuyruğunun amount alanı, bu API'nin geri kalanı gibi alt birimde bir Money nesnesidir — MCP ikizi aynı değeri düz bir ondalık sayı olarak yazar.

Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

Yanıtlar

  • 200 Sıfırlar dahil her kuyruk.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/work-queues' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/health #

Kurulumun sağlık durumunu oku

admin:read api.read api.privileged

Kurulumun sağlığı için tek bir okuma: uygulama sürümü; başarısız kuyruk işleri (sayısı ve en yenileri, yalnızca iş adı ve istisna sınıfıyla — bir müşterinin kaydını aktarabilecek yük ya da ileti asla verilmez); kuyruk derinliği ve Horizon'un çalışıp çalışmadığı; her zamanlanmış komutun sıklığı, bir sonraki çalışma zamanı ve son 30 gündeki son BAŞARISIZLIĞI; bekleyen veritabanı geçişleri; son zamanlarda değişen yapılandırma anahtarları (değerleri asla verilmez). C2 zamanlanmış bir komutun başarısızlıklarını kaydeder, başarılarını kaydetmez; bu yüzden son başarılı çalışma bilgisi yoktur. Yönetici MCP sunucusundaki get_system_health aracının döndürdüğü raporun aynısıdır.

Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

Yanıtlar

  • 200 Sağlık raporu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/health' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/failed-jobs #

Başarısız kuyruk işlerini listele

admin:read api.read api.privileged

Başarısız kuyruk işleri — denemelerini tüketen her işin kaydedildiği failed_jobs tablosu — en yenisi başta. Her satır işin görünen adını, kuyruğunu, bağlantısını, ne zaman başarısız olduğunu, yük kaydettiyse deneme ve en fazla deneme sayısını, istisnanın sınıfını ve yalnızca İLK SATIRINI (gizli bilgiler maskelenmiş, en çok 300 karakter) ve Horizon etiketlerini (model sınıfı:id) taşır. Yükün kendisi asla yayımlanmaz.

Sayfanın yanında: tüm başarısız işler (total), since sonrasındakiler (total_since), filtrelere uyanların sayısı (matched) ve uyan işlerin iş adına (by_job) ve istisna sınıfına (by_exception) göre gruplanmış sayıları. Yönetici MCP sunucusundaki list_failed_jobs aracının döndürdüğü yanıtın aynısıdır.

Bir istisna iletisi bir kişiyi adlandırabilir (reddedilen bir alıcı); bu yüzden her çağrı denetim izine bir erişim olarak kaydedilir (account.pii_read, kapsam fleet). Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
since İsteğe bağlı query string Yalnızca bu tarihte ya da zamanda veya sonrasında başarısız olan işler.
job İsteğe bağlı query string max length 200 İşin görünen adının bir parçası.
queue İsteğe bağlı query string max length 100 Kuyruğun adı.
exception İsteğe bağlı query string max length 200 İstisna sınıfının başlangıcı — yalnızca harf, rakam, ters eğik çizgi ve alt çizgi. İleti hiçbir zaman eşleştirilmez; başka bir değer 422 ile reddedilir.

Yanıtlar

  • 200 Toplamlar ve gruplarla birlikte bir sayfa başarısız iş.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/failed-jobs' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/failed-jobs/{failedJob} #

Tek bir başarısız kuyruk işini oku

admin:read api.read api.privileged

uuid değeri ya da sayısal id değeriyle tek bir başarısız kuyruk işi: listenin gösterdiği her şey, ayrıca istisnanın ilk 30 satırı (ileti ve yığın, gizli bilgiler maskelenmiş) ve işin taşıdıkları — komut sınıfı ve tuttuğu her model, sınıfı ve id değeriyle. Yükün kendisi asla yayımlanmaz. Yönetici MCP sunucusundaki get_failed_job aracının döndürdüğü yanıtın aynısıdır.

Denetim izine bir erişim olarak kaydedilir (account.pii_read, kapsam fleet). Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
failedJob Zorunlu path string max length 64 Başarısız işin uuid değeri ya da sayısal id değeri.

Yanıtlar

  • 200 Başarısız iş.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/failed-jobs/failedJob' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/jobs #

Horizon'un izlediği kuyruk işlerini listele

admin:read api.read api.privileged

Horizon'un izlediği işler, en yenisi başta, duruma göre: recent (varsayılan — Horizon'un kırpma penceresi içinde kuyruğa giren her şey), pending (bekleyen ya da çalışan), completed, failed veya silenced. Her iş Horizon kimliğini, iş adını, kuyruğu, bağlantıyı, durumu, deneme sayısını, ne zaman kuyruğa girdiğini, ayrıldığını, tamamlandığını ya da başarısız olduğunu, Horizon etiketlerini (model sınıfı:id), yeniden denenip denenmediğini ve başarısız bir iş için istisnanın ilk satırını (gizli bilgiler maskelenmiş) taşır. Yük asla yayımlanmaz. job, queue ve tag süzgeçleri seçilen listenin en yeni 1000 işi içinde eşleştirilir (scanned). Horizon bunları yalnızca kırpma penceresi boyunca tutar (kept_minutes); bir başarısızlığın kalıcı kaydı GET /admin/failed-jobs uç noktasıdır.

Horizon'un listeleri redis'te durur: ulaşılamayan bir redis hata yerine istisnanın sınıfıyla available: false döndürür. Yönetici MCP sunucusundaki list_jobs aracının döndürdüğü yanıtın aynısıdır. Bir işin etiketleri taşıdığı müşteri kayıtlarını adlandırır; bu yüzden her çağrı bir erişim olarak kaydedilir (account.pii_read, kapsam fleet). Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

Parametreler

Ad Yeri Tür Açıklama
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.
status İsteğe bağlı query string one of recent, pending, completed, failed, silenced Horizon listelerinden hangisinin okunacağı. Varsayılan: recent.
job İsteğe bağlı query string max length 200 İş adının bir parçası.
queue İsteğe bağlı query string max length 100 Kuyruğun adı.
tag İsteğe bağlı query string max length 200 İşin taşıdığı tam bir etiket; örneğin bir model sınıfı ve id değeri. Seçilen durumun en yeni 1000 işi içinde, her işin kendi etiketleriyle eşleştirilir; `scanned` kaç işin okunduğunu söyler.

Yanıtlar

  • 200 İşler; redis'e ulaşılamıyorsa `available false`.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/jobs' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /admin/horizon #

Kuyruk işçilerinin durumunu oku

admin:read api.read api.privileged

Kuyruk işçilerinin durumu, Horizon panosunun gösterdiği gibi: genel durum (running, paused, no_workers, inactive), her ana denetçi ve denetçi ile kuyruk başına işçi süreçleri, her kuyruğun uzunluğu, beklenen bekleme süresi ve süreçleri, dakika başına iş, kuyruk başına verim ve ortalama çalışma süresi ve Horizon'un son, bekleyen, tamamlanan ve başarısız sayıları. Yanında recommendations: bu değerlerden ve başarısız iş tablosundan türetilen öneriler — geride kalan bir kuyruk, iş beklerken işçi olmaması, tekrar tekrar başarısız olan bir iş — her biri neye dayandığını, sonra neye bakılacağını ve yalnızca sunucu işletmecisinin mi harekete geçebileceğini (owner_side) söyler. Yalnızca öneridir: hiçbir şey kendiliğinden yapılmaz.

Ulaşılamayan bir redis horizon.available: false döndürür. Kimseyi adlandırmaz; bu yüzden erişim kaydı yazmaz. Yönetici MCP sunucusundaki get_horizon_status aracının döndürdüğü yanıtın aynısıdır. Sahibi admin veya super-admin rolünü taşıyan bir admin:read anahtarı gerektirir.

Yanıtlar

  • 200 Horizon'un durumu ve ondan türetilen öneriler.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/admin/horizon' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

İşlemler

Support

Bir müşterinin verileri üzerinde, atamayla sınırlı okumalar; support:read taşıyan ve sahibi support ya da super-admin rolünü tutan bir anahtar içindir — support:write ile de, destek panelinin o müşteri üzerinde sunduğu her yazma işlemi, her biri kendi alanında atamanın manage düzeyinde. Hesap kredisi yalnızca İSTENİR — kuyruğa alınır ve bir yönetici /admin/approvals üzerinde onaylar. Bir yazma işlemi satırları kimlikle anar; başka bir müşterinin satırı 404 döner.

Bir destek temsilcisi yalnızca support_assignments satırı bulunan müşterileri görür ve o müşteriler içinde yalnızca alan bazlı yetki düzeyinin kapsadığı alanları görür. Bir super-admin her iki denetimi de kısa devre eder; panelde de öyledir. Okumalar panelinkiyle birebir aynı biçimde denetlenir.

GET, view yetki düzeyine, değiştiren çağrılar ise manage düzeyine karşılık gelir — panelde bilerek bırakılmış tek bir istisnayla, ki bu uç noktalar buraya taşınırsa o istisna asla gevşetilmemelidir: bir sanal makine konsolu oturumu açmak view değil manage ile korunur, çünkü konsol makinenin fiilen tam denetimidir.

GET /support/customers #

Çağıran temsilciye atanmış müşterileri listele

support:read api.read

Yalnızca çağıran temsilcinin support_assignments satırı bulunan müşteriler, ada göre sıralı olarak ve her biri temsilcinin o müşteri üzerinde taşıdığı yetki haritasıyla birlikte döner. Hiç ataması olmayan bir temsilci boş bir sayfa alır — asla müşteri listesinin tamamını değil.

Bir super-admin ise panelle uyumlu biçimde bütün müşterileri görür: hem User::supportCan() hem de User::isAssignedTo() bu rol için kısa devre yapar, dolayısıyla atama matrisi onun için bir kısıt değildir.

Sahibi support (ya da super-admin) rolünü taşıyan bir support:read anahtarı gerekir. İzin tek başına yetmez: bir anahtar, oluşturulduğu anda sahibinin taşıdığı rolden daha uzun yaşar; bu yüzden rol her istekte yeniden denetlenir.

Eşdeğer panel yolunda hiçbir kapı yoktur — süzgeci denetleyicinin içinde durur — bu yüzden yalnızca “bütün müşteriler” sorgusunu çalıştıran bir API karşılığı, kurulumun tamamını herhangi bir support:read anahtarına açardı. Buradaki kapsamlandırma bu uç noktanın en önemli özelliğidir ve testlerle her iki yönde de doğrulanır.

Denetim kaydı yazmaz: tek bir müşteri hakkında bir addan ve bir e-posta adresinden fazlasını yayımlamaz; kayıt tutanlar, yanındaki müşteri bazlı okumalardır.

Parametreler

Ad Yeri Tür Açıklama
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Temsilciye atanmış müşterilerden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/customers' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /support/customers/{user} #

Atanmış bir müşteriyi getir

support:read api.read api.privileged

Atanmış bir müşteri için alanlar arası gösterge paneli: müşteri kaydı, yetki haritası ve veritabanından türetilen sanal makina, disk, DNS alanı, abonelik, fatura ve destek talebi sayıları.

Yalnızca atamaya bakılır — alan bazlı hiçbir yetkiye bakılmaz — ve bu, panelle bilinçli olarak aynıdır. Bu kaydın amacı, destek temsilcisine bakacağı alanı seçmeden önce müşterinin sorununun nerede olabileceğini söylemektir; bu yüzden erişimi account,view ile kapatmak, yalnızca bulut alanında çalışan bir temsilci için gösterge panelini işlevsiz bırakırdı. Bu yolun yanındaki alan bazlı koleksiyonların her biri kendi yetkisini ister.

Kapı bu kadar geniş olduğu için dönen veri, yönetici karşılığından daha dardır: phone burada yayımlanmaz. Beş alanın hepsinde ataması none olan bir temsilci bu kayda erişebilir ve panel ona bir telefon numarası verir; API'nin panelden daha katı olması kabul edilebilir, tersi değildir.

Temsilcinin atanmadığı bir müşteri 403 verir, 404 değil — atama kapısı, kaydı arayan hiçbir şey çalışmadan önce işler ve bu, panelin verdiği yanıtla aynıdır. Hiç var olmayan bir id de aynı nedenle 403 verir ve istenen yanıt budur: “böyle bir hesap yok” ile “bunu görmeye yetkiniz yok” birbirinden ayırt edilemez hale gelir. Destek arayüzünde hiçbir şey 404 döndürmez.

Tıpkı eşdeğer panel sayfası gibi bir account.pii_read denetim kaydı yazar ve bu nedenle daha dar bir istek sınırı bütçesinden düşülür.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

Yanıtlar

  • 200 Müşteri.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/customers/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /support/customers/{user}/instances #

Atanmış bir müşterinin sanal makinalarını listele

support:read api.read api.privileged

Yük bakımından yönetici eşdeğeriyle aynıdır — müşterinin kendi /instances uç noktasının döndürdüğü Instance gösteriminin aynısı — ve sunuluş biçimi de aynıdır: müşteri kapsamlı bulut servisi, onun eşitleme yapmayan okuyucusu, refresh biçimi yok. Yalnızca önündeki erişim kapıları farklıdır.

Bu müşteriyi kapsayan bir atamanın cloud alanında en az view düzeyi gerekir. Müşteriye atanmış ama cloud alanında none taşıyan bir temsilci 403 alır; hiç ataması olmayan bir temsilci de öyle.

Bir cloud.pii_read denetim kaydı yazar ve daha dar olan ayrıcalıklı okuma bütçesinden düşülür.

Bilinmeyen bir id ya da temsilcinin atanmadığı bir id 403 döner — kapı, kayda bakılmadan önce çalışır; böylece “böyle bir hesap yok” ile “bunu görmeye yetkiniz yok” ayırt edilemez kalır. Destek arayüzünde hiçbir uç nokta 404 döndürmez.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Müşterinin sanal makinalarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /support/customers/{user}/dns-zones #

Atanmış bir müşterinin DNS alanlarını listele

support:read api.read api.privileged

Yük ve servis çözümlemesi bakımından yönetici eşdeğeriyle aynıdır; yalnızca önündeki erişim kapıları farklıdır. Bu müşteriyi kapsayan bir atamanın dns alanında en az view düzeyi gerekir.

refresh parametresi yoktur: eşitleyici eşi, PowerDNS'in canlı listesinde artık bulunmayan yerel DNS alanlarını — ve art arda onların kayıtlarını — kendi güncelleme bayrağına bakılmadan önce siler.

Bir dns.pii_read denetim kaydı yazar ve daha dar olan ayrıcalıklı okuma bütçesinden düşülür.

Bilinmeyen bir id ya da temsilcinin atanmadığı bir id 403 döner — kapı, kayda bakılmadan önce çalışır; böylece “böyle bir hesap yok” ile “bunu görmeye yetkiniz yok” ayırt edilemez kalır. Destek arayüzünde hiçbir uç nokta 404 döndürmez.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Müşterinin DNS alanlarından bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/customers/1/dns-zones' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/dns-zones #

Atanmış bir müşteri için DNS alanı oluştur

support:write api.read api.privileged

Destek panelinin kapısı, müşterinin kendi DNS servisiyle.

Sahibi support ya da super-admin rolünü ve bu müşteri için dns: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Alanın alan adı.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/dns-zones' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string"
}'
GET /support/customers/{user}/subscriptions #

Atanmış bir müşterinin aboneliklerini listele

support:read api.read api.privileged

Yük ve servis çözümlemesi bakımından yönetici eşdeğeriyle aynıdır; yalnızca önündeki erişim kapıları farklıdır. Bu müşteriyi kapsayan bir atamanın billing alanında en az view düzeyi gerekir. Para her zaman para biriminin alt birimi cinsinden bir tam sayı olarak, para birimiyle birlikte verilir; asla ondalıklı sayı olarak değil.

refresh parametresi yoktur ve bunun en keskin örneği budur: eşitleyici eşi, bağlı kaynağı taşınmış abonelikleri sonlandırır, bekleyen her aboneliği deployed durumuna yükseltip başarısızlık nedenini siler, kök disk aboneliklerini ödemeleriyle birlikte siler ve sağlayıcıyı arayan sahipsiz kaynak olayları tetikler — hepsi tek bir veritabanı işlemi içinde.

Bir billing.pii_read denetim kaydı yazar ve daha dar olan ayrıcalıklı okuma bütçesinden düşülür.

Bilinmeyen bir id ya da temsilcinin atanmadığı bir id 403 döner — kapı, kayda bakılmadan önce çalışır; böylece “böyle bir hesap yok” ile “bunu görmeye yetkiniz yok” ayırt edilemez kalır. Destek arayüzünde hiçbir uç nokta 404 döndürmez.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Müşterinin aboneliklerinden bir sayfa.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /support/customers/{user}/audit-logs #

Atanmış bir müşterinin denetim kayıtlarını listele

support:read api.read api.privileged

Veri sahibi bu müşteri olan kayıtlar; en yenisi başta olmak üzere ve çağıran temsilcinin en az view düzeyinde yetkili olduğu alanlarla sınırlanarak.

İkisi de zorunlu iki kapı: bu müşteriyi kapsayan bir atama ve view düzeyinde account — paneldeki eşdeğer sayfanın taşıdığı çiftin aynısı. İçerideki alan bazlı süzgeç ise, yalnızca destek taleplerine yetkili bir temsilcinin içeri girdikten sonra o müşterinin faturalandırma kayıtlarını okumasını engelleyen şeydir. Hiçbir alanda view düzeyi olmayan bir temsilci her kaydı değil, sıfır kayıt görür: boş alan listesi açıkça “hiçbir alan” demektir, eksik bir kısıt değil.

auth, shop, privacy, partner ve system alanlarının destek atamalarında bir karşılığı yoktur; bu yüzden temsilci ne taşırsa taşısın burada hiç görünmezler. Veri sahibi başvurusu müşteri ile veri sorumlusu arasındadır; bir iş ortağının ticari koşulları ise iş ortağı ile şirket arasındadır.

changes, context, hash ve previous_hash alanları yayımlanmaz; nedeni için AuditLog şemasına bakın.

Paneldeki eşdeğer sayfanın aksine bu uç nokta, kendi account.pii_read kaydını yazar ve daha dar olan ayrıcalıklı okuma bütçesinden düşülür. Bu API'de {user} kapsamındaki her personel okuması istisnasız iz bırakır — tek istisnası olan kural çürüyen kuraldır ve birinin bütün denetim geçmişini okumak, kayıtsız bırakılacak erişim değildir. Bu da şu demektir: bu koleksiyonu sayfalayan bir istemci koleksiyona kayıt ekler.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
page İsteğe bağlı query integer min 1, default 1 1'den başlayan sayfa numarası.
per_page İsteğe bağlı query integer min 1, max 100, default 25 Sayfa başına öğe sayısı. 100'ün üstündeki değerler 100'e indirilir.

Yanıtlar

  • 200 Müşterinin denetim kayıtlarından bir sayfa; temsilcinin görebildiği alanlarda.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/customers/1/audit-logs' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/instances/{instance}/actions/start #

Atanmış bir müşterinin sanal makinesini başlat

support:write api.read api.privileged

Destek panelinin kendi kapısı; sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtarla. Idempotent: zaten çalışan bir makineyi başlatmak, buluttan hiçbir şey istemeden 200 döner. Başka bir müşterinin makinesi 404 döner; açık bir iade isteğinin tuttuğu bir makine 409 döner; bulutun reddettiği bir iş 502 döner. Her çağrı, işlemi yapan olarak siz ve konu olarak müşteri ile denetim kaydına yazılır.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer Makinenin kimliği, `GET /support/customers/{user}/instances` listesindeki gibi.

Yanıtlar

  • 200 Başlatılmış (ya da zaten çalışan) makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/actions/start' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/instances/{instance}/actions/stop #

Atanmış bir müşterinin sanal makinesini durdur

support:write api.read api.privileged

Destek panelinin kendi kapısı; sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtarla. Idempotent: zaten durmuş bir makineyi durdurmak, buluttan hiçbir şey istemeden 200 döner. Başka bir müşterinin makinesi 404 döner; bulutun reddettiği bir iş 502 döner. Her çağrı, işlemi yapan olarak siz ve konu olarak müşteri ile denetim kaydına yazılır.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer Makinenin kimliği, `GET /support/customers/{user}/instances` listesindeki gibi.

Yanıtlar

  • 200 Durdurulmuş (ya da zaten durmuş) makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/actions/stop' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/instances/{instance}/actions/restart #

Atanmış bir müşterinin sanal makinesini yeniden başlat

support:write api.read api.privileged

Destek panelinin kendi kapısı; sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtarla. Idempotent değildir: yeniden başlatma her zaman buluta ulaşır. Başka bir müşterinin makinesi 404 döner; açık bir iade isteğinin tuttuğu bir makine 409 döner; bulutun reddettiği bir iş 502 döner. Her çağrı, işlemi yapan olarak siz ve konu olarak müşteri ile denetim kaydına yazılır.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer Makinenin kimliği, `GET /support/customers/{user}/instances` listesindeki gibi.

Yanıtlar

  • 200 Yeniden başlatılmış makine.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/actions/restart' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/credits #

Bir müşteriye hesap kredisi tanımlanmasını iste

support:write api.read api.privileged

Kredi sonraki ödemeleri düşürür ve süresi dolunca sona erer; asla nakit değildir.

KUYRUĞA ALINIR: bir yönetici /admin/approvals üzerinde onaylayana kadar hiçbir şey olmaz; 24 saat sonra süresi dolar. GET /support/staged-actions/{stagedAction} adresini gösteren bir Location ile 202 döner. Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kredisi 404 döner.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
amount_usd Zorunlu number Tutar, USD cinsinden ondalık sayı olarak.
reason Zorunlu string Neden — işlemle birlikte kaydedilir ve panelin gösterdiği yerde müşteriye gösterilir.
expires_at İsteğe bağlı string Süresinin dolacağı tarih (YYYY-AA-GG); varsayılan üç ay.

Yanıtlar

  • 202 Kuyruğa alındı; henüz hiçbir şey olmadı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/credits' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount_usd": 1,
    "reason": "string"
}'
POST /support/customers/{user}/credits/{creditGrant}/actions/adjust #

Bir müşterinin kredisinin azaltılmasını iste

support:write api.read api.privileged

Yalnızca kalan tutara kadar azaltılır; istek anındaki kalan, onayda hâlâ geçerli olmalıdır.

KUYRUĞA ALINIR: bir yönetici /admin/approvals üzerinde onaylayana kadar hiçbir şey olmaz; 24 saat sonra süresi dolar. GET /support/staged-actions/{stagedAction} adresini gösteren bir Location ile 202 döner. Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kredisi 404 döner.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
creditGrant Zorunlu path integer min 1 Kredinin kimliği; müşterinin olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
remaining_usd Zorunlu number Kalması gereken tutar, USD cinsinden ondalık sayı olarak.
reason Zorunlu string Neden — işlemle birlikte kaydedilir ve panelin gösterdiği yerde müşteriye gösterilir.

Yanıtlar

  • 202 Kuyruğa alındı; henüz hiçbir şey olmadı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/credits/1/actions/adjust' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "remaining_usd": 1,
    "reason": "string"
}'
POST /support/customers/{user}/credits/{creditGrant}/actions/remove #

Bir müşterinin kredisinin kaldırılmasını iste

support:write api.read api.privileged

Kalan kaldırılır; ödeme olarak verilmez.

KUYRUĞA ALINIR: bir yönetici /admin/approvals üzerinde onaylayana kadar hiçbir şey olmaz; 24 saat sonra süresi dolar. GET /support/staged-actions/{stagedAction} adresini gösteren bir Location ile 202 döner. Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kredisi 404 döner.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
creditGrant Zorunlu path integer min 1 Kredinin kimliği; müşterinin olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
reason Zorunlu string Neden — işlemle birlikte kaydedilir ve panelin gösterdiği yerde müşteriye gösterilir.

Yanıtlar

  • 202 Kuyruğa alındı; henüz hiçbir şey olmadı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/credits/1/actions/remove' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "string"
}'
POST /support/customers/{user}/password #

Bir müşterinin parolasını belirle

support:write api.read api.privileged

Destek panelinin yardım masası sıfırlaması: parola belirlenir ve müşterinin diğer tüm oturumları sonlandırılır.

Sahibi support ya da super-admin rolünü ve bu müşteri için account: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
password Zorunlu string Yeni parola.
password_confirmation Zorunlu string Aynı parola yeniden.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/password' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "password": "string",
    "password_confirmation": "string"
}'
GET /support/customers/{user}/instances/{instance}/console #

Bir müşterinin makinesinde konsol aç

support:write api.read api.privileged

Tek kullanımlık bir konsol URL'si, panelin sunduğu gibi bu site üzerinden aktarılır; ya da url: null. Konsol makinenin fiilen tam denetimidir; bu yüzden panel kapısı gibi yazma yetkisini ve manage düzeyini ister.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Okuma müşteri adına kaydedilir.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/console' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /support/customers/{user}/subscriptions/{subscription}/resize-quote #

Bir müşteri için yeniden boyutlandırmayı fiyatla

support:read api.read api.privileged

Fiyatlanır, asla uygulanmaz — panelin teklifi, aynı quoteScale() ile. Bir ret (iade süresi içinde, geri çekilmiş bir ürün, …) cümlesiyle birlikte 409 olur.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: view düzeyinde bir atamayı tutan, support:read taşıyan bir anahtar gerektirir. Okuma müşteri adına kaydedilir.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
subscription Zorunlu path integer min 1 Aboneliğin kimliği; müşteriye ait olmalıdır.
product_id Zorunlu query integer min 1 Aynı türden, boyutlandırılacak hedef ürün.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions/1/resize-quote' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
GET /support/staged-actions/{stagedAction} #

Kuyruğa aldığınız isteklerden birini getir

support:read api.read

Bu yüzeyden istediğiniz bir şeyin — bir kredi tanımlama, azaltma ya da kaldırma — ne olduğu; isteğin döndürdüğü staged_action_id ile. status, pending durumundan approved, rejected, expired ya da failed durumlarından tam olarak birine geçer ve hiçbir zaman geri dönmez. Yalnızca kendi istekleriniz görünür: başka bir ekip üyesininki 404 döner. Salt okunurdur: kararı panelde bir yönetici verir.

Sahibi support ya da super-admin rolünü tutan, support:read taşıyan bir anahtar gerektirir.

Parametreler

Ad Yeri Tür Açıklama
stagedAction Zorunlu path integer min 1 Kuyruk kaydının id değeri.

Yanıtlar

  • 200 Kuyruk kaydı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X GET 'https://cloud.core.gen.tr/api/v1/support/staged-actions/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/instances/{instance}/actions/rename #

Atanmış bir müşterinin makinesini yeniden adlandır

support:write api.read api.privileged

Destek panelinin yeniden adlandırması, müşterinin kendi bulut servisiyle.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Yeni ad.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/actions/rename' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string"
}'
POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/attach #

Makineyi müşterinin ağlarından birine bağlar

support:write api.read api.privileged

Destek panelinin kapısı; müşterinin ve yöneticinin kullandığı aynı paylaşılan gövdeyle; bulut gerektiriyorsa makine durdurulur.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.
network Zorunlu path integer min 1 Ağın kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/networks/1/actions/attach' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/detach #

Makineyi ağdan ayırır

support:write api.read api.privileged

Destek panelinin kapısı; müşterinin ve yöneticinin kullandığı aynı paylaşılan gövdeyle; bulut gerektiriyorsa makine durdurulur.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.
network Zorunlu path integer min 1 Ağın kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/networks/1/actions/detach' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/make-primary #

Ağı makinenin birincil ağı yapar

support:write api.read api.privileged

Destek panelinin kapısı; müşterinin ve yöneticinin kullandığı aynı paylaşılan gövdeyle; bulut gerektiriyorsa makine durdurulur.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.
network Zorunlu path integer min 1 Ağın kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/networks/1/actions/make-primary' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/move #

Makineyi `from` ile belirtilen ağdan alıp bu ağa taşır

support:write api.read api.privileged

Destek panelinin kapısı; müşterinin ve yöneticinin kullandığı aynı paylaşılan gövdeyle; bulut gerektiriyorsa makine durdurulur.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.
network Zorunlu path integer min 1 Ağın kimliği; müşteriye ait olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
from Zorunlu integer Makinenin taşınacağı kaynak ağ.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/networks/1/actions/move' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "from": 1
}'
POST /support/customers/{user}/instances/{instance}/networks/{network}/actions/change-ip #

Makinenin ağdaki adresini değiştirir

support:write api.read api.privileged

Destek panelinin kapısı; müşterinin ve yöneticinin kullandığı aynı paylaşılan gövdeyle; bulut gerektiriyorsa makine durdurulur.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.
network Zorunlu path integer min 1 Ağın kimliği; müşteriye ait olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
ip_address Zorunlu string O ağdaki yeni adres.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/networks/1/actions/change-ip' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "ip_address": "string"
}'
POST /support/customers/{user}/public-ip-addresses/{publicIPAddress}/networks/{network}/actions/move #

Bir müşterinin kamusal adresini başka bir ağına taşı

support:write api.read api.privileged

Adres bırakılır ve hedef ağda yeni bir adres alınır; ücret alınmaz.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
publicIPAddress Zorunlu path integer min 1 Kamusal adresin kimliği; müşteriye ait olmalıdır.
network Zorunlu path integer min 1 Ağın kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/public-ip-addresses/1/networks/1/actions/move' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/networks/{network}/actions/release #

Müşterinin boşalmış bir ağını bırak

support:write api.read api.privileged

Ağı tuttuğu adresle birlikte geri verir. Onu kullanan bir şey varken reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
network Zorunlu path integer min 1 Ağın kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/networks/1/actions/release' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/vpn #

Bir müşterinin VPN ağ geçidini aç ya da kapat

support:write api.read api.privileged

Müşterinin kendi kamusal adreslerinden birinde.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
public_ip Zorunlu string Ağ geçidinin kamusal adresi.
enable Zorunlu boolean Açık ya da kapalı.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/vpn' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "public_ip": "string",
    "enable": true
}'
POST /support/customers/{user}/vpn/users #

Müşteri için bir VPN kullanıcısı oluştur

support:write api.read api.privileged

Destek panelinin kapısı, sahibin 2026-08-29 kararı: müşterinin VPN'ine hizmet etmek işin kendisidir.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
username Zorunlu string Kullanıcı adı.
password Zorunlu string Parola.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/vpn/users' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "username": "string",
    "password": "string"
}'
POST /support/customers/{user}/vpn/users/{vpnUser}/actions/delete #

Müşterinin VPN kullanıcılarından birini sil

support:write api.read api.privileged

Başka bir hesabın VPN kullanıcısı 404 döner.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
vpnUser Zorunlu path integer min 1 VPN kullanıcısının kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/vpn/users/1/actions/delete' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/volumes/{volume}/snapshots #

Bir müşterinin diskinin anlık görüntüsünü al

support:write api.read api.privileged

Paneldeki gibi müşterinin anlık görüntü sınırına sayılır.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
volume Zorunlu path integer min 1 Diskin kimliği; müşteriye ait olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name İsteğe bağlı string İsteğe bağlı bir ad.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/volumes/1/snapshots' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string"
}'
POST /support/customers/{user}/volumes/{volume}/snapshots/{snapshot}/actions/delete #

Bir müşterinin disk anlık görüntüsünü sil

support:write api.read api.privileged

Saklamadaki bir kopya reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
volume Zorunlu path integer min 1 Diskin kimliği; müşteriye ait olmalıdır.
snapshot Zorunlu path integer min 1 Anlık görüntünün kimliği; o diskin bir kopyası olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/volumes/1/snapshots/1/actions/delete' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/volumes/{volume}/snapshots/{snapshot}/actions/restore #

Bir müşterinin anlık görüntüsünden yeni disk oluştur

support:write api.read api.privileged

Saklamadaki bir kopya reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
volume Zorunlu path integer min 1 Diskin kimliği; müşteriye ait olmalıdır.
snapshot Zorunlu path integer min 1 Anlık görüntünün kimliği; o diskin bir kopyası olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Yeni diskin adı.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/volumes/1/snapshots/1/actions/restore' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string"
}'
POST /support/customers/{user}/volumes/{volume}/snapshot-policies #

Bir müşterinin diskine anlık görüntü takvimi koy

support:write api.read api.privileged

Kopyaları bulut alır ve max_snaps sayısını aşan en eskileri siler.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
volume Zorunlu path integer min 1 Diskin kimliği; müşteriye ait olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
interval_type Zorunlu string hourly, daily, weekly ya da monthly.
max_snaps Zorunlu integer Saklanacak kopya sayısı.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/volumes/1/snapshot-policies' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "interval_type": "string",
    "max_snaps": 1
}'
POST /support/customers/{user}/instances/{instance}/vm-snapshots #

Bir müşterinin makinesinin anlık görüntüsünü al

support:write api.read api.privileged

Canlı anlık görüntüler burada kapalıyken reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Kopyanın adı.
description İsteğe bağlı string İsteğe bağlı bir not.
with_memory İsteğe bağlı boolean Makinenin belleğini de içer.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/vm-snapshots' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string"
}'
POST /support/customers/{user}/instances/{instance}/vm-snapshots/{vmSnapshot}/actions/delete #

Bir müşterinin makine anlık görüntüsünü sil

support:write api.read api.privileged

Saklamadaki bir kopya reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.
vmSnapshot Zorunlu path integer min 1 Makine anlık görüntüsünün kimliği; o makinenin bir kopyası olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/vm-snapshots/1/actions/delete' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/instances/{instance}/vm-snapshots/{vmSnapshot}/actions/revert #

Bir müşterinin makinesini bir anlık görüntüye döndür

support:write api.read api.privileged

Kopyadan sonra yazılan her şey kaybolur. Saklamadaki bir kopya reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için cloud: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
instance Zorunlu path integer min 1 Makinenin kimliği; müşteriye ait olmalıdır.
vmSnapshot Zorunlu path integer min 1 Makine anlık görüntüsünün kimliği; o makinenin bir kopyası olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/instances/1/vm-snapshots/1/actions/revert' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/dns-zones/{zone}/actions/delete #

Bir müşterinin DNS alanını sil

support:write api.read api.privileged

Alan ve içindeki her kayıt kaldırılır.

Sahibi support ya da super-admin rolünü ve bu müşteri için dns: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
zone Zorunlu path integer min 1 DNS alanının kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/dns-zones/1/actions/delete' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/dns-zones/{zone}/records #

Bir müşterinin alanına kayıt ekle

support:write api.read api.privileged

Tek bir değer; aynı ad ve türdeki diğer değerler korunur.

Sahibi support ya da super-admin rolünü ve bu müşteri için dns: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
zone Zorunlu path integer min 1 DNS alanının kimliği; müşteriye ait olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Kaydın adı.
type Zorunlu string Kayıt türü.
data Zorunlu string Değer.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/dns-zones/1/records' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "type": "string",
    "data": "string"
}'
POST /support/customers/{user}/dns-zones/{zone}/records/{record} #

Bir müşterinin alanındaki kaydı değiştir

support:write api.read api.privileged

Değer okunduktan sonra değiştiyse 422 ile reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için dns: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
zone Zorunlu path integer min 1 DNS alanının kimliği; müşteriye ait olmalıdır.
record Zorunlu path integer min 1 Kaydın kimliği; o alanda olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
type Zorunlu string Kayıt türü.
data Zorunlu string Yeni değer.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/dns-zones/1/records/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "string",
    "data": "string"
}'
POST /support/customers/{user}/dns-zones/{zone}/records/{record}/actions/delete #

Bir müşterinin alanından kayıt sil

support:write api.read api.privileged

Değer okunduktan sonra değiştiyse 422 ile reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için dns: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
zone Zorunlu path integer min 1 DNS alanının kimliği; müşteriye ait olmalıdır.
record Zorunlu path integer min 1 Kaydın kimliği; o alanda olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/dns-zones/1/records/1/actions/delete' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/subscriptions/{subscription}/actions/cancel #

Bir müşterinin aboneliğini iptal et

support:write api.read api.privileged

Panelin İptal düğmesi gibi sözleşmeyi bitirir; servisin retleri 409 döner.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
subscription Zorunlu path integer min 1 Aboneliğin kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions/1/actions/cancel' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/subscriptions/{subscription}/actions/unstage-resize #

Bir müşterinin hazırlanmış boyutlandırmasını iptal et

support:write api.read api.privileged

Ödenmemiş faturayı siler ve önceki aboneliği geri getirir; para hareket etmez; ödenmiş bir boyutlandırma reddedilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
subscription Zorunlu path integer min 1 Aboneliğin kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions/1/actions/unstage-resize' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/subscriptions/{subscription}/actions/lock #

Bir müşterinin aboneliğini kilitle

support:write api.read api.privileged

Panelin kilidi.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
subscription Zorunlu path integer min 1 Aboneliğin kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions/1/actions/lock' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/subscriptions/{subscription}/actions/unlock #

Bir müşterinin aboneliğinin kilidini aç

support:write api.read api.privileged

Panelin kilit açması.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
subscription Zorunlu path integer min 1 Aboneliğin kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions/1/actions/unlock' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/subscriptions/{subscription}/actions/lift-suspension #

Bir müşterinin askıya alınmasını kaldır

support:write api.read api.privileged

Hizmeti geri getirir; fatura hâlâ borçtur ve para hareket etmez.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
subscription Zorunlu path integer min 1 Aboneliğin kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions/1/actions/lift-suspension' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/subscriptions/{subscription}/actions/force-refund #

Bir müşterinin tek seferlik hizmetini zorla iade et

support:write api.read api.privileged

Yalnızca hizmetler, zorunlu iade süresi içinde, asla teslim edilmiş olan değil. Her ekip iadesi gibi müşterinin iade engelini dikkate almaz. Düzenlenmiş bir fatura varsa bunun yerine zorunlu bir fatura iptal isteği açılır (202).

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
subscription Zorunlu path integer min 1 Aboneliğin kimliği; müşteriye ait olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
reason Zorunlu string Neden — işlemle birlikte kaydedilir ve panelin gösterdiği yerde müşteriye gösterilir.

Yanıtlar

  • 200 Yapıldı.
  • 202 Kabul edildi; henüz bitmedi — iletiye bakın.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions/1/actions/force-refund' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "string"
}'
POST /support/customers/{user}/subscriptions/{subscription}/actions/request-invoice-cancellation #

Bir müşteri için fatura iptal isteği aç

support:write api.read api.privileged

İade edilmeden önce düzenlenmiş faturası iptal edilmesi gereken bir satın alma için; makine hemen durdurulur.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
subscription Zorunlu path integer min 1 Aboneliğin kimliği; müşteriye ait olmalıdır.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/subscriptions/1/actions/request-invoice-cancellation' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/invoice-refund-requests/{invoiceRefundRequest}/actions/confirm #

Bir şirketin onayını kaydet

support:write api.read api.privileged

Ekip, şirketin faturasının iptal edilebileceğini kabul ettiğini kaydeder.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
invoiceRefundRequest Zorunlu path integer min 1 Fatura iptal isteğinin kimliği; ödemesi müşterinin olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
reason Zorunlu string Neden — işlemle birlikte kaydedilir ve panelin gösterdiği yerde müşteriye gösterilir.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/invoice-refund-requests/1/actions/confirm' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "string"
}'
POST /support/customers/{user}/invoice-refund-requests/{invoiceRefundRequest}/actions/resolve #

Faturayı iptal et ve iadeyi yap

support:write api.read api.privileged

Önce iade ön denetiminin tamamı çalışır; tamamlanmayan bir iade 202 döner ve borçlu kalır.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
invoiceRefundRequest Zorunlu path integer min 1 Fatura iptal isteğinin kimliği; ödemesi müşterinin olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
reason Zorunlu string Neden — işlemle birlikte kaydedilir ve panelin gösterdiği yerde müşteriye gösterilir.

Yanıtlar

  • 200 Yapıldı.
  • 202 Kabul edildi; henüz bitmedi — iletiye bakın.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/invoice-refund-requests/1/actions/resolve' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "string"
}'
POST /support/customers/{user}/invoice-refund-requests/{invoiceRefundRequest}/actions/retry #

Borçlu bir iadeyi yeniden dene

support:write api.read api.privileged

Faturası iptal edilmiş ve iadesi hâlâ borçlu olan bir istek için.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
invoiceRefundRequest Zorunlu path integer min 1 Fatura iptal isteğinin kimliği; ödemesi müşterinin olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 202 Kabul edildi; henüz bitmedi — iletiye bakın.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.
  • 502 Bulutun temelindeki IaaS denetim düzlemi isteği yerine getiremedi. Üretim ortamında ayrıntı alanı sabit ve belirsiz bir metindir — sağlayıcının kendi hata metni sıklıkla iç sunucuları, pod'ları ve hipervizörleri adıyla anar. Bunu bir istemci hatası olarak değil, yeniden denenebilir bir durum olarak değerlendirin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/invoice-refund-requests/1/actions/retry' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/invoice-refund-requests/{invoiceRefundRequest}/actions/decline #

Bir fatura iptal isteğini reddet

support:write api.read api.privileged

Fatura geçerli kalır ve müşteriye nedeni söylenir.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
invoiceRefundRequest Zorunlu path integer min 1 Fatura iptal isteğinin kimliği; ödemesi müşterinin olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
reason Zorunlu string Neden — işlemle birlikte kaydedilir ve panelin gösterdiği yerde müşteriye gösterilir.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/invoice-refund-requests/1/actions/decline' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "string"
}'
POST /support/customers/{user}/payments/{payment}/chargebacks #

Bir müşterinin ödemesine ters ibraz kaydet

support:write api.read api.privileged

Bankanın geri aldığını kaydeder.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
payment Zorunlu path integer min 1 Ödemenin kimliği; müşterinin olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
amount Zorunlu number Bankanın geri aldığı tutar; ödemenin kendi para biriminde (TL ya da USD) ondalık sayı olarak, ör. 12.50.
bank_date Zorunlu string Bankanın tarihi (YYYY-AA-GG), gelecekte olamaz.
reason Zorunlu string Bankanın nedeni.
bank_reference İsteğe bağlı string Bankanın referansı.
note İsteğe bağlı string Bir ekip notu.
subscription_id İsteğe bağlı integer İlgili olduğu ödeme satırı, varsa.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/payments/1/chargebacks' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount": 1,
    "bank_date": "string",
    "reason": "string"
}'
POST /support/customers/{user}/billing/bill-notices #

Müşteriye fatura bildirimi gönderilip gönderilmeyeceğini ayarla

support:write api.read api.privileged

default, kurulumun ayarını izler.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
notify_pending_payments Zorunlu string on, off ya da default.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/billing/bill-notices' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "notify_pending_payments": "string"
}'
POST /support/customers/{user}/billing/refunds-block #

Bir müşterinin kendi iadelerini engelle ya da izin ver

support:write api.read api.privileged

Müşterinin kendi İadesini durdurur, asla ekip iadesini değil. Engellemek için neden gerekir ve müşteriye asla gösterilmez.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
blocked Zorunlu boolean Engelle (true) ya da izin ver (false).
reason İsteğe bağlı string Neden — engellemek için zorunludur.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/billing/refunds-block' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "blocked": true
}'
POST /support/customers/{user}/billing/shop-block #

Bir müşteri için satın almayı kapat ya da aç

support:write api.read api.privileged

Mevcut abonelikler çalışmaya devam eder. Engellemek için neden gerekir ve müşteriye asla gösterilmez.

Sahibi support ya da super-admin rolünü ve bu müşteri için billing: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
blocked Zorunlu boolean Engelle (true) ya da izin ver (false).
reason İsteğe bağlı string Neden — engellemek için zorunludur.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 409 Adreslenen kaynak, sağlayıcıdaki karşılığından bu isteğin çözemeyeceği bir biçimde ayrışmış. Yenileyin ve yeniden deneyin.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/billing/shop-block' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "blocked": true
}'
POST /support/customers/{user}/tickets/{ticket}/comments #

Bir müşterinin talebine yanıt ver

support:write api.read api.privileged

Destek panelinin yaptığı gibi SİZİN adınıza kaydedilir. Çözülmüş ya da kapatılmış bir talep yanıt almaz; bir iş ortaklığı talebi 404 döner. Yalnızca metin.

Sahibi support ya da super-admin rolünü ve bu müşteri için tickets: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
ticket Zorunlu path integer min 1 Talebin kimliği; müşterinin olmalı ve size manage düzeyinde açık olmalıdır.

İstek gövdesi Zorunlu

Alan Tür Açıklama
comment Zorunlu string Yanıt, en fazla 10000 karakter.

Yanıtlar

  • 201 Oluşturuldu.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/tickets/1/comments' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "comment": "string"
}'
POST /support/customers/{user}/tickets/{ticket}/actions/close #

Bir müşterinin talebini kapat

support:write api.read api.privileged

Panelden olduğu gibi müşteriye bildirilir.

Sahibi support ya da super-admin rolünü ve bu müşteri için tickets: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
ticket Zorunlu path integer min 1 Talebin kimliği; müşterinin olmalı ve size manage düzeyinde açık olmalıdır.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/tickets/1/actions/close' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'
POST /support/customers/{user}/profile #

Bir müşterinin profilini değiştir

support:write api.read api.privileged

Ekip profil formu; kimlik belgesi müşterinin diline göre değerlendirilir. Gönderilmeyen Telegram kimliği ya da etiketler değerlerini korur. Doğum tarihi, kimlik numarası ve telefon gönderilmelidir — biri eksikse yanıt 422 olur — ve null gönderilen alan, paneldeki formda olduğu gibi silinir.

Sahibi support ya da super-admin rolünü ve bu müşteri için account: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
name Zorunlu string Tam ad.
birthdate Zorunlu string Doğum tarihi; null gönderilirse silinir.
identity_number Zorunlu string T.C. numarası ya da pasaportla birlikte yer tutucu; null gönderilirse silinir.
passport_number İsteğe bağlı string Pasaport numarası.
phone Zorunlu string Uluslararası biçimde telefon; null gönderilirse silinir.
language Zorunlu string tr-TR, en-US ya da ar-SA.
telegram_user_id İsteğe bağlı string Telegram kimliği.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/profile' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "birthdate": "string",
    "identity_number": "string",
    "phone": "string",
    "language": "string"
}'
POST /support/customers/{user}/billing-information #

Bir müşterinin fatura bilgilerini değiştir

support:write api.read api.privileged

Açık faturalar varken para birimini değiştirecek bir ülke değişikliği country üzerinde reddedilir. Bir iş ortağı hesabı, corporate ne derse desin kurumsal kalır: onu şirket adı ve vergi numarası olmadan bırakacak bir gövde corporate üzerinde reddedilir. Bunun dışında gönderilmeyen bir şirket alanı boş yazılır — gönderilmeyen ya da false olan corporate bireysel faturadır.

Sahibi support ya da super-admin rolünü ve bu müşteri için account: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
corporate İsteğe bağlı boolean Kurumsal fatura. Gönderilmezse ya da false ise bireyseldir — iş ortağı hesabı hariç: o, bu alan ne derse desin kurumsal kalır.
company_name İsteğe bağlı string Şirket adı.
tax_number İsteğe bağlı string Vergi numarası.
tax_office İsteğe bağlı string Vergi dairesi.
address Zorunlu string Adres.
city Zorunlu string Şehir.
postal_code Zorunlu string Posta kodu.
country Zorunlu string Ülke.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/billing-information' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "address": "string",
    "city": "string",
    "postal_code": "string",
    "country": "string"
}'
POST /support/customers/{user}/members/{member} #

Bir üyenin yetkilerini değiştir

support:write api.read api.privileged

Hesap alanına göre anahtarlanmış matrisin tamamı. Asla kendi atamanızın üstünde değil; sahip asla düşürülmez.

Sahibi support ya da super-admin rolünü ve bu müşteri için account: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
member Zorunlu path integer min 1 Müşterinin hesabındaki bir kullanıcı.

İstek gövdesi Zorunlu

Alan Tür Açıklama
capabilities Zorunlu object Alan => none, view ya da manage.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/members/1' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "capabilities": []
}'
POST /support/customers/{user}/members/{member}/actions/remove #

Bir müşterinin hesabından üye çıkar

support:write api.read api.privileged

Sahip çıkarılamaz; kayıtları olan bir üye bunun yerine anonimleştirilmelidir.

Sahibi support ya da super-admin rolünü ve bu müşteri için account: manage düzeyinde bir atamayı tutan, support:write taşıyan bir anahtar gerektirir. Başka bir müşterinin kaydı 404 döner. İşlemi yapan olarak siz denetim kaydına yazılırsınız.

Parametreler

Ad Yeri Tür Açıklama
user Zorunlu path integer min 1 Hedef müşterinin kullanıcı id'si. Parametrenin adı bilerek `customer` değil `user`: yetki kapısı, atama kapısı ve erişim günlüğü ara katmanı onu bu adla okur ve sonuncusu, ad değişseydi *açık* kalır — erişim günlüğü satırını yazmayı bırakırdı.
member Zorunlu path integer min 1 Müşterinin hesabındaki bir kullanıcı.

Yanıtlar

  • 200 Yapıldı.
  • 401 Hiçbir anahtar sunulmadı ya da sunulan anahtar geçersiz veya süresi dolmuş.
  • 403 Kimlik doğrulandı, ancak işleme izin verilmiyor — anahtarda gereken izin yok, bir politika işlemi reddetti, e-posta adresi doğrulanmamış ya da destek yetkisi yetersiz.
  • 404 Böyle bir kaynak yok ya da başka bir müşteriye ait. İki durum bilinçli olarak birbirinden ayırt edilemez.
  • 422 İstek gövdesi ya da sorgu dizesi doğrulamadan geçemedi.
  • 429 Çok fazla istek gönderildi. `Retry-After` başlığında verilen süre kadar bekleyip yeniden deneyin.

Örnek istek

curl -X POST 'https://cloud.core.gen.tr/api/v1/support/customers/1/members/1/actions/remove' \
  -H 'Authorization: Bearer $C2_TOKEN' \
  -H 'Accept: application/json'

Hemen Başlayın

Dakikalar içinde hesabınızı oluşturun, bulutta kendi sisteminizi oluşturun ve kontrolü elinize alın. Artık her şey daha hızlı, güvenli ve zahmetsiz.

Toplantı Randevusu

İşinizi birlikte nasıl geliştirebileceğimizi düşünmek için 15 dakikalık bir toplantı yapalım.

Randevu Al