Free WHOIS privacy on every domain · Instant activation

Nowpeak Hosting API

Bu doküman bir yapay zeka ajanı tarafından doğrudan okunup uygulanabilir. Panelden yapılabilen hemen her işlem bu API ile de yapılabilir: site kurma, komut çalıştırma (composer/wp-cli/git), dosya yükleme, veritabanı açma, alan adı ve alt alan adı bağlama.

Temel bilgiler

Uç nokta : https://nowpeak.com/api/client/{modul}/{metot}
Yöntem   : POST
Gövde    : application/json
Kimlik   : HTTP Basic
           kullanıcı adı = client        (sabit, e-posta DEĞİL)
           şifre         = API anahtarı  (panel → Hesap Ayarları)

Sık yapılan hata: Basic auth kullanıcı adı olarak e-posta yazmayın. Kullanıcı adı her zaman client kelimesidir.

Yanıt biçimi

Başarılı : {"result": <veri>, "error": null}
Hata     : {"result": null, "error": {"message": "...", "code": 123}}

Örnek çağrı

curl -u "client:API_ANAHTARINIZ" \
  -H "Content-Type: application/json" \
  -X POST -d '{}' \
  https://nowpeak.com/api/client/panel/app_list

Hosting yönetimi

panel/app_list — hostinglerin listesi

Girdi : {}
Çıktı : [{id, label, domain, custom_domain, status, disk_gb, cpu_cores, ram_mb,
          url, meta{db_host, db_name, db_user, sftp_host, sftp_port, ...}, disk{used,total,pct}}]

panel/app_get — tek hosting

Girdi : {"id": 48}

panel/app_catalog — kurulabilir ürünler ve seçenekler

Girdi : {}
Çıktı : [{slug, name, disks[], cpus[], rams[], default_disk, selectable_res, ...}]

panel/app_create — yeni hosting kur

Girdi : {"type": "php-hosting",        // veya wordpress, joomla, n8n …
         "label": "Müşteri sitesi",
         "domain_kind": "sub",         // "sub" = ücretsiz adres, "custom" = kendi alan adı
         "sub": "musterim",            // domain_kind=sub ise
         "domain": "ornek.com",        // domain_kind=custom ise
         "disk_gb": 10, "cpu_cores": 2, "ram_mb": 2048,
         "period": "1M"}               // 1M | 1Y
Not   : Kurulum ödeme sonrası başlar; durum "awaiting_payment" → "active" olur.

★ Komut çalıştırma — kurulumun kalbi

panel/app_exec

Girdi : {"id": 48, "command": "wp core download", "timeout": 300}
Çıktı : {"exit_code": 0, "output": "...", "truncated": false}

Çalışma ortamı:
  kullanıcı  : www-data (root değil)
  dizin      : /var/www/html  (site kökü)
  kabuk      : sh -lc
  zaman aşımı: 1–900 sn (varsayılan 300)
  çıktı      : en fazla 256 KB

Hazır araçlar: php 8.4, composer, wp (WP-CLI), git, npm/node yok, curl, unzip, tar
Ortam değişkenleri: $DB_HOST $DB_NAME $DB_USER $DB_PASSWORD $SITE_DOMAIN

Örnek: sıfırdan WordPress kurulumu

1) {"id":48,"command":"wp core download --locale=tr_TR"}
2) {"id":48,"command":"wp config create --dbname=\"$DB_NAME\" --dbuser=\"$DB_USER\" --dbpass=\"$DB_PASSWORD\" --dbhost=\"$DB_HOST\" --skip-check"}
3) {"id":48,"command":"wp core install --url=https://SITE --title=Baslik --admin_user=admin --admin_password=... --admin_email=... --skip-email"}
4) {"id":48,"command":"wp plugin install woocommerce --activate"}

Örnek: Laravel

{"id":48,"command":"composer create-project laravel/laravel . --no-interaction","timeout":900}
{"id":48,"command":"php artisan migrate --force"}

Dosya işlemleri

Yollar site köküne (/var/www/html) görecelidir; kök dışına çıkılamaz.

panel/app_file_list

Girdi : {"id":48, "path":"."}
Çıktı : {path, items:[{type:"file|dir", size, modified, name}]}

panel/app_file_read

Girdi : {"id":48, "path":"wp-config.php"}
Çıktı : {path, size, encoding:"utf-8|base64", content}

panel/app_file_write

Girdi : {"id":48, "path":"index.php", "content":"<?php echo 1;",
         "encoding":"utf-8"}     // ikili dosya için "base64"
Sınır : ~6 MB. Daha büyüğü için SFTP kullanın (bilgiler app_list meta'sında).

panel/app_file_delete

Girdi : {"id":48, "path":"eski-klasor"}

panel/app_file_mkdir

Girdi : {"id":48, "path":"uploads/2026"}

panel/app_file_rename

Girdi : {"id":48, "from":"eski.php", "to":"yeni.php"}

panel/app_file_extract

Girdi : {"id":48, "path":"site.zip", "to":"."}   // zip / tar.gz / tgz

Veritabanı

Her hosting kendi MariaDB sunucusuna sahiptir; sınırsız veritabanı açılabilir. Veritabanı verisi hostingin disk kotasından sayılır.

panel/app_db_list

Girdi : {"id":48}
Çıktı : {ok:true, list:[{name, bytes}], host:"np-48-db", pma:"https://db.nowpeak.com/"}

panel/app_db_create

Girdi : {"id":48, "name":"magaza"}     // a-z0-9_ , harfle başlar
Çıktı : {name, user, password, host}   // şifre BİR KEZ gösterilir

panel/app_db_delete

Girdi : {"id":48, "name":"magaza"}

panel/app_db_sso — phpMyAdmin'e girişli bağlantı

Girdi : {"id":48, "db":"magaza"}       // db boş bırakılabilir (sunucu kökü)
Çıktı : {ok:true, url:"https://db.nowpeak.com/_np_sso.php?t=…&db=magaza"}
Not   : Bağlantı 8 saat geçerlidir ve tarayıcıda açıldığında giriş sormaz.

Alan adı ve alt alan adı

panel/app_set_domain — kendi alan adını bağla

Girdi : {"id":48, "domain":"ornek.com"}
Ön koşul: ornek.com A kaydı 45.8.196.176 adresine yönlenmeli.
İşlem asenkrondur; durum "updating" → "active". SSL otomatik alınır.

panel/app_subdomain_add

Girdi : {"id":48, "name":"blog"}   // blog.ornek.com olur
Ön koşul: önce kendi alan adı bağlanmış olmalı. Sınırsızdır.
Alt alan adı sertifikaya otomatik eklenir; A kaydı gerekir.

panel/app_subdomain_remove

Girdi : {"id":48, "name":"blog.ornek.com"}

Git

panel/app_git_pull

Girdi : {"id":48, "repo":"https://github.com/kullanici/depo.git", "branch":"main"}
Yalnız https:// genel depolar. İşlem asenkrondur.

Alan adları (kayıt/transfer)

panel/folders_list, panel/folder_create, panel/folder_assign   → alan adı klasörleri
panel/dns_records, panel/dns_save, panel/dns_delete            → DNS kayıtları
panel/set_autorenew                                            → otomatik yenileme

API anahtarı

panel/api_key        → {api_key, endpoint, auth, docs}   (yoksa üretir)
panel/api_key_reset  → {api_key}                         (eskisi geçersiz olur)

Asenkron işlemler

Alan adı bağlama, alt alan adı ve Git işlemleri kuyruğa alınır. Çağrı hemen döner; durumu panel/app_get ile izleyin:

status: "updating" → işlem sürüyor
status: "active"   → tamamlandı
error alanı dolu   → başarısız (mesaj içinde sebep)

Sınırlar

  • Komut zaman aşımı: 900 saniye
  • Komut çıktısı: 256 KB
  • Dosya yazma: ~6 MB (üstü için SFTP)
  • Alt alan adı: 100
  • CPU/RAM/disk: satın alınan pakete göre; konteyner seviyesinde gerçekten uygulanır