Benutzer anlegen
Um einen Benutzer anlegen zu können, reicht eine API Anfrage an den Endpunkt [POST] /clients aus. Über das Feld id_hosting_plan bestimmen Sie, welche Ressourcen und Berechtigungen dieser neue Benutzer besitzen darf.
Über den Endpunkt [GET] /hosting-plans kann ermittelt werden, welche ID, welcher Konto-Vorlage zugeordnet ist. Die ID der gewünschten Konto-Vorlage verwenden Sie dann als Wert für das id_hosting_plan Feld. Existieren noch keine Konto-Vorlagen, müssen diese zunächst erstellt werden.
Im Folgenden soll das Anlegen eines Benutzers webhosting-001 und das übertragen der Einstellungen einer Konto-Vorlage mit dem Namen HostingPlus demonstriert werden.
Konto-Vorlagen auslesen
Über den API-Endpunkt [GET] /hosting-plans können alle im KeyHelp angelegten Konto-vorlagen abgefragt werden.
Über den API-Endpunkt [GET] /hosting-plans/name/<NAME> können gezielt die Daten einer Konto-Vorlage mit dem gewünschten Namen abgefragt werden, wie in der folgenden Abfrage verdeutlicht.
Anfrage
PHP
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://<HOSTNAME>/api/v2/hosting-plans/name/HostingPlus');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'X-API-KEY: <API-KEY>',
'Content-Type: application/json',
]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
Bash
curl -X 'GET' \
'https://<HOSTNAME>/api/v2/hosting-plans/name/HostingPlus' \
-H 'accept: application/json' \
-H 'X-API-Key: <API-KEY>'
Antwort
HTTP Status-Code: 200
{
"id": 3,
"name": "HostingPlus",
"resources": { ... },
"permissions": { ... },
"php": { ... },
"php_fpm": { ... }
}
Benutzer anlegen
Zum Anlegen des Benutzers verwenden wir den Endpunkt [POST] /clients.
Aus der vorangegangen Abfrage der Konto-Vorlage übernehmen wir den Wert des Feldes id und geben ihn als Wert für das Feld id_hosting_plan an.
Als API-Antwort erhalten wir die ID des soeben angelegten Benutzers, sowie dessen zufällig generiertes Passwort.
Anfrage
PHP
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://<HOSTNAME>/api/v2/clients');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'X-API-KEY: <API-KEY>',
'Content-Type: application/json',
]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'username' => 'webhosting-001',
'id_hosting_plan' => 3,
]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
Bash
curl -X 'POST' \
'https://<HOSTNAME>/api/v2/clients' \
-H 'accept: application/json' \
-H 'X-API-Key: <API-KEY>' \
-d '{ "username": "webhosting-001", "id_hosting_plan": 3 }'
Antwort
HTTP Status-Code: 201
{
"id": 23,
"password": "ry[Pm-^Hv+5E"
}