Allgemein Allgemeines
Die Schnittstelle setzt auf dem HTTP-Protokoll auf und kann somit mit jeder beliebigen HTTP-Library benutzt werden. Als einfacher Client für die Kommandozeile kann zum Beispiel curl verwendet werden.
Um die Schnittstelle nutzen zu können, ist ein Webservice-Benutzer erforderlich. Diesen können Sie im Robot über das Benutzermenü in der oberen rechten Ecke unter "Einstellungen" -> "Webservice- und App-Einstellungen" anlegen.
POST-Parameter werden im Format "application/x-www-form-urlencoded" übergeben.
Das Rückgabeformat ist JSON , durch Anhängen von ".yaml" wird das Format auf YAML gesetzt.
Wenn die Abfrage erfolgreich war, wird der HTTP-Status-Code 200 OK zurückgeliefert. Wenn eine neue Ressource erstellt wurde, wird der HTTP-Status-Code 201 CREATED zurückgegeben.
Im Fehlerfall wird der entsprechende HTTP-Error-Code gesetzt.
Die Authentifizierung erfolgt über HTTP-Basic-Auth.
Die Schnittstelle ist nur über HTTPS erreichbar.
Die Domainregistrierung ist nicht über den Webservice verfügbar, es existiert aber eine Mail-Schnittstelle für den Domain Registration Robot. Weitere Informationen finden Sie in Hetzner Docs .
URL
https://robot-ws.your-server.de
Fehler {
"error" :
{
"status" : 404 ,
"code" : "BOOT_NOT_AVAILABLE" ,
"message" : "No boot configuration available for this server"
}
}
error (Object)
status (Integer)
HTTP Status Code
code (String)
Spezifischer Error-Code
message (String)
Spezifische Fehlermeldung
error (Object)
status (Integer)
400
code (String)
INVALID_INPUT
message (String)
invalid input
missing (Array)
Array der fehlenden Eingabeparameter oder null
invalid (Array)
Array der fehlerhaften Eingabeparameter oder null
Authentifizierungsfehler
Bei falschem Benutzer/Passwort wird der Status 401 - Unauthorized zurückgeliefert.
Bitte beachten Sie, dass die IP von der Sie zugreifen nach 3 fehlgeschlagenen Loginversuchen für 10 Minuten gesperrt wird.
Limitierung
Wenn das Request-Limit erreicht wurde, wird der Status 403 - Forbidden gesetzt.
error (Object)
status (Integer)
403
code (String)
RATE_LIMIT_EXCEEDED
max_request (Integer)
Maximale Anzahl an Requests
interval (Integer)
Zeitintervall in Sekunden
message (String)
rate limit exceeded
Nichterreichbarkeit aufgrund von Wartungsarbeiten
Wenn die Schnittstelle aufgrund von Wartungsarbeiten nicht erreichbar ist wird der Status 503 - Service Unavailable gesetzt.
Server GET /server curl -u "user:password" https://robot-ws.your-server.de/server
[
{
"server" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:f48:111:4221::" ,
"server_number" : 321 ,
"server_name" : "server1" ,
"product" : "DS 3000" ,
"dc" : "NBG1-DC1" ,
"traffic" : "5 TB" ,
"status" : "ready" ,
"cancelled" : false ,
"paid_until" : "2010-09-02" ,
"ip" :[
"123.123.123.123"
],
"subnet" :[
{
"ip" : "2a01:4f8:111:4221::" ,
"mask" : "64"
}
]
}
},
{
"server" :{
"server_ip" : "123.123.123.124" ,
"server_ipv6_net" : "2a01:f48:111:4221::" ,
"server_number" : 421 ,
"server_name" : "server2" ,
"product" : "X5" ,
"dc" : "FSN1-DC10" ,
"traffic" : "2 TB" ,
"status" : "ready" ,
"cancelled" : false ,
"paid_until" : "2010-06-11" ,
"ip" :[
"123.123.123.124"
],
"subnet" : null
}
}
]
Beschreibung
Abfragen aller Server
Limitierung
200 Requests pro 1 Stunde
Ausgabe
(Array)
server (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
server_name (String)
Name des Servers
product (String)
Produktname
dc (String)
Rechenzentrum
traffic (String)
Freitraffic, 'unlimited' im Fall einer Flatrate
status (String)
Bestellstatus ("ready" oder "in process")
cancelled (Boolean)
Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String)
Bezahlt-bis Datum
ip (Array)
Array aller zugehörigen Einzel-IP-Adressen
subnet (Array)
Array aller zugehörigen Subnetze
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Es konnten keine Server gefunden werden
GET /server/{server-number} curl -u "user:password" https://robot-ws.your-server.de/server/321
{
"server" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:f48:111:4221::" ,
"server_number" : 321 ,
"server_name" : "server1" ,
"product" : "EQ 8" ,
"dc" : "NBG1-DC1" ,
"traffic" : "5 TB" ,
"status" : "ready" ,
"cancelled" : false ,
"paid_until" : "2010-08-04" ,
"ip" :[
"123.123.123.123"
],
"subnet" :[
{
"ip" : "2a01:4f8:111:4221::" ,
"mask" : "64"
}
],
"reset" : true ,
"rescue" : true ,
"vnc" : true ,
"windows" : true ,
"plesk" : true ,
"cpanel" : true ,
"wol" : true ,
"hot_swap" : true ,
"linked_storagebox" : 12345
}
}
Beschreibung
Abfragen der Server-Daten für einen bestimmten Server
Limitierung
200 Requests pro 1 Stunde
Ausgabe
server (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
server_name (String)
Name des Servers
product (String)
Produktname
dc (String)
Rechenzentrum
traffic (String)
Freitraffic, 'unlimited' im Fall einer Flatrate
status (String)
Bestellstatus ("ready" oder "in process")
cancelled (Boolean)
Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String)
Bezahlt-bis Datum
ip (Array)
Array aller zugehörigen Einzel-IP-Adressen
subnet (Array)
Array aller zugehörigen Subnetze
reset (Boolean)
Zeigt an, ob ein Reset möglich ist
rescue (Boolean)
Zeigt an, ob das Rescuesystem verfügbar ist
vnc (Boolean)
Zeigt an, ob die VNC-Installation verfügbar ist
windows (Boolean)
Zeigt an, ob die Windows-Installation verfügbar ist
plesk (Boolean)
Zeigt an, ob die Plesk-Installation verfügbar ist
cpanel (Boolean)
Zeigt an, ob die cPanel-Installation verfügbar ist
wol (Boolean)
Zeigt an, ob Wake on Lan verfügbar ist
hot_swap (Boolean)
Zeigt an, ob Hot-Swap verfügbar ist
linked_storagebox (Integer)
ID der zugehörigen Storage Box
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
Deprecations
@deprecated GET /server/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /server/{server-number} curl -u "user:password" https://robot-ws.your-server.de/server/321 -d server_name = server1
{
"server" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"server_name" : "server1" ,
"product" : "EQ 8" ,
"dc" : "NBG1-DC1" ,
"traffic" : "5 TB" ,
"status" : "ready" ,
"cancelled" : false ,
"paid_until" : "2010-08-04" ,
"ip" :[
"123.123.123.123"
],
"subnet" :[
{
"ip" : "2a01:4f8:111:4221::" ,
"mask" : "64"
}
],
"reset" : true ,
"rescue" : true ,
"vnc" : true ,
"windows" : true ,
"plesk" : true ,
"cpanel" : true ,
"wol" : true ,
"hot_swap" : true
}
}
Beschreibung
Anpassen des Servernamens für einen bestimmten Server
Limitierung
200 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
server_name
Name des Servers
Output
server (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
server_name (String)
Name des Servers
product (String)
Produktname
dc (String)
Rechenzentrum
traffic (String)
Freitraffic, 'unlimited' im Fall einer Flatrate
status (String)
Bestellstatus ("ready" oder "in process")
cancelled (Boolean)
Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String)
Bezahlt-bis Datum
ip (Array)
Array aller zugehörigen Einzel-IP-Adressen
subnet (Array)
Array aller zugehörigen Subnetze
reset (Boolean)
Zeigt an, ob ein Reset möglich ist
rescue (Boolean)
Zeigt an, ob das Rescuesystem verfügbar ist
vnc (Boolean)
Zeigt an, ob die VNC-Installation verfügbar ist
windows (Boolean)
Zeigt an, ob die Windows-Installation verfügbar ist
plesk (Boolean)
Zeigt an, ob die Plesk-Installation verfügbar ist
cpanel (Boolean)
Zeigt an, ob die cPanel-Installation verfügbar ist
wol (Boolean)
Zeigt an, ob Wake on Lan verfügbar ist
hot_swap (Boolean)
Zeigt an, ob Hot-Swap verfügbar ist
linked_storagebox (Integer)
ID der zugehörigen Storage Box
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
Deprecations
@deprecated POST /server/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /server/{server-number}/cancellation curl -u "user:password" https://robot-ws.your-server.de/server/321/cancellation
{
"cancellation" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"server_name" : "server1" ,
"earliest_cancellation_date" : "2014-04-15" ,
"cancelled" : false ,
"reservation_possible" : false ,
"reserved" : false ,
"cancellation_date" : null ,
"cancellation_reason" :[
"Upgrade to a new server" ,
"Dissatisfied with the hardware" ,
"Dissatisfied with the support" ,
"Dissatisfied with the network" ,
"Dissatisfied with the IP \/ subnet allocation" ,
"Dissatisfied with the Robot webinterface" ,
"Dissatisfied with the official Terms and Conditions" ,
"Server no longer necessary due to project ending" ,
"Server too expensive"
]
}
}
Beschreibung
Abfragen des Kündigungstatus eines Servers
Limitierung
200 Requests pro 1 Stunde
Ausgabe
cancellation (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
server_name (String)
Name des Servers
earliest_cancellation_date (String)
Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean)
Zeigt an, ob der Server zur Kündigung vorgemerkt ist
reservation_possible (Boolean)
Zeigt an, ob eine Reservierung des Stellplatzes im Zuge der Kündigung möglich ist
reservation (Boolean)
Zeigt an, ob eine Reservierung des Stellplatzes im Zuge der Kündigung erfolgt
cancellation_date (String)
Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null
cancellation_reason (Array|String)
Array von möglichen Kündigunsgründen oder der gesetzte Kündigungsgrund
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
Deprecations
@deprecated GET /server/{server-ip}/cancellation
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /server/{server-number}/cancellation curl -u "user:password" https://robot-ws.your-server.de/server/321/cancellation -d 'cancellation_date=2014-04-15'
{
"cancellation" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"server_name" : "server1" ,
"earliest_cancellation_date" : "2014-04-15" ,
"cancelled" : true ,
"reserved" : false ,
"reservation_possible" : false ,
"cancellation_date" : "2014-04-15" ,
"cancellation_reason" : null
}
}
Beschreibung
Kündigung eines Servers
Limitierung
200 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
cancellation_date
Kündigungsdatum oder "now" um zu sofort zu kündigen
cancellation_reason
Kündigungsgrund, optional
reserve_location
Setzt den Status der Standort-Reservierung ('true' oder 'false')
Bitte beachten Sie folgendes in Bezug zum reserve_location Parameter:
Der Parameter ist mandatorisch, falls der Server-Standort reserviert werden kann. In diesem Fall ist der Wert für das Feld reservation_possible in der Abfrage GET /server/{ip}/cancellation 'true'.
Sonst ist der Parameter optional. Falls der Parameter reserve_location dennoch gesetzt wird, ist als Wert für nur 'false' erlaubt.
Ausgabe
cancellation (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
server_name (String)
Name des Servers
earliest_cancellation_date (String)
Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean)
Zeigt an, ob der Server zur Kündigung vorgemerkt ist
reserved (Boolean)
Zeigt an, ob eine Reservierung des Stellplatzes im Zuge der Kündigung erfolgt
reservation_possible (Boolean)
Zeigt an, ob eine Reservierung des Stellplatzes im Zuge der Kündigung möglich ist
cancellation_date (String)
Kündigungsdatum im Format yyyy-MM-dd
cancellation_reason (String)
Kündigungsgrund oder null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
409
CONFLICT
Der Server ist bereits gekündigt
409
CONFLICT
Wegen eines aktiven Server-Transfers ist die Kündigung nicht möglich
409
SERVER_CANCELLATION_RESERVE_LOCATION_FALSE_ONLY
Es ist nicht möglich, den Standort zu reservieren. Parameter reserve_location entfernen oder Wert auf 'false' setzen
500
INTERNAL_ERROR
Die Kündigung ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated POST /server/{server-ip}/cancellation
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
DELETE /server/{server-number}/cancellation curl -u "user:password" https://robot-ws.your-server.de/server/321/cancellation -X DELETE
Beschreibung
Aufheben einer Kündigung
Limitierung
200 Requests pro 1 Stunde
Ausgabe
Keine Ausgabe
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
409
CONFLICT
Die Kündigung kann nicht aufgehoben werden
500
INTERNAL_ERROR
Die Aufhebung der Kündigung ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated DELETE /server/{server-ip}/cancellation
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
IP GET /ip curl -u "user:password" https://robot-ws.your-server.de/ip
[
{
"ip" :{
"ip" : "123.123.123.123" ,
"server_ip" : "123.123.123.123" ,
"server_number" : 321 ,
"locked" : false ,
"separate_mac" : null ,
"traffic_warnings" : false ,
"traffic_hourly" : 50 ,
"traffic_daily" : 50 ,
"traffic_monthly" : 8
}
},
{
"ip" :{
"ip" : "124.124.124.124" ,
"server_ip" : "123.123.123.123" ,
"server_number" : 321 ,
"locked" : false ,
"separate_mac" : null ,
"traffic_warnings" : false ,
"traffic_hourly" : 200 ,
"traffic_daily" : 2000 ,
"traffic_monthly" : 20
}
}
]
Beschreibung
Abfragen aller Einzel-IP-Adressen
Limitierung
5000 Requests pro 1 Stunde
Eingabe (Optional)
Name
Beschreibung
server_ip
Server Haupt-IP. Bei Angabe werden nur IP-Adressen angezeigt, die diesem Server zugeordnet sind
Ausgabe
(Array)
ip (Object)
ip (String)
IP-Adresse
server_ip (String)
Haupt-IP des zugehörigen Servers
server_number (Integer)
ID des Servers
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
separate_mac (String)
Separate MAC-Adresse, wenn nicht gesetzt null
traffic_warnings (Boolean)
Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer)
Stündliches Trafficlimit in MB
traffic_daily (Integer)
Tägliches Trafficlimit in MB
traffic_monthly (Integer)
Monatliches Trafficlimit in GB
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Keine IP-Adressen gefunden
GET /ip/{ip} curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123
{
"ip" :{
"ip" : "123.123.123.123" ,
"gateway" : "123.123.123.97" ,
"mask" : 27 ,
"broadcast" : "123.123.123.127" ,
"server_ip" : "123.123.123.123" ,
"server_number" : 321 ,
"locked" : false ,
"separate_mac" : null ,
"traffic_warnings" : false ,
"traffic_hourly" : 50 ,
"traffic_daily" : 50 ,
"traffic_monthly" : 8
}
}
Beschreibung
Abfragen der Daten für eine bestimme IP-Adresse
Limitierung
5000 Requests pro 1 Stunde
Ausgabe
ip (Object)
ip (String)
IP-Adresse
gateway (String)
Gateway
mask (Integer)
Netzwerkmaske in CIDR Notation
broadcast (String)
Broadcast Adresse
server_ip (String)
Haupt-IP des zugehörigen Servers
server_number (Integer)
ID des Servers
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
separate_mac (String)
Separate MAC-Adresse, wenn nicht gesetzt null
traffic_warnings (Boolean)
Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer)
Stündliches Trafficlimit in MB
traffic_daily (Integer)
Tägliches Trafficlimit in MB
traffic_monthly (Integer)
Monatliches Trafficlimit in GB
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Keine IP-Adressen gefunden
POST /ip/{ip} curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123 -d traffic_warnings = true
{
"ip" :{
"ip" : "123.123.123.123" ,
"gateway" : "123.123.123.97" ,
"mask" : 27 ,
"broadcast" : "123.123.123.127" ,
"server_ip" : "123.123.123.123" ,
"server_number" : 321 ,
"locked" : false ,
"separate_mac" : null ,
"traffic_warnings" : true ,
"traffic_hourly" : 50 ,
"traffic_daily" : 50 ,
"traffic_monthly" : 8
}
}
Beschreibung
Anpassen der Traffic-Warnungen einer IP-Adresse
Limitierung
5000 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
traffic_warnings
Traffic-Warnungen aktivieren/deaktivieren (true,false)
traffic_hourly
Stündliches Trafficlimit in MB
traffic_daily
Tägliches Trafficlimit in MB
traffic_monthly
Monatliches Trafficlimit in GB
Ausgabe
ip (Object)
ip (String)
IP-Adresse
gateway (String)
Gateway
mask (Integer)
Netzwerkmaske in CIDR Notation
broadcast (String)
Broadcast Adresse
server_ip (String)
Haupt-IP des zugehörigen Servers
server_number (Integer)
ID des Servers
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
separate_mac (String)
Separate MAC-Adresse, wenn nicht gesetzt null
traffic_warnings (Boolean)
Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer)
Stündliches Trafficlimit in MB
traffic_daily (Integer)
Tägliches Trafficlimit in MB
traffic_monthly (Integer)
Monatliches Trafficlimit in GB
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
IP_NOT_FOUND
Keine IP-Adressen gefunden
500
TRAFFIC_WARNING_UPDATE_FAILED
Die Traffic-Einstellungen konnten wegen eines internen Fehlers nicht vorgenommen werden
GET /ip/{ip}/mac curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/mac
{
"mac" :{
"ip" : "123.123.123.123" ,
"mac" : "00:21:85:62:3e:9c"
}
}
Beschreibung
Abfragen, ob das Konfigurieren einer separaten MAC-Adresse möglich ist.Abfragen einer gesetzen separaten MAC-Adresse.
Limitierung
5000 Requests pro 1 Stunde
Ausgabe
mac (Object)
ip (String)
IP-Adresse
mac (String)
MAC-Adresse
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Die IP-Adresse konnte nicht gefunden werden
404
MAC_NOT_FOUND
Es ist noch keine separate MAC-Adresse gesetzt
404
MAC_NOT_AVAILABLE
Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
PUT /ip/{ip}/mac curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/mac -X PUT
{
"mac" :{
"ip" : "123.123.123.123" ,
"mac" : "00:21:85:62:3e:9c"
}
}
Beschreibung
Generieren einer separaten MAC-Adresse
Limitierung
10 Requests pro 1 Stunde
Eingabe
Keine Eingabe
Ausgabe
mac (Object)
ip (String)
IP-Adresse
mac (String)
MAC-Adresse
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Die IP-Adresse konnte nicht gefunden werden
404
MAC_NOT_AVAILABLE
Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
409
MAC_ALREADY_SET
Es ist bereits eine separate MAC-Adresse gesetzt
500
MAC_FAILED
Die separate MAC-Adresse konnte wegen eines internen Fehlers nicht gesetzt werden
DELETE /ip/{ip}/mac curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/mac -X DELETE
{
"mac" :{
"ip" : "123.123.123.123" ,
"mac" : null
}
}
Beschreibung
Entfernen einer separaten MAC-Adresse
Limitierung
10 Requests pro 1 Stunde
Eingabe
Keine Eingabe
Ausgabe
mac (Object)
ip (String)
IP-Adresse
mac (String)
null
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Die IP-Adresse konnte nicht gefunden werden
404
MAC_NOT_AVAILABLE
Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
409
MAC_NOT_FOUND
Es ist noch keine separate MAC-Adresse gesetzt
500
MAC_FAILED
Die separate MAC-Adresse konnte wegen eines internen Fehlers nicht gelöscht werden
GET /ip/{ip}/cancellation curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/cancellation
{
"cancellation" :{
"ip" : "123.123.123.123" ,
"server_number" : 321 ,
"earliest_cancellation_date" : "2022-02-11" ,
"cancelled" : false ,
"cancellation-date" : null
}
}
Beschreibung
Abfragen des Kündigungstatus einer IP
Limitierung
200 Requests pro 1 Stunde
Ausgabe
cancellation (Object)
ip (String)
IP-Adresse
server_number (String)
ID des Servers
earliest_cancellation_date (String)
Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean)
Zeigt an, ob die IP zur Kündigung vorgemerkt ist.
cancellation_date (String)
Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Die IP-Adresse konnte nicht gefunden werden
409
CONFLICT
Eine Kündigung dieser IP ist nicht möglich.
POST /ip/{ip}/cancellation curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/cancellation \
--data-urlencode = "cancellation_date=2022-02-11"
{
"cancellation" :{
"ip" : "123.123.123.123" ,
"server_number" : 321 ,
"earliest_cancellation_date" : "2022-02-11" ,
"cancelled" : true ,
"cancellation-date" : "2022-02-11"
}
}
Beschreibung
Eine IP-Adresse kündigen
Limitierung
200 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
cancellation_date
Kündigungsdatum oder "now" um zu sofort zu kündigen
Ausgabe
cancellation (Object)
ip (String)
IP-Adresse
server_number (String)
ID des Servers
earliest_cancellation_date (String)
Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean)
Zeigt an, ob die IP zur Kündigung vorgemerkt ist.
cancellation_date (String)
Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
IP_NOT_FOUND
Die IP-Adresse konnte nicht gefunden werden
409
CONFLICT
Die IP-Adresse kann aus dem in der Fehlermeldung genannten Grund nicht gekündigt werden.
DELETE /ip/{ip}/cancellation curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/cancellation -X DELETE
{
"cancellation" :{
"ip" : "123.123.123.123" ,
"server_number" : 321 ,
"earliest_cancellation_date" : "2022-02-11" ,
"cancelled" : false ,
"cancellation-date" : null
}
}
Beschreibung
Eine IP-Kündigung widerrufen
Limitierung
200 Requests pro 1 Stunde
Eingabe
Keine Eingabe
Ausgabe
cancellation (Object)
ip (String)
IP-Adresse
server_number (String)
ID des Servers
earliest_cancellation_date (String)
Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean)
Zeigt an, ob die IP zur Kündigung vorgemerkt ist.
cancellation_date (String)
Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Die IP-Adresse konnte nicht gefunden werden
409
CONFLICT
Die Kündigung der IP-Adresse kann aus dem in der Fehlermeldung genannten Grund nicht widerrufen werden.
Subnet GET /subnet curl -u "user:password" https://robot-ws.your-server.de/subnet
[
{
"subnet" :{
"ip" : "123.123.123.123" ,
"mask" : 29 ,
"gateway" : "123.123.123.123" ,
"server_ip" : "88.198.123.123" ,
"server_number" : 321 ,
"failover" : false ,
"locked" : false ,
"traffic_warnings" : false ,
"traffic_hourly" : 100 ,
"traffic_daily" : 500 ,
"traffic_monthly" : 2
}
},
{
"subnet" :{
"ip" : "178.63.123.123" ,
"mask" : 25 ,
"gateway" : "178.63.123.124" ,
"server_ip" : null ,
"server_number" : 421 ,
"failover" : false ,
"locked" : false ,
"traffic_warnings" : false ,
"traffic_hourly" : 100 ,
"traffic_daily" : 500 ,
"traffic_monthly" : 2
}
}
]
Beschreibung
Abfragen aller Subnetze
Limitierung
5000 Requests pro 1 Stunde
Eingabe (Optional)
Name
Beschreibung
server_ip
Server Haupt-IP-Adresse. Bei Angabe werden nur Subnetze angezeigt, die diesem Server zugeordnet sind
Ausgabe
(Array)
subnet (Object)
ip (String)
IP-Adresse
mask (Integer)
Netzwerkmaske in CIDR Notation
gateway (String)
Gateway des Subnetzes
server_ip (String)
Haupt-IP des zugehörigen Servers
server_number (Integer)
ID des Servers
failover (Boolean)
true, wenn das Netz ein Failover-Netz ist
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean)
Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer)
Stündliches Trafficlimit in MB
traffic_daily (Integer)
Tägliches Trafficlimit in MB
traffic_monthly (Integer)
Monatliches Trafficlimit in GB
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Es wurden keine Subnetze gefunden
GET /subnet/{net-ip} curl -u "user:password" https://robot-ws.your-server.de/subnet/123.123.123.123
{
"subnet" :{
"ip" : "123.123.123.123" ,
"mask" : 29 ,
"gateway" : "123.123.123.123" ,
"server_ip" : "88.198.123.123" ,
"server_number" : 321 ,
"failover" : false ,
"locked" : false ,
"traffic_warnings" : false ,
"traffic_hourly" : 100 ,
"traffic_daily" : 500 ,
"traffic_monthly" : 2
}
}
Beschreibung
Abfragen der Daten für ein bestimmtes Subnetz
Limitierung
5000 Requests pro 1 Stunde
Ausgabe
subnet (Object)
ip (String)
IP-Adresse
mask (Integer)
Netzwerkmaske in CIDR Notation
gateway (String)
Gateway des Subnetzes
server_ip (String)
Haupt-IP des zugehörigen Servers
server_number (Integer)
ID des Servers
failover (Boolean)
true, wenn das Netz ein Failover-Netz ist
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean)
Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer)
Stündliches Trafficlimit in MB
traffic_daily (Integer)
Tägliches Trafficlimit in MB
traffic_monthly (Integer)
Monatliches Trafficlimit in GB
Fehler
Status
Code
Beschreibung
404
SUBNET_NOT_FOUND
Das Subnetz konnte nicht gefunden werden
POST /subnet/{net-ip} curl -u "user:password" https://robot-ws.your-server.de/subnet/123.123.123.123 -d traffic_warnings = true
{
"subnet" :{
"ip" : "123.123.123.123" ,
"mask" : 29 ,
"gateway" : "123.123.123.123" ,
"server_ip" : "88.198.123.123" ,
"server_number" : 321 ,
"failover" : false ,
"locked" : false ,
"traffic_warnings" : true ,
"traffic_hourly" : 100 ,
"traffic_daily" : 500 ,
"traffic_monthly" : 2
}
}
Beschreibung
Anpassen der Traffic-Warnungen eines Subnetzes
Limitierung
5000 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
traffic_warnings
Traffic-Warnungen aktivieren/deaktivieren (true,false)
traffic_hourly
Stündliches Trafficlimit in MB
traffic_daily
Tägliches Trafficlimit in MB
traffic_monthly
Monatliches Trafficlimit in GB
Ausgabe
subnet (Object)
ip (String)
IP-Adresse
mask (Integer)
Netzwerkmaske in CIDR Notation
gateway (String)
Gateway des Subnetzes
server_ip (String)
Haupt-IP des zugehörigen Servers
server_number (Integer)
ID des Servers
failover (Boolean)
true, wenn das Netz ein Failover-Netz ist
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean)
Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer)
Stündliches Trafficlimit in MB
traffic_daily (Integer)
Tägliches Trafficlimit in MB
traffic_monthly (Integer)
Monatliches Trafficlimit in GB
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SUBNET_NOT_FOUND
Das Subnetz konnte nicht gefunden werden
500
TRAFFIC_WARNING_UPDATE_FAILED
Die Traffic-Einstellungen konnten wegen eines internen Fehlers nicht vorgenommen werden
GET /subnet/{net-ip}/mac curl -u "user:password" https://robot-ws.your-server.de/subnet/2a01:4f8:111:4221::/mac
{
"mac" :{
"ip" : "2a01:4f8:111:4221::" ,
"mask" : "64" ,
"mac" : "00:21:85:62:3e:9c" ,
"possible_mac" :{
"123.123.123.123" : "00:21:85:62:3e:9c" ,
"123.123.123.124" : "00:21:85:62:3e:9d"
}
}
}
Beschreibung
Abfragen, ob das Konfigurieren einer separaten MAC-Adresse möglich ist.
Limitierung
5000 Requests pro 1 Stunde
Ausgabe
mac (Object)
ip (String)
IP-Adresse
mask (String)
Netzwerkmaske in CIDR Notation
mac (String)
MAC-Adresse
possible_mac (Object)
Mögliche MAC-Adressen
Fehler
Status
Code
Beschreibung
404
SUBNET_NOT_FOUND
Das Subnetz konnte nicht gefunden werden
404
MAC_NOT_AVAILABLE
Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
PUT /subnet/{net-ip}/mac curl -u "user:password" https://robot-ws.your-server.de/subnet/2a01:4f8:111:4221::/mac -X PUT -d 'mac=00:21:85:62:3e:9d'
{
"mac" :{
"ip" : "2a01:4f8:111:4221::" ,
"mask" : "64" ,
"mac" : "00:21:85:62:3e:9d" ,
"possible_mac" :{
"123.123.123.123" : "00:21:85:62:3e:9c" ,
"123.123.123.124" : "00:21:85:62:3e:9d"
}
}
}
Beschreibung
Generieren einer separaten MAC-Adresse
Limitierung
10 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
mac
Ziel MAC-Adresse
Ausgabe
mac (Object)
ip (String)
IP-Adresse
mask (String)
Netzwerkmaske in CIDR Notation
mac (String)
MAC-Adresse
possible_mac (Object)
Mögliche MAC-Adressen
Fehler
Status
Code
Beschreibung
404
SUBNET_NOT_FOUND
Das Subnetz konnte nicht gefunden werden
404
MAC_NOT_AVAILABLE
Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
500
MAC_FAILED
Die separate MAC-Adresse konnte wegen eines internen Fehlers nicht gesetzt werden
DELETE /subnet/{net-ip}/mac curl -u "user:password" https://robot-ws.your-server.de/subnet/2a01:4f8:111:4221::/mac -X DELETE
{
"mac" :{
"ip" : "2a01:4f8:111:4221::" ,
"mask" : "64" ,
"mac" : "00:21:85:62:3e:9c" ,
"possible_mac" :{
"123.123.123.123" : "00:21:85:62:3e:9c" ,
"123.123.123.124" : "00:21:85:62:3e:9d"
}
}
}
Beschreibung
Entfernen einer separaten MAC-Adresse. Dabei wird die Standard-MAC-Adresse (die der Haupt-IP-Adresse) gesetzt.### Request limit
10 Requests pro 1 Stunde
Eingabe
Keine Eingabe
Ausgabe
mac (Object)
ip (String)
IP-Adresse
mask (String)
Netzwerkmaske in CIDR Notation
mac (String)
MAC-Adresse
possible_mac (Object)
Mögliche MAC-Adressen
Fehler
Status
Code
Beschreibung
404
SUBNET_NOT_FOUND
Das Subnetz konnte nicht gefunden werden
404
MAC_NOT_AVAILABLE
Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
500
MAC_FAILED
Die separate MAC-Adresse konnte wegen eines internen Fehlers nicht gelöscht werden
GET /subnet/{net-ip}/cancellation curl -u "user:password" https://robot-ws.your-server.de/subnet/123.123.123.123/cancellation
{
"cancellation" :{
"ip" : "123.123.123.123" ,
"mask" : "29" ,
"server_number" : 321 ,
"earliest_cancellation_date" : "2022-02-11" ,
"cancelled" : false ,
"cancellation-date" : null
}
}
Beschreibung
Abfragen des Kündigungstatus eines Subnetzes
Limitierung
200 Requests pro 1 Stunde
Ausgabe
cancellation (Object)
ip (String)
IP-Adresse
mask (String)
Netzwerkmaske in CIDR Notation
server_number (String)
ID des Servers
earliest_cancellation_date (String)
Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean)
Zeigt an, ob das Subnetz zur Kündigung vorgemerkt ist.
cancellation_date (String)
Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Das Subnetz konnte nicht gefunden werden
409
CONFLICT
Dieses Subnetz kann nicht gekündigt werden.
POST /subnet/{net-ip}/cancellation curl -u "user:password" https://robot-ws.your-server.de/subnet/123.123.123.123/cancellation \
--data-urlencode = "cancellation_date=2022-02-11"
{
"cancellation" :{
"ip" : "123.123.123.123" ,
"mask" : "29" ,
"server_number" : 321 ,
"earliest_cancellation_date" : "2022-02-11" ,
"cancelled" : true ,
"cancellation-date" : "2022-02-11"
}
}
Beschreibung
Ein Subnetz kündigen
Limitierung
200 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
cancellation_date
Kündigungsdatum oder "now" um zu sofort zu kündigen
Ausgabe
cancellation (Object)
ip (String)
IP-Adresse
mask (String)
Netzwerkmaske in CIDR Notation
server_number (String)
ID des Servers
earliest_cancellation_date (String)
Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean)
Zeigt an, ob das Subnetz zur Kündigung vorgemerkt ist.
cancellation_date (String)
Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
IP_NOT_FOUND
Das Subnetz konnte nicht gefunden werden
409
CONFLICT
Das Subnetz kann aus dem in der Fehlermeldung genannten Grund nicht gekündigt werden.
DELETE /subnet/{ip}/cancellation curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/cancellation -X DELETE
{
"cancellation" :{
"ip" : "123.123.123.123" ,
"mask" : "29" ,
"server_number" : 321 ,
"earliest_cancellation_date" : "2022-02-11" ,
"cancelled" : false ,
"cancellation-date" : null
}
}
Beschreibung
Die Kündigung eines Subnetzes widerrufen
Limitierung
200 Requests pro 1 Stunde
Eingabe
Keine Eingabe
Ausgabe
cancellation (Object)
ip (String)
IP-Adresse
mask (String)
Netzwerkmaske in CIDR Notation
server_number (String)
ID des Servers
earliest_cancellation_date (String)
Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean)
Zeigt an, ob das Subnetz zur Kündigung vorgemerkt ist.
cancellation_date (String)
Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Das Subnetz konnte nicht gefunden werden
409
CONFLICT
Die Kündigung des Subnetzes kann aus dem in der Fehlermeldung genannten Grund nicht widerrufen werden.
Reset GET /reset curl -u "user:password" https://robot-ws.your-server.de/reset
[
{
"reset" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"type" :[
"sw" ,
"hw" ,
"man"
]
}
},
{
"reset" :{
"server_ip" : "111.111.111.111" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 111 ,
"type" :[
"power" ,
"power_long" ,
"hw" ,
"man"
]
}
}
]
Beschreibung
Abfragen der Reset-Optionen für alle Server
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
reset (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
type (Array)
Mögliche Reset-Optionen
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Keine Server mit Reset-Option gefunden
GET /reset/{server-number}
Abfrage für einen Server, bei dem Software-Reboots ausgelöst werden können
curl -u "user:password" https://robot-ws.your-server.de/reset/321
{
"reset" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"type" :[
"sw" ,
"hw" ,
"man"
],
"operating_status" : "not supported"
}
}
Abfrage für einen Server, bei dem der Betriebszustand des Servers abgefragt bzw. der Power Button betätigt werden kann
curl -u "user:password" https://robot-ws.your-server.de/reset/111.111.111.111
{
"reset" :{
"server_ip" : "111.111.111.111" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 111 ,
"type" :[
"power" ,
"power_long" ,
"hw" ,
"man"
],
"operating_status" : "running"
}
}
Beschreibung
Abfragen der Reset-Optionen für einen bestimmten Server
Limitierung
500 Requests pro 1 Stunde
Ausgabe
reset (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
type (Array)
Mögliche Reset-Optionen
operating_status (String)
Aktueller Betriebszustand des Servers
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
RESET_NOT_AVAILABLE
Dieser Server hat keine Reset-Option
Deprecations
@deprecated GET /reset/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /reset/{server-number} curl -u "user:password" https://robot-ws.your-server.de/reset/321 -d type = hw
{
"reset" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"type" : "hw"
}
}
Beschreibung
Reset-Auftrag für einen bestimmten Server ausführen
Limitierung
50 Requests pro Stunde
Eingabe
Name
Beschreibung
type
Reset-Typ der ausgeführt werden soll
Ausgabe
reset (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
type (String)
Ausgeführte Reset-Option
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
RESET_NOT_AVAILABLE
Dieser Server hat keine Reset-Option
409
RESET_MANUAL_ACTIVE
Es läuft bereits ein manueller Reset
500
RESET_FAILED
Der Reset konnte wegen eines internen Fehlers nicht durchgeführt werden
Deprecations
@deprecated POST /reset/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
Failover
WICHTIG: Für die reibungslose Nutzung der Failover-IP muß diese auf allen Servern konfiguriert sein, unabhängig davon, ob sie aktuell darauf geroutet wird.
GET /failover curl -u "user:password" https://robot-ws.your-server.de/failover
[
{
"failover" :{
"ip" : "123.123.123.123" ,
"netmask" : "255.255.255.255" ,
"server_ip" : "78.46.1.93" ,
"server_ipv6_net" : "2a01:4f8:d0a:2003::" ,
"server_number" : 321 ,
"active_server_ip" : "78.46.1.93"
}
},
{
"failover" :{
"ip" : "2a01:4f8:fff1::" ,
"netmask" : "ffff:ffff:ffff:ffff::" ,
"server_ip" : "78.46.1.93" ,
"server_ipv6_net" : "2a01:4f8:d0a:2003::" ,
"server_number" : 321 ,
"active_server_ip" : "2a01:4f8:d0a:2003::"
}
}
]
Beschreibung
Abfragen der Failover-Daten aller Server
Limitierung
100 Requests pro 1 Stunde
Ausgabe
(Array)
failover (Object)
ip (String)
Failover Netz-Adresse
netmask (String)
Failover Netzmaske
server_ip (String)
Haupt-IP-Adresse des zugehörigen Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des zugehörigen Servers
server_number (Integer)
ID des Servers
active_server_ip (String)
Haupt-IP-Adresse des derzeitigen Ziel-Servers
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Es konnten keine Failover-IP-Adressen gefunden werden
GET /failover/{failover-ip}
IPv4
curl -u "user:password" https://robot-ws.your-server.de/failover/123.123.123.123
{
"failover" :{
"ip" : "123.123.123.123" ,
"netmask" : "255.255.255.255" ,
"server_ip" : "78.46.1.93" ,
"server_ipv6_net" : "2a01:4f8:d0a:2003::" ,
"server_number" : 321 ,
"active_server_ip" : "78.46.1.93"
}
}
IPv6
curl -u "user:password" https://robot-ws.your-server.de/failover/2a01:4f8:fff1::
{
"failover" :{
"ip" : "2a01:4f8:fff1::" ,
"netmask" : "ffff:ffff:ffff:ffff::" ,
"server_ip" : "78.46.1.93" ,
"server_ipv6_net" : "2a01:4f8:d0a:2003::" ,
"server_number" : 321 ,
"active_server_ip" : "2a01:4f8:d0a:2003::"
}
}
Beschreibung
Abfragen der Failover-Daten für eine bestimmte Failover-IP-Adresse
Limitierung
100 Requests pro 1 Stunde
Ausgabe
failover (Object)
ip (String)
Failover Netz-Adresse
netmask (String)
Failover Netzmaske
server_ip (String)
Haupt-IP-Adresse des zugehörigen Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des zugehörigen Servers
server_number (Integer)
ID des Servers
active_server_ip (String)
Haupt-IP-Adresse des derzeitigen Ziel-Servers
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Die Failover-IP-Adresse konnte nicht gefunden werden
POST /failover/{failover-ip}
IPv4
curl -u "user:password" https://robot-ws.your-server.de/failover/123.123.123.123 \
-d active_server_ip = 124.124.124.124
{
"failover" :{
"ip" : "123.123.123.123" ,
"netmask" : "255.255.255.255" ,
"server_ip" : "78.46.1.93" ,
"server_ipv6_net" : "2a01:4f8:d0a:2003::" ,
"server_number" : 321 ,
"active_server_ip" : "124.124.124.124"
}
}
IPv6
curl -u "user:password" https://robot-ws.your-server.de/failover/2a01:4f8:fff1:: \
-d active_server_ip = 2a01:4f8:0:5176::
{
"failover" :{
"ip" : "2a01:4f8:fff1::" ,
"netmask" : "ffff:ffff:ffff:ffff::" ,
"server_ip" : "78.46.1.93" ,
"server_ipv6_net" : "2a01:4f8:d0a:2003::" ,
"server_number" : 321 ,
"active_server_ip" : "2a01:4f8:0:5176::"
}
}
Beschreibung
Umrouten der Failover-IP-Adresse
Limitierung
50 Requests pro Stunde
Eingabe
Name
Beschreibung
active_server_ip
Haupt-IP-Adresse des Server, auf den die Failover-IP geroutet werden soll.
Im Fall von IPv6-Subnetzen muss "active_server_ip" auf die Netzadresse des Haupt-IPv6-Subnetzes des Server gesetzt werden.
Ausgabe
failover (Object)
ip (String)
Failover Netz-Adresse
netmask (String)
Failover Netzmaske
server_ip (String)
Haupt-IP-Adresse des zugehörigen Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des zugehörigen Servers
server_number (Integer)
ID des Servers
active_server_ip (String)
Haupt-IP-Adresse des derzeitigen Ziel-Servers
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
NOT_FOUND
Die Failover-IP-Adresse konnte nicht gefunden werden
404
FAILOVER_NEW_SERVER_NOT_FOUND
Der Server, auf den das Netz geroutet werden soll, konnte nicht gefunden werden
409
FAILOVER_ALREADY_ROUTED
Die Failover-IP-Adresse zeigt bereits auf den ausgewählten Server
409
FAILOVER_LOCKED
Das Umrouten der Failover-IP-Adresse ist gesperrt, da bereits eine Anfrage bearbeitet wird
500
FAILOVER_FAILED
Aufgrund eines internen Fehlers konnte die Failover-IP nicht um-geroutet werden
500
FAILOVER_NOT_COMPLETE
Aufgrund eines internen Fehlers konnte die Failover-IP nicht um-geroutet werden
DELETE /failover/{failover-ip}
IPv4
curl -u "user:password" -X DELETE https://robot-ws.your-server.de/failover/123.123.123.123
{
"failover" :{
"ip" : "123.123.123.123" ,
"netmask" : "255.255.255.255" ,
"server_ip" : "78.46.1.93" ,
"server_ipv6_net" : "2a01:4f8:d0a:2003::" ,
"server_number" : 321 ,
"active_server_ip" : null
}
}
IPv6
curl -u "user:password" -X DELETE https://robot-ws.your-server.de/failover/2a01:4f8:fff1::
{
"failover" :{
"ip" : "2a01:4f8:fff1::" ,
"netmask" : "ffff:ffff:ffff:ffff::" ,
"server_ip" : "78.46.1.93" ,
"server_ipv6_net" : "2a01:4f8:d0a:2003::" ,
"server_number" : 321 ,
"active_server_ip" : null
}
}
Beschreibung
Löschen eines Failover-IP-Routings
Limitierung
50 Requests pro Stunde
Ausgabe
failover (Object)
ip (String)
Failover Netz-Adresse
netmask (String)
Failover Netzmaske
server_ip (String)
Haupt-IP-Adresse des zugehörigen Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des zugehörigen Servers
server_number (Integer)
ID des Servers
active_server_ip (String)
Haupt-IP-Adresse des derzeitigen Ziel-Servers
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Die Failover-IP-Adresse konnte nicht gefunden werden
409
FAILOVER_LOCKED
Das Löschen des Failover-IP-Routings ist nicht möglich, da bereits eine andere Anfrage bearbeitet wird
500
FAILOVER_FAILED
Aufgrund eines internen Fehlers konnte das Failover-IP-Routing nicht gelöscht werden
500
FAILOVER_NOT_COMPLETE
Aufgrund eines internen Fehlers konnte das Failover-IP-Routing nicht gelöscht werden
Wake on LAN GET /wol/{server-number} curl -u "user:password" https://robot-ws.your-server.de/wol/321
{
"wol" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321
}
}
Beschreibung
Abfragen der WOL-Daten eines Servers
Limitierung
500 Requests pro 1 Stunde
Ausgabe
wol (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte nicht gefunden werden
404
WOL_NOT_AVAILABLE
Wake On LAN ist bei diesem Server nicht verfügbar
Deprecations
@deprecated GET /wol/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /wol/{server-number} curl -u "user:password" https://robot-ws.your-server.de/wol/321 -d ''
{
"wol" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321
}
}
Beschreibung
Versenden des WOL-Pakets an einen Server
Limitierung
10 Requests pro 1 Stunde
Ausgabe
wol (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte nicht gefunden werden
404
WOL_NOT_AVAILABLE
Wake On LAN ist bei diesem Server nicht verfügbar
500
WOL_FAILED
Das senden des WOL-Pakets konnte aufgrund eines internen Fehlers nicht ausgeführt werden
Deprecations
@deprecated POST /wol/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
Boot-Konfiguration GET /boot/{server-number} curl -u "user:password" https://robot-ws.your-server.de/boot/321
{
"boot" :{
"rescue" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"os" :[
"linux" ,
"vkvm"
],
"@deprecated arch" :[
64 ,
32
],
"active" : false ,
"password" : null ,
"authorized_key" :[
],
"host_key" :[
]
},
"linux" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.5 minimal" ,
"Debian 7.8 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en"
],
"active" : false ,
"password" : null ,
"authorized_key" :[
],
"host_key" :[
]
},
"vnc" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"centOS-5.0" ,
"Fedora-6" ,
"openSUSE-10.2"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"de_DE" ,
"en_US"
],
"active" : false ,
"password" : null
},
"windows" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" : null ,
"lang" : null ,
"active" : false ,
"password" : null
},
"plesk" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.4 minimal" ,
"Debian 7.8 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en" ,
"de"
],
"active" : false ,
"password" : null ,
"hostname" : null
},
"cpanel" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.6 + cPanel"
],
"@deprecated arch" :[
64
],
"lang" :[
"en"
],
"active" : false ,
"password" : null ,
"hostname" : null
}
}
}
Beschreibung
Abfragen der Boot-Konfiguration für einen Server. Es kann pro Server nur eine Konfiguration aktiv sein.
Limitierung
500 Requests pro 1 Stunde
Ausgabe
boot (Object)
rescue (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
os (Array|String)
Array der verfügbaren Betriebssysteme oder das aktive Betriebssystem
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
active (Boolean)
Status des Rescue-Systems
password (String)
Aktuelles Passwort oder null
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
linux (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Status der Linux-Installation
password (String)
Passwort der Linux-Installtion oder null
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
vnc (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Status der VNC-Installation
password (String)
Status der VNC-Installation
windows (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Status der Windows-Installation
password (String)
Passwort der Windows-Installation oder null
plesk (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Status der Plesk-Installation
password (String)
Passwort der Plesk-Installation oder null
hostname (String)
Hostname der Plesk-Installation oder null
cpanel (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Abfragen der Boot-Optionen für die cPanel-Installation
password (String)
Passwort der cPanel-Installation oder null
hostname (String)
Hostname der cPanel-Installation oder null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
Deprecations
@deprecated GET /boot/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /boot/{server-number}/rescue curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue
{
"rescue" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"os" :[
"linux" ,
"vkvm"
],
"@deprecated arch" :[
64 ,
32
],
"active" : false ,
"password" : null ,
"authorized_key" :[
],
"host_key" :[
]
}
}
Beschreibung
Abfragen der Boot-Optionen für das Rescue-System
Limitierung
500 Requests pro 1 Stunde
Ausgabe
rescue (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
os (Array|String)
Array der verfügbaren Betriebssysteme oder das aktive Betriebssystem
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
active (Boolean)
Status des Rescue-Systems
password (String)
Aktuelles Passwort oder null
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
Deprecations
@deprecated GET /boot/{server-ip}/rescue
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /boot/{server-number}/rescue curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue -d 'os=linux'
{
"rescue" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"os" : "linux" ,
"@deprecated arch" : 32 ,
"active" : true ,
"password" : "jEt0dtUvomlyOwRr" ,
"authorized_key" :[
],
"host_key" :[
]
}
}
# Optional können mehrere SSH-Schlüssel angegeben werden:
curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue -d 'os=linux&authorized_key[]=<fingerprint>'
Beschreibung
Aktivieren des Rescue-Systems
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
os
Betriebssystem
@deprecated arch
Architektur (optional, Standard: 64)
authorized_key
Einer oder mehrere SSH-Schlüssel Fingerprints (optional)
keyboard
Gewünschtes Tastatur-Layout (optional, Standard: us)
Ausgabe
rescue (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
os (String)
Betriebssystem
@deprecated arch (Integer)
Architektur
active (Boolean)
true
password (String)
Passwort
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
500
BOOT_ACTIVATION_FAILED
Das aktivieren des Rescue-Systems ist aufgrund eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated POST /boot/{server-ip}/rescue
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
DELETE /boot/{server-number}/rescue curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue -X DELETE
{
"rescue" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"os" :[
"linux" ,
"vkvm"
],
"@deprecated arch" :[
64 ,
32
],
"active" : false ,
"password" : null ,
"authorized_key" :[
],
"host_key" :[
]
}
}
Beschreibung
Deaktivieren des Rescue-Systems
Limitierung
500 Requests pro 1 Stunde
Ausgabe
rescue (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
os (Array)
Array der verfügbaren Betriebssysteme
@deprecated arch (Array)
Array der verfügbaren Architekturen
active (Boolean)
false
password (String)
null
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
500
BOOT_DEACTIVATION_FAILED
Das Deaktivieren des Rescue-Systems ist aufgrund eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated POST /boot/{server-ip}/rescue -X DELETE
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /boot/{server-number}/rescue/last curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue/last
{
"rescue" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"os" : "linux" ,
"@deprecated arch" : 64 ,
"active" : false ,
"password" : null ,
"authorized_key" :[
],
"host_key" :[
]
}
}
Beschreibung
Abfragen der Daten der letzten Aktivierung des Rescue-Systems
Limitierung
500 Requests pro 1 Stunde
Ausgabe
rescue (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
os (String)
Betriebssystem
@deprecated arch (Integer)
Architektur
active (Boolean)
Status des Rescue-Systems
password (String)
Aktuelles Passwort oder null
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
GET /boot/{server-number}/linux curl -u "user:password" https://robot-ws.your-server.de/boot/321/linux
{
"linux" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.5 minimal" ,
"Debian 7.8 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en"
],
"active" : false ,
"password" : null ,
"authorized_key" :[
],
"host_key" :[
]
}
}
Beschreibung
Abfrage der Boot-Optionen für die Linux-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
linux (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Status der Linux-Installation
password (String)
Passwort der Linux-Installtion oder null
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
Deprecations
@deprecated GET /boot/{server-ip}/linux
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /boot/{server-number}/linux curl -u "user:password" https://robot-ws.your-server.de/boot/321/linux -d 'dist=CentOS 5.5 minimal&lang=en'
{
"linux" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" : "CentOS 5.5 minimal" ,
"@deprecated arch" : 32 ,
"lang" : "en" ,
"active" : true ,
"password" : "jEt0dtUvomlyOwRr" ,
"authorized_key" :[
],
"host_key" :[
]
}
}
# Optional können mehrere SSH-Schlüssel angegeben werden:
curl -u "user:password" https://robot-ws.your-server.de/boot/321/linux -d 'dist=CentOS 5.5 minimal&lang=en&authorized_key[]=<fingerprint>'
Beschreibung
Aktivieren der Linux-Installation
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
dist
Distribution
@deprecated arch
Architektur (optional, Standard: 64)
lang
Sprache
authorized_key
Einer oder mehrere SSH-Schlüssel Fingerprints (optional)
Ausgabe
linux (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (String)
Distribution
@deprecated arch (Integer)
Architektur
lang (String)
Sprache
active (Boolean)
true
password (String)
Passwort Linux-Installation
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
500
BOOT_ACTIVATION_FAILED
Das Aktiveren der Linux-Installation ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated POST /boot/{server-ip}/linux
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
DELETE /boot/{server-number}/linux curl -u "user:password" https://robot-ws.your-server.de/boot/321/linux -X DELETE
{
"linux" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.5 minimal" ,
"Debian 7.8 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en"
],
"active" : false ,
"password" : null ,
"authorized_key" :[
],
"host_key" :[
]
}
}
Beschreibung
Deaktivieren der Linux-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
linux (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_number (Integer)
ID des Servers
dist (Array)
Array der verfügbaren Distributionen
@deprecated arch (Array)
Array der verfügbaren Architekturen
lang (Array)
Array der verfügbaren Sprachen
active (Boolean)
false
password (String)
null
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
500
BOOT_DEACTIVATION_FAILED
Das Deaktivieren der Linux-Installation ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated POST /boot/{server-ip}/linux -X DELETE
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /boot/{server-number}/linux/last curl -u "user:password" https://robot-ws.your-server.de/boot/321/linux/last
{
"linux" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" : "CentOS 5.5 minimal" ,
"@deprecated arch" : 32 ,
"lang" : "en" ,
"active" : true ,
"password" : "jEt0dtUvomlyOwRr" ,
"authorized_key" :[
],
"host_key" :[
]
}
}
Beschreibung
Abfragen der Daten der letzten Linux-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
linux (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (String)
Distribution
@deprecated arch (Integer)
Architektur
lang (String)
Sprache
active (Boolean)
Status der Linux-Installation
password (String)
Passwort der Linux-Installation oder null
authorized_key (Array)
SSH-Schlüssel
host_key (Array)
SSH Host-Schlüssel
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
Deprecations
@deprecated GET /boot/{server-ip}/linux/last
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /boot/{server-number}/vnc curl -u "user:password" https://robot-ws.your-server.de/boot/321/vnc
{
"vnc" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"centOS-5.0" ,
"Fedora-6" ,
"openSUSE-10.2"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"de_DE" ,
"en_US"
],
"active" : false ,
"password" : null
}
}
Beschreibung
Abfrage der Boot-Optionen für die VNC-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
vnc (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Status der VNC-Installation
password (String)
Status der VNC-Installation
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
Deprecations
@deprecated GET /boot/{server-ip}/vnc
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /boot/{server-number}/vnc curl -u "user:password" https://robot-ws.your-server.de/boot/321/vnc -d 'dist=centOS-5.0&lang=en_US'
{
"vnc" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" : "centOS-5.0" ,
"@deprecated arch" : 32 ,
"lang" : "en_US" ,
"active" : true ,
"password" : "jEt0dtUvomlyOwRr"
}
}
Beschreibung
Aktivieren der VNC-Installation
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
dist
Distribution
@deprecated arch
Architektur (optional, Standard: 64)
lang
Sprache
Ausgabe
vnc (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (String)
Distribution
@deprecated arch (Integer)
Architektur
lang (String)
Sprache
active (Boolean)
true
password (String)
Passwort VNC-Installation
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
500
BOOT_ACTIVATION_FAILED
Das Aktiveren der VNC-Installation ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated POST /boot/{server-ip}/vnc
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
DELETE /boot/{server-number}/vnc curl -u "user:password" https://robot-ws.your-server.de/boot/321/vnc -X DELETE
{
"vnc" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"centOS-5.0" ,
"Fedora-6" ,
"openSUSE-10.2"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"de_DE" ,
"en_US"
],
"active" : false ,
"password" : null
}
}
Beschreibung
Deaktivieren der VNC-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
vnc (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array)
Array der verfügbaren Distributionen
@deprecated arch (Array)
Array der verfügbaren Architekturen
lang (Array)
Array der verfügbaren Sprachen
active (Boolean)
false
password (String)
null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
500
BOOT_DEACTIVATION_FAILED
Das Deaktivieren der VNC-Installation ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated DELETE /boot/{server-ip}/vnc
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /boot/{server-number}/windows curl -u "user:password" https://robot-ws.your-server.de/boot/321/windows
{
"windows" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"standard"
],
"lang" :[
"en" ,
"de"
],
"active" : false ,
"password" : null
}
}
Beschreibung
Abfragen der Boot-Optionen für die Windows-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
windows (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Status der Windows-Installation
password (String)
Passwort der Windows-Installation oder null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
404
WINDOWS_OUTDATED_VERSION
Die gebuchte Windows-Version wird nicht mehr unterstützt
Deprecations
@deprecated GET /boot/{server-ip}/windows
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /boot/{server-number}/windows curl -u "user:password" https://robot-ws.your-server.de/boot/321/windows -d 'lang=en'
{
"windows" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" : "standard" ,
"lang" : "en" ,
"active" : true ,
"password" : "jEt0dtUvomlyOwRr"
}
}
Beschreibung
Aktivieren der Windows-Installation. Dies ist nur möglich, wenn für den Server das Windows-Addon gebucht wurde. Nach dem Neustart des Servers wird die automatische Windows-Installation gestartet. Alle Daten auf dem Server werden bei der Installation gelöscht.
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
lang
Sprache
Ausgabe
windows (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (String)
Distribution
@deprecated arch (Integer)
Architektur
lang (String)
Sprache
active (Boolean)
true
password (String)
Passwort der Windows-Installation
Deprecations
@deprecated POST /boot/{server-ip}/windows
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
404
WINDOWS_MISSING_ADDON
Das Windows-Addon fehlt
404
WINDOWS_OUTDATED_VERSION
Die gebuchte Windows-Version wird nicht mehr unterstützt
500
BOOT_ACTIVATION_FAILED
Das Aktivieren der Windows-Installation ist wegen eines internen Fehlers fehlgeschlagen
DELETE /boot/{server-number}/windows curl -u "user:password" https://robot-ws.your-server.de/boot/321/windows -X DELETE
{
"windows" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"standard"
],
"lang" :[
"en" ,
"de"
],
"active" : false ,
"password" : null
}
}
Beschreibung
Windows-Installation deaktivieren
Limitierung
500 Requests pro 1 Stunde
Ausgabe
windows (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array)
Array der verfügbaren Distributionen
@deprecated arch (Array)
Array der verfügbaren Architekturen
lang (Array)
Array der verfügbaren Sprachen
active (Boolean)
false
password (String)
null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
404
WINDOWS_OUTDATED_VERSION
Die gebuchte Windows-Version wird nicht mehr unterstützt
500
BOOT_DEACTIVATION_FAILED
Deaktivieren der Windows-Installation
Deprecations
@deprecated DELETE /boot/{server-ip}/windows
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /boot/{server-number}/plesk curl -u "user:password" https://robot-ws.your-server.de/boot/321/plesk
{
"plesk" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.4 minimal" ,
"Debian 7.8 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en" ,
"de"
],
"active" : false ,
"password" : null ,
"hostname" : null
}
}
Beschreibung
Abfragen der Boot-Optionen für die Plesk-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
plesk (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Status der Plesk-Installation
password (String)
Passwort der Plesk-Installation oder null
hostname (String)
Hostname der Plesk-Installation oder null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
404
WINDOWS_OUTDATED_VERSION
Die gebuchte Windows-Version wird nicht mehr unterstützt
Deprecations
@deprecated GET /boot/{server-ip}/plesk
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /boot/{server-number}/plesk curl -u "user:password" https://robot-ws.your-server.de/boot.yaml/321/plesk -d 'dist=CentOS 5.4 minimal&lang=de&hostname=plesk.testen.de'
{
"plesk" :{
"server_ip" : "213.239.217.200" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" : "CentOS 5.4 minimal" ,
"@deprecated arch" : 32 ,
"lang" : "de" ,
"active" : true ,
"password" : "jEt0dtUvomlyOwRr" ,
"hostname" : "plesk.testen.de"
}
}
Beschreibung
Aktivieren der Plesk-Installation
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
dist
Distribution
@deprecated arch
Architektur (optional, Standard: 64)
lang
Sprache
hostname
Hostname
Ausgabe
plesk (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (String)
Distribution
@deprecated arch (Integer)
Architektur
lang (String)
Sprache
active (Boolean)
true
password (String)
Passwort der Plesk-Installation
hostname (String)
Hostname der Plesk-Installation
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
404
PLESK_MISSING_ADDON
Das Plesk-Addon fehlt
404
WINDOWS_OUTDATED_VERSION
Die gebuchte Windows-Version wird nicht mehr unterstützt
500
BOOT_ACTIVATION_FAILED
Das Aktiveren der Plesk-Installation ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated POST /boot/{server-ip}/plesk
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
DELETE /boot/{server-number}/plesk curl -u "user:password" https://robot-ws.your-server.de/boot/321/plesk -X DELETE
{
"plesk" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.4 minimal" ,
"Debian 7.8 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en" ,
"de"
],
"active" : false ,
"password" : null ,
"hostname" : null
}
}
Beschreibung
Deaktivieren der Plesk-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
plesk (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array)
Array der verfügbaren Distributionen
@deprecated arch (Array)
Array der verfügbaren Architekturen
lang (Array)
Array der verfügbaren Sprachen
active (Boolean)
false
password (String)
null
hostname (String)
null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
404
WINDOWS_OUTDATED_VERSION
Die gebuchte Windows-Version wird nicht mehr unterstützt
500
BOOT_DEACTIVATION_FAILED
Das Deaktivieren der Plesk-Installation ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated DELETE /boot/{server-ip}/plesk
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /boot/{server-number}/cpanel curl -u "user:password" https://robot-ws.your-server.de/boot/321/cpanel
{
"cpanel" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.6 + cPanel"
],
"@deprecated arch" :[
64
],
"lang" :[
"en"
],
"active" : false ,
"password" : null ,
"hostname" : null
}
}
Beschreibung
Abfragen der Boot-Optionen für die cPanel-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
cpanel (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array|String)
Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer)
Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String)
Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean)
Abfragen der Boot-Optionen für die cPanel-Installation
password (String)
Passwort der cPanel-Installation oder null
hostname (String)
Hostname der cPanel-Installation oder null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
Deprecations
@deprecated GET /boot/{server-ip}/cpanel
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /boot/{server-number}/cpanel curl -u "user:password" https://robot-ws.your-server.de/boot/321/cpanel -d 'dist=CentOS 5.6 + cPanel&lang=en&hostname=cpanel.testen.de'
{
"cpanel" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" : "CentOS 5.6 + cPanel" ,
"@deprecated arch" : 64 ,
"lang" : "en" ,
"active" : true ,
"password" : "ie8Nhz6R" ,
"hostname" : "cpanel.testen.de"
}
}
Beschreibung
Aktivieren der cPanel-Installation
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
dist
Distribution
@deprecated arch
Architektur (optional, Standard: 64)
lang
Sprache
hostname
Hostname
Ausgabe
cpanel (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (String)
Distribution
@deprecated arch (Integer)
Architektur
lang (String)
Sprache
active (Boolean)
true
password (String)
Passwort der cPanel-Installation
hostname (String)
Hostname der cPanel-Installation
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
404
CPANEL_MISSING_ADDON
Kein cPanel-Addon gefunden
500
BOOT_ACTIVATION_FAILED
Das Aktiveren der cPanel-Installation ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated POST /boot/{server-ip}/cpanel
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
DELETE /boot/{server-number}/cpanel curl -u "user:password" https://robot-ws.your-server.de/boot/321/cpanel -X DELETE
{
"cpanel" :{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"dist" :[
"CentOS 5.6 + cPanel"
],
"@deprecated arch" :[
64
],
"lang" :[
"en"
],
"active" : false ,
"password" : null ,
"hostname" : null
}
}
Beschreibung
Deaktivieren der cPanel-Installation
Limitierung
500 Requests pro 1 Stunde
Ausgabe
plesk (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number (Integer)
ID des Servers
dist (Array)
Array der verfügbaren Distributionen
@deprecated arch (Array)
Array der verfügbaren Architekturen
lang (Array)
Array der verfügbaren Sprachen
active (Boolean)
false
password (String)
null
hostname (String)
null
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404
BOOT_NOT_AVAILABLE
Für diesen Server ist keine Boot-Konfiguration verfügbar
500
BOOT_DEACTIVATION_FAILED
Das Deaktivieren der cPanel-Installation ist wegen eines internen Fehlers fehlgeschlagen
Deprecations
@deprecated DELETE /boot/{server-ip}/cpanel
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
Reverse DNS GET /rdns curl -u "user:password" https://robot-ws.your-server.de/rdns
[
{
"rdns" :{
"ip" : "123.123.123.123" ,
"ptr" : "testen.de"
}
},
{
"rdns" :{
"ip" : "124.124.124.124" ,
"ptr" : "your-server.de"
}
}
]
Beschreibung
Abfragen aller gesetzten Reverse-DNS Einträge
Limitierung
500 Requests pro 1 Stunde
Eingabe (Optional)
Name
Beschreibung
server_ip
Server Haupt-IP-Adresse. Bei Angabe werden nur Reverse-DNS Einträge angezeigt, die diesem Server zugeordnet sind
Ausgabe
(Array)
rdns (Object)
ip (String)
IP-Adresse
ptr (String)
PTR-Record
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Es wurden keine Reverse-DNS Einträge gefunden
GET /rdns/{ip} curl -u "user:password" https://robot-ws.your-server.de/rdns/123.123.123.123
{
"rdns" :{
"ip" : "123.123.123.123" ,
"ptr" : "testen.de"
}
}
Beschreibung
Abfragen des Reverse-DNS Eintrags für eine IP-Adresse
Limitierung
500 Requests pro 1 Stunde
Ausgabe
rdns (Object)
ip (String)
IP-Adresse
ptr (String)
PTR-Record
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Die IP-Adresse {ip} wurde nicht gefunden
404
RDNS_NOT_FOUND
Die IP-Adresse {ip} wurde nicht gefunden
PUT /rdns/{ip} curl -u "user:password" https://robot-ws.your-server.de/rdns/123.123.123.123 -d ptr = testen.de -X PUT
{
"rdns" :{
"ip" : "123.123.123.123" ,
"ptr" : "testen.de"
}
}
Beschreibung
Erstellen eines neuen Reverse-DNS Eintrags für eine IP-Adresse. Wenn der neue Reverse-DNS Eintrag erfolgreich erstellt wurde, wird der HTTP Status Code 201 CREATED zurückgeliefert.
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
ptr
PTR-Record
Ausgabe
rdns (Object)
ip (String)
IP-Adresse
ptr (String)
PTR-Record
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
IP_NOT_FOUND
Die IP-Adresse {ip} wurde nicht gefunden
409
RDNS_ALREADY_EXISTS
Es existiert bereits ein Reverse-DNS-Eintrag
500
RDNS_CREATE_FAILED
Es existiert bereits ein Reverse-DNS Eintrag
POST /rdns/{ip} curl -u "user:password" https://robot-ws.your-server.de/rdns/123.123.123.123 -d ptr = testen.de
{
"rdns" :{
"ip" : "123.123.123.123" ,
"ptr" : "testen.de"
}
}
Beschreibung
Aktualisieren oder Anlegen eines Reverse-DNS Eintrags. Wenn der DNS-Eintrag neu angelegt wurde, wird der HTTP-Status 201 CREATED zurückgeliefert.
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
ptr
PTR-Record
Ausgabe
rdns (Object)
ip (String)
IP-Adresse
ptr (String)
PTR-Record
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
IP_NOT_FOUND
Die IP-Adresse {ip} wurde nicht gefunden
500
RDNS_CREATE_FAILED
Es existiert bereits ein Reverse-DNS Eintrag
500
RDNS_UPDATE_FAILED
Das Aktualisieren des Reverse-DNS Eintrags ist fehlgeschlagen
DELETE /rdns/{ip} curl -u "user:password" https://robot-ws.your-server.de/rdns/123.123.123.123 -X DELETE
Beschreibung
Löschen des Reverse-DNS Eintrags für eine IP-Adresse
Limitierung
500 Requests pro 1 Stunde
Ausgabe
Keine Ausgabe
Fehler
Status
Code
Beschreibung
404
IP_NOT_FOUND
Die IP-Adresse {ip} wurde nicht gefunden
500
RDNS_DELETE_FAILED
Das Löschen des Reverse-DNS Eintrags ist wegen eines internen Fehlers fehlgeschlagen
500
RDNS_UPDATE_FAILED
Das Aktualisieren des Reverse-DNS Eintrags ist fehlgeschlagen
Traffic POST /traffic
Abfragen der Traffic-Daten für eine IP-Adresse
curl -u "user:password" https://robot-ws.your-server.de/traffic \
--data-urlencode 'type=month' \
--data-urlencode 'from=2010-09-01' \
--data-urlencode 'to=2010-09-31' \
--data-urlencode 'ip=123.123.123.123'
{
"traffic" :{
"type" : "month" ,
"from" : "2010-09-01" ,
"to" : "2010-09-31" ,
"data" :{
"123.123.123.123" :{
"in" : 0.2874 ,
"out" : 0.0481 ,
"sum" : 0.3355
}
}
}
}
Abfragen der Traffic-Daten für mehrere IP-Adressen
curl -u "user:password" https://robot-ws.your-server.de/traffic \
--data-urlencode 'type=month' \
--data-urlencode 'from=2010-09-01' \
--data-urlencode 'to=2010-09-31' \
--data-urlencode 'ip[]=123.123.123.123' \
--data-urlencode 'ip[]=124.124.124.124'
{
"traffic" :{
"type" : "month" ,
"from" : "2010-09-01" ,
"to" : "2010-09-31" ,
"data" :{
"123.123.123.123" :{
"in" : 0.2874 ,
"out" : 0.0481 ,
"sum" : 0.3355
},
"124.124.124.124" :{
"in" : 0.2874 ,
"out" : 0.0481 ,
"sum" : 0.3355
}
}
}
}
Abfragen der Traffic-Daten für ein Subnetz
curl -u "user:password" https://robot-ws.your-server.de/traffic \
--data-urlencode 'type=month' \
--data-urlencode 'from=2010-09-01' \
--data-urlencode 'to=2010-09-31' \
--data-urlencode 'subnet=2a01:4f8:61:41a2::'
{
"traffic" :{
"type" : "month" ,
"from" : "2010-09-01" ,
"to" : "2010-09-31" ,
"data" :{
"2a01:4f8:61:41a2::\/64" :{
"in" : 0.2874 ,
"out" : 0.0481 ,
"sum" : 0.3355
}
}
}
}
Abfragen der Traffic-Daten für eine IP-Adresse, gruppiert nach Tagen
curl -u "user:password" https://robot-ws.your-server.de/traffic \
--data-urlencode 'type=month' \
--data-urlencode 'from=2019-01-01' \
--data-urlencode 'to=2019-01-07' \
--data-urlencode 'ip=123.123.123.123' \
--data-urlencode 'single_values=true'
{
"traffic" :{
"type" : "month" ,
"from" : "2019-01-01" ,
"to" : "2019-01-07" ,
"data" :{
"123.123.123.123" :{
"01" :{
"in" : 0.0023 ,
"out" : 0.0102 ,
"sum" : 0.0125
},
"02" :{
"in" : 229.7502 ,
"out" : 10.7187 ,
"sum" : 240.4689
},
"03" :{
"in" : 97.8517 ,
"out" : 1.53 ,
"sum" : 99.3817
},
"04" :{
"in" : 191.0187 ,
"out" : 0.153 ,
"sum" : 191.1717
},
"05" :{
"in" : 0.0021 ,
"out" : 0.0022 ,
"sum" : 0.0043
},
"06" :{
"in" : 0 ,
"out" : 0.0021 ,
"sum" : 0.0021
},
"07" :{
"in" : 0 ,
"out" : 0 ,
"sum" : 0
}
}
}
}
}
Beschreibung
Abfragen der Traffic-Daten für IP-Adressen und Subnetze. Es stehen drei Abfrage-Arten zur Verfügung: "day", "month" und "year".
Mit diesen geben Sie an, ob sich die Trafficabfrage auf einen Zeitraum innerhalb eines Tages ("day"), eines Monats ("month") oder eines Jahres ("year") bezieht. Möchten Sie zum Beispiel den Trafficverbrauch für eine oder mehrere Stunden innerhalb eines Tages abfragen, verwenden Sie "day". Möchten Sie die Tagessumme oder die Summe mehrerer Tage innerhalb eines Monats ermitteln, verwenden Sie "month". Und für die Abfrage von Monatssummen innerhalb eines Jahres ist "year" die richtige Abfrage-Art.
Bitte beachten Sie, dass Stunden-, Tages- und Monatssummen erst nach Ablauf der/des entsprechenden Stunde, Tages bzw. Monats verfügbar sind.
Das Abfrage-Intervall können sie mit den Parametern "from" und "to" angeben. Die Syntax dieser Paramater ist wie folgt:
Abfrage-Typ "day": [YYYY]-[MM]-[DD]T[H], z.B. 2010-09-01T00
Abfrage-Typ "month": [YYYY]-[MM]-[DD], z.B. 2010-09-01
Abfrage-Typ "year": [YYYY]-[MM], z.B. 2010-09
Bei dem Abfrage-Typ "day" wird das Datum zusammen mit der Stunde angegeben. Der Stundenwert wird vom Datum mit dem Buchstaben "T" getrennt. Beim Anfrage-Typ "month" darf der Stundenwert nicht mit angegeben werden, da Sie hier den Zeitraum nur tagesbasiert angeben können. Bei dem Typ "year" fällt zusätzlich noch der Tageswert weg, da Sie hier den Zeitraum innerhalb eines Jahres monatsbasiert angeben.
Wenn für die ausgewählten IP-Adressen und Subnetze kein Traffic angefallen ist, werden diese in der Antwort nicht angezeigt.
Mit dem Parameter "single_values" ist es möglich, die Traffic-Daten nach Stunden, Tagen oder Monaten über das angegebene Intervall zu gruppieren.
Bei Typ "Tag" sind die Daten nach Stunden, bei Typ "Monat" nach Tagen und bei Typ "Jahr" nach Monaten gruppiert.
Limitierung
200 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
ip[]
Eine oder mehrere IP-Adressen
subnet[]
Eine oder mehrere Subnetz-Adressen
from
Datum/Zeit von
to
Datum/Zeit bis
type
Abfrage-Typ (day,month,year)
single_values
Wenn auf "true" gesetzt, werden die Traffic-Daten nicht als Summe über das gesamte Intervall zurückgegeben, sondern nach Stunde, Tag oder Monat gruppiert (optional).
Ausgabe
Ausgabe ohne Parameter "single_values"
traffic (Object)
type (String)
Abfrage-Typ
from (String)
Datum/Zeit von
to (String)
Datum/Zeit bis
data (Object)
<IP address> (Object)
in (Number)
Traffic eingehend (GB)
out (Number)
Traffic ausgehend (GB)
sum (Number)
Traffic Summe (GB)
Ausgabe mit Parameter "single_values"
traffic (Object)
type (String)
Abfrage-Typ
from (String)
Datum/Zeit von
to (String)
Datum/Zeit bis
data (Object)
<IP address> (Object)
<interval> (Object)
in (Number)
Traffic eingehend (GB)
out (Number)
Traffic ausgehend (GB)
sum (Number)
Traffic Summe (GB)
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
NOT_FOUND
Keine IP-Adressen oder Subnetze gefunden
500
INTERNAL_ERROR
Das Abfragen des Traffic ist aufgrund eines internen Fehlers fehlgeschlagen
SSH-Schlüssel GET /key curl -u "user:password" https://robot-ws.your-server.de/key
[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "56:29:99:a4:5d:ed:ac:95:c1:f5:88:82:90:5d:dd:10" ,
"type" : "ECDSA" ,
"size" : 521 ,
"data" : "ecdsa-sha2-nistp521 AAAAE2VjZHNh ..." ,
"created_at" : "2021-12-31 23:59:59"
}
},
{
"key" :{
"name" : "key2" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256 ,
"data" : "ssh-ed25519 AAAAC3NzaC1 ..." ,
"created_at" : "2021-12-31 23:59:59"
}
}
]
Beschreibung
Abfragen aller SSH-Schlüssel
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
key (Object)
name (String)
Schlüsselname
fingerprint (String)
Schlüssel Fingerprint
type (String)
Schlüssel-Typ
size (Integer)
Schlüssellänge in bits
data (String)
Schlüsseldaten im OpenSSH-Format
created_at (Date)
Datum, an dem der Schlüssel angelegt wurde
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Keine Schlüssel gefunden
POST /key curl -u "user:password" https://robot-ws.your-server.de/key \
--data-urlencode 'name=NewKey' \
--data-urlencode 'data=ssh-rsa AAAAB3NzaC1yc+...'
{
"key" :{
"name" : "NewKey" ,
"fingerprint" : "cb:8b:ef:a7:fe:04:87:3f:e5:55:cd:12:e3:e8:9f:99" ,
"type" : "RSA" ,
"size" : 8192 ,
"data" : "ssh-rsa AAAAB3NzaC1yc+..." ,
"created_at" : "2021-12-31 23:59:59"
}
}
Beschreibung
Hinzufügen eines neuen SSH-Schlüssels. Wenn der Schlüssel erfolgreich angelegt wurde, wird der HTTP-Status 201 CREATED zurückgeliefert.
Limitierung
200 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
name
Schlüsselname
data
Schlüsseldaten im OpenSSH- oder SSH2-Format
Ausgabe
key (Object)
name (String)
Schlüsselname
fingerprint (String)
Schlüssel Fingerprint
type (String)
Schlüssel-Typ
size (Integer)
Schlüssellänge in bits
data (String)
Schlüsseldaten im OpenSSH-Format
created_at (Date)
Datum, an dem der Schlüssel angelegt wurde
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
409
KEY_ALREADY_EXISTS
Der Schlüssel existiert bereits
500
KEY_CREATE_FAILED
Das Hinzufügen des Schlüssels ist wegen eines internen Fehlers gescheitert
GET /key/{fingerprint} curl -u "user:password" https://robot-ws.your-server.de/key/15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb
{
"key" :{
"name" : "key2" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256 ,
"data" : "ssh-ed25519 AAAAC3NzaC1 ..." ,
"created_at" : "2021-12-31 23:59:59"
}
}
Beschreibung
Abfragen eines bestimmten SSH-Schlüssels
Limitierung
500 Requests pro 1 Stunde
Ausgabe
key (Object)
name (String)
Schlüsselname
fingerprint (String)
Schlüssel Fingerprint
type (String)
Schlüssel-Typ
size (Integer)
Schlüssellänge in bits
data (String)
Schlüsseldaten im OpenSSH-Format
created_at (Date)
Datum, an dem der Schlüssel angelegt wurde
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Schlüssel nicht gefunden
POST /key/{fingerprint} curl -u "user:password" https://robot-ws.your-server.de/key/15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb \
--data-urlencode 'name=MyTestKey'
{
"key" :{
"name" : "MyTestKey" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256 ,
"data" : "ssh-ed25519 AAAAC3NzaC1 ..." ,
"created_at" : "2021-12-31 23:59:59"
}
}
Beschreibung
Aktualisieren des Schlüssel-Namens
Limitierung
200 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
name
Schlüsselname
Ausgabe
key (Object)
name (String)
Schlüsselname
fingerprint (String)
Schlüssel Fingerprint
type (String)
Schlüssel-Typ
size (Integer)
Schlüssellänge in bits
data (String)
Schlüsseldaten im OpenSSH-Format
created_at (Date)
Datum, an dem der Schlüssel angelegt wurde
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
NOT_FOUND
Schlüssel nicht gefunden
500
KEY_UPDATE_FAILED
Das Aktualisieren des Schlüssel-Namens ist wegen eines internen Fehlers gescheitert
DELETE /key/{fingerprint} curl -u "user:password" https://robot-ws.your-server.de/key/15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb -X DELETE
Beschreibung
Löschen eines Schlüssels
Limitierung
200 Requests pro 1 Stunde
Ausgabe
Keine Ausgabe
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Schlüssel nicht gefunden
500
KEY_DELETE_FAILED
Das Löschen des Schlüssels ist wegen eines internen Fehlers fehlgeschlagen
Server Bestellung Aktivierung
Um den Robot-Webservice für Serverbestellungen nutzen zu können, aktivieren Sie diese Funktion bitte zunächst über Ihre Administrationsoberfläche Robot unter "Administration; Einstellungen; Webservice-Einstellungen; Bestellung".
Hinweise
Seit dem 28. März 2022 enthalten die aufgelisteten Preise nicht mehr das Addon "Primäre IPv4". Standardmäßig stellen wir Server als reine IPv6-Server ohne IPv4-Adresse bereit. Wenn das Addon "primary_ipv4" bei der Bestellung aktiv ausgewählt wird, liefern wir Ihnen den Server mit einer IPv4-Adresse aus. Die Addon-Preise sind zusätzlich separat aufgelistet.
Preise sind immer in der Währung des Accounts.
GET /order/server/product curl -u "user:password" https://robot-ws.your-server.de/order/server/product
[
{
"product" :{
"id" : "EX60" ,
"name" : "Dedicated Server EX60" ,
"description" :[
"Intel \u 00ae Core \u 2122 i7-920 Quad-Core" ,
"48 GB DDR3 RAM" ,
"2 x 2 TB SATA 3 Gb \/ s Enterprise HDD; 7200 rpm(Software-RAID 1)" ,
"1 Gbit \/ s bandwidth"
],
"traffic" : "30 TB" ,
"dist" :[
"Rescue system" ,
"CentOS 6.6 minimal" ,
"CentOS 7.0 minimal" ,
"Debian 7.7 LAMP" ,
"Debian 7.7 minimal" ,
"openSUSE 13.2 minimal" ,
"Ubuntu 14.04.1 LTS minimal" ,
"Ubuntu 14.10 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en"
],
"location" :[
"FSN1" ,
"NBG1"
],
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "49.5800" ,
"gross" : "49.5800" ,
"hourly_net" : "0.0795" ,
"hourly_gross" : "0.0795"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "49.5800" ,
"gross" : "49.5800" ,
"hourly_net" : "0.0795" ,
"hourly_gross" : "0.0795"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
}
],
"orderable_addons" :[
{
"id" : "primary_ipv4" ,
"name" : "Primary IPv4" ,
"min" : 0 ,
"max" : 1 ,
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
}
]
}
]
}
},
{
"product" :{
"id" : "EX40" ,
"name" : "Dedicated Server EX40" ,
"description" :[
"Intel \u 00ae Core \u 2122 i7-4770 Quad-Core Haswell" ,
"32 GB DDR3 RAM" ,
"2 x 2 TB SATA 6 Gb \/ s Enterprise HDD; 7200 rpm(Software-RAID 1)" ,
"1 Gbit \/ s bandwidth"
],
"traffic" : "30 TB" ,
"dist" :[
"Rescue system" ,
"CentOS 6.6 minimal" ,
"CentOS 7.0 minimal" ,
"Debian 7.7 LAMP" ,
"Debian 7.7 minimal" ,
"openSUSE 13.2 minimal" ,
"Ubuntu 14.04.1 LTS minimal" ,
"Ubuntu 14.10 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en"
],
"location" :[
"FSN1" ,
"NBG1"
],
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "84.0300" ,
"gross" : "84.0300" ,
"hourly_net" : "0.1347" ,
"hourly_gross" : "0.1347"
},
"price_setup" :{
"net" : "41.1800" ,
"gross" : "41.1800"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "84.0300" ,
"gross" : "84.0300" ,
"hourly_net" : "0.1347" ,
"hourly_gross" : "0.1347"
},
"price_setup" :{
"net" : "41.1800" ,
"gross" : "41.1800"
}
}
],
"orderable_addons" :[
{
"id" : "primary_ipv4" ,
"name" : "Primary IPv4" ,
"min" : 0 ,
"max" : 1 ,
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
}
]
}
]
}
}
]
Beschreibung
Produktübersicht der derzeit angebotenen Standard-Server
Limitierung
500 Requests pro 1 Stunde
Eingabe (Optional)
Name
Beschreibung
min_price
Minimaler monatlicher Preis
max_price
Maximaler monatlicher Preis
min_price_setup
Minimale Setup-Gebühr
max_price_setup
Maximale Setup-Gebühr
location
Der gewünschte Standort
Ausgabe
(Array)
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (Array)
Verfügbare Distributionen
@deprecated arch (Array)
Verfügbare Architekturen
lang (Array)
Verfügbare Sprachen
location (Array)
Verfügbare Standorte
prices (Array)
(Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
orderable_addons (Array)
(Object)
id (String)
Addon-ID
name (String)
Addon-Name
location (String)
Standort
min (Integer)
Minimal bestellbare Menge
max (Integer)
Maximal bestellbare Menge
prices (Array)
(Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Keine Produkte gefunden
GET /order/server/product/{product-id} curl -u "user:password" https://robot-ws.your-server.de/order/server/product/EX40
{
"product" :{
"id" : "EX40" ,
"name" : "Dedicated Server EX40" ,
"description" :[
"Intel \u 00ae Core \u 2122 i7-4770 Quad-Core Haswell" ,
"32 GB DDR3 RAM" ,
"2 x 2 TB SATA 6 Gb \/ s Enterprise HDD; 7200 rpm(Software-RAID 1)" ,
"1 Gbit \/ s bandwidth"
],
"traffic" : "30 TB" ,
"dist" :[
"Rescue system" ,
"CentOS 6.6 minimal" ,
"CentOS 7.0 minimal" ,
"Debian 7.7 LAMP" ,
"Debian 7.7 minimal" ,
"openSUSE 13.2 minimal" ,
"Ubuntu 14.04.1 LTS minimal" ,
"Ubuntu 14.10 minimal"
],
"@deprecated arch" :[
64 ,
32
],
"lang" :[
"en"
],
"location" :[
"FSN1" ,
"NBG1"
],
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "84.0300" ,
"gross" : "84.0300" ,
"hourly_net" : "0.1347" ,
"hourly_gross" : "0.1347"
},
"price_setup" :{
"net" : "41.1800" ,
"gross" : "41.1800"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "84.0300" ,
"gross" : "84.0300" ,
"hourly_net" : "0.1347" ,
"hourly_gross" : "0.1347"
},
"price_setup" :{
"net" : "41.1800" ,
"gross" : "41.1800"
}
}
],
"orderable_addons" :[
{
"id" : "primary_ipv4" ,
"name" : "Primary IPv4" ,
"min" : 0 ,
"max" : 1 ,
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
}
]
}
]
}
}
Beschreibung
Abfragen eines bestimmen Server-Produkts
Limitierung
500 Requests pro 1 Stunde
Ausgabe
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (Array)
Verfügbare Distributionen
@deprecated arch (Array)
Verfügbare Architekturen
lang (Array)
Verfügbare Sprachen
location (Array)
Verfügbare Standorte
prices (Array)
(Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
orderable_addons (Array)
(Object)
id (String)
Addon-ID
name (String)
Addon-Name
location (String)
Standort
min (Integer)
Minimal bestellbare Menge
max (Integer)
Maximal bestellbare Menge
prices (Array)
(Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Produkt nicht gefunden
GET /order/server/transaction curl -u "user:password" https://robot-ws.your-server.de/order/server/transaction
[
{
"transaction" :{
"id" : "B20150121-344957-251478" ,
"date" : "2015-01-21T12:30:43+01:00" ,
"status" : "in process" ,
"server_number" : null ,
"server_ip" : null ,
"authorized_key" :[
],
"host_key" :[
],
"comment" : null ,
"product" :{
"id" : "VX6" ,
"name" : "vServer VX6" ,
"description" :[
"Single-Core CPU" ,
"1 GB RAM" ,
"25 GB HDD" ,
"No telephone support"
],
"traffic" : "2 TB" ,
"dist" : "Rescue system" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"location" : null
},
"addons" :[
"primary_ipv4"
]
}
},
{
"transaction" :{
"id" : "B20150121-344958-251479" ,
"date" : "2015-01-21T12:54:01+01:00" ,
"status" : "ready" ,
"server_number" : 107239 ,
"server_ip" : "188.40.1.1" ,
"authorized_key" :[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256
}
}
],
"host_key" :[
{
"key" :{
"fingerprint" : "c1:e4:08:73:dd:f7:e9:d1:94:ab:e9:0f:28:b2:d2:ed" ,
"type" : "DSA" ,
"size" : 1024
}
}
],
"comment" : null ,
"product" :{
"id" : "EX40" ,
"name" : "Dedicated Server EX40" ,
"description" :[
"Intel \u 00ae Core \u 2122 i7-4770 Quad-Core Haswell" ,
"32 GB DDR3 RAM" ,
"2 x 2 TB SATA 6 Gb \/ s Enterprise HDD; 7200 rpm(Software-RAID 1)" ,
"1 Gbit \/ s bandwidth"
],
"traffic" : "30 TB" ,
"dist" : "Debian 7.7 minimal" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"location" : "FSN1"
},
"addons" :[
]
}
}
]
Beschreibung
Übersicht über alle Webservice-Bestellungen der letzten 30 Tage
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String)
Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array)
Array mit den gesetzten SSH-Schlüsseln
host_key (Array)
Array mit den Host-Keys des Servers
comment (String)
Kommentar der Bestellung
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (String)
Bestellte Distribution
@deprecated arch (Integer)
Bestellte Architektur
lang (String)
Bestellte Sprache
location (String)
Der bei der Bestellung gewählte Standort
addons (Array)
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Keine Transaktionen gefunden
POST /order/server/transaction
Bestellung eines IPv6-only Servers
curl -u "user:password" https://robot-ws.your-server.de/order/server/transaction \
--data-urlencode 'product_id=EX40' \
--data-urlencode 'dist=Debian 7.7 minimal' \
--data-urlencode 'authorized_key[]=15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb'
{
"transaction" :{
"id" : "B20150121-344958-251479" ,
"date" : "2015-01-21T12:54:01+01:00" ,
"status" : "in process" ,
"server_number" : null ,
"server_ip" : null ,
"authorized_key" :[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256
}
}
],
"host_key" :[
],
"comment" : null ,
"product" :{
"id" : "EX40" ,
"name" : "Dedicated Server EX40" ,
"description" :[
"Intel \u 00ae Core \u 2122 i7-4770 Quad-Core Haswell" ,
"32 GB DDR3 RAM" ,
"2 x 2 TB SATA 6 Gb \/ s Enterprise HDD; 7200 rpm(Software-RAID 1)" ,
"1 Gbit \/ s bandwidth"
],
"traffic" : "30 TB" ,
"dist" : "Debian 7.7 minimal" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"location" : "FSN1"
},
"addons" :[
]
}
}
Bestellung eines Servers mit Primary-IPv4 addon
curl -u "user:password" https://robot-ws.your-server.de/order/server/transaction \
--data-urlencode 'product_id=EX40' \
--data-urlencode 'dist=Debian 7.7 minimal' \
--data-urlencode 'authorized_key[]=15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb' \
--data-urlencode 'addon[]=primary_ipv4'
{
"transaction" :{
"id" : "B20150121-344958-251479" ,
"date" : "2015-01-21T12:54:01+01:00" ,
"status" : "in process" ,
"server_number" : null ,
"server_ip" : null ,
"authorized_key" :[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256
}
}
],
"host_key" :[
],
"comment" : null ,
"product" :{
"id" : "EX40" ,
"name" : "Dedicated Server EX40" ,
"description" :[
"Intel \u 00ae Core \u 2122 i7-4770 Quad-Core Haswell" ,
"32 GB DDR3 RAM" ,
"2 x 2 TB SATA 6 Gb \/ s Enterprise HDD; 7200 rpm(Software-RAID 1)" ,
"1 Gbit \/ s bandwidth"
],
"traffic" : "30 TB" ,
"dist" : "Debian 7.7 minimal" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"location" : "FSN1"
},
"addons" :[
"primary_ipv4"
]
}
}
Beschreibung
Bestellung eines Servers. Wenn die Bestellung erfolgreich abgesetzt wurde, wird der Status 201 CREATED zurückgeliefert.
Limitierung
20 Requests pro Tag
Eingabe
Name
Beschreibung
product_id
Produkt-ID
authorized_key[]
Einer oder mehrere SSH-Schlüssel Fingerprints (optional, es kann entweder der Parameter "authorized_key" oder der Parameter "password" benutzt werden)
password
Root-Passwort (optional, es kann entweder der Parameter "authorized_key" oder der Parameter "password" benutzt werden)
location
Der gewünschte Standort
dist
Distributions-Name (optional)
@deprecated arch
Architektur (optional)
lang
Sprache (optional)
comment
Kommentar (optional); Bitte beachten sie, dass bei gesetztem Kommentar die Bestellung manuell bearbeitet wird.
addon[]
Array von Addon-IDs (optional)
test
Die Bestellung wird nicht bearbeitet, wenn auf "true" gesetzt (optional)
Der Parameter "addon" ist optional. Wenn der Parameter nicht übergeben wird, dann wird der Server standardmäßig ohne IPv4-Adresse ausgeliefert. Wenn Sie einen Server mit IPv4-Adresse bestellen möchten, dann können Sie den Wert "primary_ipv4" übergeben.
Ausgabe
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String)
Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array)
Array mit den gesetzten SSH-Schlüsseln
host_key (Array)
Array mit den Host-Keys des Servers
comment (String)
Kommentar der Bestellung
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (String)
Bestellte Distribution
@deprecated arch (Integer)
Bestellte Architektur
lang (String)
Bestellte Sprache
location (String)
Der bei der Bestellung gewählte Standort
addons (Array)
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
412
PRECONDITION_FAILED
Bestellung kann nicht angenommen werden. Für Details bitte Bestellung im Webinterface erneut erstellen.
500
INTERNAL_ERROR
Die Transaktion konnte aufgrund eines internen Fehlers nicht bearbeitet werden
GET /order/server/transaction/{id} curl -u "user:password" https://robot-ws.your-server.de/order/server/transaction/B20150121-344958-251479
{
"transaction" :{
"id" : "B20150121-344958-251479" ,
"date" : "2015-01-21T12:54:01+01:00" ,
"status" : "ready" ,
"server_number" : 107239 ,
"server_ip" : "188.40.1.1" ,
"authorized_key" :[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256
}
}
],
"host_key" :[
{
"key" :{
"fingerprint" : "c1:e4:08:73:dd:f7:e9:d1:94:ab:e9:0f:28:b2:d2:ed" ,
"type" : "DSA" ,
"size" : 1024
}
}
],
"comment" : null ,
"product" :{
"id" : "EX40" ,
"name" : "Dedicated Server EX40" ,
"description" :[
"Intel \u 00ae Core \u 2122 i7-4770 Quad-Core Haswell" ,
"32 GB DDR3 RAM" ,
"2 x 2 TB SATA 6 Gb \/ s Enterprise HDD; 7200 rpm(Software-RAID 1)" ,
"1 Gbit \/ s bandwidth"
],
"traffic" : "30 TB" ,
"dist" : "Debian 7.7 minimal" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"location" : "FSN1"
},
"addons" :[
"primary_ipv4"
]
}
}
Beschreibung
Abfragen einer bestimmten Transaktion
Limitierung
500 Requests pro 1 Stunde
Ausgabe
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String)
Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array)
Array mit den gesetzten SSH-Schlüsseln
host_key (Array)
Array mit den Host-Keys des Servers
comment (String)
Kommentar der Bestellung
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (String)
Bestellte Distribution
@deprecated arch (Integer)
Bestellte Architektur
lang (String)
Bestellte Sprache
location (String)
Der bei der Bestellung gewählte Standort
addons (Array)
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Transaktion nicht gefunden
GET /order/server_market/product curl -u "user:password" https://robot-ws.your-server.de/order/server_market/product
[
{
"product" :{
"id" : 276112 ,
"name" : "SB34" ,
"description" :[
"AMD Athlon 64 6000+ X2" ,
"4x RAM 2048 MB DDR2" ,
"2x HDD 750 GB SATA" ,
"RAID Controller 2-Port SATA PCI - 3ware 8006-2LP"
],
"traffic" : "20 TB" ,
"dist" :[
"Rescue system"
],
"@deprecated arch" :[
64
],
"lang" :[
"en"
],
"cpu" : "AMD Athlon 64 6000+ X2" ,
"cpu_benchmark" : 1580 ,
"memory_size" : 8 ,
"hdd_size" : 750 ,
"hdd_text" : "ENT.HDD ECC INIC" ,
"hdd_count" : 2 ,
"datacenter" : "NBG1-DC1" ,
"network_speed" : "100 Mbit \/ s" ,
"price" : "28.5700" ,
"price_hourly" : "0.0458" ,
"price_setup" : "0.0000" ,
"price_vat" : "28.5700" ,
"price_hourly_vat" : "0.0458" ,
"price_setup_vat" : "0.0000" ,
"fixed_price" : false ,
"next_reduce" : -87634 ,
"next_reduce_date" : "2018-05-01 12:22:00" ,
"orderable_addons" :[
{
"id" : "primary_ipv4" ,
"name" : "Primary IPv4" ,
"min" : 0 ,
"max" : 1 ,
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
}
]
}
]
}
},
{
"product" :{
"id" : 282323 ,
"name" : "SB109" ,
"description" :[
"Intel Core i7 980x" ,
"6x RAM 4096 MB DDR3" ,
"2x SSD 120 GB SATA" ,
"NIC 1000Mbit PCI - Intel Pro1000GT PWLA8391GT" ,
"RAID Controller 4-Port SATA PCI-E - Adaptec 5405"
],
"traffic" : "20 TB" ,
"dist" :[
"Rescue system"
],
"@deprecated arch" :[
64
],
"lang" :[
"en"
],
"cpu" : "Intel Core i7 980x" ,
"cpu_benchmark" : 8944 ,
"memory_size" : 24 ,
"hdd_size" : 120 ,
"hdd_text" : "ESAS HWR" ,
"hdd_count" : 2 ,
"datacenter" : "FSN1-DC4" ,
"network_speed" : "200 Mbit \/ s" ,
"price" : "91.6000" ,
"price_hourly" : "0.1468" ,
"price_setup" : "0.0000" ,
"price_vat" : "91.6000" ,
"price_hourly_vat" : "0.1468" ,
"price_setup_vat" : "0.0000" ,
"fixed_price" : false ,
"next_reduce" : -10800 ,
"next_reduce_date" : "2018-05-01 12:22:00" ,
"orderable_addons" :[
{
"id" : "primary_ipv4" ,
"name" : "Primary IPv4" ,
"min" : 0 ,
"max" : 1 ,
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
}
]
}
]
}
}
]
Beschreibung
Produktübersicht der derzeit angebotenen Server in der Serverbörse
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
product (Object)
id (Integer)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (Array)
Verfügbare Distributionen
@deprecated arch (Array)
Verfügbare Architekturen
lang (Array)
Verfügbare Sprachen
cpu (String)
CPU-Name
cpu_benchmark (Integer)
CPU-Benchmark-Wert
memory_size (Integer)
Größe des Hauptspeichers in GB
hdd_size (Integer)
Größe der Datenträger in GB
hdd_text (String)
Spezielle Festplatten-Tags
hdd_count (Integer)
Datenträgeranzahl
datacenter (String)
Rechenzentrum
network_speed (String)
Server-Netzwerkgeschwindigkeit
price (String)
Monatlicher Preis in Euro
price_hourly (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (String)
Setup-Gebühr in Euro
price_vat (String)
Monatlicher Preis in Euro mit Steuer
price_hourly_vat (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup_vat (String)
Setup-Gebühr in Euro mit Steuer
fixed_price (Boolean)
Wird auf "true" gesetzt, wenn es sich um einen Festpreis handelt
next_reduce (Integer)
Zeit in Sekunden bis zur nächsten Preisreduzierung
next_reduce_date (String)
Nächstes Preisreduzierungsdatum
orderable_addons (Array)
(Object)
id (String)
Addon-ID
name (String)
Addon-Name
location (String)
Standort
min (Integer)
Minimal bestellbare Menge
max (Integer)
Maximal bestellbare Menge
prices (Array)
(Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Keine Produkte gefunden
GET /order/server_market/product/{product-id} curl -u "user:password" https://robot-ws.your-server.de/order/server_market/product/282323
{
"product" :{
"id" : 282323 ,
"name" : "SB109" ,
"description" :[
"Intel Core i7 980x" ,
"6x RAM 4096 MB DDR3" ,
"2x SSD 120 GB SATA" ,
"NIC 1000Mbit PCI - Intel Pro1000GT PWLA8391GT" ,
"RAID Controller 4-Port SATA PCI-E - Adaptec 5405"
],
"traffic" : "20 TB" ,
"dist" :[
"Rescue system"
],
"@deprecated arch" :[
64
],
"lang" :[
"en"
],
"cpu" : "Intel Core i7 980x" ,
"cpu_benchmark" : 8944 ,
"memory_size" : 24 ,
"hdd_size" : 120 ,
"hdd_text" : "ENT.HDD ECC INIC" ,
"hdd_count" : 2 ,
"datacenter" : "FSN1-DC4" ,
"network_speed" : "100 Mbit \/ s" ,
"price" : "91.6000" ,
"price_hourly" : "0.1468" ,
"price_setup" : "0.0000" ,
"price_vat" : "91.6000" ,
"price_hourly_vat" : "0.1468" ,
"price_setup_vat" : "0.0000" ,
"fixed_price" : false ,
"next_reduce" : -10800 ,
"next_reduce_date" : "2018-05-01 12:22:00" ,
"orderable_addons" :[
{
"id" : "primary_ipv4" ,
"name" : "Primary IPv4" ,
"min" : 0 ,
"max" : 1 ,
"prices" :[
{
"location" : "FSN1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
},
{
"location" : "NBG1" ,
"price" :{
"net" : "1.7000" ,
"gross" : "1.7000" ,
"hourly_net" : "0.0027" ,
"hourly_gross" : "0.0027"
},
"price_setup" :{
"net" : "0.0000" ,
"gross" : "0.0000"
}
}
]
}
]
}
}
Beschreibung
Abfragen eines bestimmten Servers aus der Serverbörse
Limitierung
500 Requests pro 1 Stunde
Ausgabe
product (Object)
id (Integer)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (Array)
Verfügbare Distributionen
@deprecated arch (Array)
Verfügbare Architekturen
lang (Array)
Verfügbare Sprachen
cpu (String)
CPU-Name
cpu_benchmark (Integer)
CPU-Benchmark-Wert
memory_size (Integer)
Größe des Hauptspeichers in GB
hdd_size (Integer)
Größe der Datenträger in GB
hdd_text (String)
Spezielle Festplatten-Tags
hdd_count (Integer)
Datenträgeranzahl
datacenter (String)
Rechenzentrum
network_speed (String)
Server-Netzwerkgeschwindigkeit
price (String)
Monatlicher Preis in Euro
price_hourly (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (String)
Setup-Gebühr in Euro
price_vat (String)
Monatlicher Preis in Euro mit Steuer
price_hourly_vat (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup_vat (String)
Setup-Gebühr in Euro mit Steuer
fixed_price (Boolean)
Wird auf "true" gesetzt, wenn es sich um einen Festpreis handelt
next_reduce (Integer)
Zeit in Sekunden bis zur nächsten Preisreduzierung
next_reduce_date (String)
Nächstes Preisreduzierungsdatum
orderable_addons (Array)
(Object)
id (String)
Addon-ID
name (String)
Addon-Name
location (String)
Standort
min (Integer)
Minimal bestellbare Menge
max (Integer)
Maximal bestellbare Menge
prices (Array)
(Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Produkt nicht gefunden
GET /order/server_market/transaction curl -u "user:password" https://robot-ws.your-server.de/order/server_market/transaction
[
{
"transaction" :{
"id" : "B20150121-344957-251478" ,
"date" : "2015-01-21T12:30:43+01:00" ,
"status" : "in process" ,
"server_number" : null ,
"server_ip" : null ,
"authorized_key" :[
],
"host_key" :[
],
"comment" : null ,
"product" :{
"id" : 283693 ,
"name" : "SB110" ,
"description" :[
"Intel Core i7 980x" ,
"6x RAM 4096 MB DDR3" ,
"2x HDD 1,5 TB SATA" ,
"2x SSD 120 GB SATA"
],
"traffic" : "20 TB" ,
"dist" : "Rescue system" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"cpu" : "Intel Core i7 980x" ,
"cpu_benchmark" : 8944 ,
"memory_size" : 24 ,
"hdd_size" : 1536 ,
"hdd_text" : "ENT.HDD ECC INIC" ,
"hdd_count" : 2 ,
"datacenter" : "FSN1-DC5" ,
"network_speed" : "100 Mbit \/ s" ,
"fixed_price" : true ,
"next_reduce" : 0 ,
"next_reduce_date" : "2018-05-01 12:22:00"
}
}
},
{
"transaction" :{
"id" : "B20150121-344958-251479" ,
"date" : "2015-01-21T12:54:01+01:00" ,
"status" : "ready" ,
"server_number" : 107239 ,
"server_ip" : "188.40.1.1" ,
"authorized_key" :[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256
}
}
],
"host_key" :[
{
"key" :{
"fingerprint" : "c1:e4:08:73:dd:f7:e9:d1:94:ab:e9:0f:28:b2:d2:ed" ,
"type" : "DSA" ,
"size" : 1024
}
}
],
"comment" : null ,
"product" :{
"id" : 277254 ,
"name" : "SB114" ,
"description" :[
"Intel Core i7 950" ,
"6x RAM 2048 MB DDR3" ,
"7x HDD 1,5 TB SATA"
],
"traffic" : "20 TB" ,
"dist" : "Rescue system" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"cpu" : "Intel Core i7 950" ,
"cpu_benchmark" : 5682 ,
"memory_size" : 12 ,
"hdd_size" : 1536 ,
"hdd_text" : "ENT.HDD ECC INIC" ,
"hdd_count" : 7 ,
"datacenter" : "FSN1-DC5" ,
"network_speed" : "100 Mbit \/ s" ,
"fixed_price" : true ,
"next_reduce" : 0 ,
"next_reduce_date" : "2018-05-01 12:22:00"
}
}
}
]
Beschreibung
Übersicht über alle Webservice-Bestellungen der letzten 30 Tage
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String)
Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array)
Array mit den gesetzten SSH-Schlüsseln
host_key (Array)
Array mit den Host-Keys des Servers
comment (String)
Kommentar der Bestellung
product (Object)
id (Integer)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (String)
Bestellte Distribution
@deprecated arch (String)
Bestellte Architektur
lang (String)
Bestellte Sprache
cpu (String)
CPU-Name
cpu_benchmark (Integer)
CPU-Benchmark-Wert
memory_size (Integer)
Größe des Hauptspeichers in GB
hdd_size (Integer)
Größe der Datenträger in GB
hdd_text (String)
Spezielle Festplatten-Tags
hdd_count (Integer)
Datenträgeranzahl
datacenter (String)
Rechenzentrum
network_speed (String)
Server-Netzwerkgeschwindigkeit
fixed_price (Boolean)
true
next_reduce (Integer)
0
next_reduce_date (String)
2018-05-01 12:22:00
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Keine Transaktionen gefunden
POST /order/server_market/transaction
Bestellung eines IPv6-only Servers
curl -u "user:password" https://robot-ws.your-server.de/order/server_market/transaction \
--data-urlencode 'product_id=283693' \
--data-urlencode 'authorized_key[]=15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb'
{
"transaction" :{
"id" : "B20150121-344958-251479" ,
"date" : "2015-01-21T12:54:01+01:00" ,
"status" : "in process" ,
"server_number" : null ,
"server_ip" : null ,
"authorized_key" :[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256
}
}
],
"host_key" :[
],
"comment" : null ,
"product" :{
"id" : 283693 ,
"name" : "SB110" ,
"description" :[
"Intel Core i7 980x" ,
"6x RAM 4096 MB DDR3" ,
"2x HDD 1,5 TB SATA" ,
"2x SSD 120 GB SATA"
],
"traffic" : "20 TB" ,
"dist" : "Rescue system" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"cpu" : "Intel Core i7 980x" ,
"cpu_benchmark" : 8944 ,
"memory_size" : 24 ,
"hdd_size" : 1536 ,
"hdd_text" : "ENT.HDD ECC INIC" ,
"hdd_count" : 2 ,
"datacenter" : "FSN1-DC5" ,
"network_speed" : "100 Mbit \/ s"
},
"addons" :[
]
}
}
Bestellung eines Servers mit Primary-IPv4 addon
curl -u "user:password" https://robot-ws.your-server.de/order/server_market/transaction \
--data-urlencode 'product_id=283693' \
--data-urlencode 'authorized_key[]=15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb' \
--data-urlencode 'addon[]=primary_ipv4'
{
"transaction" :{
"id" : "B20150121-344958-251479" ,
"date" : "2015-01-21T12:54:01+01:00" ,
"status" : "in process" ,
"server_number" : null ,
"server_ip" : null ,
"authorized_key" :[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256
}
}
],
"host_key" :[
],
"comment" : null ,
"product" :{
"id" : 283693 ,
"name" : "SB110" ,
"description" :[
"Intel Core i7 980x" ,
"6x RAM 4096 MB DDR3" ,
"2x HDD 1,5 TB SATA" ,
"2x SSD 120 GB SATA"
],
"traffic" : "20 TB" ,
"dist" : "Rescue system" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"cpu" : "Intel Core i7 980x" ,
"cpu_benchmark" : 8944 ,
"memory_size" : 24 ,
"hdd_size" : 1536 ,
"hdd_text" : "ENT.HDD ECC INIC" ,
"hdd_count" : 2 ,
"datacenter" : "FSN1-DC5" ,
"network_speed" : "100 Mbit \/ s"
},
"addons" :[
"primary_ipv4"
]
}
}
Beschreibung
Bestellung eines Servers aus der Serverbörse. Wenn die Bestellung erfolgreich abgesetzt wurde, wird der Status 201 CREATED zurückgeliefert.
Limitierung
20 Requests pro Tag
Eingabe
Name
Beschreibung
product_id
Produkt-ID
authorized_key[]
Einer oder mehrere SSH-Schlüssel Fingerprints (optional, es kann entweder der Parameter "authorized_key" oder der Parameter "password" benutzt werden)
password
Root-Passwort (optional, es kann entweder der Parameter "authorized_key" oder der Parameter "password" benutzt werden)
dist
Distributions-Name (optional)
@deprecated arch
Architektur (optional)
lang
Sprache (optional)
comment
Kommentar (optional); Bitte beachten sie, dass bei gesetztem Kommentar die Bestellung manuell bearbeitet wird.
addon[]
Array von Addon-IDs (optional)
test
Die Bestellung wird nicht bearbeitet, wenn auf "true" gesetzt (optional)
Der Parameter "addon" ist optional. Wenn der Parameter nicht übergeben wird, dann wird der Server standardmäßig ohne IPv4-Adresse ausgeliefert. Wenn Sie einen Server mit IPv4-Adresse bestellen möchten, dann können Sie den Wert "primary_ipv4" übergeben.
Ausgabe
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String)
Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array)
Array mit den gesetzten SSH-Schlüsseln
host_key (Array)
Array mit den Host-Keys des Servers
comment (String)
Kommentar der Bestellung
product (Object)
id (Integer)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (String)
Bestellte Distribution
@deprecated arch (String)
Bestellte Architektur
lang (String)
Bestellte Sprache
cpu (String)
CPU-Name
cpu_benchmark (Integer)
CPU-Benchmark-Wert
memory_size (Integer)
Größe des Hauptspeichers in GB
hdd_size (Integer)
Größe der Datenträger in GB
hdd_text (String)
Spezielle Festplatten-Tags
hdd_count (Integer)
Datenträgeranzahl
datacenter (String)
Rechenzentrum
network_speed (String)
Server-Netzwerkgeschwindigkeit
addons (Array)
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
412
PRECONDITION_FAILED
Bestellung kann nicht angenommen werden. Für Details bitte Bestellung im Webinterface erneut erstellen.
500
INTERNAL_ERROR
Die Transaktion konnte aufgrund eines internen Fehlers nicht bearbeitet werden
GET /order/server_market/transaction/{id} curl -u "user:password" https://robot-ws.your-server.de/order/server_market/transaction/B20150121-344958-251479
{
"transaction" :{
"id" : "B20150121-344958-251479" ,
"date" : "2015-01-21T12:54:01+01:00" ,
"status" : "in process" ,
"server_number" : null ,
"server_ip" : null ,
"authorized_key" :[
{
"key" :{
"name" : "key1" ,
"fingerprint" : "15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb" ,
"type" : "ED25519" ,
"size" : 256
}
}
],
"host_key" :[
],
"comment" : null ,
"product" :{
"id" : 283693 ,
"name" : "SB110" ,
"description" :[
"Intel Core i7 980x" ,
"6x RAM 4096 MB DDR3" ,
"2x HDD 1,5 TB SATA" ,
"2x SSD 120 GB SATA"
],
"traffic" : "20 TB" ,
"dist" : "Rescue system" ,
"@deprecated arch" : "64" ,
"lang" : "en" ,
"cpu" : "Intel Core i7 980x" ,
"cpu_benchmark" : 8944 ,
"memory_size" : 24 ,
"hdd_size" : 1536 ,
"hdd_text" : "ENT.HDD ECC INIC" ,
"hdd_count" : 2 ,
"datacenter" : "FSN1-DC5" ,
"network_speed" : "100 Mbit \/ s"
},
"addons" :[
"primary_ipv4"
]
}
}
Beschreibung
Abfragen einer bestimmten Transaktion
Limitierung
500 Requests pro 1 Stunde
Ausgabe
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String)
Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array)
Array mit den gesetzten SSH-Schlüsseln
host_key (Array)
Array mit den Host-Keys des Servers
comment (String)
Kommentar der Bestellung
product (Object)
id (Integer)
Produkt-ID
name (String)
Produktname
description (Array)
Textuelle Beschreibung
traffic (String)
Freitraffic
dist (String)
Bestellte Distribution
@deprecated arch (String)
Bestellte Architektur
lang (String)
Bestellte Sprache
cpu (String)
CPU-Name
cpu_benchmark (Integer)
CPU-Benchmark-Wert
memory_size (Integer)
Größe des Hauptspeichers in GB
hdd_size (Integer)
Größe der Datenträger in GB
hdd_text (String)
Spezielle Festplatten-Tags
hdd_count (Integer)
Datenträgeranzahl
datacenter (String)
Rechenzentrum
network_speed (String)
Server-Netzwerkgeschwindigkeit
addons (Array)
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Transaktion nicht gefunden
GET /order/server_addon/{server-number}/product curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/123/product
[
{
"product" :{
"id" : "additional_ipv4" ,
"name" : "Additional IP address" ,
"type" : "ip_ipv4" ,
"price" :{
"location" : "NBG1" ,
"price" :{
"net" : "0.8403" ,
"gross" : "0.8403" ,
"hourly_net" : "0.0014" ,
"hourly_gross" : "0.0014"
},
"price_setup" :{
"net" : "19.0000" ,
"gross" : "19.0000"
}
}
}
},
{
"product" :{
"id" : "subnet_ipv4_29" ,
"name" : "Additional subnet \/ 29 (monthly charge)" ,
"type" : "subnet_ipv4" ,
"price" :{
"location" : "NBG1" ,
"price" :{
"net" : "6.7227" ,
"gross" : "6.7227" ,
"hourly_net" : "0.0108" ,
"hourly_gross" : "0.0108"
},
"price_setup" :{
"net" : "152.0000" ,
"gross" : "152.0000"
}
}
}
}
]
Beschreibung
Produktübersicht der für einen Server angebotenen Addons
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
type (String)
Produkt-Typ
price (Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
GET /order/server_addon/transaction curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/transaction
[
{
"transaction" :{
"id" : "B20220210-1843193-S33055" ,
"date" : "2022-02-10T12:20:11+01:00" ,
"status" : "in process" ,
"server_number" : 123 ,
"product" :{
"id" : "failover_subnet_ipv4_29" ,
"name" : "Failover subnet \/ 29" ,
"price" :{
"location" : "NBG1" ,
"price" :{
"net" : "15.1261" ,
"gross" : "15.1261" ,
"hourly_net" : "0.0242" ,
"hourly_gross" : "0.0242"
},
"price_setup" :{
"net" : "152.0000" ,
"gross" : "152.0000"
}
}
},
"resources" :[
]
}
},
{
"transaction" :{
"id" : "B20220210-1843192-S33051" ,
"date" : "2022-02-10T11:20:13+01:00" ,
"status" : "ready" ,
"server_number" : 123 ,
"product" :{
"id" : "failover_subnet_ipv4_29" ,
"name" : "Failover subnet \/ 29" ,
"price" :{
"location" : "NBG1" ,
"price" :{
"net" : "15.1261" ,
"gross" : "15.1261" ,
"hourly_net" : "0.0242" ,
"hourly_gross" : "0.0242"
},
"price_setup" :{
"net" : "152.0000" ,
"gross" : "152.0000"
}
}
},
"resources" :[
{
"type" : "subnet" ,
"id" : "10.0.0.0"
}
]
}
}
]
Beschreibung
Übersicht über alle Addon-Bestellungen der letzten 30 Tage
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
ID des Servers
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
type (String)
Produkt-Typ
price (Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
resources (Array)
(Object)
type
Art der Ressource
id
ID der Ressource
POST /order/server_addon/transaction
Eine zusätzliche Einzel-IP-Adresse für Server 123 bestellen
curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/transaction \
--data-urlencode 'server_number=123' \
--data-urlencode 'reason=VPS' \
--data-urlencode 'product_id=additional_ipv4'
{
"transaction" :{
"id" : "B20220210-1843193-S33055" ,
"date" : "2022-02-10T12:20:11+01:00" ,
"status" : "in process" ,
"server_number" : 123 ,
"product" :{
"id" : "additional_ipv4" ,
"name" : "Additional IP address" ,
"type" : "ip_ipv4" ,
"price" :{
"location" : "NBG1" ,
"price" :{
"net" : "0.8403" ,
"gross" : "0.8403" ,
"hourly_net" : "0.0014" ,
"hourly_gross" : "0.0014"
},
"price_setup" :{
"net" : "19.0000" ,
"gross" : "19.0000"
}
}
},
"resources" :[
]
}
}
Ein /29 Subnetz für Server 123 bestellen und Route auf Zusatz-IP 10.0.0.1 setzen
curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/transaction \
--data-urlencode 'server_number=123' \
--data-urlencode 'product_id=additional_ipv4' \
--data-urlencode 'reason=VPS' \
--data-urlencode 'gateway=10.0.0.1'
{
"transaction" :{
"id" : "B20220210-1843193-S33055" ,
"date" : "2022-02-10T12:20:11+01:00" ,
"status" : "in process" ,
"server_number" : 123 ,
"product" :{
"id" : "subnet_ipv4_29" ,
"name" : "Additional subnet \/ 29 (monthly charge)" ,
"type" : "subnet_ipv4" ,
"price" :{
"location" : "NBG1" ,
"price" :{
"net" : "6.7227" ,
"gross" : "6.7227" ,
"hourly_net" : "0.0108" ,
"hourly_gross" : "0.0108"
},
"price_setup" :{
"net" : "152.0000" ,
"gross" : "152.0000"
}
}
},
"resources" :[
]
}
}
Beschreibung
Ein Addon zu einem Server bestellen. Wenn die Bestellung erfolgreich abgesetzt wurde, wird der Status 201 CREATED zurückgeliefert.
Limitierung
20 Requests pro Tag
Eingabe
Name
Beschreibung
product_id
Produkt-ID
server_number
ID des Servers
reason
Grund für RIPE: obligatorisch für die Addon-Typen "ip_ipv4", "subnet_ipv4" und "failover_subnet_ipv4"
gateway
Routing-Ziel für Subnetze: Nutzbar für den Addon-Typ "subnet_ipv4" (Optional: Standard-Ziel ist die Primäre-IP-Adresse des Servers)
test
Die Bestellung wird nicht bearbeitet, wenn auf "true" gesetzt (optional)
Der Parameter "gateway" ist optional. Wenn der Parameter nicht angegeben wird, wird das bestellte Subnetz an die primäre IP-Adresse des Servers weitergeleitet. Für den Addon-Typ "subnet_ipv4" können Sie eine der zusätzlichen IPv4-Adressen des Servers verwenden.
Ausgabe
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
ID des Servers
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
type (String)
Produkt-Typ
price (Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
resources (Array)
(Object)
type
Art der Ressource
id
ID der Ressource
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
409
CONFLICT
Die Transaktion kann aus dem in der Fehlermeldung genannten Grund nicht bearbeitet werden
412
PRECONDITION_FAILED
Bestellung kann nicht angenommen werden. Für Details bitte Bestellung im Webinterface erneut erstellen.
500
INTERNAL_ERROR
Die Transaktion konnte aufgrund eines internen Fehlers nicht bearbeitet werden
GET /order/server_addon/transaction/{id} curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/transaction/B20220210-1843193-S33055
{
"transaction" :{
"id" : "B20220210-1843193-S33055" ,
"date" : "2022-02-10T12:20:11+01:00" ,
"status" : "in process" ,
"server_number" : 123 ,
"product" :{
"id" : "failover_subnet_ipv4_29" ,
"name" : "Failover subnet \/ 29" ,
"price" :{
"location" : "NBG1" ,
"price" :{
"net" : "15.1261" ,
"gross" : "15.1261" ,
"hourly_net" : "0.0242" ,
"hourly_gross" : "0.0242"
},
"price_setup" :{
"net" : "152.0000" ,
"gross" : "152.0000"
}
}
},
"resources" :[
]
}
}
Beschreibung
Abfragen einer bestimmten Transaktion
Limitierung
500 Requests pro 1 Stunde
Ausgabe
transaction (Object)
id (String)
Transaktions-ID
date (String)
Transaktions-Datum
status (String)
Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer)
ID des Servers
product (Object)
id (String)
Produkt-ID
name (String)
Produktname
type (String)
Produkt-Typ
price (Object)
location (String)
Standort
price (Object)
net (String)
Monatlicher Preis in Euro
gross (String)
Monatlicher Preis in Euro mit Steuer
hourly_net (String)
Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String)
Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String)
Setup-Gebühr in Euro
gross (String)
Setup-Gebühr in Euro mit Steuer
resources (Array)
(Object)
type (String)
Art der Ressource
id (String)
ID der Ressource
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Transaktion nicht gefunden
GET /order/currency curl -u "user:password" https://robot-ws.your-server.de/order/currency
Beschreibung
Abfragen der Währung des Accounts
Limitierung
500 Requests pro 1 Stunde
Ausgabe
currency (String)
Währungscode
Storage Box GET /storagebox curl -u "user:password" https://robot-ws.your-server.de/storagebox
[
{
"storagebox" :{
"id" : 123456 ,
"login" : "u12345" ,
"name" : "Backup Server 1" ,
"product" : "BX60" ,
"cancelled" : false ,
"locked" : false ,
"location" : "FSN1" ,
"linked_server" : 123456 ,
"paid_until" : "2015-10-23"
}
}
]
curl -u "user:password" https://robot-ws.your-server.de/storagebox -d linked_server = 123456
{
"storagebox" :{
"id" : 123456 ,
"login" : "u12345" ,
"name" : "Backup Server 1" ,
"product" : "BX60" ,
"cancelled" : false ,
"locked" : false ,
"location" : "FSN1" ,
"linked_server" : 123456 ,
"paid_until" : "2015-10-23"
}
}
Beschreibung
Abfragen aller Storage Boxes
Limitierung
200 Requests pro 1 Stunde
Filter
Name
Beschreibung
linked_server
ID des zugehörigen Servers
Ausgabe
(Array)
storagebox (Object)
id (Integer)
ID der Storage Box
login (String)
Login
name (String)
Name der Storage Box
product (String)
Produktname
cancelled (Boolean)
Zeigt an, ob die Storage Box zur Kündigung vorgemerkt ist
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
location (String)
Standort des Storage Box Hosts
linked_server (Integer)
ID des verbundenen Servers
paid_until (String)
Bezahlt-bis Datum
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Keine Storage-Boxes gefunden
GET /storagebox/{storagebox-id} curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456
{
"storagebox" :{
"id" : 123456 ,
"login" : "u12345" ,
"name" : "Backup Server 1" ,
"product" : "BX60" ,
"cancelled" : false ,
"locked" : false ,
"location" : "FSN1" ,
"linked_server" : 123456 ,
"paid_until" : "2015-10-23" ,
"disk_quota" : 10240000 ,
"disk_usage" : 900 ,
"disk_usage_data" : 500 ,
"disk_usage_snapshots" : 400 ,
"webdav" : true ,
"samba" : true ,
"ssh" : true ,
"external_reachability" : true ,
"zfs" : false ,
"server" : "u12345.your-storagebox.de" ,
"host_system" : "FSN1-BX355"
}
}
Beschreibung
Abfragen der Daten für eine bestimmte Storage Box
Limitierung
200 Requests pro 1 Stunde
Ausgabe
storagebox (Object)
id (Integer)
ID der Storage Box
login (String)
Login
name (String)
Name der Storage Box
product (String)
Produktname
cancelled (Boolean)
Zeigt an, ob die Storage Box zur Kündigung vorgemerkt ist
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
location (String)
Standort des Storage Box Hosts
linked_server (Integer)
ID des verbundenen Servers
paid_until (String)
Bezahlt-bis Datum
disk_quota (Integer)
Gesammtspeicherplatz in MB
disk_usage (Integer)
Benutzer Speicherplatz in MB
disk_usage_data (Integer)
Von Dateien benutzer Speicherplatz in MB
disk_usage_snapshots (Integer)
Von Snapshots benutzer Speicherplatz in MB
webdav (Boolean)
Zeigt an, ob WebDAV aktiviert ist
samba (Boolean)
Zeigt an, ob Samba aktiviert ist
ssh (Boolean)
Zeigt an, ob SSH-Support aktiviert ist
external_reachability (Boolean)
Zeigt an, ob externe Erreichbarkeit aktiviert ist
zfs (Boolean)
Zeigt an, ob das ZFS Verzeichnis sichtbar ist
server (String)
Server der Storage Box
host_system (String)
Identifier des Storage Box Hosts
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
POST /storagebox/{storagebox-id} curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456 -d storagebox_name = backup1
{
"storagebox" :{
"id" : 123456 ,
"login" : "u12345" ,
"name" : "Backup Server 1" ,
"product" : "BX60" ,
"cancelled" : false ,
"locked" : false ,
"location" : "FSN1" ,
"linked_server" : 123456 ,
"paid_until" : "2015-10-23" ,
"disk_quota" : 10240000 ,
"disk_usage" : 900 ,
"disk_usage_data" : 500 ,
"disk_usage_snapshots" : 400 ,
"webdav" : true ,
"samba" : true ,
"ssh" : true ,
"external_reachability" : true ,
"zfs" : false ,
"server" : "u12345.your-storagebox.de" ,
"host_system" : "FSN1-BX355"
}
}
Beschreibung
Anpassen einer bestimmten Storage Box
Limitierung
1 Request pro 5 Sekunden
Eingabe
Name
Beschreibung
storagebox_name
Name der Storage Box
samba
Zeigt an, ob Samba aktiviert ist
webdav
Zeigt an, ob WebDAV aktiviert ist
ssh
Zeigt an, ob SSH-Support aktiviert ist
external_reachability
Zeigt an, ob externe Erreichbarkeit aktiviert ist
zfs
Zeigt an, ob das ZFS Verzeichnis sichtbar ist
Ausgabe
storagebox (Object)
id (Integer)
ID der Storage Box
login (String)
Login
name (String)
Name der Storage Box
product (String)
Produktname
cancelled (Boolean)
Zeigt an, ob die Storage Box zur Kündigung vorgemerkt ist
locked (Boolean)
Zeigt an, ob die IP gesperrt ist
location (String)
Standort des Storage Box Hosts
linked_server (Integer)
ID des verbundenen Servers
paid_until (String)
Bezahlt-bis Datum
disk_quota (Integer)
Gesammtspeicherplatz in MB
disk_usage (Integer)
Benutzer Speicherplatz in MB
disk_usage_data (Integer)
Von Dateien benutzer Speicherplatz in MB
disk_usage_snapshots (Integer)
Von Snapshots benutzer Speicherplatz in MB
webdav (Boolean)
Zeigt an, ob WebDAV aktiviert ist
samba (Boolean)
Zeigt an, ob Samba aktiviert ist
ssh (Boolean)
Zeigt an, ob SSH-Support aktiviert ist
external_reachability (Boolean)
Zeigt an, ob externe Erreichbarkeit aktiviert ist
zfs (Boolean)
Zeigt an, ob das ZFS Verzeichnis sichtbar ist
server (String)
Server der Storage Box
host_system (String)
Identifier des Storage Box Hosts
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
POST /storagebox/{storagebox-id}/password
Ein zufälliges Passwort generieren
curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/password -X POST
{
"password" : "h1cgLgZYJsyGl0JK"
}
Ein eigenes Passwort angeben
curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/password -d password = TVUlzspV3YhfSJch
{
"password" : "TVUlzspV3YhfSJch"
}
Beschreibung
Passwort der Storage Box zurücksetzen.
Standardmäßig wird ein Zufallspasswort erstellt. Sie können jedoch optional auch ein eigenes Passwort angeben. Bitte stellen Sie sicher, dass das gewählte Passwort unseren Richtlinien entspricht:
Das Passwort muss zwischen 8 und 128 Zeichen enthalten
Das Passwort darf nur folgende Zeichen enthalten: a-z A-Z 0-9 ! ? . = + % # _ * ~ & $ ( ) / [ ] { } -
Das Passwort muss mindestens einen Großbuchstaben, einen Kleinbuchstaben und entweder eine Zahl oder ein Sonderzeichen enthalten
Limitierung
1 Request pro 5 Sekunden
Eingabe
Name
Beschreibung
password (String / null)
Das Passwort, das hinterlegt werden soll. Robot generiert ein Zufallspasswort, wenn der Parameter nicht übergeben wird
Ausgabe
password (String)
Aktualisiertes Passwort der Storage Box
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
409
STORAGEBOX_INVALID_PASSWORD
Das gewählte Passwort wurde als unsicher eingestuft oder entspricht nicht unseren Passwortrichtlinien
GET /storagebox/{storagebox-id}/snapshot curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot
[
{
"snapshot" :{
"name" : "2015-12-21T12-40-38" ,
"timestamp" : "2015-12-21T13:40:38+00:00" ,
"size" : 400 ,
"filesystem_size" : 12345 ,
"automatic" : false ,
"comment" : "Test-Snapshot"
}
}
]
Beschreibung
Alle Snapshots für eine bestimmte Storage Box abfragen
Limitierung
200 Requests pro 1 Stunde
Ausgabe
(Array)
snapshot (Object)
name (String)
Snapshot Name
timestamp (String)
Zeitpunkt des Snapshots in UTC
size (Integer)
Snapshotgröße in MB
filesystem_size (Integer)
Größe der Storage Box zum Zeitpunkt der Erstellung des Snapshots in MB
automatic (Boolean)
Wahr wenn der Snapshot automatisch erstellt wurde
comment (String)
Kommentar für den Snapshot
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
POST /storagebox/{storagebox-id}/snapshot curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot -X POST
{
"snapshot" :{
"name" : "2015-12-21T13-13-03" ,
"timestamp" : "2015-12-21T13:13:03+00:00" ,
"size" : 400
}
}
Beschreibung
Einen Snapshot von eine bestimmte Storage Box erstellen
Limitierung
1 Request pro 5 Sekunden
Ausgabe
snapshot (Object)
name (String)
Snapshot Name
timestamp (String)
Zeitpunkt des Snapshots in UTC
size (Integer)
Snapshotgröße in MB
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
409
SNAPSHOT_LIMIT_EXCEEDED
Maximale Snapshotanzahl erreicht
DELETE /storagebox/{storagebox-id}/snapshot/{snapshot-name} curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot/2015-12-21T13-13-03 \
-X DELETE
Beschreibung
Snapshot löschen
Limitierung
1 Request pro 5 Sekunden
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
404
SNAPSHOT_NOT_FOUND
Snapshot mit name {snapshot-name} nicht gefunden
POST /storagebox/{storagebox-id}/snapshot/{snapshot-name} curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot/2015-12-21T13-13-03 \
-d revert = true
Beschreibung
Snapshot wiederherstellen
Limitierung
1 Request pro 5 Sekunden
Eingabe
Name
Beschreibung
revert
Muss auf "true" gesetzt werden um den Snapshot wiederherzustellen
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
404
SNAPSHOT_NOT_FOUND
Snapshot mit name {snapshot-name} nicht gefunden
curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot/2015-12-21T13-13-03/comment -X POST
Beschreibung
Kommentar für den Snapshot setzen
Limitierung
1 Request pro 5 Sekunden
Eingabe
Name
Beschreibung
comment
Kommentar für den Snapshot
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
404
SNAPSHOT_NOT_FOUND
Snapshot mit name {snapshot-name} nicht gefunden
GET /storagebox/{storagebox-id}/snapshotplan curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshotplan
[
{
"snapshotplan" :{
"status" : "enabled" ,
"minute" : 5 ,
"hour" : 12 ,
"day_of_week" : 2 ,
"day_of_month" : null ,
"month" : null ,
"max_snapshots" : 2
}
}
]
Beschreibung
Abfragen der Daten der automatischen Snapshots
Limitierung
200 Requests pro 1 Stunde
Ausgabe
(Array)
storagebox (Object)
status (String)
Status der automatischen Snapshots
minute (Integer / null)
Minute oder nichts wenn die automatischen Snapshots deaktiviert sind
hour (Integer / null)
Stunde oder nichts wenn die automatischen Snapshots deaktiviert sind
day_of_week (Integer / null)
Wochentag oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1 = Montag, ... , 7 = Sonntag)
day_of_month (Integer / null)
Tag oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1 = Erster Tag im Monat)
month (Integer / null)
Monat oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1= Januar)
max_snapshots (Integer)
Maximale Anzahl der automatischen Snapshots
Alle Datums- und Zeitangaben erfolgen in UTC
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
POST /storagebox/{storagebox-id}/snapshotplan curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot/2015-12-21T13-13-03/comment -d status = enabled -d hour = 7 -d minute = 19
[
{
"snapshotplan" :{
"status" : "enabled" ,
"minute" : 5 ,
"hour" : 12 ,
"day_of_week" : 2 ,
"day_of_month" : null ,
"month" : null ,
"max_snapshots" : 2
}
}
]
Beschreibung
Daten der automatischen Snapshots ändern
Limitierung
1 Request pro 5 Sekunden
Eingabe
status
Neuer status der automatischen Snapshots
minute
Minute der Ausführung. Wird nur beötigt wenn die automatischen Snapshots aktiviert sind.
hour
Stunde der Ausführung. Wird nur beötigt wenn die automatischen Snapshots aktiviert sind.
day_of_week
Wochentag der Ausführung (1 = Montag, ... , 7 = Sonntag)
day_of_month
Tag der Ausführung (1 = Erster Tag im Monat)
month
Monat der Ausführung (1= Januar)
max_snapshots
Maximale Anzahl der automatischen Snapshots
Alle Datums- und Zeitangaben erfolgen in UTC
Ausgabe
(Array)
storagebox (Object)
status (String)
Status der automatischen Snapshots
minute (Integer / null)
Minute oder nichts wenn die automatischen Snapshots deaktiviert sind
hour (Integer / null)
Stunde oder nichts wenn die automatischen Snapshots deaktiviert sind
day_of_week (Integer / null)
Wochentag oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1 = Montag, ... , 7 = Sonntag)
day_of_month (Integer / null)
Tag oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1 = Erster Tag im Monat)
month (Integer / null)
Monat oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1= Januar)
max_snapshots (Integer)
Maximale Anzahl der automatischen Snapshots
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
GET /storagebox/{storagebox-id}/subaccount curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/subaccount
[
{
"subaccount" :{
"username" : "u2342-sub1" ,
"accountid" : "u2342" ,
"server" : "u12345-sub1.your-storagebox.de" ,
"homedirectory" : "test" ,
"samba" : true ,
"ssh" : true ,
"external_reachability" : true ,
"webdav" : false ,
"readonly" : false ,
"createtime" : "2017-05-24 13:16:45" ,
"comment" : "Test-comment"
}
}
]
Beschreibung
Abfragen aller Sub-Accounts für eine Storage Box
Limitierung
200 Requests pro 1 Stunde
Ausgabe
(Array)
subaccount (Object)
username (String)
Benutzername des Sub-Accounts
accountid (String)
Nutzername des Hauptbenutzers
server (String)
Server der Storage Box
homedirectory (String)
Heimatverzeichniss des Sub-Accounts
samba (Boolean)
Zeigt an, ob Samba aktiviert ist
ssh (Boolean)
Zeigt an, ob SSH-Support aktiviert ist
external_reachability (Boolean)
Zeigt an, ob externe Erreichbarkeit aktiviert ist
webdav (Boolean)
Zeigt an, ob WebDAV aktiviert ist
readonly (Boolean)
Zeigt an, ob der Sub-Account schreibgeschützt ist
createtime (String)
Zeitpunkt wann der Sub-Account erstellt wurde
comment (String)
Kommentar für den Sub-Account
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
POST /storagebox/{storagebox-id}/subaccount curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/subaccount -d homedirectory = test
{
"subaccount" :{
"username" : "u2342-sub1" ,
"password" : "as7udhaisudbasd" ,
"accountid" : "u2342" ,
"server" : "u12345-sub1.your-storagebox.de" ,
"homedirectory" : "test"
}
}
Beschreibung
Sub-Account erstellen.
Standardmäßig wird ein Zufallspasswort erstellt. Sie können jedoch optional auch ein eigenes Passwort angeben. Bitte stellen Sie sicher, dass das gewählte Passwort unseren Richtlinien entspricht:
Das Passwort muss zwischen 8 und 128 Zeichen enthalten
Das Passwort darf nur folgende Zeichen enthalten: a-z A-Z 0-9 ! ? . = + % # _ * ~ & $ ( ) / [ ] { } -
Das Passwort muss mindestens einen Großbuchstaben, einen Kleinbuchstaben und entweder eine Zahl oder ein Sonderzeichen enthalten
Limitierung
1 Request pro 5 Sekunden
Eingabe
Name
Beschreibung
homedirectory
Heimatverzeichniss des Sub-Accounts
samba
Zeigt an, ob Samba aktiviert ist
ssh
Zeigt an, ob SSH-Support aktiviert ist
external_reachability
Zeigt an, ob externe Erreichbarkeit aktiviert ist
webdav
Zeigt an, ob WebDAV aktiviert ist
readonly
Zeigt an, ob der Sub-Account schreibgeschützt ist
comment
Komentar
password (String / null)
Das Passwort, das hinterlegt werden soll. Robot generiert ein Zufallspasswort, wenn der Parameter nicht übergeben wird
Ausgabe
subaccount (Object)
username (String)
Benutzername des Sub-Accounts
password (String)
Passwort des Sub-Account
accountid (String)
Nutzername des Hauptbenutzers
server (String)
Server der Storage Box
homedirectory (String)
Heimatverzeichniss des Sub-Accounts
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
409
STORAGEBOX_SUBACCOUNT_LIMIT_EXCEEDED
Sub-Account limit erreicht
409
STORAGEBOX_INVALID_PASSWORD
Das gewählte Passwort wurde als unsicher eingestuft oder entspricht nicht unseren Passwortrichtlinien
PUT /storagebox/{storagebox-id}/subaccount/{sub-account-username} curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/subaccount/u2342-sub1 -X PUT -d homedirectory = test
Beschreibung
Sub-Account bearbeiten
Limitierung
1 Request pro 5 Sekunden
Eingabe
Name
Beschreibung
homedirectory
Heimatverzeichniss des Sub-Accounts
samba
Zeigt an, ob Samba aktiviert ist
ssh
Zeigt an, ob SSH-Support aktiviert ist
external_reachability
Zeigt an, ob externe Erreichbarkeit aktiviert ist
webdav
Zeigt an, ob WebDAV aktiviert ist
readonly
Zeigt an, ob der Sub-Account schreibgeschützt ist
comment
Komentar
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
DELETE /storagebox/{storagebox-id}/subaccount/{sub-account-username} curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/subaccount/u2342-sub2 \
-X DELETE
Beschreibung
Sub-Account löschen
Limitierung
1 Request pro 5 Sekunden
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
404
STORAGEBOX_SUBACCOUNT_NOT_FOUND
Sub-Account nicht gefunden
POST /storagebox/{storagebox-id}/subaccount/{sub-account-username}/password
Ein zufälliges Passwort generieren
curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/subaccount/u2342-sub2/password -X POST
{
"password" : "h1cgLgZYJsyGl0JK"
}
Ein eigenes Passwort angeben
curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/subaccount/u2342-sub2/password -d password = TVUlzspV3YhfSJch
{
"password" : "TVUlzspV3YhfSJch"
}
Beschreibung
Passwort des Sub-Accounts zurücksetzen.
Standardmäßig wird ein Zufallspasswort erstellt. Sie können jedoch optional auch ein eigenes Passwort angeben. Bitte stellen Sie sicher, dass das gewählte Passwort unseren Richtlinien entspricht:
Das Passwort muss zwischen 8 und 128 Zeichen enthalten
Das Passwort darf nur folgende Zeichen enthalten: a-z A-Z 0-9 ! ? . = + % # _ * ~ & $ ( ) / [ ] { } -
Das Passwort muss mindestens einen Großbuchstaben, einen Kleinbuchstaben und entweder eine Zahl oder ein Sonderzeichen enthalten
Limitierung
1 Request pro 5 Sekunden
Eingabe
Name
Beschreibung
password (String / null)
Das Passwort, das hinterlegt werden soll. Robot generiert ein Zufallspasswort, wenn der Parameter nicht übergeben wird
Ausgabe
password (String)
Aktualisiertes Passwort der Storage Box
Fehler
Status
Code
Beschreibung
404
STORAGEBOX_NOT_FOUND
Storage Box mit der ID {storagebox-id} wurde nicht gefunden
404
STORAGEBOX_SUBACCOUNT_NOT_FOUND
Sub-Account nicht gefunden
409
STORAGEBOX_INVALID_PASSWORD
Das gewählte Passwort wurde als unsicher eingestuft oder entspricht nicht unseren Passwortrichtlinien
Firewall GET /firewall/{server-id} curl -u "user:password" https://robot-ws.your-server.de/firewall/321
{
"firewall" :{
"server_ip" : "123.123.123.123" ,
"server_number" : 321 ,
"status" : "active" ,
"filter_ipv6" : false ,
"whitelist_hos" : true ,
"port" : "main" ,
"rules" :{
"input" :{
"0" :{
"ip_version" : "ipv4" ,
"name" : "rule 1" ,
"dst_ip" : null ,
"src_ip" : "1.1.1.1" ,
"dst_port" : "80" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
},
"output" :[
{
"ip_version" : null ,
"name" : "Allow all" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : null ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
}
]
}
}
}
}
Beschreibung
Die Firewall-Konfiguration eines Servers abrufen
Limitierung
500 Requests pro 1 Stunde
Ausgabe
firewall (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_number (Integer)
ID des Servers
status (String)
Status der Firewall
filter_ipv6 (Boolean)
Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean)
Zeigt an, ob die Hetzner-Services freigeschaltet sind
port (String)
Switch-Port der Firewall ('main' or 'kvm')
rules (Object)
input (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Server mit ID {server-id} nicht gefunden
404
FIREWALL_PORT_NOT_FOUND
Switch-Port nicht gefunden
404
FIREWALL_NOT_AVAILABLE
Die Firewall-Konfiguration ist für diesen Server nicht verfügbar
Deprecations
@deprecated GET /firewall/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
POST /firewall/{server-id}
Vor dem Encoding:
rules[input][0][name]= rule 1 ( v4) &
rules[input][0][ip_version]= ipv4&
rules[input][0][src_ip]= 1.1.1.1&
rules[input][0][dst_port]= 80&
rules[input][0][action]= accept&
rules[input][1][name]= Allow MySQL&
rules[input][1][ip_version]= ipv4&
rules[input][1][dst_port]= 3306&
rules[input][1][action]= accept&
rules[output][0][name]= Allow all&
rules[output][0][ip_version]= ipv4&
rules[output][0][action]= accept
Nach dem Encoding:
rules%5Binput%5D%5B0%5D%5Bip_version%5D= ipv4&
rules%5Binput%5D%5B0%5D%5Bname%5D= rule+1+%28v4%29&
rules%5Binput%5D%5B0%5D%5Bsrc_ip%5D= 1.1.1.1&
rules%5Binput%5D%5B0%5D%5Bdst_port%5D= 80&
rules%5Binput%5D%5B0%5D%5Baction%5D= accept&
rules%5Binput%5D%5B1%5D%5Bip_version%5D= ipv4&
rules%5Binput%5D%5B1%5D%5Bname%5D= Allow+MySQL&
rules%5Binput%5D%5B1%5D%5Bdst_port%5D= 3306&
rules%5Binput%5D%5B1%5D%5Baction%5D= accept
rules%5Boutput%5D%5B0%5D%5Bname%5D%3DAllow+all%26%0A
rules%5Boutput%5D%5B0%5D%5Bip_version%5D%3Dipv4%26%0A
rules%5Boutput%5D%5B0%5D%5Baction%5D%3Daccept
curl -u "user:password" https://robot-ws.your-server.de/firewall/321 \
--data-urlencode 'status=active' \
--data-urlencode 'whitelist_hos=true' \
--data-urlencode 'rules[input][0][name]=rule 1' \
--data-urlencode 'rules[input][0][ip_version]=ipv4' \
--data-urlencode 'rules[input][0][src_ip]=1.1.1.1' \
--data-urlencode 'rules[input][0][dst_port]=80' \
--data-urlencode 'rules[input][0][action]=accept' \
--data-urlencode 'rules[input][1][name]=Allow MySQL' \
--data-urlencode 'rules[input][1][ip_version]=ipv4' \
--data-urlencode 'rules[input][1][dst_port]=3306' \
--data-urlencode 'rules[input][1][action]=accept' \
--data-urlencode 'rules[output][0][name]=Allow all' \
--data-urlencode 'rules[output][0][action]=accept'
{
"firewall" :{
"server_ip" : "123.123.123.123" ,
"server_number" : 321 ,
"status" : "in process" ,
"filter_ipv6" : false ,
"whitelist_hos" : true ,
"port" : "main" ,
"rules" :{
"input" :[
{
"ip_version" : "ipv4" ,
"name" : "rule 1" ,
"dst_ip" : null ,
"src_ip" : "1.1.1.1" ,
"dst_port" : "80" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
},
{
"ip_version" : "ipv4" ,
"name" : "Allow MySQL" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : "3306" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
}
],
"output" :[
{
"ip_version" : null ,
"name" : "Allow all" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : null ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
}
]
}
}
}
Beschreibung
Eine Firewall-Konfiguration anlegen
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
status
Status der Firewall ändern ('active' oder 'disabled')
filter_ipv6
Aktivieren oder Deaktivieren des IPv6-Filters ('true' oder 'false', optional)
whitelist_hos
Whitelisting der Hetzner-Services aktivieren oder deaktivieren ('true' oder 'false')
rules
Firewall-Regeln
template_id
Template-ID (nicht kombinierbar mit whitelist_hos und rules)
Regel-Daten
Name
Beschreibung
name
Name der Regel
ip_version
IP-Version ('ipv4', 'ipv6')
dst_ip
Ziel-IPv4-Adresse (nur verwendbar in Kombination mit ip_version 'ipv4')
src_ip
Quell-IPv4-Adresse (nur verwendbar in Kombination mit ip_version 'ipv4')
dst_port
Ziel TCP/UDP Port
src_port
Quell TCP/UDP Port
protocol
Protokoll ('tcp', 'udp', 'gre', 'icmp', 'ipip', 'ah', 'esp')
tcp_flags
TCP-Flags
action
Action ('discard', 'accept')
Alle Regel-Daten außer 'action' sind optional
Fehlende Felder haben den Wert 'null' und gelten als Wildcard.
Der Parameter 'rules' muss ein Array mit folgender Struktur sein:
rules[{direction}][{rule index}][{rule field}]={rule field data}
Die Richtung kann als "input" angegeben werden, um eingehende Pakete zu filtern, und als "output", um ausgehende Pakete zu filtern.
Bitte beachten Sie, dass alle Daten als "application / x-www-form-urlencoded" codiert werden müssen.
Einschränkungen IPv6
Es ist nicht möglich, das Protokoll ICMPv6 zu filtern. ICMPv6 Traffic vom und zum Server ist immer erlaubt
Bei Regeln mit IP-Version IPv6 oder keiner Angabe der IP-Version kann nicht auf Ziel- und Quell-IP-Adresse gefiltert werden
Ohne Angabe der IP-Version kann nicht auf ein bestimmtes Protokoll gefiltert werden
Ausgabe
firewall (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_number (Integer)
ID des Servers
status (String)
Status der Firewall
filter_ipv6 (Boolean)
Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean)
Zeigt an, ob die Hetzner-Services freigeschaltet sind
port (String)
Switch-Port der Firewall ('main' or 'kvm')
rules (Object)
input (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard', Pflichtfeld)
output (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard', Pflichtfeld)
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Server mit ID {server-id} nicht gefunden
404
FIREWALL_PORT_NOT_FOUND
Switch-Port nicht gefunden
404
FIREWALL_NOT_AVAILABLE
Die Firewall-Konfiguration ist für diesen Server nicht verfügbar
404
FIREWALL_TEMPLATE_NOT_FOUND
Template mit ID {template_id} nicht gefunden
409
FIREWALL_IN_PROCESS
Die Firewall kann nicht aktualisiert werden, da ein Update ausgeführt wird.
409
FIREWALL_RULE_LIMIT_EXCEEDED
Das Limit an Regeln der Firewall ist überschritten
409
FIREWALL_CANNOT_BE_DISABLED
Die Firewall kann nicht deaktivert werden, da interne Regeln gesetzt sind
Deprecations
@deprecated POST /firewall/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
DELETE /firewall/{server-id} curl -u "user:password" https://robot-ws.your-server.de/firewall/321 -X DELETE
{
"firewall" :{
"server_ip" : "123.123.123.123" ,
"server_number" : 321 ,
"status" : "in process" ,
"filter_ipv6" : false ,
"whitelist_hos" : true ,
"port" : "main" ,
"rules" :{
}
}
}
Beschreibung
Löschen der Firewall-Konfiguration
Limitierung
500 Requests pro 1 Stunde
Eingabe
Keine Eingabe
Ausgabe
firewall (Object)
server_ip (String)
Haupt-IP-Adresse des Servers
server_number (Integer)
ID des Servers
status (String)
Status der Firewall
filter_ipv6 (Boolean)
Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean)
Zeigt an, ob die Hetzner-Services freigeschaltet sind
port (String)
Switch-Port der Firewall ('main' or 'kvm')
rules (Object)
input (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
Fehler
Status
Code
Beschreibung
404
SERVER_NOT_FOUND
Server mit ID {server-id} nicht gefunden
404
FIREWALL_PORT_NOT_FOUND
Switch-Port nicht gefunden
404
FIREWALL_NOT_AVAILABLE
Die Firewall-Konfiguration ist für diesen Server nicht verfügbar
409
FIREWALL_IN_PROCESS
Die Firewall kann nicht aktualisiert werden, da ein Update ausgeführt wird.
409
FIREWALL_RULE_LIMIT_EXCEEDED
Das Limit an Regeln der Firewall ist überschritten
409
FIREWALL_CANNOT_BE_DISABLED
Die Firewall kann nicht deaktivert werden, da interne Regeln gesetzt sind
Deprecations
@deprecated DELETE /firewall/{server-ip}
Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.
GET /firewall/template curl -u "user:password" https://robot-ws.your-server.de/firewall/template
[
{
"firewall_template" :{
"id" : 1 ,
"name" : "My template" ,
"filter_ipv6" : false ,
"whitelist_hos" : true ,
"is_default" : true
}
},
{
"firewall_template" :{
"id" : 2 ,
"name" : "My second template" ,
"filter_ipv6" : false ,
"whitelist_hos" : true ,
"is_default" : false
}
}
]
Beschreibung
Liste der verfügbaren Firewall-Vorlagen
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
firewall_template (Object)
id (Integer)
ID der Vorlage
name (String)
Name der Vorlage
filter_ipv6 (Boolean)
Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean)
Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default (Boolean)
When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Keine Firewall-Vorlagen gefunden
POST /firewall/template curl -u "user:password" https://robot-ws.your-server.de/firewall/template \
--data-urlencode 'name=My new template' \
--data-urlencode 'filter_ipv6=false' \
--data-urlencode 'whitelist_hos=true' \
--data-urlencode 'is_default=false' \
--data-urlencode 'rules[input][0][name]=rule 1' \
--data-urlencode 'rules[input][0][ip_version]=ipv4' \
--data-urlencode 'rules[input][0][src_ip]=1.1.1.1' \
--data-urlencode 'rules[input][0][dst_port]=80' \
--data-urlencode 'rules[input][0][action]=accept' \
--data-urlencode 'rules[input][1][name]=Allow MySQL' \
--data-urlencode 'rules[input][1][ip_version]=ipv4' \
--data-urlencode 'rules[input][1][dst_port]=3306' \
--data-urlencode 'rules[input][1][action]=accept' \
--data-urlencode 'rules[output][0][name]=Allow all' \
--data-urlencode 'rules[output][0][action]=accept'
{
"firewall_template" :{
"id" : 123 ,
"filter_ipv6" : false ,
"whitelist_hos" : true ,
"is_default" : false ,
"rules" :{
"input" :[
{
"ip_version" : "ipv4" ,
"name" : "rule 1" ,
"dst_ip" : null ,
"src_ip" : "1.1.1.1" ,
"dst_port" : "80" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
},
{
"ip_version" : "ipv4" ,
"name" : "Allow MySQL" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : "3306" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
}
],
"output" :[
{
"ip_version" : null ,
"name" : "Allow all" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : null ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
}
]
}
}
}
Beschreibung
Eine neue Vorlage erstellen
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
name
Name der Vorlage
filter_ipv6
Aktivieren oder Deaktivieren des IPv6-Filters ('true' oder 'false', optional)
whitelist_hos
Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default
When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules
Firewall-Regeln
Details zum Parameter 'rules' sind unter POST /firewall/{server-id} beschrieben
Ausgabe
firewall_template (Object)
id (Integer)
ID der Vorlage
name (String)
Name der Vorlage
filter_ipv6 (Boolean)
Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean)
Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default (Boolean)
When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules (Object)
input (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
GET /firewall/template/{template-id} curl -u "user:password" https://robot-ws.your-server.de/firewall/template/123
{
"firewall_template" :{
"id" : 123 ,
"filter_ipv6" : false ,
"whitelist_hos" : true ,
"is_default" : false ,
"rules" :{
"input" :[
{
"ip_version" : "ipv4" ,
"name" : "rule 1" ,
"dst_ip" : null ,
"src_ip" : "1.1.1.1" ,
"dst_port" : "80" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
},
{
"ip_version" : "ipv4" ,
"name" : "Allow MySQL" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : "3306" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
}
],
"output" :[
{
"ip_version" : null ,
"name" : "Allow all" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : null ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
}
]
}
}
}
Beschreibung
Eine bestimmte Vorlage abrufen
Limitierung
500 Requests pro 1 Stunde
Ausgabe
firewall_template (Object)
id (Integer)
ID der Vorlage
name (String)
Name der Vorlage
filter_ipv6 (Boolean)
Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean)
Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default (Boolean)
When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules (Object)
input (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Vorlage nicht gefunden
POST /firewall/template/{template-id} curl -u "user:password" https://robot-ws.your-server.de/firewall/template/123 \
--data-urlencode 'name=My new template' \
--data-urlencode 'filter_ipv6=false' \
--data-urlencode 'whitelist_hos=true' \
--data-urlencode 'is_default=false' \
--data-urlencode 'rules[input][0][name]=rule 1' \
--data-urlencode 'rules[input][0][ip_version]=ipv4' \
--data-urlencode 'rules[input][0][src_ip]=1.1.1.1' \
--data-urlencode 'rules[input][0][dst_port]=80' \
--data-urlencode 'rules[input][0][action]=accept' \
--data-urlencode 'rules[input][1][name]=Allow MySQL' \
--data-urlencode 'rules[input][1][ip_version]=ipv4' \
--data-urlencode 'rules[input][1][dst_port]=3306' \
--data-urlencode 'rules[input][1][action]=accept' \
--data-urlencode 'rules[input][2][name]=Allow HTTPS' \
--data-urlencode 'rules[input][2][ip_version]=ipv4' \
--data-urlencode 'rules[input][2][dst_port]=443' \
--data-urlencode 'rules[input][2][protocol]=tcp' \
--data-urlencode 'rules[input][2][action]=accept' \
--data-urlencode 'rules[output][0][name]=Allow all' \
--data-urlencode 'rules[output][0][action]=accept'
{
"firewall_template" :{
"id" : 123 ,
"filter_ipv6" : false ,
"whitelist_hos" : true ,
"is_default" : false ,
"rules" :{
"input" :[
{
"ip_version" : "ipv4" ,
"name" : "rule 1" ,
"dst_ip" : null ,
"src_ip" : "1.1.1.1" ,
"dst_port" : "80" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
},
{
"ip_version" : "ipv4" ,
"name" : "Allow MySQL" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : "3306" ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
},
{
"ip_version" : "ipv4" ,
"name" : "Allow HTTPS" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : "443" ,
"src_port" : null ,
"protocol" : "tcp" ,
"tcp_flags" : null ,
"action" : "accept"
}
],
"output" :[
{
"ip_version" : null ,
"name" : "Allow all" ,
"dst_ip" : null ,
"src_ip" : null ,
"dst_port" : null ,
"src_port" : null ,
"protocol" : null ,
"tcp_flags" : null ,
"action" : "accept"
}
]
}
}
}
Beschreibung
Aktualisieren der Vorlage
Limitierung
500 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
name
Name der Vorlage
filter_ipv6
Aktivieren oder Deaktivieren des IPv6-Filters ('true' oder 'false', optional)
whitelist_hos
Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default
When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules
Firewall-Regeln
Details zum Parameter 'rules' sind unter POST /firewall/{server-id} beschrieben
Ausgabe
firewall_template (Object)
id (Integer)
ID der Vorlage
name (String)
Name der Vorlage
filter_ipv6 (Boolean)
Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean)
Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default (Boolean)
When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules (Object)
input (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String)
Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String)
Name der Firewall-Regel
dst_ip (String)
Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String)
Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String)
Ziel-Port
src_port (String)
Quell-Port
protocol (String)
Protokoll über dem IP-Layer
tcp_flags (String)
TCP-Flags
action (String)
Aktion ('accept' oder 'discard')
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Vorlage nicht gefunden
DELETE /firewall/template/{template-id} curl -u "user:password" https://robot-ws.your-server.de/firewall/template/123 -X DELETE
Beschreibung
Löschen der Vorlage
Limitierung
500 Requests pro 1 Stunde
Eingabe
Keine Eingabe
Ausgabe
Keine Ausgabe
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
Vorlage nicht gefunden
vSwitch GET /vswitch curl -u "user:password" https://robot-ws.your-server.de/vswitch
[
{
"id" : 1234 ,
"name" : "vswitch 1234" ,
"vlan" : 4000 ,
"cancelled" : false
},
{
"id" : 4321 ,
"name" : "vswitch test" ,
"vlan" : 4001 ,
"cancelled" : false
}
]
Beschreibung
Abfragen aller vSwitches
Limitierung
500 Requests pro 1 Stunde
Ausgabe
(Array)
(Object)
id (Integer)
vSwitch-ID
name (String)
vSwitch Name
vlan (Integer)
VLAN-ID
cancelled (Boolean)
Kündigungstatus
POST /vswitch curl -u "user:password" https://robot-ws.your-server.de/vswitch \
--data-urlencode 'vlan=4000' \
--data-urlencode 'name=my vSwitch'
{
"id" : 4321 ,
"name" : "my vSwitch" ,
"vlan" : 4000 ,
"cancelled" : false ,
"server" :[
],
"subnet" :[
],
"cloud_network" :[
]
}
Beschreibung
Einen neuen vSwitch anlegen
Limitierung
100 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
name
vSwitch Name
vlan
VLAN-ID
Ausgabe
id (Integer)
vSwitch-ID
name (String)
vSwitch Name
vlan (Integer)
VLAN-ID
cancelled (Boolean)
Kündigungstatus
server (Array)
(Object)
server_ip
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number
ID des Servers
status
Status des vSwitches für diesen Server ("ready", "in process", "failed")
subnet (Array)
(Object)
ip (String)
IP-Adresse
mask (Integer)
Netzwerkmaske in CIDR Notation
gateway (String)
Gateway
cloud_network (Array)
(Object)
id (Integer)
Cloud-Netzwerk ID
ip (String)
IP-Adresse
mask (Integer)
Netzwerkmaske in CIDR Notation
gateway (String)
Gateway
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
409
VSWITCH_LIMIT_REACHED
Die maximale Anzahl an vSwitches ist erreicht
GET /vswitch/{vswitch-id} curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321
{
"id" : 4321 ,
"name" : "my vSwitch" ,
"vlan" : 4000 ,
"cancelled" : false ,
"server" :[
{
"server_ip" : "123.123.123.123" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 321 ,
"status" : "ready"
},
{
"server_ip" : "123.123.123.124" ,
"server_ipv6_net" : "2a01:4f8:111:4221::" ,
"server_number" : 421 ,
"status" : "ready"
}
],
"subnet" :[
{
"ip" : "213.239.252.48" ,
"mask" : 29 ,
"gateway" : "213.239.252.49"
}
],
"cloud_network" :[
{
"id" : 123 ,
"ip" : "10.0.2.0" ,
"mask" : 24 ,
"gateway" : "10.0.2.1"
}
]
}
Beschreibung
Abfragen eines bestimmten vSwitch
Limitierung
500 Requests pro 1 Stunde
Ausgabe
id (Integer)
vSwitch-ID
name (String)
vSwitch Name
vlan (Integer)
VLAN-ID
cancelled (Boolean)
Kündigungstatus
server (Array)
(Object)
server_ip
Haupt-IP-Adresse des Servers
server_ipv6_net (String)
Haupt-IPv6-Netz des Servers
server_number
ID des Servers
status
Status des vSwitches für diesen Server ("ready", "in process", "failed")
subnet (Array)
(Object)
ip (String)
IP-Adresse
mask (Integer)
Netzwerkmaske in CIDR Notation
gateway (String)
Gateway
cloud_network (Array)
(Object)
id (Integer)
Cloud-Netzwerk ID
ip (String)
IP-Adresse
mask (Integer)
Netzwerkmaske in CIDR Notation
gateway (String)
Gateway
Fehler
Status
Code
Beschreibung
404
NOT_FOUND
vSwitch nicht gefunden
POST /vswitch/{vswitch-id} curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321 \
--data-urlencode 'name=my new name'
--data-urlencode 'vlan=4001'
Beschreibung
Den Namen oder die VLAN-ID eines vSwitches ändern
Limitierung
100 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
name
vSwitch Name
vlan
VLAN-ID
Ausgabe
Keine Ausgabe
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
NOT_FOUND
vSwitch nicht gefunden
409
VSWITCH_IN_PROCESS
Der vSwitch kann nicht aktualisiert werden, da ein Update ausgeführt wird.
409
VSWITCH_VLAN_NOT_UNIQUE
Der vSwitch kann aufgrund einer Konflikts der VLAN-ID nicht aktualisiert werden
DELETE /vswitch/{vswitch-id} curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321 -X DELETE \
--data-urlencode 'cancellation_date=2018-06-30'
Beschreibung
Kündigung eines vSwitch
Limitierung
100 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
cancellation_date
Kündigungsdatum (Format yyyy-MM-dd) oder "now" um zu sofort zu kündigen
Ausgabe
Keine Ausgabe
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
NOT_FOUND
vSwitch nicht gefunden
409
CONFLICT
Der vSwitch ist bereits gekündigt
POST /vswitch/{vswitch-id}/server curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321/server \
--data-urlencode 'server[]=123.123.123.123'
--data-urlencode 'server[]=123.123.123.124'
Beschreibung
Einen oder mehrere Server zu einem vSwitch hinzufügen
Limitierung
100 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
server
Einer oder mehrere Server, identifiziert durch "server_number" oder "server_ip"
Ausgabe
Keine Ausgabe
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
NOT_FOUND
vSwitch nicht gefunden
404
SERVER_NOT_FOUND
Ein übergebener Server wurde nicht gefunden
404
VSWITCH_NOT_AVAILABLE
Das vSwitch-Feature ist für einen der übergebenen Server nicht verfügbar
409
VSWITCH_IN_PROCESS
Der vSwitch kann nicht aktualisiert werden, da ein Update ausgeführt wird.
409
VSWITCH_VLAN_NOT_UNIQUE
Der vSwitch kann aufgrund einer Konflikts der VLAN-ID nicht aktualisiert werden
409
VSWITCH_SERVER_LIMIT_REACHED
Die maximale Anzahl an Servern wurde erreicht
409
VSWITCH_PER_SERVER_LIMIT_REACHED
Die maximale Anzahl an vSwitches wurde für einen der übergebenen Server erreicht
DELETE /vswitch/{vswitch-id}/server curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321/server \
--data-urlencode 'server[]=123.123.123.123'
--data-urlencode 'server[]=123.123.123.124'
Beschreibung
Einen oder mehrere Server aus einem vSwitch entfernen
Limitierung
100 Requests pro 1 Stunde
Eingabe
Name
Beschreibung
server
Einer oder mehrere Server, identifiziert durch "server_number" oder "server_ip"
Ausgabe
Keine Ausgabe
Fehler
Status
Code
Beschreibung
400
INVALID_INPUT
Fehlerhafte Eingabeparameter
404
NOT_FOUND
vSwitch nicht gefunden
404
SERVER_NOT_FOUND
Ein übergebener Server wurde nicht gefunden
409
VSWITCH_IN_PROCESS
Der vSwitch kann nicht aktualisiert werden, da ein Update ausgeführt wird.
PHP Client
Unter https://robot.hetzner.com/downloads/robot-client.zip steht eine PHP-Klasse zum Herunterladen zur Verfügung. Die Klasse verwendet libcurl .
<?php
require 'RobotRestClient.class.php' ;
require 'RobotClientException.class.php' ;
require 'RobotClient.class.php' ;
$robot = new RobotClient ( 'https://robot-ws.your-server.de' , 'login' , 'password' );
// retrieve all failover ips
$results = $robot -> failoverGet ();
foreach ( $results as $result )
{
echo $result -> failover -> ip . " \n " ;
echo $result -> failover -> server_ip . " \n " ;
echo $result -> failover -> active_server_ip . " \n " ;
}
// retrieve a specific failover ip
$result = $robot -> failoverGet ( '123.123.123.123' );
echo $result -> failover -> ip . " \n " ;
echo $result -> failover -> server_ip . " \n " ;
echo $result -> failover -> active_server_ip . " \n " ;
// switch routing
try
{
$robot -> failoverRoute ( '123.123.123.123' , '213.133.104.190' );
}
catch ( RobotClientException $e )
{
echo $e -> getMessage () . " \n " ;
}