🔍
Fejlesztőknek
REST API Dokumentáció
HestiaCP REST API engedélyezése, PHP és cURL hívás példák, visszatérési kódok és a leggyakoribb API műveletek.
v1.9.x Frissítve: 2026-06-01

API engedélyezése

  1. Jelentkezz be adminként a HestiaCP panelbe.
  2. Navigálj: AdminConfigure ServerSecurity szekció.
  3. Keresd meg az API Access opciót és állítsd Enabled értékre.
  4. Opcionálisan megadhatod, hogy mely IP-kről engedélyezett az API hozzáférés (ajánlott: korlátozd a szerver és az alkalmazás IP-jére).
  5. Mentsd el a beállításokat.

API endpoint

text
https://SZERVER-IP:8083/api/

Az API HTTPS-en keresztül érhető el, a HestiaCP önaláírt vagy Let's Encrypt tanúsítványával. Programból való híváskor figyelj arra, hogy az önaláírt tanúsítvány esetén a -k (insecure) flag szükséges lehet a cURL-nél, de éles környezetben érvényes tanúsítványt használj.

PHP hívás példa

php
\x3c?php
function hestia_api(string $szerver, string $jelszó, string $parancs, array $params = []): string {
    $url = "https://{$szerver}:8083/api/";

    $data = array_merge([
        'user'     => 'admin',
        'password' => $jelszó,
        'returncode' => 'yes',
        'cmd'      => $parancs,
    ], $params);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // éles env-ban: true!
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

// Felhasználó létrehozása
$valasz = hestia_api('SZERVER-IP', 'ADMIN-JELSZO', 'v-add-user', [
    'arg1' => 'ugyfel1',
    'arg2' => 'Jelszo123!',
    'arg3' => 'ugyfel@domain.hu',
]);
echo "Visszatérési kód: " . $valasz; // 0 = siker

cURL példa (parancssorból)

bash
# Felhasználók listázása cURL-lel
curl -X POST https://SZERVER-IP:8083/api/ \
  -d "user=admin" \
  -d "password=ADMIN-JELSZO" \
  -d "returncode=yes" \
  -d "cmd=v-list-users" \
  -d "arg1=json" \
  -k

# Weboldal hozzáadása
curl -X POST https://SZERVER-IP:8083/api/ \
  -d "user=admin" \
  -d "password=ADMIN-JELSZO" \
  -d "returncode=yes" \
  -d "cmd=v-add-web-domain" \
  -d "arg1=felhasznalonev" \
  -d "arg2=domain.hu" \
  -k

API visszatérési kódok

KódJelentéseTeendő
0SikerA művelet sikeresen végrehajtódott
1Általános hibaEllenőrizd az argumentumokat és a log fájlokat
2Érvénytelen argumentumHiányzó vagy rosszul formázott paraméter
3Érvénytelen felhasználóA megadott felhasználó nem létezik
4Hibás jelszóAz API jelszó helytelen
6Hozzáférés megtagadvaAz API hozzáférés korlátozva van az IP-re
9Már létezikAz erőforrás (user, domain, stb.) már létezik

Leggyakoribb API hívások

ParancsFunkcióArgumentumok
v-add-web-domainWeboldal domain hozzáadásaarg1=user, arg2=domain
v-add-mail-accountEmail fiók létrehozásaarg1=user, arg2=domain, arg3=account, arg4=pass
v-add-databaseAdatbázis létrehozásaarg1=user, arg2=dbname, arg3=dbuser, arg4=dbpass
v-backup-userFelhasználó mentésearg1=user
v-list-usersFelhasználók listázásaarg1=json (opcionális)
v-delete-userFelhasználó törlésearg1=user
v-suspend-userFelhasználó felfüggesztésearg1=user
Biztonsági figyelmeztetés: Az API jelszót soha ne tárold hardcoded módon a forráskódban! Használj .env fájlt, környezeti változókat, vagy titkos kulcs kezelő megoldást (pl. Vault, AWS Secrets Manager). Győződj meg arról, hogy az API hozzáférés IP-alapon korlátozva van.