NAV Navbar

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 unter dem Menüpunkt "Einstellungen; Webservice- und App-Einstellungen" anlegen.

URL

https://robot-ws.your-server.de

Fehler

Fehler-Format

{
  "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

Fehler-Format bei falschen Eingabeparametern

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.

Fehlerformat bei Erreichen der Limitierung

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_number":321,
      "server_name":"server1",
      "product":"DS 3000",
      "dc":"NBG1-DC1",
      "traffic":"5 TB",
      "flatrate":true,
      "status":"ready",
      "throttled":true,
      "cancelled":false,
      "paid_until":"2010-09-02"
    }
  },
  {
    "server":{
      "server_ip":"123.123.123.124",
      "server_number":421,
      "server_name":"server2",
      "product":"X5",
      "dc":"FSN1-DC10",
      "traffic":"2 TB",
      "flatrate":true,
      "status":"ready",
      "throttled":false,
      "cancelled":false,
      "paid_until":"2010-06-11"
    }
  }
]

Beschreibung

Abfragen aller Server

Limitierung

200 Requests pro 1 Stunde

Ausgabe

(Array)
server (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic
flatrate (Boolean) Zeigt an, ob Server eine Traffic-Flatrate hat (keine Bezahlung bei Traffic-Überschreitung, sondern Drosselung) oder nicht (Bezahlung bei Traffic-Überschreitung)
status (String) Bestellstatus ("ready" oder "in process")
throttled (Boolean) Zeigt an, ob der Server gedrosselt ist
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String) Bezahlt-bis Datum

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Es konnten keine Server gefunden werden

GET /server/{server-ip}

curl -u user:password https://robot-ws.your-server.de/server/123.123.123.123
{
  "server":{
    "server_ip":" 123.132.123.123",
    "server_number":321,
    "server_name":"server1",
    "product":"EQ 8",
    "dc":"NBG1-DC1",
    "traffic":"5 TB",
    "flatrate":true,
    "status":"ready",
    "throttled":false,
    "cancelled":false,
    "paid_until":"2010-08-04",
    "ip":[
      "124.124.124.124"
    ],
    "subnet":[
      {
        "ip":"2a01:4f8:111:4221::",
        "mask":"64"
      }
    ],
    "reset":true,
    "rescue":true,
    "vnc":true,
    "windows":true,
    "plesk":true,
    "cpanel":true,
    "wol":true
  }
}

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_number (Integer) ID des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic
flatrate (Boolean) Zeigt an, ob Server eine Traffic-Flatrate hat (keine Bezahlung bei Traffic-Überschreitung, sondern Drosselung) oder nicht (Bezahlung bei Traffic-Überschreitung)
status (String) Bestellstatus ("ready" oder "in process")
throttled (Boolean) Zeigt an, ob der Server gedrosselt ist
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

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden

POST /server/{server-ip}

curl -u user:password https://robot-ws.your-server.de/server/123.123.123.123 -d server_name=server1
{
  "server":{
    "server_ip":" 123.132.123.123",
    "server_number":321,
    "server_name":"server1",
    "product":"EQ 8",
    "dc":"NBG1-DC1",
    "traffic":"5 TB",
    "flatrate":true,
    "status":"ready",
    "throttled":false,
    "cancelled":false,
    "paid_until":"2010-08-04",
    "ip":[
      "124.124.124.124"
    ],
    "subnet":[
      {
        "ip":"2a01:4f8:111:4221::",
        "mask":"64"
      }
    ],
    "reset":true,
    "rescue":true,
    "vnc":true,
    "windows":true,
    "plesk":true,
    "cpanel":true,
    "wol":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_number (Integer) ID des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic
flatrate (Boolean) Zeigt an, ob Server eine Traffic-Flatrate hat (keine Bezahlung bei Traffic-Überschreitung, sondern Drosselung) oder nicht (Bezahlung bei Traffic-Überschreitung)
status (String) Bestellstatus ("ready" oder "in process")
throttled (Boolean) Zeigt an, ob der Server gedrosselt ist
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

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden

GET /server/{server-ip}/cancellation

curl -u user:password https://robot-ws.your-server.de/server/123.123.123.123/cancellation
{
  "cancellation":{
    "server_ip":" 123.132.123.123",
    "server_number":321,
    "server_name":"server1",
    "earliest_cancellation_date":"2014-04-15",
    "cancelled":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_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
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 IP-Adresse {server-ip} konnte nicht gefunden werden

POST /server/{server-ip}/cancellation

curl -u user:password https://robot-ws.your-server.de/server/123.123.123.123/cancellation -d 'cancellation_date=2014-04-15'
{
  "cancellation":{
    "server_ip":" 123.132.123.123",
    "server_number":321,
    "server_name":"server1",
    "earliest_cancellation_date":"2014-04-15",
    "cancelled":true,
    "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
cancellation_reason Kündigungsgrund, optional

Ausgabe

cancellation (Object)
server_ip (String) Haupt-IP-Adresse 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
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 IP-Adresse {server-ip} 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
500 INTERNAL_ERROR Die Kündigung ist wegen eines internen Fehlers fehlgeschlagen

DELETE /server/{server-ip}/cancellation

curl -u user:password https://robot-ws.your-server.de/server/123.123.123.123/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 IP-Adresse {server-ip} 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

POST /server/{server-ip}/reversal

curl -u login:password https://robot-ws.your-server.de/server/123.123.123.123/reversal
{
  "cancellation":{
    "server_ip":" 123.132.123.123",
    "server_number":321,
    "server_name":"server1",
    "earliest_cancellation_date":"2014-04-15",
    "cancelled":true,
    "cancellation_date":"2014-04-15",
    "cancellation_reason":null
  }
}

Beschreibung

Stornierung eines Servers

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
reversal_reason Stornierungsgrund, optional

Ausgabe

cancellation (Object)
server_ip (String) Haupt-IP-Adresse 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
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 IP-Adresse {server-ip} konnte nicht gefunden werden
409 SERVER_REVERSAL_NOT_POSSIBLE Eine Stornierung ist nicht mehr möglich
409 SERVER_REVERSAL_NOT_POSSIBLE Eine Stornierung von Colocation Racks ist nicht möglich
409 SERVER_REVERSAL_NOT_POSSIBLE Die Stornierung dieses Servers ist nicht möglich. Es findet derzeit ein Transfer statt
500 INTERNAL_ERROR Aufgrund eines internen Problems ist die Stornierung fehlgeschlagen

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.121",
    "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
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.121",
    "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
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

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 (Integer) 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 (Integer) 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 (Integer) 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

Reset

GET /reset

curl -u user:password https://robot-ws.your-server.de/reset
[
  {
    "reset":{
      "server_ip":"123.123.123.123",
      "server_number":321,
      "type":[
        "sw",
        "hw",
        "man"
      ]
    }
  },
  {
    "reset":{
      "server_ip":"111.111.111.111",
      "server_number":111,
      "type":[
        "power",
        "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_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-ip}

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/123.123.123.123
{
  "reset":{
    "server_ip":"123.123.123.123",
    "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-Knopf 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_number":111,
    "type":[
      "power",
      "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_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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 RESET_NOT_AVAILABLE Dieser Server hat keine Reset-Option

POST /reset/{server-ip}

curl -u user:password https://robot-ws.your-server.de/reset/123.123.123.123 -d type=hw
{
  "reset":{
    "server_ip":"123.123.123.123",
    "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_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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 RESET_NOT_AVAILABLE Dieser Server hat keine Reset-Option
409 RESET_MANUAL_ACTIVE There is already a running manual reset
500 RESET_FAILED Der Reset konnte wegen eines internen Fehlers nicht durchgeführt werden

Failover

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_number":321,
      "active_server_ip":"78.46.1.93"
    }
  }
]

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_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}

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_number":321,
    "active_server_ip":"78.46.1.93"
  }
}

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_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}

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_number":321,
    "active_server_ip":"124.124.124.124"
  }
}

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.

Ausgabe

failover (Object)
ip (String) Failover Netz-Adresse
netmask (String) Failover Netzmaske
server_ip (String) Haupt-IP-Adresse 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}

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_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_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-ip}

curl -u user:password https://robot-ws.your-server.de/wol/123.123.123.123
{
  "wol":{
    "server_ip":"123.123.123.123",
    "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_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

POST /wol/{server-ip}

curl -u user:password https://robot-ws.your-server.de/wol/123.123.123.123 -d ''
{
  "wol":{
    "server_ip":"123.123.123.123",
    "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_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

Boot-Konfiguration

GET /boot/{server-ip}

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123
{
  "boot":{
    "rescue":{
      "server_ip":"123.123.123.123",
      "server_number":321,
      "os":[
        "linux",
        "freebsd",
        "vkvm"
      ],
      "arch":[
        64,
        32
      ],
      "active":false,
      "password":null,
      "authorized_key":[

      ],
      "host_key":[

      ]
    },
    "linux":{
      "server_ip":"123.123.123.123",
      "server_number":321,
      "dist":[
        "CentOS 5.5 minimal",
        "Debian 7.8 minimal"
      ],
      "arch":[
        64,
        32
      ],
      "lang":[
        "en"
      ],
      "active":false,
      "password":null,
      "authorized_key":[

      ],
      "host_key":[

      ]
    },
    "vnc":{
      "server_ip":"123.123.123.123",
      "server_number":321,
      "dist":[
        "centOS-5.0",
        "Fedora-6",
        "openSUSE-10.2"
      ],
      "arch":[
        64,
        32
      ],
      "lang":[
        "de_DE",
        "en_US"
      ],
      "active":false,
      "password":null
    },
    "windows":{
      "server_ip":"123.123.123.123",
      "server_number":321,
      "dist":null,
      "lang":null,
      "active":false,
      "password":null
    },
    "plesk":{
      "server_ip":"123.123.123.123",
      "server_number":321,
      "dist":[
        "CentOS 5.4 minimal",
        "Debian 7.8 minimal"
      ],
      "arch":[
        64,
        32
      ],
      "lang":[
        "en",
        "de"
      ],
      "active":false,
      "password":null,
      "hostname":null
    },
    "cpanel":{
      "server_ip":"123.123.123.123",
      "server_number":321,
      "dist":[
        "CentOS 5.6 + cPanel"
      ],
      "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_number (Integer) ID des Servers
os (Array|String) Array der verfügbaren Betriebssysteme oder das aktive Betriebssystem
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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

GET /boot/{server-ip}/rescue

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/rescue
{
  "rescue":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "os":[
      "linux",
      "freebsd",
      "vkvm"
    ],
    "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_number (Integer) ID des Servers
os (Array|String) Array der verfügbaren Betriebssysteme oder das aktive Betriebssystem
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

POST /boot/{server-ip}/rescue

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/rescue -d 'os=linux&arch=32'
{
  "rescue":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "os":"linux",
    "arch":32,
    "active":true,
    "password":"jEt0dtUvomlyOwRr",
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Aktivieren des Rescue-Systems

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
os Betriebssystem
arch Architektur (optional, Standard: 64)
authorized_key Einer oder mehrere SSH-Schlüssel Fingerprints (optional)

Ausgabe

rescue (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
os (String) Betriebssystem
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
409 BOOT_ALREADY_ENABLED Das Rescue-System ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Linux, VNC, Windows, cPanel oder Plesk)
500 BOOT_ACTIVATION_FAILED Das aktivieren des Rescue-Systems ist aufgrund eines internen Fehlers fehlgeschlagen

DELETE /boot/{server-ip}/rescue

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/rescue -X DELETE
{
  "rescue":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "os":[
      "linux",
      "freebsd",
      "vkvm"
    ],
    "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_number (Integer) ID des Servers
os (Array) Array der verfügbaren Betriebssysteme
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 IP-Adresse {server-ip} 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

GET /boot/{server-ip}/rescue/last

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/rescue/last
{
  "rescue":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "os":"linux",
    "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_number (Integer) ID des Servers
os (String) Betriebssystem
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

GET /boot/{server-ip}/linux

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/linux
{
  "linux":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":[
      "CentOS 5.5 minimal",
      "Debian 7.8 minimal"
    ],
    "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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

POST /boot/{server-ip}/linux

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/linux -d 'dist=CentOS 5.5 minimal&arch=32&lang=en'
{
  "linux":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":"CentOS 5.5 minimal",
    "arch":32,
    "lang":"en",
    "active":true,
    "password":"jEt0dtUvomlyOwRr",
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Aktivieren der Linux-Installation

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
dist Distribution
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_number (Integer) ID des Servers
dist (String) Distribution
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
409 BOOT_ALREADY_ENABLED Die Linux-Installtion ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, VNC, Windows, cPanel oder Plesk)
500 BOOT_ACTIVATION_FAILED Das Aktiveren der Linux-Installation ist wegen eines internen Fehlers fehlgeschlagen

DELETE /boot/{server-ip}/linux

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/linux -X DELETE
{
  "linux":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":[
      "CentOS 5.5 minimal",
      "Debian 7.8 minimal"
    ],
    "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
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 IP-Adresse {server-ip} 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

GET /boot/{server-ip}/linux/last

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/linux/last
{
  "linux":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":"CentOS 5.5 minimal",
    "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_number (Integer) ID des Servers
dist (String) Distribution
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

GET /boot/{server-ip}/vnc

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/vnc
{
  "vnc":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":[
      "centOS-5.0",
      "Fedora-6",
      "openSUSE-10.2"
    ],
    "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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

POST /boot/{server-ip}/vnc

 curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/vnc -d 'dist=centOS-5.0&arch=32&lang=en_US'
{
  "vnc":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":"centOS-5.0",
    "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
arch Architektur (optional, Standard: 64)
lang Sprache

Ausgabe

vnc (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
409 BOOT_ALREADY_ENABLED Die VNC-Installation ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, Linux, Windows, cPanel oder Plesk)
500 BOOT_ACTIVATION_FAILED Das Aktiveren der VNC-Installation ist wegen eines internen Fehlers fehlgeschlagen

DELETE /boot/{server-ip}/vnc

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/vnc -X DELETE
{
  "vnc":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":[
      "centOS-5.0",
      "Fedora-6",
      "openSUSE-10.2"
    ],
    "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_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
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 IP-Adresse {server-ip} 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

GET /boot/{server-ip}/windows

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/windows
{
  "windows":{
    "server_ip":"123.123.123.123",
    "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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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 IP-Adresse {server-ip} 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

POST /boot/{server-ip}/windows

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/windows -d 'lang=en'
{
  "windows":{
    "server_ip":"123.123.123.123",
    "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_number (Integer) ID des Servers
dist (String) Distribution
arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort der Windows-Installation

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der IP-Adresse {server-ip} 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
409 BOOT_ALREADY_ENABLED Die Windows-Installation ist für diesen Server bereits aktiv
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue-System, Linux, VNC, cPanel oder Plesk)
500 BOOT_ACTIVATION_FAILED Das Aktivieren der Windows-Installation ist wegen eines internen Fehlers fehlgeschlagen

DELETE /boot/{server-ip}/windows

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/windows -X DELETE
{
  "windows":{
    "server_ip":"123.123.123.123",
    "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_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
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 IP-Adresse {server-ip} 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

GET /boot/{server-ip}/plesk

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/plesk
{
  "plesk":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":[
      "CentOS 5.4 minimal",
      "Debian 7.8 minimal"
    ],
    "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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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 IP-Adresse {server-ip} 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

POST /boot/{server-ip}/plesk

curl -u user:password https://robot-ws.your-server.de/boot.yaml/123.123.123.123/plesk -d 'dist=CentOS 5.4 minimal&arch=32&lang=de&hostname=plesk.testen.de'
{
  "plesk":{
    "server_ip":"213.239.217.200",
    "server_number":321,
    "dist":"CentOS 5.4 minimal",
    "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
arch Architektur (optional, Standard: 64)
lang Sprache
hostname Hostname

Ausgabe

plesk (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
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 IP-Adresse {server-ip} 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
409 BOOT_ALREADY_ENABLED Die Linux-Installtion ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, Linux, VNC, cPanel oder Windows)
500 BOOT_ACTIVATION_FAILED Das Aktiveren der Plesk-Installation ist wegen eines internen Fehlers fehlgeschlagen

DELETE /boot/{server-ip}/plesk

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/plesk -X DELETE
{
  "plesk":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":[
      "CentOS 5.4 minimal",
      "Debian 7.8 minimal"
    ],
    "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_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
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 IP-Adresse {server-ip} 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

GET /boot/{server-ip}/cpanel

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/cpanel
{
  "cpanel":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":[
      "CentOS 5.6 + cPanel"
    ],
    "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_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
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 IP-Adresse {server-ip} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

POST /boot/{server-ip}/cpanel

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/cpanel -d 'dist=CentOS 5.6 + cPanel&arch=64&lang=en&hostname=cpanel.testen.de'
{
  "cpanel":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":"CentOS 5.6 + cPanel",
    "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
arch Architektur (optional, Standard: 64)
lang Sprache
hostname Hostname

Ausgabe

cpanel (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
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 IP-Adresse {server-ip} 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
409 BOOT_ALREADY_ENABLED Die cPanel-Installtion ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, Linux, VNC, Plesk oder Windows)
500 BOOT_ACTIVATION_FAILED Das Aktiveren der cPanel-Installation ist wegen eines internen Fehlers fehlgeschlagen

DELETE /boot/{server-ip}/cpanel

curl -u user:password https://robot-ws.your-server.de/boot/123.123.123.123/cpanel -X DELETE
{
  "cpanel":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "dist":[
      "CentOS 5.6 + cPanel"
    ],
    "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_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
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 IP-Adresse {server-ip} 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

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
      }
    }
  }
}

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:

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.

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)

Ausgabe

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)

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 ..."
    }
  },
  {
    "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 ..."
    }
  }
]

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

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Schlüssel gefunden

POST /key

curl -u user:password https://robot-ws.your-server.de/key -d 'name=NewKey&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 ..."
  }
}

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

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 ..."
  }
}

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

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 -d 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 ..."
  }
}

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

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

GET /order/server/product

curl -u user:password https://robot-ws.your-server.de/order/server/product
[
  {
    "product":{
      "id":"EX60",
      "name":"Dedicated Root Server EX60",
      "description":[
        "Intel\u00ae Core\u2122 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"
      ],
      "arch":[
        64,
        32
      ],
      "lang":[
        "en"
      ],
      "location":[
        "FSN1",
        "NBG1"
      ],
      "prices":[
        {
          "location":"FSN1",
          "price":{
            "net":"49.58",
            "gross":"49.58"
          },
          "price_setup":{
            "net":"0.00",
            "gross":"0.00"
          }
        },
        {
          "location":"NBG1",
          "price":{
            "net":"49.58",
            "gross":"49.58"
          },
          "price_setup":{
            "net":"0.00",
            "gross":"0.00"
          }
        }
      ]
    }
  },
  {
    "product":{
      "id":"EX40",
      "name":"Dedicated Root Server EX40",
      "description":[
        "Intel\u00ae Core\u2122 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"
      ],
      "arch":[
        64,
        32
      ],
      "lang":[
        "en"
      ],
      "location":[
        "FSN1",
        "NBG1"
      ],
      "prices":[
        {
          "location":"FSN1",
          "price":{
            "net":"84.03",
            "gross":"84.03"
          },
          "price_setup":{
            "net":"41.18",
            "gross":"41.18"
          }
        },
        {
          "location":"NBG1",
          "price":{
            "net":"84.03",
            "gross":"84.03"
          },
          "price_setup":{
            "net":"41.18",
            "gross":"41.18"
          }
        }
      ]
    }
  }
]

Beschreibung

Produktübersicht der derzeit angebotenen Standard-Server

Limitierung

500 Requests pro 1 Stunde

Eingabe (Optional)

Name Beschreibung
type Server-Typ, "virtual" oder "dedicated"
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
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
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 Root Server EX40",
    "description":[
      "Intel\u00ae Core\u2122 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"
    ],
    "arch":[
      64,
      32
    ],
    "lang":[
      "en"
    ],
    "location":[
      "FSN1",
      "NBG1"
    ],
    "prices":[
      {
        "location":"FSN1",
        "price":{
          "net":"84.03",
          "gross":"84.03"
        },
        "price_setup":{
          "net":"41.18",
          "gross":"41.18"
        }
      },
      {
        "location":"NBG1",
        "price":{
          "net":"84.03",
          "gross":"84.03"
        },
        "price_setup":{
          "net":"41.18",
          "gross":"41.18"
        }
      }
    ]
  }
}

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
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
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",
        "arch":"64",
        "lang":"en",
        "location":null
      }
    }
  },
  {
    "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 Root Server EX40",
        "description":[
          "Intel\u00ae Core\u2122 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",
        "arch":"64",
        "lang":"en",
        "location":"FSN1"
      }
    }
  }
]

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
arch (Integer) Bestellte Architektur
lang (String) Bestellte Sprache
location (String) Der bei der Bestellung gewählte Standort

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Transaktionen gefunden

POST /order/server/transaction

curl -u user:password https://robot-ws.your-server.de/order/server/transaction \
-d 'product_id=EX40&dist=Debian+7.7+minimal&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 Root Server EX40",
      "description":[
        "Intel\u00ae Core\u2122 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",
      "arch":"64",
      "lang":"en",
      "location":"FSN1"
    }
  }
}

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)
arch Architektur (optional)
lang Sprache (optional)
comment Kommentar (optional); Bitte beachten sie, dass bei gesetztem Kommentar die Bestellung manuell bearbeitet wird.
test Die Bestellung wird nicht bearbeitet, wenn auf "true" gesetzt (optional)

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
arch (Integer) Bestellte Architektur
lang (String) Bestellte Sprache
location (String) Der bei der Bestellung gewählte Standort

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
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 Root Server EX40",
      "description":[
        "Intel\u00ae Core\u2122 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",
      "arch":"64",
      "lang":"en",
      "location":"FSN1"
    }
  }
}

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
arch (Integer) Bestellte Architektur
lang (String) Bestellte Sprache
location (String) Der bei der Bestellung gewählte Standort

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"
      ],
      "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.57",
      "price_setup":"0.00",
      "price_vat":"28.57",
      "price_setup_vat":"0.00",
      "fixed_price":false,
      "next_reduce":-87634,
      "next_reduce_date":"2018-05-01 12:22:00"
    }
  },
  {
    "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"
      ],
      "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.60",
      "price_setup":"0.00",
      "price_vat":"91.60",
      "price_setup_vat":"0.00",
      "fixed_price":false,
      "next_reduce":-10800,
      "next_reduce_date":"2018-05-01 12:22:00"
    }
  }
]

Beschreibung

Produktübersicht der derzeit angebotenen Server in der Serverbörse

Limitierung

500 Requests pro 1 Stunde

Eingabe (Optional)

Name Beschreibung
cpu CPU-Name
min_cpu_benchmark Minimaler CPU-Benchmark-Wert
max_cpu_benchmark Maximaler CPU-Benchmark-Wert
min_memory_size Minimale Hauptspeicher-Größe in GB
max_memory_size Maximale Hauptspeicher-Größe in GB
min_hdd_size Minimale Datenträgergröße in GB
max_hdd_size Maximale Datenträgergröße in GB
min_hdd_count Minimale Anzahl an Datenträgern
max_hdd_count Maximale Anzahl an Datenträgern
search Volltextsuche
min_price Minimaler monatlicher Preis
max_price Maximaler monatlicher Preis

Ausgabe

(Array)
product (Object)
id (Integer) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (Array) Verfügbare Distributionen
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_setup (String) Setup-Gebühr in Euro
price_vat (String) Monatlicher Preis in Euro mit Steuer
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

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"
    ],
    "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.60",
    "price_setup":"0.00",
    "price_vat":"91.60",
    "price_setup_vat":"0.00",
    "fixed_price":false,
    "next_reduce":-10800,
    "next_reduce_date":"2018-05-01 12:22:00"
  }
}

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
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_setup (String) Setup-Gebühr in Euro
price_vat (String) Monatlicher Preis in Euro mit Steuer
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

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",
        "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",
        "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
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

curl -u user:password https://robot-ws.your-server.de/order/server_market/transaction \
-d 'product_id=283693&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",
      "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":false,
      "next_reduce":0,
      "next_reduce_date":"2018-05-01 12:22:00"
    }
  }
}

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)
arch Architektur (optional)
lang Sprache (optional)
comment Kommentar (optional); Bitte beachten sie, dass bei gesetztem Kommentar die Bestellung manuell bearbeitet wird.
test Die Bestellung wird nicht bearbeitet, wenn auf "true" gesetzt (optional)

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
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
400 INVALID_INPUT Fehlerhafte Eingabeparameter
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",
      "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"
    }
  }
}

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
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 Transaktion nicht gefunden

Snapshot

GET /snapshot/{server-ip}

curl -u user:password https://robot-ws.your-server.de/snapshot/123.123.123.123
[
  {
    "snapshot":{
      "id":321,
      "timestamp":"2015-08-21T13:13:03.446+02:00",
      "name":"Test",
      "type":"snapshot",
      "size":50
    }
  }
]

Beschreibung

Snapshots für einen bestimmen Server abfragen

Limitierung

1 Request pro 5 Sekunden

Ausgabe

(Array)
snapshot (Object)
id (Integer) Snapshot-ID
timestamp (String) Datum des Snapshots
name (String) Name des Snapshots
type (String) Snapshottyp, "snapshot" oder "template"
size (Integer) Snapshotgröße in GB

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden
404 SNAPSHOT_NOT_AVAILABLE Dieser Server kann keine Snapshots erstellen

POST /snapshot/{server-ip}

curl -u user:password https://robot-ws.your-server.de/snapshot/123.123.123.123 -X POST
{
  "snapshot":{
    "id":321,
    "timestamp":"2015-08-21T13:13:03.446+02:00"
  }
}

Beschreibung

Einen Snapshot von einem bestimmten Server erstellen

Limitierung

1 Request pro 5 Sekunden

Ausgabe

snapshot (Object)
snapshot id (Integer) Snapshot-ID
timestamp (String) Datum des Snapshots

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden
404 SNAPSHOT_NOT_AVAILABLE Dieser Server kann keine Snapshots erstellen
500 SNAPSHOT_LIMIT_EXCEEDED Maximale Snapshotanzahl erreicht
500 SNAPSHOT_FAILED Der Snapshot konnte wegen eines internen Fehlers nicht erstellt werden

DELETE /snapshot/{server-ip}/{id}

curl -u user:password https://robot-ws.your-server.de/snapshot/123.123.123.123/321 -X DELETE

Beschreibung

Snapshot löschen

Limitierung

1 Request pro 5 Sekunden

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden
404 SNAPSHOT_NOT_AVAILABLE Dieser Server kann keine Snapshots erstellen

POST /snapshot/{server-ip}/{id}

curl -u user:password https://robot-ws.your-server.de/snapshot/123.123.123.123/321 -d revert=true

Beschreibung

Snapshot wiederherstellen oder Snapshot umbenennen

Limitierung

1 Request pro 5 Sekunden

Eingabe

Sie müssen einen der folgenden Parameter angeben.

Name Beschreibung
revert Muss auf "true" gesetzt werden um den Snapshot wiederherzustellen
name Name des Snapshots

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden
404 SNAPSHOT_NOT_AVAILABLE Dieser Server kann keine Snapshots erstellen
500 VSERVER_RUNNING Der Snapshot konnte nicht erstellt werden, weil der vServer läuft

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,
      "paid_until":"2015-10-23"
    }
  }
]

Beschreibung

Abfragen aller Storage Boxes

Limitierung

200 Requests pro 1 Stunde

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
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,
      "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,
      "backup_service":true,
      "zfs":false,
      "server":"u12345.your-storagebox.de"
    }
  }
]

Beschreibung

Abfragen der Daten für eine bestimmte Storage Box

Limitierung

200 Requests pro 1 Stunde

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
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
backup_service (Boolean) Zeigt an, ob Backup-Service aktiviert ist
zfs (Boolean) Zeigt an, ob das ZFS Verzeichnis sichtbar ist
server (String) Server der Storage Box

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":"backup1",
      "product":"BX60",
      "cancelled":false,
      "locked":false,
      "paid_until":"2015-10-23"
    }
  }
]

Beschreibung

Anpassen einer bestimmten Storage Box

Limitierung

200 Requests pro 1 Stunde

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
backup_service Zeigt an, ob Backup-Service aktiviert ist

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
paid_until (String) Bezahlt-bis Datum

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 STORAGEBOX_NOT_FOUND Storage Box mit der ID {storagebox-id} wurde nicht gefunden

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+01:00",
      "size":400,
      "automatic":false,
      "comment":"Test-Snapshot"
    }
  }
]

Beschreibung

Alle Snapshots für eine bestimmte Storage Box abfragen

Limitierung

1 Request pro 5 Sekunden

Ausgabe

(Array)
snapshot (Object)
name (String) Snapshot Name
timestamp (String) Datum des Snapshots
size (Integer) Snapshotgröße 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.446+02: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) Datum des Snapshots
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

POST /storagebox/{storagebox-id}/snapshot/{snapshot-name}/comment

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
    }
  }
]

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)

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
    }
  }
]

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)

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)

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,
      "backup_service":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
backup_service (Boolean) Zeigt an, ob Backup-Service 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

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
homedirectory Heimatverzeichniss des Sub-Accounts
samba Zeigt an, ob Samba aktiviert ist
ssh Zeigt an, ob SSH-Support aktiviert ist
backup_service Zeigt an, ob Backup-Service aktiviert ist
webdav Zeigt an, ob WebDAV aktiviert ist
readonly Zeigt an, ob der Sub-Account schreibgeschützt ist
comment Komentar

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

PUT /storagebox/{storagebox-id}/subaccount/{sub-account-username}

curl -u user:password https://robot-ws.your-server.de/storagebox/123456/subaccount -d homedirectory=test

Beschreibung

Sub-Account bearbeiten

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
homedirectory Heimatverzeichniss des Sub-Accounts
samba Zeigt an, ob Samba aktiviert ist
ssh Zeigt an, ob SSH-Support aktiviert ist
backup_service Zeigt an, ob Backup-Service 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

curl -u user:password https://robot-ws.your-server.de/storagebox/123456/subaccount/u2342-sub2/password \
-X POST
{
  "password":"h1cgLgZYJsyGl0JK"
}

Beschreibung

Passwort des Sub-Accounts zurücksetzen

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

vServer

POST /vserver/{server-ip}/command

Beschreibung

Einen vServer starten, stoppen oder herunterfahren

Limitierung

100 Requests pro 1 Stunde

Eingabe

Name Beschreibung
type Auszuführendes Kommando ("start","stop","shutdown")

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden
500 INTERNAL_ERROR Das Kommando ist wegen eines internen Fehlers fehlgeschlagen
curl -u user:password https://robot-ws.your-server.de/vserver/123.123.123.123/command -d 'type=start'

Firewall

GET /firewall/{server-ip}

curl -u user:password https://robot-ws.your-server.de/firewall/123.123.123.123
{
  "firewall":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "status":"active",
    "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"
        }
      ]
    }
  }
}

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
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
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 Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden
404 FIREWALL_PORT_NOT_FOUND Switch-Port nicht gefunden
404 FIREWALL_NOT_AVAILABLE Die Firewall-Konfiguration ist für diesen Server nicht verfügbar

POST /firewall/{server-ip}

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&

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
curl -u user:password https://robot-ws.your-server.de/firewall/123.123.123.123 \
--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'
{
  "firewall":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "status":"in process",
    "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"
        }
      ]
    }
  }
}

Beschreibung

Eine Firewall-Konfiguration anlegen

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
status Status der Firewall ändern ('active' oder 'disabled')
whitelist_hos Whitelisting der Hetzner-Services aktivieren oder deaktivieren ('true' oder 'false')
template_id Template-ID (nur wenn keine Firewall-Regeln eingetragen werden)
rules Firewall-Regeln (nur wenn keine Template-ID übergeben wurde)

Der Parameter 'rules' muss ein Array mit folgender Struktur sein:

Derzeit können nur eingehende Pakete gefiltert werden. Derzeit kann nur die IP-Version 'ipv4' benutzt werden.

Fehlende Felder haben den Wert 'null' und gelten als Wildcard.

Ausgabe

firewall (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
status (String) Status der Firewall
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) Internel-Protokoll-Version ('ipv4, Pflichtfeld)
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 Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden
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.

DELETE /firewall/{server-ip}

curl -u user:password https://robot-ws.your-server.de/firewall/123.123.123.123 -X DELETE
{
  "firewall":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "status":"in process",
    "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
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
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 Der Server konnte mit der IP-Adresse {server-ip} konnte nicht gefunden werden
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.

GET /firewall/template

curl -u user:password https://robot-ws.your-server.de/firewall/template
[
  {
    "firewall_template":{
      "id":1,
      "name":"My template",
      "whitelist_hos":true,
      "is_default":true
    }
  },
  {
    "firewall_template":{
      "id":2,
      "name":"My second template",
      "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
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 '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'
{
  "firewall_template":{
    "id":123,
    "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"
        }
      ]
    }
  }
}

Beschreibung

Eine neue Vorlage erstellen

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
name Name der Vorlage
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

For details about the 'rules' parameter please see .

Ausgabe

firewall_template (Object)
id (Integer) ID der Vorlage
name (String) Name der Vorlage
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
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,
    "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"
        }
      ]
    }
  }
}

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
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
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 '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'
{
  "firewall_template":{
    "id":123,
    "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"
        }
      ]
    }
  }
}

Beschreibung

Aktualisieren der Vorlage

Limitierung

500 Requests pro 1 Stunde

Ausgabe

firewall_template (Object)
id (Integer) ID der Vorlage
name (String) Name der Vorlage
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
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":[

  ]
}

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_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

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_number":321,
      "status":"ready"
    },
    {
      "server_ip":"123.123.123.124",
      "server_number":421,
      "status":"ready"
    }
  ],
  "subnet":[
    {
      "ip":"213.239.252.48",
      "mask":29
    }
  ]
}

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_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

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)

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.your-server.de/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";
}