NEXUS API v1

Dokumentasi lengkap — HTTPS API untuk manajemen akun tunneling
🔑 Autentikasi: semua endpoint /v1/* (kecuali /v1/status) wajib mengirim API key lewat header X-API-Key atau query ?key= atau field JSON "key". Key diterbitkan admin.

POST/GET/v1/create — Buat akun baru

ParamWajibContohKet
typessh | vmess | vless | trojan | shadowsocksprotokol
usernametunnel013-32 char, [a-zA-Z0-9_-]
exp30masa aktif (hari)
quota10kuota GB, 0 = unlimited
iplimit2batas device/IP login
# contoh request — buat akun vmess 30 hari, 10GB, limit 2 IP
curl -X POST https://DOMAIN/v1/create \
  -H "X-API-Key: KEYKAMU" -H "Content-Type: application/json" \
  -d '{"type":"vmess","username":"tunnel01","exp":30,"quota":10,"iplimit":2}'

# atau via GET:
curl "https://DOMAIN/v1/create?type=ssh&username=budi&exp=30&quota=0&iplimit=2&key=KEYKAMU"

Respon sukses (200):

{
  "status": "success",
  "message": "VMESS account successfully created",
  "data": {
    "username": "tunnel01",
    "expired": "2026-10-14",
    "uuid": "3f2b9c6e-...-a1b2c3d4",
    "quota": "10 GB",
    "ip_limit": "2",
    "domain": "domainkamu.com",
    "ns_domain": "domainkamu.com",
    "city": "Singapore",
    "pubkey": "... (public key slowdns)",
    "vmess_tls_link": "vmess://eyJ2IjoiMiI... (WS CDN TLS)",
    "vmess_nontls_link": "vmess://eyJ2IjoiMiI... (WS non-TLS)",
    "vmess_grpc_link": "vmess://eyJ2IjoiMiI... (gRPC)"
  }
}

Akun ssh mengembalikan password (+info port), shadowsocksss_link_ws & ss_link_grpc, vless/trojan → link TLS / non-TLS / gRPC masing-masing.

Respon error: {"status":"error","code":400,"message":"..."} — code 400 param salah, 401 key invalid, 404 user tidak ada, 409 username sudah dipakai.

POST/GET/v1/renew — Perpanjang akun

ParamWajibKet
typeprotokol (ssh/vmess/vless/trojan/shadowsocks)
usernameakun yang mau diperpanjang
exptambah hari (ditambahkan dari expired lama)
quota/iplimitreset kuota & limit IP (0 = hapus limit)
curl "https://DOMAIN/v1/renew?type=vmess&username=tunnel01&exp=30&key=KEYKAMU"

// respon
{ "status": "success",
  "message": "Akun vmess tunnel01 berhasil diperpanjang 30 hari",
  "data": { "username": "tunnel01", "old_expired": "2026-10-14", "new_expired": "2026-11-13" } }

POST/GET/v1/delete — Hapus akun

ParamWajibKet
typeprotokol
usernameakun yang dihapus
curl "https://DOMAIN/v1/delete?type=trojan&username=tunnel01&key=KEYKAMU"

// respon
{ "status": "success",
  "message": "Pengguna tunnel01 berhasil dihapus dari protokol trojan",
  "data": { "username": "tunnel01", "type": "trojan" } }

POST/GET/v1/check — List / cek akun

ParamWajibKet
typeprotokol spesifik atau all (default all)
curl "https://DOMAIN/v1/check?type=vmess&key=KEYKAMU"

// respon (dipotong)
{ "status": "success",
  "data": {
    "vmess": { "total": 2, "users": [
      { "username": "tunnel01", "expired": "2026-10-14",
        "uuid": "3f2b...", "quota_bytes": 10737418240, "ip_limit": 2 }
    ]},
    "ssh_online": ["budi"]
  } }

POST/GET/v1/trial — Buat akun trial

ParamWajibKet
typeprotokol
minutesdurasi trial menit (default 60)
quota/iplimitdefault unlimited & 1 IP
curl "https://DOMAIN/v1/trial?type=vless&minutes=60&key=KEYKAMU"

// respon: username otomatis "trialxxxxxx", expired = datetime menit
{ "status": "success", "message": "Trial VLESS 60 menit berhasil dibuat",
  "data": { "username": "triala1b2c3", "expired": "2026-09-14 23:45:00",
            "uuid": "...", "vless_tls_link": "vless://...", ... } }

GET/v1/status — Status server (publik, tanpa key)

curl "https://DOMAIN/v1/status"

// respon
{ "status": "success", "data": {
    "hostname": "vps-sgp", "os": "Ubuntu 22.04",
    "public_ip": "1.2.3.4", "domain": "domainkamu.com",
    "cpu": { "cores": 4, "usage_percent": 12.5, "load": {"1m":0.2,...} },
    "memory": { "total_gb": 8, "used_gb": 2.1, "usage_percent": 26.3 },
    "disk": { "total_gb": 240, "used_gb": 4.2, "usage_percent": 1.8 },
    "uptime": "2 days, 3:12:44",
    "xray_version": "Xray 1.8.23 ...",
    "services": { "ssh": "RUNNING", "vmess": "RUNNING",
                  "vless": "RUNNING", "trojan": "DOWN", ... },
    "time": "2026-09-14 23:12:00" } }

GET/ — Dashboard

Halaman UI status VPS: CPU, RAM, Disk, Core, uptime + status SSH/vmess/vless/trojan/shadowsocks/nginx/haproxy/websocket/slowdns (RUNNING/DOWN), auto-refresh 5 detik. Halaman ini yang sedang kamu baca adalah /vps/doc.