NAV

Allgemein

Allgemeines

Die Schnittstelle setzt auf dem HTTP-Protokoll auf und kann somit mit jeder beliebigen HTTP-Library benutzt werden. Als einfacher Client für die Kommandozeile kann zum Beispiel curl verwendet werden.

Um die Schnittstelle nutzen zu können, ist ein Webservice-Benutzer erforderlich. Diesen können Sie im Robot über das Benutzermenü in der oberen rechten Ecke unter "Einstellungen" -> "Webservice- und App-Einstellungen" anlegen.

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_ipv6_net":"2a01:f48:111:4221::",
      "server_number":321,
      "server_name":"server1",
      "product":"DS 3000",
      "dc":"NBG1-DC1",
      "traffic":"5 TB",
      "status":"ready",
      "cancelled":false,
      "paid_until":"2010-09-02",
      "ip":[
        "123.123.123.123"
      ],
      "subnet":[
        {
          "ip":"2a01:4f8:111:4221::",
          "mask":"64"
        }
      ]
    }
  },
  {
    "server":{
      "server_ip":"123.123.123.124",
      "server_ipv6_net":"2a01:f48:111:4221::",
      "server_number":421,
      "server_name":"server2",
      "product":"X5",
      "dc":"FSN1-DC10",
      "traffic":"2 TB",
      "status":"ready",
      "cancelled":false,
      "paid_until":"2010-06-11",
      "ip":[
        "123.123.123.124"
      ],
      "subnet":null
    }
  }
]

Beschreibung

Abfragen aller Server

Limitierung

200 Requests pro 1 Stunde

Ausgabe

(Array)
server (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic, 'unlimited' im Fall einer Flatrate
status (String) Bestellstatus ("ready" oder "in process")
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String) Bezahlt-bis Datum
ip (Array) Array aller zugehörigen Einzel-IP-Adressen
subnet (Array) Array aller zugehörigen Subnetze

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Es konnten keine Server gefunden werden

GET /server/{server-number}

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

Beschreibung

Abfragen der Server-Daten für einen bestimmten Server

Limitierung

200 Requests pro 1 Stunde

Ausgabe

server (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic, 'unlimited' im Fall einer Flatrate
status (String) Bestellstatus ("ready" oder "in process")
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String) Bezahlt-bis Datum
ip (Array) Array aller zugehörigen Einzel-IP-Adressen
subnet (Array) Array aller zugehörigen Subnetze
reset (Boolean) Zeigt an, ob ein Reset möglich ist
rescue (Boolean) Zeigt an, ob das Rescuesystem verfügbar ist
vnc (Boolean) Zeigt an, ob die VNC-Installation verfügbar ist
windows (Boolean) Zeigt an, ob die Windows-Installation verfügbar ist
plesk (Boolean) Zeigt an, ob die Plesk-Installation verfügbar ist
cpanel (Boolean) Zeigt an, ob die cPanel-Installation verfügbar ist
wol (Boolean) Zeigt an, ob Wake on Lan verfügbar ist
hot_swap (Boolean) Zeigt an, ob Hot-Swap verfügbar ist
linked_storagebox (Integer) ID der zugehörigen Storage Box

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden

Deprecations

@deprecated GET /server/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /server/{server-number}

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

Beschreibung

Anpassen des Servernamens für einen bestimmten Server

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
server_name Name des Servers

Output

server (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic, 'unlimited' im Fall einer Flatrate
status (String) Bestellstatus ("ready" oder "in process")
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String) Bezahlt-bis Datum
ip (Array) Array aller zugehörigen Einzel-IP-Adressen
subnet (Array) Array aller zugehörigen Subnetze
reset (Boolean) Zeigt an, ob ein Reset möglich ist
rescue (Boolean) Zeigt an, ob das Rescuesystem verfügbar ist
vnc (Boolean) Zeigt an, ob die VNC-Installation verfügbar ist
windows (Boolean) Zeigt an, ob die Windows-Installation verfügbar ist
plesk (Boolean) Zeigt an, ob die Plesk-Installation verfügbar ist
cpanel (Boolean) Zeigt an, ob die cPanel-Installation verfügbar ist
wol (Boolean) Zeigt an, ob Wake on Lan verfügbar ist
hot_swap (Boolean) Zeigt an, ob Hot-Swap verfügbar ist
linked_storagebox (Integer) ID der zugehörigen Storage Box

Fehler

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

Deprecations

@deprecated POST /server/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

GET /server/{server-number}/cancellation

curl -u "user:password" https://robot-ws.your-server.de/server/321/cancellation
{
  "cancellation":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "server_name":"server1",
    "earliest_cancellation_date":"2014-04-15",
    "cancelled":false,
    "reservation_possible":false,
    "reserved":false,
    "cancellation_date":null,
    "cancellation_reason":[
      "Upgrade to a new server",
      "Dissatisfied with the hardware",
      "Dissatisfied with the support",
      "Dissatisfied with the network",
      "Dissatisfied with the IP\/subnet allocation",
      "Dissatisfied with the Robot webinterface",
      "Dissatisfied with the official Terms and Conditions",
      "Server no longer necessary due to project ending",
      "Server too expensive"
    ]
  }
}

Beschreibung

Abfragen des Kündigungstatus eines Servers

Limitierung

200 Requests pro 1 Stunde

Ausgabe

cancellation (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
server_name (String) Name des Servers
earliest_cancellation_date (String) Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
reservation_possible (Boolean) Zeigt an, ob eine Reservierung des Stellplatzes im Zuge der Kündigung möglich ist
reservation (Boolean) Zeigt an, ob eine Reservierung des Stellplatzes im Zuge der Kündigung erfolgt
cancellation_date (String) Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null
cancellation_reason (Array|String) Array von möglichen Kündigunsgründen oder der gesetzte Kündigungsgrund

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden

Deprecations

@deprecated GET /server/{server-ip}/cancellation Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /server/{server-number}/cancellation

curl -u "user:password" https://robot-ws.your-server.de/server/321/cancellation -d 'cancellation_date=2014-04-15'
{
  "cancellation":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "server_name":"server1",
    "earliest_cancellation_date":"2014-04-15",
    "cancelled":true,
    "reserved":false,
    "reservation_possible":false,
    "cancellation_date":"2014-04-15",
    "cancellation_reason":null
  }
}

Beschreibung

Kündigung eines Servers

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
cancellation_date Kündigungsdatum oder "now" um zu sofort zu kündigen
cancellation_reason Kündigungsgrund, optional
reserve_location Setzt den Status der Standort-Reservierung ('true' oder 'false')

Ausgabe

cancellation (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
server_name (String) Name des Servers
earliest_cancellation_date (String) Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
reserved (Boolean) Zeigt an, ob eine Reservierung des Stellplatzes im Zuge der Kündigung erfolgt
reservation_possible (Boolean) Zeigt an, ob eine Reservierung des Stellplatzes im Zuge der Kündigung möglich ist
cancellation_date (String) Kündigungsdatum im Format yyyy-MM-dd
cancellation_reason (String) Kündigungsgrund oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
409 CONFLICT Der Server ist bereits gekündigt
409 CONFLICT Wegen eines aktiven Server-Transfers ist die Kündigung nicht möglich
409 SERVER_CANCELLATION_RESERVE_LOCATION_FALSE_ONLY Es ist nicht möglich, den Standort zu reservieren. Parameter reserve_location entfernen oder Wert auf 'false' setzen
500 INTERNAL_ERROR Die Kündigung ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated POST /server/{server-ip}/cancellation Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

DELETE /server/{server-number}/cancellation

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

Beschreibung

Aufheben einer Kündigung

Limitierung

200 Requests pro 1 Stunde

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
409 CONFLICT Die Kündigung kann nicht aufgehoben werden
500 INTERNAL_ERROR Die Aufhebung der Kündigung ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated DELETE /server/{server-ip}/cancellation Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

IP

GET /ip

curl -u "user:password" https://robot-ws.your-server.de/ip
[
  {
    "ip":{
      "ip":"123.123.123.123",
      "server_ip":"123.123.123.123",
      "server_number":321,
      "locked":false,
      "separate_mac":null,
      "traffic_warnings":false,
      "traffic_hourly":50,
      "traffic_daily":50,
      "traffic_monthly":8
    }
  },
  {
    "ip":{
      "ip":"124.124.124.124",
      "server_ip":"123.123.123.123",
      "server_number":321,
      "locked":false,
      "separate_mac":null,
      "traffic_warnings":false,
      "traffic_hourly":200,
      "traffic_daily":2000,
      "traffic_monthly":20
    }
  }
]

Beschreibung

Abfragen aller Einzel-IP-Adressen

Limitierung

5000 Requests pro 1 Stunde

Eingabe (Optional)

Name Beschreibung
server_ip Server Haupt-IP. Bei Angabe werden nur IP-Adressen angezeigt, die diesem Server zugeordnet sind

Ausgabe

(Array)
ip (Object)
ip (String) IP-Adresse
server_ip (String) Haupt-IP des zugehörigen Servers
server_number (Integer) ID des Servers
locked (Boolean) Zeigt an, ob die IP gesperrt ist
separate_mac (String) Separate MAC-Adresse, wenn nicht gesetzt null
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine IP-Adressen gefunden

GET /ip/{ip}

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123
{
  "ip":{
    "ip":"123.123.123.123",
    "gateway":"123.123.123.97",
    "mask":27,
    "broadcast":"123.123.123.127",
    "server_ip":"123.123.123.123",
    "server_number":321,
    "locked":false,
    "separate_mac":null,
    "traffic_warnings":false,
    "traffic_hourly":50,
    "traffic_daily":50,
    "traffic_monthly":8
  }
}

Beschreibung

Abfragen der Daten für eine bestimme IP-Adresse

Limitierung

5000 Requests pro 1 Stunde

Ausgabe

ip (Object)
ip (String) IP-Adresse
gateway (String) Gateway
mask (Integer) Netzwerkmaske in CIDR Notation
broadcast (String) Broadcast Adresse
server_ip (String) Haupt-IP des zugehörigen Servers
server_number (Integer) ID des Servers
locked (Boolean) Zeigt an, ob die IP gesperrt ist
separate_mac (String) Separate MAC-Adresse, wenn nicht gesetzt null
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Keine IP-Adressen gefunden

POST /ip/{ip}

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123 -d traffic_warnings=true
{
  "ip":{
    "ip":"123.123.123.123",
    "gateway":"123.123.123.97",
    "mask":27,
    "broadcast":"123.123.123.127",
    "server_ip":"123.123.123.123",
    "server_number":321,
    "locked":false,
    "separate_mac":null,
    "traffic_warnings":true,
    "traffic_hourly":50,
    "traffic_daily":50,
    "traffic_monthly":8
  }
}

Beschreibung

Anpassen der Traffic-Warnungen einer IP-Adresse

Limitierung

5000 Requests pro 1 Stunde

Eingabe

Name Beschreibung
traffic_warnings Traffic-Warnungen aktivieren/deaktivieren (true,false)
traffic_hourly Stündliches Trafficlimit in MB
traffic_daily Tägliches Trafficlimit in MB
traffic_monthly Monatliches Trafficlimit in GB

Ausgabe

ip (Object)
ip (String) IP-Adresse
gateway (String) Gateway
mask (Integer) Netzwerkmaske in CIDR Notation
broadcast (String) Broadcast Adresse
server_ip (String) Haupt-IP des zugehörigen Servers
server_number (Integer) ID des Servers
locked (Boolean) Zeigt an, ob die IP gesperrt ist
separate_mac (String) Separate MAC-Adresse, wenn nicht gesetzt null
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 IP_NOT_FOUND Keine IP-Adressen gefunden
500 TRAFFIC_WARNING_UPDATE_FAILED Die Traffic-Einstellungen konnten wegen eines internen Fehlers nicht vorgenommen werden

GET /ip/{ip}/mac

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/mac
{
  "mac":{
    "ip":"123.123.123.123",
    "mac":"00:21:85:62:3e:9c"
  }
}

Beschreibung

Abfragen, ob das Konfigurieren einer separaten MAC-Adresse möglich ist.Abfragen einer gesetzen separaten MAC-Adresse.

Limitierung

5000 Requests pro 1 Stunde

Ausgabe

mac (Object)
ip (String) IP-Adresse
mac (String) MAC-Adresse

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse konnte nicht gefunden werden
404 MAC_NOT_FOUND Es ist noch keine separate MAC-Adresse gesetzt
404 MAC_NOT_AVAILABLE Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen

PUT /ip/{ip}/mac

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/mac  -X PUT
{
  "mac":{
    "ip":"123.123.123.123",
    "mac":"00:21:85:62:3e:9c"
  }
}

Beschreibung

Generieren einer separaten MAC-Adresse

Limitierung

10 Requests pro 1 Stunde

Eingabe

Keine Eingabe

Ausgabe

mac (Object)
ip (String) IP-Adresse
mac (String) MAC-Adresse

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse konnte nicht gefunden werden
404 MAC_NOT_AVAILABLE Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
409 MAC_ALREADY_SET Es ist bereits eine separate MAC-Adresse gesetzt
500 MAC_FAILED Die separate MAC-Adresse konnte wegen eines internen Fehlers nicht gesetzt werden

DELETE /ip/{ip}/mac

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/mac -X DELETE
{
  "mac":{
    "ip":"123.123.123.123",
    "mac":null
  }
}

Beschreibung

Entfernen einer separaten MAC-Adresse

Limitierung

10 Requests pro 1 Stunde

Eingabe

Keine Eingabe

Ausgabe

mac (Object)
ip (String) IP-Adresse
mac (String) null

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse konnte nicht gefunden werden
404 MAC_NOT_AVAILABLE Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
409 MAC_NOT_FOUND Es ist noch keine separate MAC-Adresse gesetzt
500 MAC_FAILED Die separate MAC-Adresse konnte wegen eines internen Fehlers nicht gelöscht werden

GET /ip/{ip}/cancellation

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/cancellation
{
  "cancellation":{
    "ip":"123.123.123.123",
    "server_number":321,
    "earliest_cancellation_date":"2022-02-11",
    "cancelled":false,
    "cancellation-date":null
  }
}

Beschreibung

Abfragen des Kündigungstatus einer IP

Limitierung

200 Requests pro 1 Stunde

Ausgabe

cancellation (Object)
ip (String) IP-Adresse
server_number (String) ID des Servers
earliest_cancellation_date (String) Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean) Zeigt an, ob die IP zur Kündigung vorgemerkt ist.
cancellation_date (String) Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse konnte nicht gefunden werden
409 CONFLICT Eine Kündigung dieser IP ist nicht möglich.

POST /ip/{ip}/cancellation

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/cancellation \
--data-urlencode="cancellation_date=2022-02-11"
{
  "cancellation":{
    "ip":"123.123.123.123",
    "server_number":321,
    "earliest_cancellation_date":"2022-02-11",
    "cancelled":true,
    "cancellation-date":"2022-02-11"
  }
}

Beschreibung

Eine IP-Adresse kündigen

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
cancellation_date Kündigungsdatum oder "now" um zu sofort zu kündigen

Ausgabe

cancellation (Object)
ip (String) IP-Adresse
server_number (String) ID des Servers
earliest_cancellation_date (String) Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean) Zeigt an, ob die IP zur Kündigung vorgemerkt ist.
cancellation_date (String) Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 IP_NOT_FOUND Die IP-Adresse konnte nicht gefunden werden
409 CONFLICT Die IP-Adresse kann aus dem in der Fehlermeldung genannten Grund nicht gekündigt werden.

DELETE /ip/{ip}/cancellation

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/cancellation -X DELETE
{
  "cancellation":{
    "ip":"123.123.123.123",
    "server_number":321,
    "earliest_cancellation_date":"2022-02-11",
    "cancelled":false,
    "cancellation-date":null
  }
}

Beschreibung

Eine IP-Kündigung widerrufen

Limitierung

200 Requests pro 1 Stunde

Eingabe

Keine Eingabe

Ausgabe

cancellation (Object)
ip (String) IP-Adresse
server_number (String) ID des Servers
earliest_cancellation_date (String) Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean) Zeigt an, ob die IP zur Kündigung vorgemerkt ist.
cancellation_date (String) Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse konnte nicht gefunden werden
409 CONFLICT Die Kündigung der IP-Adresse kann aus dem in der Fehlermeldung genannten Grund nicht widerrufen werden.

Subnet

GET /subnet

curl -u "user:password" https://robot-ws.your-server.de/subnet
[
  {
    "subnet":{
      "ip":"123.123.123.123",
      "mask":29,
      "gateway":"123.123.123.123",
      "server_ip":"88.198.123.123",
      "server_number":321,
      "failover":false,
      "locked":false,
      "traffic_warnings":false,
      "traffic_hourly":100,
      "traffic_daily":500,
      "traffic_monthly":2
    }
  },
  {
    "subnet":{
      "ip":"178.63.123.123",
      "mask":25,
      "gateway":"178.63.123.124",
      "server_ip":null,
      "server_number":421,
      "failover":false,
      "locked":false,
      "traffic_warnings":false,
      "traffic_hourly":100,
      "traffic_daily":500,
      "traffic_monthly":2
    }
  }
]

Beschreibung

Abfragen aller Subnetze

Limitierung

5000 Requests pro 1 Stunde

Eingabe (Optional)

Name Beschreibung
server_ip Server Haupt-IP-Adresse. Bei Angabe werden nur Subnetze angezeigt, die diesem Server zugeordnet sind

Ausgabe

(Array)
subnet (Object)
ip (String) IP-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway des Subnetzes
server_ip (String) Haupt-IP des zugehörigen Servers
server_number (Integer) ID des Servers
failover (Boolean) true, wenn das Netz ein Failover-Netz ist
locked (Boolean) Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
404 NOT_FOUND Es wurden keine Subnetze gefunden

GET /subnet/{net-ip}

curl -u "user:password" https://robot-ws.your-server.de/subnet/123.123.123.123
{
  "subnet":{
    "ip":"123.123.123.123",
    "mask":29,
    "gateway":"123.123.123.123",
    "server_ip":"88.198.123.123",
    "server_number":321,
    "failover":false,
    "locked":false,
    "traffic_warnings":false,
    "traffic_hourly":100,
    "traffic_daily":500,
    "traffic_monthly":2
  }
}

Beschreibung

Abfragen der Daten für ein bestimmtes Subnetz

Limitierung

5000 Requests pro 1 Stunde

Ausgabe

subnet (Object)
ip (String) IP-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway des Subnetzes
server_ip (String) Haupt-IP des zugehörigen Servers
server_number (Integer) ID des Servers
failover (Boolean) true, wenn das Netz ein Failover-Netz ist
locked (Boolean) Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
404 SUBNET_NOT_FOUND Das Subnetz konnte nicht gefunden werden

POST /subnet/{net-ip}

curl -u "user:password" https://robot-ws.your-server.de/subnet/123.123.123.123 -d traffic_warnings=true
{
  "subnet":{
    "ip":"123.123.123.123",
    "mask":29,
    "gateway":"123.123.123.123",
    "server_ip":"88.198.123.123",
    "server_number":321,
    "failover":false,
    "locked":false,
    "traffic_warnings":true,
    "traffic_hourly":100,
    "traffic_daily":500,
    "traffic_monthly":2
  }
}

Beschreibung

Anpassen der Traffic-Warnungen eines Subnetzes

Limitierung

5000 Requests pro 1 Stunde

Eingabe

Name Beschreibung
traffic_warnings Traffic-Warnungen aktivieren/deaktivieren (true,false)
traffic_hourly Stündliches Trafficlimit in MB
traffic_daily Tägliches Trafficlimit in MB
traffic_monthly Monatliches Trafficlimit in GB

Ausgabe

subnet (Object)
ip (String) IP-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway des Subnetzes
server_ip (String) Haupt-IP des zugehörigen Servers
server_number (Integer) ID des Servers
failover (Boolean) true, wenn das Netz ein Failover-Netz ist
locked (Boolean) Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SUBNET_NOT_FOUND Das Subnetz konnte nicht gefunden werden
500 TRAFFIC_WARNING_UPDATE_FAILED Die Traffic-Einstellungen konnten wegen eines internen Fehlers nicht vorgenommen werden

GET /subnet/{net-ip}/mac

curl -u "user:password" https://robot-ws.your-server.de/subnet/2a01:4f8:111:4221::/mac
{
  "mac":{
    "ip":"2a01:4f8:111:4221::",
    "mask":"64",
    "mac":"00:21:85:62:3e:9c",
    "possible_mac":{
      "123.123.123.123":"00:21:85:62:3e:9c",
      "123.123.123.124":"00:21:85:62:3e:9d"
    }
  }
}

Beschreibung

Abfragen, ob das Konfigurieren einer separaten MAC-Adresse möglich ist.

Limitierung

5000 Requests pro 1 Stunde

Ausgabe

mac (Object)
ip (String) IP-Adresse
mask (String) Netzwerkmaske in CIDR Notation
mac (String) MAC-Adresse
possible_mac (Object) Mögliche MAC-Adressen

Fehler

Status Code Beschreibung
404 SUBNET_NOT_FOUND Das Subnetz konnte nicht gefunden werden
404 MAC_NOT_AVAILABLE Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen

PUT /subnet/{net-ip}/mac

curl -u "user:password" https://robot-ws.your-server.de/subnet/2a01:4f8:111:4221::/mac -X PUT -d 'mac=00:21:85:62:3e:9d'
{
  "mac":{
    "ip":"2a01:4f8:111:4221::",
    "mask":"64",
    "mac":"00:21:85:62:3e:9d",
    "possible_mac":{
      "123.123.123.123":"00:21:85:62:3e:9c",
      "123.123.123.124":"00:21:85:62:3e:9d"
    }
  }
}

Beschreibung

Generieren einer separaten MAC-Adresse

Limitierung

10 Requests pro 1 Stunde

Eingabe

Name Beschreibung
mac Ziel MAC-Adresse

Ausgabe

mac (Object)
ip (String) IP-Adresse
mask (String) Netzwerkmaske in CIDR Notation
mac (String) MAC-Adresse
possible_mac (Object) Mögliche MAC-Adressen

Fehler

Status Code Beschreibung
404 SUBNET_NOT_FOUND Das Subnetz konnte nicht gefunden werden
404 MAC_NOT_AVAILABLE Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
500 MAC_FAILED Die separate MAC-Adresse konnte wegen eines internen Fehlers nicht gesetzt werden

DELETE /subnet/{net-ip}/mac

curl -u "user:password" https://robot-ws.your-server.de/subnet/2a01:4f8:111:4221::/mac -X DELETE
{
  "mac":{
    "ip":"2a01:4f8:111:4221::",
    "mask":"64",
    "mac":"00:21:85:62:3e:9c",
    "possible_mac":{
      "123.123.123.123":"00:21:85:62:3e:9c",
      "123.123.123.124":"00:21:85:62:3e:9d"
    }
  }
}

Beschreibung

Entfernen einer separaten MAC-Adresse. Dabei wird die Standard-MAC-Adresse (die der Haupt-IP-Adresse) gesetzt.### Request limit

10 Requests pro 1 Stunde

Eingabe

Keine Eingabe

Ausgabe

mac (Object)
ip (String) IP-Adresse
mask (String) Netzwerkmaske in CIDR Notation
mac (String) MAC-Adresse
possible_mac (Object) Mögliche MAC-Adressen

Fehler

Status Code Beschreibung
404 SUBNET_NOT_FOUND Das Subnetz konnte nicht gefunden werden
404 MAC_NOT_AVAILABLE Für diese IP-Adresse ist es nicht möglich, eine separate MAC-Adresse zu setzen
500 MAC_FAILED Die separate MAC-Adresse konnte wegen eines internen Fehlers nicht gelöscht werden

GET /subnet/{net-ip}/cancellation

curl -u "user:password" https://robot-ws.your-server.de/subnet/123.123.123.123/cancellation
{
  "cancellation":{
    "ip":"123.123.123.123",
    "mask":"29",
    "server_number":321,
    "earliest_cancellation_date":"2022-02-11",
    "cancelled":false,
    "cancellation-date":null
  }
}

Beschreibung

Abfragen des Kündigungstatus eines Subnetzes

Limitierung

200 Requests pro 1 Stunde

Ausgabe

cancellation (Object)
ip (String) IP-Adresse
mask (String) Netzwerkmaske in CIDR Notation
server_number (String) ID des Servers
earliest_cancellation_date (String) Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean) Zeigt an, ob das Subnetz zur Kündigung vorgemerkt ist.
cancellation_date (String) Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Das Subnetz konnte nicht gefunden werden
409 CONFLICT Dieses Subnetz kann nicht gekündigt werden.

POST /subnet/{net-ip}/cancellation

curl -u "user:password" https://robot-ws.your-server.de/subnet/123.123.123.123/cancellation \
--data-urlencode="cancellation_date=2022-02-11"
{
  "cancellation":{
    "ip":"123.123.123.123",
    "mask":"29",
    "server_number":321,
    "earliest_cancellation_date":"2022-02-11",
    "cancelled":true,
    "cancellation-date":"2022-02-11"
  }
}

Beschreibung

Ein Subnetz kündigen

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
cancellation_date Kündigungsdatum oder "now" um zu sofort zu kündigen

Ausgabe

cancellation (Object)
ip (String) IP-Adresse
mask (String) Netzwerkmaske in CIDR Notation
server_number (String) ID des Servers
earliest_cancellation_date (String) Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean) Zeigt an, ob das Subnetz zur Kündigung vorgemerkt ist.
cancellation_date (String) Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 IP_NOT_FOUND Das Subnetz konnte nicht gefunden werden
409 CONFLICT Das Subnetz kann aus dem in der Fehlermeldung genannten Grund nicht gekündigt werden.

DELETE /subnet/{ip}/cancellation

curl -u "user:password" https://robot-ws.your-server.de/ip/123.123.123.123/cancellation -X DELETE
{
  "cancellation":{
    "ip":"123.123.123.123",
    "mask":"29",
    "server_number":321,
    "earliest_cancellation_date":"2022-02-11",
    "cancelled":false,
    "cancellation-date":null
  }
}

Beschreibung

Die Kündigung eines Subnetzes widerrufen

Limitierung

200 Requests pro 1 Stunde

Eingabe

Keine Eingabe

Ausgabe

cancellation (Object)
ip (String) IP-Adresse
mask (String) Netzwerkmaske in CIDR Notation
server_number (String) ID des Servers
earliest_cancellation_date (String) Frühestes Kündigungsdatum, Format: yyyy-MM-dd
cancelled (Boolean) Zeigt an, ob das Subnetz zur Kündigung vorgemerkt ist.
cancellation_date (String) Das gesetzte Kündigungsdatum im Format yyyy-MM-dd oder null

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Das Subnetz konnte nicht gefunden werden
409 CONFLICT Die Kündigung des Subnetzes kann aus dem in der Fehlermeldung genannten Grund nicht widerrufen werden.

Reset

GET /reset

curl -u "user:password" https://robot-ws.your-server.de/reset
[
  {
    "reset":{
      "server_ip":"123.123.123.123",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":321,
      "type":[
        "sw",
        "hw",
        "man"
      ]
    }
  },
  {
    "reset":{
      "server_ip":"111.111.111.111",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":111,
      "type":[
        "power",
        "power_long",
        "hw",
        "man"
      ]
    }
  }
]

Beschreibung

Abfragen der Reset-Optionen für alle Server

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
reset (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
type (Array) Mögliche Reset-Optionen

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Server mit Reset-Option gefunden

GET /reset/{server-number}

Abfrage für einen Server, bei dem Software-Reboots ausgelöst werden können

curl -u "user:password" https://robot-ws.your-server.de/reset/321
{
  "reset":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "type":[
      "sw",
      "hw",
      "man"
    ],
    "operating_status":"not supported"
  }
}

Abfrage für einen Server, bei dem der Betriebszustand des Servers abgefragt bzw. der Power Button betätigt werden kann

curl -u "user:password" https://robot-ws.your-server.de/reset/111.111.111.111
{
  "reset":{
    "server_ip":"111.111.111.111",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":111,
    "type":[
      "power",
      "power_long",
      "hw",
      "man"
    ],
    "operating_status":"running"
  }
}

Beschreibung

Abfragen der Reset-Optionen für einen bestimmten Server

Limitierung

500 Requests pro 1 Stunde

Ausgabe

reset (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
type (Array) Mögliche Reset-Optionen
operating_status (String) Aktueller Betriebszustand des Servers

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 RESET_NOT_AVAILABLE Dieser Server hat keine Reset-Option

Deprecations

@deprecated GET /reset/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /reset/{server-number}

curl -u "user:password" https://robot-ws.your-server.de/reset/321 -d type=hw
{
  "reset":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "type":"hw"
  }
}

Beschreibung

Reset-Auftrag für einen bestimmten Server ausführen

Limitierung

50 Requests pro Stunde

Eingabe

Name Beschreibung
type Reset-Typ der ausgeführt werden soll

Ausgabe

reset (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
type (String) Ausgeführte Reset-Option

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 RESET_NOT_AVAILABLE Dieser Server hat keine Reset-Option
409 RESET_MANUAL_ACTIVE Es läuft bereits ein manueller Reset
500 RESET_FAILED Der Reset konnte wegen eines internen Fehlers nicht durchgeführt werden

Deprecations

@deprecated POST /reset/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

Failover

GET /failover

curl -u "user:password" https://robot-ws.your-server.de/failover
[
  {
    "failover":{
      "ip":"123.123.123.123",
      "netmask":"255.255.255.255",
      "server_ip":"78.46.1.93",
      "server_ipv6_net":"2a01:4f8:d0a:2003::",
      "server_number":321,
      "active_server_ip":"78.46.1.93"
    }
  },
  {
    "failover":{
      "ip":"2a01:4f8:fff1::",
      "netmask":"ffff:ffff:ffff:ffff::",
      "server_ip":"78.46.1.93",
      "server_ipv6_net":"2a01:4f8:d0a:2003::",
      "server_number":321,
      "active_server_ip":"2a01:4f8:d0a:2003::"
    }
  }
]

Beschreibung

Abfragen der Failover-Daten aller Server

Limitierung

100 Requests pro 1 Stunde

Ausgabe

(Array)
failover (Object)
ip (String) Failover Netz-Adresse
netmask (String) Failover Netzmaske
server_ip (String) Haupt-IP-Adresse des zugehörigen Servers
server_ipv6_net (String) Haupt-IPv6-Netz des zugehörigen Servers
server_number (Integer) ID des Servers
active_server_ip (String) Haupt-IP-Adresse des derzeitigen Ziel-Servers

Fehler

Status Code Beschreibung
404 NOT_FOUND Es konnten keine Failover-IP-Adressen gefunden werden

GET /failover/{failover-ip}

IPv4

curl -u "user:password" https://robot-ws.your-server.de/failover/123.123.123.123
{
  "failover":{
    "ip":"123.123.123.123",
    "netmask":"255.255.255.255",
    "server_ip":"78.46.1.93",
    "server_ipv6_net":"2a01:4f8:d0a:2003::",
    "server_number":321,
    "active_server_ip":"78.46.1.93"
  }
}

IPv6

curl -u "user:password" https://robot-ws.your-server.de/failover/2a01:4f8:fff1::
{
  "failover":{
    "ip":"2a01:4f8:fff1::",
    "netmask":"ffff:ffff:ffff:ffff::",
    "server_ip":"78.46.1.93",
    "server_ipv6_net":"2a01:4f8:d0a:2003::",
    "server_number":321,
    "active_server_ip":"2a01:4f8:d0a:2003::"
  }
}

Beschreibung

Abfragen der Failover-Daten für eine bestimmte Failover-IP-Adresse

Limitierung

100 Requests pro 1 Stunde

Ausgabe

failover (Object)
ip (String) Failover Netz-Adresse
netmask (String) Failover Netzmaske
server_ip (String) Haupt-IP-Adresse des zugehörigen Servers
server_ipv6_net (String) Haupt-IPv6-Netz des zugehörigen Servers
server_number (Integer) ID des Servers
active_server_ip (String) Haupt-IP-Adresse des derzeitigen Ziel-Servers

Fehler

Status Code Beschreibung
404 NOT_FOUND Die Failover-IP-Adresse konnte nicht gefunden werden

POST /failover/{failover-ip}

IPv4

curl -u "user:password" https://robot-ws.your-server.de/failover/123.123.123.123 \
-d active_server_ip=124.124.124.124
{
  "failover":{
    "ip":"123.123.123.123",
    "netmask":"255.255.255.255",
    "server_ip":"78.46.1.93",
    "server_ipv6_net":"2a01:4f8:d0a:2003::",
    "server_number":321,
    "active_server_ip":"124.124.124.124"
  }
}

IPv6

curl -u "user:password" https://robot-ws.your-server.de/failover/2a01:4f8:fff1:: \
-d active_server_ip=2a01:4f8:0:5176::
{
  "failover":{
    "ip":"2a01:4f8:fff1::",
    "netmask":"ffff:ffff:ffff:ffff::",
    "server_ip":"78.46.1.93",
    "server_ipv6_net":"2a01:4f8:d0a:2003::",
    "server_number":321,
    "active_server_ip":"2a01:4f8:0:5176::"
  }
}

Beschreibung

Umrouten der Failover-IP-Adresse

Limitierung

50 Requests pro Stunde

Eingabe

Name Beschreibung
active_server_ip Haupt-IP-Adresse des Server, auf den die Failover-IP geroutet werden soll.

Ausgabe

failover (Object)
ip (String) Failover Netz-Adresse
netmask (String) Failover Netzmaske
server_ip (String) Haupt-IP-Adresse des zugehörigen Servers
server_ipv6_net (String) Haupt-IPv6-Netz des zugehörigen Servers
server_number (Integer) ID des Servers
active_server_ip (String) Haupt-IP-Adresse des derzeitigen Ziel-Servers

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND Die Failover-IP-Adresse konnte nicht gefunden werden
404 FAILOVER_NEW_SERVER_NOT_FOUND Der Server, auf den das Netz geroutet werden soll, konnte nicht gefunden werden
409 FAILOVER_ALREADY_ROUTED Die Failover-IP-Adresse zeigt bereits auf den ausgewählten Server
409 FAILOVER_LOCKED Das Umrouten der Failover-IP-Adresse ist gesperrt, da bereits eine Anfrage bearbeitet wird
500 FAILOVER_FAILED Aufgrund eines internen Fehlers konnte die Failover-IP nicht um-geroutet werden
500 FAILOVER_NOT_COMPLETE Aufgrund eines internen Fehlers konnte die Failover-IP nicht um-geroutet werden

DELETE /failover/{failover-ip}

IPv4

curl -u "user:password" -X DELETE https://robot-ws.your-server.de/failover/123.123.123.123
{
  "failover":{
    "ip":"123.123.123.123",
    "netmask":"255.255.255.255",
    "server_ip":"78.46.1.93",
    "server_ipv6_net":"2a01:4f8:d0a:2003::",
    "server_number":321,
    "active_server_ip":null
  }
}

IPv6

curl -u "user:password" -X DELETE https://robot-ws.your-server.de/failover/2a01:4f8:fff1::
{
  "failover":{
    "ip":"2a01:4f8:fff1::",
    "netmask":"ffff:ffff:ffff:ffff::",
    "server_ip":"78.46.1.93",
    "server_ipv6_net":"2a01:4f8:d0a:2003::",
    "server_number":321,
    "active_server_ip":null
  }
}

Beschreibung

Löschen eines Failover-IP-Routings

Limitierung

50 Requests pro Stunde

Ausgabe

failover (Object)
ip (String) Failover Netz-Adresse
netmask (String) Failover Netzmaske
server_ip (String) Haupt-IP-Adresse des zugehörigen Servers
server_ipv6_net (String) Haupt-IPv6-Netz des zugehörigen Servers
server_number (Integer) ID des Servers
active_server_ip (String) Haupt-IP-Adresse des derzeitigen Ziel-Servers

Fehler

Status Code Beschreibung
404 NOT_FOUND Die Failover-IP-Adresse konnte nicht gefunden werden
409 FAILOVER_LOCKED Das Löschen des Failover-IP-Routings ist nicht möglich, da bereits eine andere Anfrage bearbeitet wird
500 FAILOVER_FAILED Aufgrund eines internen Fehlers konnte das Failover-IP-Routing nicht gelöscht werden
500 FAILOVER_NOT_COMPLETE Aufgrund eines internen Fehlers konnte das Failover-IP-Routing nicht gelöscht werden

Wake on LAN

GET /wol/{server-number}

curl -u "user:password" https://robot-ws.your-server.de/wol/321
{
  "wol":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321
  }
}

Beschreibung

Abfragen der WOL-Daten eines Servers

Limitierung

500 Requests pro 1 Stunde

Ausgabe

wol (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte nicht gefunden werden
404 WOL_NOT_AVAILABLE Wake On LAN ist bei diesem Server nicht verfügbar

Deprecations

@deprecated GET /wol/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /wol/{server-number}

curl -u "user:password" https://robot-ws.your-server.de/wol/321 -d ''
{
  "wol":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321
  }
}

Beschreibung

Versenden des WOL-Pakets an einen Server

Limitierung

10 Requests pro 1 Stunde

Ausgabe

wol (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte nicht gefunden werden
404 WOL_NOT_AVAILABLE Wake On LAN ist bei diesem Server nicht verfügbar
500 WOL_FAILED Das senden des WOL-Pakets konnte aufgrund eines internen Fehlers nicht ausgeführt werden

Deprecations

@deprecated POST /wol/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

Boot-Konfiguration

GET /boot/{server-number}

curl -u "user:password" https://robot-ws.your-server.de/boot/321
{
  "boot":{
    "rescue":{
      "server_ip":"123.123.123.123",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":321,
      "os":[
        "linux",
        "vkvm"
      ],
      "@deprecated arch":[
        64,
        32
      ],
      "active":false,
      "password":null,
      "authorized_key":[

      ],
      "host_key":[

      ]
    },
    "linux":{
      "server_ip":"123.123.123.123",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":321,
      "dist":[
        "CentOS 5.5 minimal",
        "Debian 7.8 minimal"
      ],
      "@deprecated arch":[
        64,
        32
      ],
      "lang":[
        "en"
      ],
      "active":false,
      "password":null,
      "authorized_key":[

      ],
      "host_key":[

      ]
    },
    "vnc":{
      "server_ip":"123.123.123.123",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":321,
      "dist":[
        "centOS-5.0",
        "Fedora-6",
        "openSUSE-10.2"
      ],
      "@deprecated arch":[
        64,
        32
      ],
      "lang":[
        "de_DE",
        "en_US"
      ],
      "active":false,
      "password":null
    },
    "windows":{
      "server_ip":"123.123.123.123",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":321,
      "dist":null,
      "lang":null,
      "active":false,
      "password":null
    },
    "plesk":{
      "server_ip":"123.123.123.123",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":321,
      "dist":[
        "CentOS 5.4 minimal",
        "Debian 7.8 minimal"
      ],
      "@deprecated arch":[
        64,
        32
      ],
      "lang":[
        "en",
        "de"
      ],
      "active":false,
      "password":null,
      "hostname":null
    },
    "cpanel":{
      "server_ip":"123.123.123.123",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":321,
      "dist":[
        "CentOS 5.6 + cPanel"
      ],
      "@deprecated arch":[
        64
      ],
      "lang":[
        "en"
      ],
      "active":false,
      "password":null,
      "hostname":null
    }
  }
}

Beschreibung

Abfragen der Boot-Konfiguration für einen Server. Es kann pro Server nur eine Konfiguration aktiv sein.

Limitierung

500 Requests pro 1 Stunde

Ausgabe

boot (Object)
rescue (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
os (Array|String) Array der verfügbaren Betriebssysteme oder das aktive Betriebssystem
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
active (Boolean) Status des Rescue-Systems
password (String) Aktuelles Passwort oder null
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel
linux (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der Linux-Installation
password (String) Passwort der Linux-Installtion oder null
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel
vnc (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der VNC-Installation
password (String) Status der VNC-Installation
windows (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der Windows-Installation
password (String) Passwort der Windows-Installation oder null
plesk (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der Plesk-Installation
password (String) Passwort der Plesk-Installation oder null
hostname (String) Hostname der Plesk-Installation oder null
cpanel (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Abfragen der Boot-Optionen für die cPanel-Installation
password (String) Passwort der cPanel-Installation oder null
hostname (String) Hostname der cPanel-Installation oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Deprecations

@deprecated GET /boot/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

GET /boot/{server-number}/rescue

curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue
{
  "rescue":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "os":[
      "linux",
      "vkvm"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "active":false,
    "password":null,
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Abfragen der Boot-Optionen für das Rescue-System

Limitierung

500 Requests pro 1 Stunde

Ausgabe

rescue (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
os (Array|String) Array der verfügbaren Betriebssysteme oder das aktive Betriebssystem
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
active (Boolean) Status des Rescue-Systems
password (String) Aktuelles Passwort oder null
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Deprecations

@deprecated GET /boot/{server-ip}/rescue Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /boot/{server-number}/rescue

curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue -d 'os=linux'
{
  "rescue":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "os":"linux",
    "@deprecated arch":32,
    "active":true,
    "password":"jEt0dtUvomlyOwRr",
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Aktivieren des Rescue-Systems

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
os Betriebssystem
@deprecated arch Architektur (optional, Standard: 64)
authorized_key Einer oder mehrere SSH-Schlüssel Fingerprints (optional)
keyboard Gewünschtes Tastatur-Layout (optional, Standard: us)

Ausgabe

rescue (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
os (String) Betriebssystem
@deprecated arch (Integer) Architektur
active (Boolean) true
password (String) Passwort
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_ACTIVATION_FAILED Das aktivieren des Rescue-Systems ist aufgrund eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated POST /boot/{server-ip}/rescue Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

DELETE /boot/{server-number}/rescue

curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue -X DELETE
{
  "rescue":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "os":[
      "linux",
      "vkvm"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "active":false,
    "password":null,
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Deaktivieren des Rescue-Systems

Limitierung

500 Requests pro 1 Stunde

Ausgabe

rescue (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
os (Array) Array der verfügbaren Betriebssysteme
@deprecated arch (Array) Array der verfügbaren Architekturen
active (Boolean) false
password (String) null
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren des Rescue-Systems ist aufgrund eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated POST /boot/{server-ip}/rescue -X DELETE Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

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

curl -u "user:password" https://robot-ws.your-server.de/boot/321/rescue/last
{
  "rescue":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "os":"linux",
    "@deprecated arch":64,
    "active":false,
    "password":null,
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Abfragen der Daten der letzten Aktivierung des Rescue-Systems

Limitierung

500 Requests pro 1 Stunde

Ausgabe

rescue (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
os (String) Betriebssystem
@deprecated arch (Integer) Architektur
active (Boolean) Status des Rescue-Systems
password (String) Aktuelles Passwort oder null
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

GET /boot/{server-number}/linux

curl -u "user:password" https://robot-ws.your-server.de/boot/321/linux
{
  "linux":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "CentOS 5.5 minimal",
      "Debian 7.8 minimal"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "lang":[
      "en"
    ],
    "active":false,
    "password":null,
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Abfrage der Boot-Optionen für die Linux-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

linux (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der Linux-Installation
password (String) Passwort der Linux-Installtion oder null
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Deprecations

@deprecated GET /boot/{server-ip}/linux Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /boot/{server-number}/linux

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

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Aktivieren der Linux-Installation

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
dist Distribution
@deprecated arch Architektur (optional, Standard: 64)
lang Sprache
authorized_key Einer oder mehrere SSH-Schlüssel Fingerprints (optional)

Ausgabe

linux (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
@deprecated arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort Linux-Installation
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_ACTIVATION_FAILED Das Aktiveren der Linux-Installation ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated POST /boot/{server-ip}/linux Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

DELETE /boot/{server-number}/linux

curl -u "user:password" https://robot-ws.your-server.de/boot/321/linux -X DELETE
{
  "linux":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "CentOS 5.5 minimal",
      "Debian 7.8 minimal"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "lang":[
      "en"
    ],
    "active":false,
    "password":null,
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Deaktivieren der Linux-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

linux (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
@deprecated arch (Array) Array der verfügbaren Architekturen
lang (Array) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der Linux-Installation ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated POST /boot/{server-ip}/linux -X DELETE Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

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

curl -u "user:password" https://robot-ws.your-server.de/boot/321/linux/last
{
  "linux":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":"CentOS 5.5 minimal",
    "@deprecated arch":32,
    "lang":"en",
    "active":true,
    "password":"jEt0dtUvomlyOwRr",
    "authorized_key":[

    ],
    "host_key":[

    ]
  }
}

Beschreibung

Abfragen der Daten der letzten Linux-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

linux (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
@deprecated arch (Integer) Architektur
lang (String) Sprache
active (Boolean) Status der Linux-Installation
password (String) Passwort der Linux-Installation oder null
authorized_key (Array) SSH-Schlüssel
host_key (Array) SSH Host-Schlüssel

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Deprecations

@deprecated GET /boot/{server-ip}/linux/last Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

GET /boot/{server-number}/vnc

curl -u "user:password" https://robot-ws.your-server.de/boot/321/vnc
{
  "vnc":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "centOS-5.0",
      "Fedora-6",
      "openSUSE-10.2"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "lang":[
      "de_DE",
      "en_US"
    ],
    "active":false,
    "password":null
  }
}

Beschreibung

Abfrage der Boot-Optionen für die VNC-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

vnc (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der VNC-Installation
password (String) Status der VNC-Installation

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Deprecations

@deprecated GET /boot/{server-ip}/vnc Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /boot/{server-number}/vnc

 curl -u "user:password" https://robot-ws.your-server.de/boot/321/vnc -d 'dist=centOS-5.0&lang=en_US'
{
  "vnc":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":"centOS-5.0",
    "@deprecated arch":32,
    "lang":"en_US",
    "active":true,
    "password":"jEt0dtUvomlyOwRr"
  }
}

Beschreibung

Aktivieren der VNC-Installation

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
dist Distribution
@deprecated arch Architektur (optional, Standard: 64)
lang Sprache

Ausgabe

vnc (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
@deprecated arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort VNC-Installation

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_ACTIVATION_FAILED Das Aktiveren der VNC-Installation ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated POST /boot/{server-ip}/vnc Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

DELETE /boot/{server-number}/vnc

curl -u "user:password" https://robot-ws.your-server.de/boot/321/vnc -X DELETE
{
  "vnc":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "centOS-5.0",
      "Fedora-6",
      "openSUSE-10.2"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "lang":[
      "de_DE",
      "en_US"
    ],
    "active":false,
    "password":null
  }
}

Beschreibung

Deaktivieren der VNC-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

vnc (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
@deprecated arch (Array) Array der verfügbaren Architekturen
lang (Array) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der VNC-Installation ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated DELETE /boot/{server-ip}/vnc Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

GET /boot/{server-number}/windows

curl -u "user:password" https://robot-ws.your-server.de/boot/321/windows
{
  "windows":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "standard"
    ],
    "lang":[
      "en",
      "de"
    ],
    "active":false,
    "password":null
  }
}

Beschreibung

Abfragen der Boot-Optionen für die Windows-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

windows (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der Windows-Installation
password (String) Passwort der Windows-Installation oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 WINDOWS_OUTDATED_VERSION Die gebuchte Windows-Version wird nicht mehr unterstützt

Deprecations

@deprecated GET /boot/{server-ip}/windows Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /boot/{server-number}/windows

curl -u "user:password" https://robot-ws.your-server.de/boot/321/windows -d 'lang=en'
{
  "windows":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":"standard",
    "lang":"en",
    "active":true,
    "password":"jEt0dtUvomlyOwRr"
  }
}

Beschreibung

Aktivieren der Windows-Installation. Dies ist nur möglich, wenn für den Server das Windows-Addon gebucht wurde. Nach dem Neustart des Servers wird die automatische Windows-Installation gestartet. Alle Daten auf dem Server werden bei der Installation gelöscht.

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
lang Sprache

Ausgabe

windows (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
@deprecated arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort der Windows-Installation

Deprecations

@deprecated POST /boot/{server-ip}/windows Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 WINDOWS_MISSING_ADDON Das Windows-Addon fehlt
404 WINDOWS_OUTDATED_VERSION Die gebuchte Windows-Version wird nicht mehr unterstützt
500 BOOT_ACTIVATION_FAILED Das Aktivieren der Windows-Installation ist wegen eines internen Fehlers fehlgeschlagen

DELETE /boot/{server-number}/windows

curl -u "user:password" https://robot-ws.your-server.de/boot/321/windows -X DELETE
{
  "windows":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "standard"
    ],
    "lang":[
      "en",
      "de"
    ],
    "active":false,
    "password":null
  }
}

Beschreibung

Windows-Installation deaktivieren

Limitierung

500 Requests pro 1 Stunde

Ausgabe

windows (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
@deprecated arch (Array) Array der verfügbaren Architekturen
lang (Array) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 WINDOWS_OUTDATED_VERSION Die gebuchte Windows-Version wird nicht mehr unterstützt
500 BOOT_DEACTIVATION_FAILED Deaktivieren der Windows-Installation

Deprecations

@deprecated DELETE /boot/{server-ip}/windows Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

GET /boot/{server-number}/plesk

curl -u "user:password" https://robot-ws.your-server.de/boot/321/plesk
{
  "plesk":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "CentOS 5.4 minimal",
      "Debian 7.8 minimal"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "lang":[
      "en",
      "de"
    ],
    "active":false,
    "password":null,
    "hostname":null
  }
}

Beschreibung

Abfragen der Boot-Optionen für die Plesk-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

plesk (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der Plesk-Installation
password (String) Passwort der Plesk-Installation oder null
hostname (String) Hostname der Plesk-Installation oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 WINDOWS_OUTDATED_VERSION Die gebuchte Windows-Version wird nicht mehr unterstützt

Deprecations

@deprecated GET /boot/{server-ip}/plesk Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /boot/{server-number}/plesk

curl -u "user:password" https://robot-ws.your-server.de/boot.yaml/321/plesk -d 'dist=CentOS 5.4 minimal&lang=de&hostname=plesk.testen.de'
{
  "plesk":{
    "server_ip":"213.239.217.200",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":"CentOS 5.4 minimal",
    "@deprecated arch":32,
    "lang":"de",
    "active":true,
    "password":"jEt0dtUvomlyOwRr",
    "hostname":"plesk.testen.de"
  }
}

Beschreibung

Aktivieren der Plesk-Installation

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
dist Distribution
@deprecated arch Architektur (optional, Standard: 64)
lang Sprache
hostname Hostname

Ausgabe

plesk (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
@deprecated arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort der Plesk-Installation
hostname (String) Hostname der Plesk-Installation

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 PLESK_MISSING_ADDON Das Plesk-Addon fehlt
404 WINDOWS_OUTDATED_VERSION Die gebuchte Windows-Version wird nicht mehr unterstützt
500 BOOT_ACTIVATION_FAILED Das Aktiveren der Plesk-Installation ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated POST /boot/{server-ip}/plesk Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

DELETE /boot/{server-number}/plesk

curl -u "user:password" https://robot-ws.your-server.de/boot/321/plesk -X DELETE
{
  "plesk":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "CentOS 5.4 minimal",
      "Debian 7.8 minimal"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "lang":[
      "en",
      "de"
    ],
    "active":false,
    "password":null,
    "hostname":null
  }
}

Beschreibung

Deaktivieren der Plesk-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

plesk (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
@deprecated arch (Array) Array der verfügbaren Architekturen
lang (Array) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null
hostname (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 WINDOWS_OUTDATED_VERSION Die gebuchte Windows-Version wird nicht mehr unterstützt
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der Plesk-Installation ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated DELETE /boot/{server-ip}/plesk Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

GET /boot/{server-number}/cpanel

curl -u "user:password" https://robot-ws.your-server.de/boot/321/cpanel
{
  "cpanel":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "CentOS 5.6 + cPanel"
    ],
    "@deprecated arch":[
      64
    ],
    "lang":[
      "en"
    ],
    "active":false,
    "password":null,
    "hostname":null
  }
}

Beschreibung

Abfragen der Boot-Optionen für die cPanel-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

cpanel (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
@deprecated arch (Array|Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array|String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Abfragen der Boot-Optionen für die cPanel-Installation
password (String) Passwort der cPanel-Installation oder null
hostname (String) Hostname der cPanel-Installation oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Deprecations

@deprecated GET /boot/{server-ip}/cpanel Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /boot/{server-number}/cpanel

curl -u "user:password" https://robot-ws.your-server.de/boot/321/cpanel -d 'dist=CentOS 5.6 + cPanel&lang=en&hostname=cpanel.testen.de'
{
  "cpanel":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":"CentOS 5.6 + cPanel",
    "@deprecated arch":64,
    "lang":"en",
    "active":true,
    "password":"ie8Nhz6R",
    "hostname":"cpanel.testen.de"
  }
}

Beschreibung

Aktivieren der cPanel-Installation

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
dist Distribution
@deprecated arch Architektur (optional, Standard: 64)
lang Sprache
hostname Hostname

Ausgabe

cpanel (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (String) Distribution
@deprecated arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort der cPanel-Installation
hostname (String) Hostname der cPanel-Installation

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 CPANEL_MISSING_ADDON Kein cPanel-Addon gefunden
500 BOOT_ACTIVATION_FAILED Das Aktiveren der cPanel-Installation ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated POST /boot/{server-ip}/cpanel Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

DELETE /boot/{server-number}/cpanel

curl -u "user:password" https://robot-ws.your-server.de/boot/321/cpanel -X DELETE
{
  "cpanel":{
    "server_ip":"123.123.123.123",
    "server_ipv6_net":"2a01:4f8:111:4221::",
    "server_number":321,
    "dist":[
      "CentOS 5.6 + cPanel"
    ],
    "@deprecated arch":[
      64
    ],
    "lang":[
      "en"
    ],
    "active":false,
    "password":null,
    "hostname":null
  }
}

Beschreibung

Deaktivieren der cPanel-Installation

Limitierung

500 Requests pro 1 Stunde

Ausgabe

plesk (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number (Integer) ID des Servers
dist (Array) Array der verfügbaren Distributionen
@deprecated arch (Array) Array der verfügbaren Architekturen
lang (Array) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null
hostname (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte mit der ID {server-number} konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der cPanel-Installation ist wegen eines internen Fehlers fehlgeschlagen

Deprecations

@deprecated DELETE /boot/{server-ip}/cpanel Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

Reverse DNS

GET /rdns

curl -u "user:password" https://robot-ws.your-server.de/rdns
[
  {
    "rdns":{
      "ip":"123.123.123.123",
      "ptr":"testen.de"
    }
  },
  {
    "rdns":{
      "ip":"124.124.124.124",
      "ptr":"your-server.de"
    }
  }
]

Beschreibung

Abfragen aller gesetzten Reverse-DNS Einträge

Limitierung

500 Requests pro 1 Stunde

Eingabe (Optional)

Name Beschreibung
server_ip Server Haupt-IP-Adresse. Bei Angabe werden nur Reverse-DNS Einträge angezeigt, die diesem Server zugeordnet sind

Ausgabe

(Array)
rdns (Object)
ip (String) IP-Adresse
ptr (String) PTR-Record

Fehler

Status Code Beschreibung
404 NOT_FOUND Es wurden keine Reverse-DNS Einträge gefunden

GET /rdns/{ip}

curl -u "user:password" https://robot-ws.your-server.de/rdns/123.123.123.123
{
  "rdns":{
    "ip":"123.123.123.123",
    "ptr":"testen.de"
  }
}

Beschreibung

Abfragen des Reverse-DNS Eintrags für eine IP-Adresse

Limitierung

500 Requests pro 1 Stunde

Ausgabe

rdns (Object)
ip (String) IP-Adresse
ptr (String) PTR-Record

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse {ip} wurde nicht gefunden
404 RDNS_NOT_FOUND Die IP-Adresse {ip} wurde nicht gefunden

PUT /rdns/{ip}

curl -u "user:password" https://robot-ws.your-server.de/rdns/123.123.123.123 -d ptr=testen.de -X PUT
{
  "rdns":{
    "ip":"123.123.123.123",
    "ptr":"testen.de"
  }
}

Beschreibung

Erstellen eines neuen Reverse-DNS Eintrags für eine IP-Adresse. Wenn der neue Reverse-DNS Eintrag erfolgreich erstellt wurde, wird der HTTP Status Code 201 CREATED zurückgeliefert.

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
ptr PTR-Record

Ausgabe

rdns (Object)
ip (String) IP-Adresse
ptr (String) PTR-Record

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 IP_NOT_FOUND Die IP-Adresse {ip} wurde nicht gefunden
409 RDNS_ALREADY_EXISTS Es existiert bereits ein Reverse-DNS-Eintrag
500 RDNS_CREATE_FAILED Es existiert bereits ein Reverse-DNS Eintrag

POST /rdns/{ip}

curl -u "user:password" https://robot-ws.your-server.de/rdns/123.123.123.123 -d ptr=testen.de
{
  "rdns":{
    "ip":"123.123.123.123",
    "ptr":"testen.de"
  }
}

Beschreibung

Aktualisieren oder Anlegen eines Reverse-DNS Eintrags. Wenn der DNS-Eintrag neu angelegt wurde, wird der HTTP-Status 201 CREATED zurückgeliefert.

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
ptr PTR-Record

Ausgabe

rdns (Object)
ip (String) IP-Adresse
ptr (String) PTR-Record

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 IP_NOT_FOUND Die IP-Adresse {ip} wurde nicht gefunden
500 RDNS_CREATE_FAILED Es existiert bereits ein Reverse-DNS Eintrag
500 RDNS_UPDATE_FAILED Das Aktualisieren des Reverse-DNS Eintrags ist fehlgeschlagen

DELETE /rdns/{ip}

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

Beschreibung

Löschen des Reverse-DNS Eintrags für eine IP-Adresse

Limitierung

500 Requests pro 1 Stunde

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse {ip} wurde nicht gefunden
500 RDNS_DELETE_FAILED Das Löschen des Reverse-DNS Eintrags ist wegen eines internen Fehlers fehlgeschlagen
500 RDNS_UPDATE_FAILED Das Aktualisieren des Reverse-DNS Eintrags ist fehlgeschlagen

Traffic

POST /traffic

Abfragen der Traffic-Daten für eine IP-Adresse

curl -u "user:password" https://robot-ws.your-server.de/traffic \
  --data-urlencode 'type=month' \
  --data-urlencode 'from=2010-09-01' \
  --data-urlencode 'to=2010-09-31' \
  --data-urlencode 'ip=123.123.123.123'
{
  "traffic":{
    "type":"month",
    "from":"2010-09-01",
    "to":"2010-09-31",
    "data":{
      "123.123.123.123":{
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      }
    }
  }
}

Abfragen der Traffic-Daten für mehrere IP-Adressen

curl -u "user:password" https://robot-ws.your-server.de/traffic \ 
  --data-urlencode 'type=month' \
  --data-urlencode 'from=2010-09-01' \
  --data-urlencode 'to=2010-09-31' \
  --data-urlencode 'ip[]=123.123.123.123' \
  --data-urlencode 'ip[]=124.124.124.124'
{
  "traffic":{
    "type":"month",
    "from":"2010-09-01",
    "to":"2010-09-31",
    "data":{
      "123.123.123.123":{
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      },
      "124.124.124.124":{
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      }
    }
  }
}

Abfragen der Traffic-Daten für ein Subnetz

curl -u "user:password" https://robot-ws.your-server.de/traffic \
  --data-urlencode 'type=month' \
  --data-urlencode 'from=2010-09-01' \
  --data-urlencode 'to=2010-09-31' \
  --data-urlencode 'subnet=2a01:4f8:61:41a2::'
{
  "traffic":{
    "type":"month",
    "from":"2010-09-01",
    "to":"2010-09-31",
    "data":{
      "2a01:4f8:61:41a2::\/64":{
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      }
    }
  }
}

Abfragen der Traffic-Daten für eine IP-Adresse, gruppiert nach Tagen

curl -u "user:password" https://robot-ws.your-server.de/traffic \
  --data-urlencode 'type=month' \
  --data-urlencode 'from=2019-01-01' \
  --data-urlencode 'to=2019-01-07' \
  --data-urlencode 'ip=123.123.123.123' \
  --data-urlencode 'single_values=true'
{
  "traffic":{
    "type":"month",
    "from":"2019-01-01",
    "to":"2019-01-07",
    "data":{
      "123.123.123.123":{
        "01":{
          "in":0.0023,
          "out":0.0102,
          "sum":0.0125
        },
        "02":{
          "in":229.7502,
          "out":10.7187,
          "sum":240.4689
        },
        "03":{
          "in":97.8517,
          "out":1.53,
          "sum":99.3817
        },
        "04":{
          "in":191.0187,
          "out":0.153,
          "sum":191.1717
        },
        "05":{
          "in":0.0021,
          "out":0.0022,
          "sum":0.0043
        },
        "06":{
          "in":0,
          "out":0.0021,
          "sum":0.0021
        },
        "07":{
          "in":0,
          "out":0,
          "sum":0
        }
      }
    }
  }
}

Beschreibung

Abfragen der Traffic-Daten für IP-Adressen und Subnetze. Es stehen drei Abfrage-Arten zur Verfügung: "day", "month" und "year". Mit diesen geben Sie an, ob sich die Trafficabfrage auf einen Zeitraum innerhalb eines Tages ("day"), eines Monats ("month") oder eines Jahres ("year") bezieht. Möchten Sie zum Beispiel den Trafficverbrauch für eine oder mehrere Stunden innerhalb eines Tages abfragen, verwenden Sie "day". Möchten Sie die Tagessumme oder die Summe mehrerer Tage innerhalb eines Monats ermitteln, verwenden Sie "month". Und für die Abfrage von Monatssummen innerhalb eines Jahres ist "year" die richtige Abfrage-Art.

Bitte beachten Sie, dass Stunden-, Tages- und Monatssummen erst nach Ablauf der/des entsprechenden Stunde, Tages bzw. Monats verfügbar sind.

Das Abfrage-Intervall können sie mit den Parametern "from" und "to" angeben. Die Syntax dieser Paramater ist wie folgt:

Bei dem Abfrage-Typ "day" wird das Datum zusammen mit der Stunde angegeben. Der Stundenwert wird vom Datum mit dem Buchstaben "T" getrennt. Beim Anfrage-Typ "month" darf der Stundenwert nicht mit angegeben werden, da Sie hier den Zeitraum nur tagesbasiert angeben können. Bei dem Typ "year" fällt zusätzlich noch der Tageswert weg, da Sie hier den Zeitraum innerhalb eines Jahres monatsbasiert angeben.

Wenn für die ausgewählten IP-Adressen und Subnetze kein Traffic angefallen ist, werden diese in der Antwort nicht angezeigt.

Mit dem Parameter "single_values" ist es möglich, die Traffic-Daten nach Stunden, Tagen oder Monaten über das angegebene Intervall zu gruppieren. Bei Typ "Tag" sind die Daten nach Stunden, bei Typ "Monat" nach Tagen und bei Typ "Jahr" nach Monaten gruppiert.

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
ip[] Eine oder mehrere IP-Adressen
subnet[] Eine oder mehrere Subnetz-Adressen
from Datum/Zeit von
to Datum/Zeit bis
type Abfrage-Typ (day,month,year)
single_values Wenn auf "true" gesetzt, werden die Traffic-Daten nicht als Summe über das gesamte Intervall zurückgegeben, sondern nach Stunde, Tag oder Monat gruppiert (optional).

Ausgabe

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)
traffic (Object)
type (String) Abfrage-Typ
from (String) Datum/Zeit von
to (String) Datum/Zeit bis
data (Object)
<IP address> (Object)
<interval> (Object)
in (Number) Traffic eingehend (GB)
out (Number) Traffic ausgehend (GB)
sum (Number) Traffic Summe (GB)

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND Keine IP-Adressen oder Subnetze gefunden
500 INTERNAL_ERROR Das Abfragen des Traffic ist aufgrund eines internen Fehlers fehlgeschlagen

SSH-Schlüssel

GET /key

curl -u "user:password" https://robot-ws.your-server.de/key
[
  {
    "key":{
      "name":"key1",
      "fingerprint":"56:29:99:a4:5d:ed:ac:95:c1:f5:88:82:90:5d:dd:10",
      "type":"ECDSA",
      "size":521,
      "data":"ecdsa-sha2-nistp521 AAAAE2VjZHNh ...",
      "created_at":"2021-12-31 23:59:59"
    }
  },
  {
    "key":{
      "name":"key2",
      "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
      "type":"ED25519",
      "size":256,
      "data":"ssh-ed25519 AAAAC3NzaC1 ...",
      "created_at":"2021-12-31 23:59:59"
    }
  }
]

Beschreibung

Abfragen aller SSH-Schlüssel

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
key (Object)
name (String) Schlüsselname
fingerprint (String) Schlüssel Fingerprint
type (String) Schlüssel-Typ
size (Integer) Schlüssellänge in bits
data (String) Schlüsseldaten im OpenSSH-Format
created_at (Date) Datum, an dem der Schlüssel angelegt wurde

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Schlüssel gefunden

POST /key

curl -u "user:password" https://robot-ws.your-server.de/key \
--data-urlencode 'name=NewKey' \
--data-urlencode 'data=ssh-rsa AAAAB3NzaC1yc+...'
{
  "key":{
    "name":"NewKey",
    "fingerprint":"cb:8b:ef:a7:fe:04:87:3f:e5:55:cd:12:e3:e8:9f:99",
    "type":"RSA",
    "size":8192,
    "data":"ssh-rsa AAAAB3NzaC1yc+...",
    "created_at":"2021-12-31 23:59:59"
  }
}

Beschreibung

Hinzufügen eines neuen SSH-Schlüssels. Wenn der Schlüssel erfolgreich angelegt wurde, wird der HTTP-Status 201 CREATED zurückgeliefert.

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
name Schlüsselname
data Schlüsseldaten im OpenSSH- oder SSH2-Format

Ausgabe

key (Object)
name (String) Schlüsselname
fingerprint (String) Schlüssel Fingerprint
type (String) Schlüssel-Typ
size (Integer) Schlüssellänge in bits
data (String) Schlüsseldaten im OpenSSH-Format
created_at (Date) Datum, an dem der Schlüssel angelegt wurde

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
409 KEY_ALREADY_EXISTS Der Schlüssel existiert bereits
500 KEY_CREATE_FAILED Das Hinzufügen des Schlüssels ist wegen eines internen Fehlers gescheitert

GET /key/{fingerprint}

curl -u "user:password" https://robot-ws.your-server.de/key/15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb
{
  "key":{
    "name":"key2",
    "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
    "type":"ED25519",
    "size":256,
    "data":"ssh-ed25519 AAAAC3NzaC1 ...",
    "created_at":"2021-12-31 23:59:59"
  }
}

Beschreibung

Abfragen eines bestimmten SSH-Schlüssels

Limitierung

500 Requests pro 1 Stunde

Ausgabe

key (Object)
name (String) Schlüsselname
fingerprint (String) Schlüssel Fingerprint
type (String) Schlüssel-Typ
size (Integer) Schlüssellänge in bits
data (String) Schlüsseldaten im OpenSSH-Format
created_at (Date) Datum, an dem der Schlüssel angelegt wurde

Fehler

Status Code Beschreibung
404 NOT_FOUND Schlüssel nicht gefunden

POST /key/{fingerprint}

curl -u "user:password" https://robot-ws.your-server.de/key/15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb \
--data-urlencode 'name=MyTestKey'
{
  "key":{
    "name":"MyTestKey",
    "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
    "type":"ED25519",
    "size":256,
    "data":"ssh-ed25519 AAAAC3NzaC1 ...",
    "created_at":"2021-12-31 23:59:59"
  }
}

Beschreibung

Aktualisieren des Schlüssel-Namens

Limitierung

200 Requests pro 1 Stunde

Eingabe

Name Beschreibung
name Schlüsselname

Ausgabe

key (Object)
name (String) Schlüsselname
fingerprint (String) Schlüssel Fingerprint
type (String) Schlüssel-Typ
size (Integer) Schlüssellänge in bits
data (String) Schlüsseldaten im OpenSSH-Format
created_at (Date) Datum, an dem der Schlüssel angelegt wurde

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND Schlüssel nicht gefunden
500 KEY_UPDATE_FAILED Das Aktualisieren des Schlüssel-Namens ist wegen eines internen Fehlers gescheitert

DELETE /key/{fingerprint}

curl -u "user:password" https://robot-ws.your-server.de/key/15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb -X DELETE

Beschreibung

Löschen eines Schlüssels

Limitierung

200 Requests pro 1 Stunde

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
404 NOT_FOUND Schlüssel nicht gefunden
500 KEY_DELETE_FAILED Das Löschen des Schlüssels ist wegen eines internen Fehlers fehlgeschlagen

Server Bestellung

Aktivierung

Hinweise

GET /order/server/product

curl -u "user:password" https://robot-ws.your-server.de/order/server/product
[
  {
    "product":{
      "id":"EX60",
      "name":"Dedicated Server EX60",
      "description":[
        "Intel\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"
      ],
      "@deprecated arch":[
        64,
        32
      ],
      "lang":[
        "en"
      ],
      "location":[
        "FSN1",
        "NBG1"
      ],
      "prices":[
        {
          "location":"FSN1",
          "price":{
            "net":"49.58",
            "gross":"49.58",
            "hourly_net":"0.0795",
            "hourly_gross":"0.0795"
          },
          "price_setup":{
            "net":"0.00",
            "gross":"0.00"
          }
        },
        {
          "location":"NBG1",
          "price":{
            "net":"49.58",
            "gross":"49.58",
            "hourly_net":"0.0795",
            "hourly_gross":"0.0795"
          },
          "price_setup":{
            "net":"0.00",
            "gross":"0.00"
          }
        }
      ],
      "orderable_addons":[
        {
          "id":"primary_ipv4",
          "name":"Primary IPv4",
          "min":0,
          "max":1,
          "prices":[
            {
              "location":"FSN1",
              "price":{
                "net":"1.7000",
                "gross":"1.7000",
                "hourly_net":"0.0027",
                "hourly_gross":"0.0027"
              },
              "price_setup":{
                "net":"0.0000",
                "gross":"0.0000"
              }
            },
            {
              "location":"NBG1",
              "price":{
                "net":"1.7000",
                "gross":"1.7000",
                "hourly_net":"0.0027",
                "hourly_gross":"0.0027"
              },
              "price_setup":{
                "net":"0.0000",
                "gross":"0.0000"
              }
            }
          ]
        }
      ]
    }
  },
  {
    "product":{
      "id":"EX40",
      "name":"Dedicated 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"
      ],
      "@deprecated arch":[
        64,
        32
      ],
      "lang":[
        "en"
      ],
      "location":[
        "FSN1",
        "NBG1"
      ],
      "prices":[
        {
          "location":"FSN1",
          "price":{
            "net":"84.03",
            "gross":"84.03",
            "hourly_net":"0.1347",
            "hourly_gross":"0.1347"
          },
          "price_setup":{
            "net":"41.18",
            "gross":"41.18"
          }
        },
        {
          "location":"NBG1",
          "price":{
            "net":"84.03",
            "gross":"84.03",
            "hourly_net":"0.1347",
            "hourly_gross":"0.1347"
          },
          "price_setup":{
            "net":"41.18",
            "gross":"41.18"
          }
        }
      ],
      "orderable_addons":[
        {
          "id":"primary_ipv4",
          "name":"Primary IPv4",
          "min":0,
          "max":1,
          "prices":[
            {
              "location":"FSN1",
              "price":{
                "net":"1.7000",
                "gross":"1.7000",
                "hourly_net":"0.0027",
                "hourly_gross":"0.0027"
              },
              "price_setup":{
                "net":"0.0000",
                "gross":"0.0000"
              }
            },
            {
              "location":"NBG1",
              "price":{
                "net":"1.7000",
                "gross":"1.7000",
                "hourly_net":"0.0027",
                "hourly_gross":"0.0027"
              },
              "price_setup":{
                "net":"0.0000",
                "gross":"0.0000"
              }
            }
          ]
        }
      ]
    }
  }
]

Beschreibung

Produktübersicht der derzeit angebotenen Standard-Server

Limitierung

500 Requests pro 1 Stunde

Eingabe (Optional)

Name Beschreibung
min_price Minimaler monatlicher Preis
max_price Maximaler monatlicher Preis
min_price_setup Minimale Setup-Gebühr
max_price_setup Maximale Setup-Gebühr
location Der gewünschte Standort

Ausgabe

(Array)
product (Object)
id (String) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (Array) Verfügbare Distributionen
@deprecated arch (Array) Verfügbare Architekturen
lang (Array) Verfügbare Sprachen
location (Array) Verfügbare Standorte
prices (Array)
(Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer
orderable_addons (Array)
(Object)
id (String) Addon-ID
name (String) Addon-Name
location (String) Standort
min (Integer) Minimal bestellbare Menge
max (Integer) Maximal bestellbare Menge
prices (Array)
(Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Produkte gefunden

GET /order/server/product/{product-id}

curl -u "user:password" https://robot-ws.your-server.de/order/server/product/EX40
{
  "product":{
    "id":"EX40",
    "name":"Dedicated Server EX40",
    "description":[
      "Intel\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"
    ],
    "@deprecated arch":[
      64,
      32
    ],
    "lang":[
      "en"
    ],
    "location":[
      "FSN1",
      "NBG1"
    ],
    "prices":[
      {
        "location":"FSN1",
        "price":{
          "net":"84.03",
          "gross":"84.03",
          "hourly_net":"0.1347",
          "hourly_gross":"0.1347"
        },
        "price_setup":{
          "net":"41.18",
          "gross":"41.18"
        }
      },
      {
        "location":"NBG1",
        "price":{
          "net":"84.03",
          "gross":"84.03",
          "hourly_net":"0.1347",
          "hourly_gross":"0.1347"
        },
        "price_setup":{
          "net":"41.18",
          "gross":"41.18"
        }
      }
    ],
    "orderable_addons":[
      {
        "id":"primary_ipv4",
        "name":"Primary IPv4",
        "min":0,
        "max":1,
        "prices":[
          {
            "location":"FSN1",
            "price":{
              "net":"1.7000",
              "gross":"1.7000",
              "hourly_net":"0.0027",
              "hourly_gross":"0.0027"
            },
            "price_setup":{
              "net":"0.0000",
              "gross":"0.0000"
            }
          },
          {
            "location":"NBG1",
            "price":{
              "net":"1.7000",
              "gross":"1.7000",
              "hourly_net":"0.0027",
              "hourly_gross":"0.0027"
            },
            "price_setup":{
              "net":"0.0000",
              "gross":"0.0000"
            }
          }
        ]
      }
    ]
  }
}

Beschreibung

Abfragen eines bestimmen Server-Produkts

Limitierung

500 Requests pro 1 Stunde

Ausgabe

product (Object)
id (String) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (Array) Verfügbare Distributionen
@deprecated arch (Array) Verfügbare Architekturen
lang (Array) Verfügbare Sprachen
location (Array) Verfügbare Standorte
prices (Array)
(Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer
orderable_addons (Array)
(Object)
id (String) Addon-ID
name (String) Addon-Name
location (String) Standort
min (Integer) Minimal bestellbare Menge
max (Integer) Maximal bestellbare Menge
prices (Array)
(Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer

Fehler

Status Code Beschreibung
404 NOT_FOUND Produkt nicht gefunden

GET /order/server/transaction

curl -u "user:password" https://robot-ws.your-server.de/order/server/transaction
[
  {
    "transaction":{
      "id":"B20150121-344957-251478",
      "date":"2015-01-21T12:30:43+01:00",
      "status":"in process",
      "server_number":null,
      "server_ip":null,
      "authorized_key":[

      ],
      "host_key":[

      ],
      "comment":null,
      "product":{
        "id":"VX6",
        "name":"vServer VX6",
        "description":[
          "Single-Core CPU",
          "1 GB RAM",
          "25 GB HDD",
          "No telephone support"
        ],
        "traffic":"2 TB",
        "dist":"Rescue system",
        "@deprecated arch":"64",
        "lang":"en",
        "location":null
      },
      "addons":[
        "primary_ipv4"
      ]
    }
  },
  {
    "transaction":{
      "id":"B20150121-344958-251479",
      "date":"2015-01-21T12:54:01+01:00",
      "status":"ready",
      "server_number":107239,
      "server_ip":"188.40.1.1",
      "authorized_key":[
        {
          "key":{
            "name":"key1",
            "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
            "type":"ED25519",
            "size":256
          }
        }
      ],
      "host_key":[
        {
          "key":{
            "fingerprint":"c1:e4:08:73:dd:f7:e9:d1:94:ab:e9:0f:28:b2:d2:ed",
            "type":"DSA",
            "size":1024
          }
        }
      ],
      "comment":null,
      "product":{
        "id":"EX40",
        "name":"Dedicated Server EX40",
        "description":[
          "Intel\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",
        "@deprecated arch":"64",
        "lang":"en",
        "location":"FSN1"
      },
      "addons":[

      ]
    }
  }
]

Beschreibung

Übersicht über alle Webservice-Bestellungen der letzten 30 Tage

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String) Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array) Array mit den gesetzten SSH-Schlüsseln
host_key (Array) Array mit den Host-Keys des Servers
comment (String) Kommentar der Bestellung
product (Object)
id (String) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (String) Bestellte Distribution
@deprecated arch (Integer) Bestellte Architektur
lang (String) Bestellte Sprache
location (String) Der bei der Bestellung gewählte Standort
addons (Array)
(String) Addon-ID

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Transaktionen gefunden

POST /order/server/transaction

Bestellung eines IPv6-only Servers

curl -u "user:password" https://robot-ws.your-server.de/order/server/transaction \
--data-urlencode 'product_id=EX40' \
--data-urlencode 'dist=Debian 7.7 minimal' \
--data-urlencode 'authorized_key[]=15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb'
{
  "transaction":{
    "id":"B20150121-344958-251479",
    "date":"2015-01-21T12:54:01+01:00",
    "status":"in process",
    "server_number":null,
    "server_ip":null,
    "authorized_key":[
      {
        "key":{
          "name":"key1",
          "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
          "type":"ED25519",
          "size":256
        }
      }
    ],
    "host_key":[

    ],
    "comment":null,
    "product":{
      "id":"EX40",
      "name":"Dedicated Server EX40",
      "description":[
        "Intel\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",
      "@deprecated arch":"64",
      "lang":"en",
      "location":"FSN1"
    },
    "addons":[

    ]
  }
}

Bestellung eines Servers mit Primary-IPv4 addon

curl -u "user:password" https://robot-ws.your-server.de/order/server/transaction \
--data-urlencode 'product_id=EX40' \
--data-urlencode 'dist=Debian 7.7 minimal' \
--data-urlencode 'authorized_key[]=15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb' \
--data-urlencode 'addon[]=primary_ipv4'
{
  "transaction":{
    "id":"B20150121-344958-251479",
    "date":"2015-01-21T12:54:01+01:00",
    "status":"in process",
    "server_number":null,
    "server_ip":null,
    "authorized_key":[
      {
        "key":{
          "name":"key1",
          "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
          "type":"ED25519",
          "size":256
        }
      }
    ],
    "host_key":[

    ],
    "comment":null,
    "product":{
      "id":"EX40",
      "name":"Dedicated Server EX40",
      "description":[
        "Intel\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",
      "@deprecated arch":"64",
      "lang":"en",
      "location":"FSN1"
    },
    "addons":[
      "primary_ipv4"
    ]
  }
}

Beschreibung

Bestellung eines Servers. Wenn die Bestellung erfolgreich abgesetzt wurde, wird der Status 201 CREATED zurückgeliefert.

Limitierung

20 Requests pro Tag

Eingabe

Name Beschreibung
product_id Produkt-ID
authorized_key[] Einer oder mehrere SSH-Schlüssel Fingerprints (optional, es kann entweder der Parameter "authorized_key" oder der Parameter "password" benutzt werden)
password Root-Passwort (optional, es kann entweder der Parameter "authorized_key" oder der Parameter "password" benutzt werden)
location Der gewünschte Standort
dist Distributions-Name (optional)
@deprecated arch Architektur (optional)
lang Sprache (optional)
comment Kommentar (optional); Bitte beachten sie, dass bei gesetztem Kommentar die Bestellung manuell bearbeitet wird.
addon[] Array von Addon-IDs (optional)
test Die Bestellung wird nicht bearbeitet, wenn auf "true" gesetzt (optional)

Ausgabe

transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String) Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array) Array mit den gesetzten SSH-Schlüsseln
host_key (Array) Array mit den Host-Keys des Servers
comment (String) Kommentar der Bestellung
product (Object)
id (String) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (String) Bestellte Distribution
@deprecated arch (Integer) Bestellte Architektur
lang (String) Bestellte Sprache
location (String) Der bei der Bestellung gewählte Standort
addons (Array)
(String) Addon-ID

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 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",
      "@deprecated arch":"64",
      "lang":"en",
      "location":"FSN1"
    },
    "addons":[
      "primary_ipv4"
    ]
  }
}

Beschreibung

Abfragen einer bestimmten Transaktion

Limitierung

500 Requests pro 1 Stunde

Ausgabe

transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String) Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array) Array mit den gesetzten SSH-Schlüsseln
host_key (Array) Array mit den Host-Keys des Servers
comment (String) Kommentar der Bestellung
product (Object)
id (String) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (String) Bestellte Distribution
@deprecated arch (Integer) Bestellte Architektur
lang (String) Bestellte Sprache
location (String) Der bei der Bestellung gewählte Standort
addons (Array)
(String) Addon-ID

Fehler

Status Code Beschreibung
404 NOT_FOUND Transaktion nicht gefunden

GET /order/server_market/product

curl -u "user:password" https://robot-ws.your-server.de/order/server_market/product
[
  {
    "product":{
      "id":276112,
      "name":"SB34",
      "description":[
        "AMD Athlon 64 6000+ X2",
        "4x RAM 2048 MB DDR2",
        "2x HDD 750 GB SATA",
        "RAID Controller 2-Port SATA PCI - 3ware 8006-2LP"
      ],
      "traffic":"20 TB",
      "dist":[
        "Rescue system"
      ],
      "@deprecated arch":[
        64
      ],
      "lang":[
        "en"
      ],
      "cpu":"AMD Athlon 64 6000+ X2",
      "cpu_benchmark":1580,
      "memory_size":8,
      "hdd_size":750,
      "hdd_text":"ENT.HDD ECC INIC",
      "hdd_count":2,
      "datacenter":"NBG1-DC1",
      "network_speed":"100 Mbit\/s",
      "price":"28.57",
      "price_hourly":"0.0458",
      "price_setup":"0.00",
      "price_vat":"28.57",
      "price_hourly_vat":"0.0458",
      "price_setup_vat":"0.00",
      "fixed_price":false,
      "next_reduce":-87634,
      "next_reduce_date":"2018-05-01 12:22:00",
      "orderable_addons":[
        {
          "id":"primary_ipv4",
          "name":"Primary IPv4",
          "min":0,
          "max":1,
          "prices":[
            {
              "location":"FSN1",
              "price":{
                "net":"1.7000",
                "gross":"1.7000",
                "hourly_net":"0.0027",
                "hourly_gross":"0.0027"
              },
              "price_setup":{
                "net":"0.0000",
                "gross":"0.0000"
              }
            },
            {
              "location":"NBG1",
              "price":{
                "net":"1.7000",
                "gross":"1.7000",
                "hourly_net":"0.0027",
                "hourly_gross":"0.0027"
              },
              "price_setup":{
                "net":"0.0000",
                "gross":"0.0000"
              }
            }
          ]
        }
      ]
    }
  },
  {
    "product":{
      "id":282323,
      "name":"SB109",
      "description":[
        "Intel Core i7 980x",
        "6x RAM 4096 MB DDR3",
        "2x SSD 120 GB SATA",
        "NIC 1000Mbit PCI - Intel Pro1000GT PWLA8391GT",
        "RAID Controller 4-Port SATA PCI-E - Adaptec 5405"
      ],
      "traffic":"20 TB",
      "dist":[
        "Rescue system"
      ],
      "@deprecated arch":[
        64
      ],
      "lang":[
        "en"
      ],
      "cpu":"Intel Core i7 980x",
      "cpu_benchmark":8944,
      "memory_size":24,
      "hdd_size":120,
      "hdd_text":"ESAS HWR",
      "hdd_count":2,
      "datacenter":"FSN1-DC4",
      "network_speed":"200 Mbit\/s",
      "price":"91.60",
      "price_hourly":"0.1468",
      "price_setup":"0.00",
      "price_vat":"91.60",
      "price_hourly_vat":"0.1468",
      "price_setup_vat":"0.00",
      "fixed_price":false,
      "next_reduce":-10800,
      "next_reduce_date":"2018-05-01 12:22:00",
      "orderable_addons":[
        {
          "id":"primary_ipv4",
          "name":"Primary IPv4",
          "min":0,
          "max":1,
          "prices":[
            {
              "location":"FSN1",
              "price":{
                "net":"1.7000",
                "gross":"1.7000",
                "hourly_net":"0.0027",
                "hourly_gross":"0.0027"
              },
              "price_setup":{
                "net":"0.0000",
                "gross":"0.0000"
              }
            },
            {
              "location":"NBG1",
              "price":{
                "net":"1.7000",
                "gross":"1.7000",
                "hourly_net":"0.0027",
                "hourly_gross":"0.0027"
              },
              "price_setup":{
                "net":"0.0000",
                "gross":"0.0000"
              }
            }
          ]
        }
      ]
    }
  }
]

Beschreibung

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

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
product (Object)
id (Integer) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (Array) Verfügbare Distributionen
@deprecated arch (Array) Verfügbare Architekturen
lang (Array) Verfügbare Sprachen
cpu (String) CPU-Name
cpu_benchmark (Integer) CPU-Benchmark-Wert
memory_size (Integer) Größe des Hauptspeichers in GB
hdd_size (Integer) Größe der Datenträger in GB
hdd_text (String) Spezielle Festplatten-Tags
hdd_count (Integer) Datenträgeranzahl
datacenter (String) Rechenzentrum
network_speed (String) Server-Netzwerkgeschwindigkeit
price (String) Monatlicher Preis in Euro
price_hourly (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (String) Setup-Gebühr in Euro
price_vat (String) Monatlicher Preis in Euro mit Steuer
price_hourly_vat (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup_vat (String) Setup-Gebühr in Euro mit Steuer
fixed_price (Boolean) Wird auf "true" gesetzt, wenn es sich um einen Festpreis handelt
next_reduce (Integer) Zeit in Sekunden bis zur nächsten Preisreduzierung
next_reduce_date (String) Nächstes Preisreduzierungsdatum
orderable_addons (Array)
(Object)
id (String) Addon-ID
name (String) Addon-Name
location (String) Standort
min (Integer) Minimal bestellbare Menge
max (Integer) Maximal bestellbare Menge
prices (Array)
(Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Produkte gefunden

GET /order/server_market/product/{product-id}

curl -u "user:password" https://robot-ws.your-server.de/order/server_market/product/282323
{
  "product":{
    "id":282323,
    "name":"SB109",
    "description":[
      "Intel Core i7 980x",
      "6x RAM 4096 MB DDR3",
      "2x SSD 120 GB SATA",
      "NIC 1000Mbit PCI - Intel Pro1000GT PWLA8391GT",
      "RAID Controller 4-Port SATA PCI-E - Adaptec 5405"
    ],
    "traffic":"20 TB",
    "dist":[
      "Rescue system"
    ],
    "@deprecated arch":[
      64
    ],
    "lang":[
      "en"
    ],
    "cpu":"Intel Core i7 980x",
    "cpu_benchmark":8944,
    "memory_size":24,
    "hdd_size":120,
    "hdd_text":"ENT.HDD ECC INIC",
    "hdd_count":2,
    "datacenter":"FSN1-DC4",
    "network_speed":"100 Mbit\/s",
    "price":"91.60",
    "price_hourly":"0.1468",
    "price_setup":"0.00",
    "price_vat":"91.60",
    "price_hourly_vat":"0.1468",
    "price_setup_vat":"0.00",
    "fixed_price":false,
    "next_reduce":-10800,
    "next_reduce_date":"2018-05-01 12:22:00",
    "orderable_addons":[
      {
        "id":"primary_ipv4",
        "name":"Primary IPv4",
        "min":0,
        "max":1,
        "prices":[
          {
            "location":"FSN1",
            "price":{
              "net":"1.7000",
              "gross":"1.7000",
              "hourly_net":"0.0027",
              "hourly_gross":"0.0027"
            },
            "price_setup":{
              "net":"0.0000",
              "gross":"0.0000"
            }
          },
          {
            "location":"NBG1",
            "price":{
              "net":"1.7000",
              "gross":"1.7000",
              "hourly_net":"0.0027",
              "hourly_gross":"0.0027"
            },
            "price_setup":{
              "net":"0.0000",
              "gross":"0.0000"
            }
          }
        ]
      }
    ]
  }
}

Beschreibung

Abfragen eines bestimmten Servers aus der Serverbörse

Limitierung

500 Requests pro 1 Stunde

Ausgabe

product (Object)
id (Integer) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (Array) Verfügbare Distributionen
@deprecated arch (Array) Verfügbare Architekturen
lang (Array) Verfügbare Sprachen
cpu (String) CPU-Name
cpu_benchmark (Integer) CPU-Benchmark-Wert
memory_size (Integer) Größe des Hauptspeichers in GB
hdd_size (Integer) Größe der Datenträger in GB
hdd_text (String) Spezielle Festplatten-Tags
hdd_count (Integer) Datenträgeranzahl
datacenter (String) Rechenzentrum
network_speed (String) Server-Netzwerkgeschwindigkeit
price (String) Monatlicher Preis in Euro
price_hourly (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (String) Setup-Gebühr in Euro
price_vat (String) Monatlicher Preis in Euro mit Steuer
price_hourly_vat (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup_vat (String) Setup-Gebühr in Euro mit Steuer
fixed_price (Boolean) Wird auf "true" gesetzt, wenn es sich um einen Festpreis handelt
next_reduce (Integer) Zeit in Sekunden bis zur nächsten Preisreduzierung
next_reduce_date (String) Nächstes Preisreduzierungsdatum
orderable_addons (Array)
(Object)
id (String) Addon-ID
name (String) Addon-Name
location (String) Standort
min (Integer) Minimal bestellbare Menge
max (Integer) Maximal bestellbare Menge
prices (Array)
(Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer

Fehler

Status Code Beschreibung
404 NOT_FOUND Produkt nicht gefunden

GET /order/server_market/transaction

curl -u "user:password" https://robot-ws.your-server.de/order/server_market/transaction
[
  {
    "transaction":{
      "id":"B20150121-344957-251478",
      "date":"2015-01-21T12:30:43+01:00",
      "status":"in process",
      "server_number":null,
      "server_ip":null,
      "authorized_key":[

      ],
      "host_key":[

      ],
      "comment":null,
      "product":{
        "id":283693,
        "name":"SB110",
        "description":[
          "Intel Core i7 980x",
          "6x RAM 4096 MB DDR3",
          "2x HDD 1,5 TB SATA",
          "2x SSD 120 GB SATA"
        ],
        "traffic":"20 TB",
        "dist":"Rescue system",
        "@deprecated arch":"64",
        "lang":"en",
        "cpu":"Intel Core i7 980x",
        "cpu_benchmark":8944,
        "memory_size":24,
        "hdd_size":1536,
        "hdd_text":"ENT.HDD ECC INIC",
        "hdd_count":2,
        "datacenter":"FSN1-DC5",
        "network_speed":"100 Mbit\/s",
        "fixed_price":true,
        "next_reduce":0,
        "next_reduce_date":"2018-05-01 12:22:00"
      }
    }
  },
  {
    "transaction":{
      "id":"B20150121-344958-251479",
      "date":"2015-01-21T12:54:01+01:00",
      "status":"ready",
      "server_number":107239,
      "server_ip":"188.40.1.1",
      "authorized_key":[
        {
          "key":{
            "name":"key1",
            "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
            "type":"ED25519",
            "size":256
          }
        }
      ],
      "host_key":[
        {
          "key":{
            "fingerprint":"c1:e4:08:73:dd:f7:e9:d1:94:ab:e9:0f:28:b2:d2:ed",
            "type":"DSA",
            "size":1024
          }
        }
      ],
      "comment":null,
      "product":{
        "id":277254,
        "name":"SB114",
        "description":[
          "Intel Core i7 950",
          "6x RAM 2048 MB DDR3",
          "7x HDD 1,5 TB SATA"
        ],
        "traffic":"20 TB",
        "dist":"Rescue system",
        "@deprecated arch":"64",
        "lang":"en",
        "cpu":"Intel Core i7 950",
        "cpu_benchmark":5682,
        "memory_size":12,
        "hdd_size":1536,
        "hdd_text":"ENT.HDD ECC INIC",
        "hdd_count":7,
        "datacenter":"FSN1-DC5",
        "network_speed":"100 Mbit\/s",
        "fixed_price":true,
        "next_reduce":0,
        "next_reduce_date":"2018-05-01 12:22:00"
      }
    }
  }
]

Beschreibung

Übersicht über alle Webservice-Bestellungen der letzten 30 Tage

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String) Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array) Array mit den gesetzten SSH-Schlüsseln
host_key (Array) Array mit den Host-Keys des Servers
comment (String) Kommentar der Bestellung
product (Object)
id (Integer) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (String) Bestellte Distribution
@deprecated arch (String) Bestellte Architektur
lang (String) Bestellte Sprache
cpu (String) CPU-Name
cpu_benchmark (Integer) CPU-Benchmark-Wert
memory_size (Integer) Größe des Hauptspeichers in GB
hdd_size (Integer) Größe der Datenträger in GB
hdd_text (String) Spezielle Festplatten-Tags
hdd_count (Integer) Datenträgeranzahl
datacenter (String) Rechenzentrum
network_speed (String) Server-Netzwerkgeschwindigkeit
fixed_price (Boolean) true
next_reduce (Integer) 0
next_reduce_date (String) 2018-05-01 12:22:00

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Transaktionen gefunden

POST /order/server_market/transaction

Bestellung eines IPv6-only Servers

curl -u "user:password" https://robot-ws.your-server.de/order/server_market/transaction \
--data-urlencode 'product_id=283693' \
--data-urlencode 'authorized_key[]=15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb'
{
  "transaction":{
    "id":"B20150121-344958-251479",
    "date":"2015-01-21T12:54:01+01:00",
    "status":"in process",
    "server_number":null,
    "server_ip":null,
    "authorized_key":[
      {
        "key":{
          "name":"key1",
          "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
          "type":"ED25519",
          "size":256
        }
      }
    ],
    "host_key":[

    ],
    "comment":null,
    "product":{
      "id":283693,
      "name":"SB110",
      "description":[
        "Intel Core i7 980x",
        "6x RAM 4096 MB DDR3",
        "2x HDD 1,5 TB SATA",
        "2x SSD 120 GB SATA"
      ],
      "traffic":"20 TB",
      "dist":"Rescue system",
      "@deprecated arch":"64",
      "lang":"en",
      "cpu":"Intel Core i7 980x",
      "cpu_benchmark":8944,
      "memory_size":24,
      "hdd_size":1536,
      "hdd_text":"ENT.HDD ECC INIC",
      "hdd_count":2,
      "datacenter":"FSN1-DC5",
      "network_speed":"100 Mbit\/s"
    },
    "addons":[

    ]
  }
}

Bestellung eines Servers mit Primary-IPv4 addon

curl -u "user:password" https://robot-ws.your-server.de/order/server_market/transaction \
--data-urlencode 'product_id=283693' \
--data-urlencode 'authorized_key[]=15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb' \
--data-urlencode 'addon[]=primary_ipv4'
{
  "transaction":{
    "id":"B20150121-344958-251479",
    "date":"2015-01-21T12:54:01+01:00",
    "status":"in process",
    "server_number":null,
    "server_ip":null,
    "authorized_key":[
      {
        "key":{
          "name":"key1",
          "fingerprint":"15:28:b0:03:95:f0:77:b3:10:56:15:6b:77:22:a5:bb",
          "type":"ED25519",
          "size":256
        }
      }
    ],
    "host_key":[

    ],
    "comment":null,
    "product":{
      "id":283693,
      "name":"SB110",
      "description":[
        "Intel Core i7 980x",
        "6x RAM 4096 MB DDR3",
        "2x HDD 1,5 TB SATA",
        "2x SSD 120 GB SATA"
      ],
      "traffic":"20 TB",
      "dist":"Rescue system",
      "@deprecated arch":"64",
      "lang":"en",
      "cpu":"Intel Core i7 980x",
      "cpu_benchmark":8944,
      "memory_size":24,
      "hdd_size":1536,
      "hdd_text":"ENT.HDD ECC INIC",
      "hdd_count":2,
      "datacenter":"FSN1-DC5",
      "network_speed":"100 Mbit\/s"
    },
    "addons":[
      "primary_ipv4"
    ]
  }
}

Beschreibung

Bestellung eines Servers aus der Serverbörse. Wenn die Bestellung erfolgreich abgesetzt wurde, wird der Status 201 CREATED zurückgeliefert.

Limitierung

20 Requests pro Tag

Eingabe

Name Beschreibung
product_id Produkt-ID
authorized_key[] Einer oder mehrere SSH-Schlüssel Fingerprints (optional, es kann entweder der Parameter "authorized_key" oder der Parameter "password" benutzt werden)
password Root-Passwort (optional, es kann entweder der Parameter "authorized_key" oder der Parameter "password" benutzt werden)
dist Distributions-Name (optional)
@deprecated arch Architektur (optional)
lang Sprache (optional)
comment Kommentar (optional); Bitte beachten sie, dass bei gesetztem Kommentar die Bestellung manuell bearbeitet wird.
addon[] Array von Addon-IDs (optional)
test Die Bestellung wird nicht bearbeitet, wenn auf "true" gesetzt (optional)

Ausgabe

transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String) Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array) Array mit den gesetzten SSH-Schlüsseln
host_key (Array) Array mit den Host-Keys des Servers
comment (String) Kommentar der Bestellung
product (Object)
id (Integer) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (String) Bestellte Distribution
@deprecated arch (String) Bestellte Architektur
lang (String) Bestellte Sprache
cpu (String) CPU-Name
cpu_benchmark (Integer) CPU-Benchmark-Wert
memory_size (Integer) Größe des Hauptspeichers in GB
hdd_size (Integer) Größe der Datenträger in GB
hdd_text (String) Spezielle Festplatten-Tags
hdd_count (Integer) Datenträgeranzahl
datacenter (String) Rechenzentrum
network_speed (String) Server-Netzwerkgeschwindigkeit
addons (Array)
(String) Addon-ID

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",
      "@deprecated arch":"64",
      "lang":"en",
      "cpu":"Intel Core i7 980x",
      "cpu_benchmark":8944,
      "memory_size":24,
      "hdd_size":1536,
      "hdd_text":"ENT.HDD ECC INIC",
      "hdd_count":2,
      "datacenter":"FSN1-DC5",
      "network_speed":"100 Mbit\/s"
    },
    "addons":[
      "primary_ipv4"
    ]
  }
}

Beschreibung

Abfragen einer bestimmten Transaktion

Limitierung

500 Requests pro 1 Stunde

Ausgabe

transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) Server-ID des zugewiesenen Servers bei abgeschlossener Bestellung
server_ip (String) Haupt-IP-Adresse des zugewiesenen Servers bei abgeschlossener Bestellung
authorized_key (Array) Array mit den gesetzten SSH-Schlüsseln
host_key (Array) Array mit den Host-Keys des Servers
comment (String) Kommentar der Bestellung
product (Object)
id (Integer) Produkt-ID
name (String) Produktname
description (Array) Textuelle Beschreibung
traffic (String) Freitraffic
dist (String) Bestellte Distribution
@deprecated arch (String) Bestellte Architektur
lang (String) Bestellte Sprache
cpu (String) CPU-Name
cpu_benchmark (Integer) CPU-Benchmark-Wert
memory_size (Integer) Größe des Hauptspeichers in GB
hdd_size (Integer) Größe der Datenträger in GB
hdd_text (String) Spezielle Festplatten-Tags
hdd_count (Integer) Datenträgeranzahl
datacenter (String) Rechenzentrum
network_speed (String) Server-Netzwerkgeschwindigkeit
addons (Array)
(String) Addon-ID

Fehler

Status Code Beschreibung
404 NOT_FOUND Transaktion nicht gefunden

GET /order/server_addon/{server-number}/product

curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/123/product
[
  {
    "product":{
      "id":"additional_ipv4",
      "name":"Additional IP address",
      "type":"ip_ipv4",
      "price":{
        "location":"NBG1",
        "price":{
          "net":"0.8403",
          "gross":"0.8403",
          "hourly_net":"0.0014",
          "hourly_gross":"0.0014"
        },
        "price_setup":{
          "net":"19.0000",
          "gross":"19.0000"
        }
      }
    }
  },
  {
    "product":{
      "id":"subnet_ipv4_29",
      "name":"Additional subnet \/29 (monthly charge)",
      "type":"subnet_ipv4",
      "price":{
        "location":"NBG1",
        "price":{
          "net":"6.7227",
          "gross":"6.7227",
          "hourly_net":"0.0108",
          "hourly_gross":"0.0108"
        },
        "price_setup":{
          "net":"152.0000",
          "gross":"152.0000"
        }
      }
    }
  }
]

Beschreibung

Produktübersicht der für einen Server angebotenen Addons

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
product (Object)
id (String) Produkt-ID
name (String) Produktname
type (String) Produkt-Typ
price (Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer

GET /order/server_addon/transaction

curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/transaction
[
  {
    "transaction":{
      "id":"B20220210-1843193-S33055",
      "date":"2022-02-10T12:20:11+01:00",
      "status":"in process",
      "server_number":123,
      "product":{
        "id":"failover_subnet_ipv4_29",
        "name":"Failover subnet \/29",
        "price":{
          "location":"NBG1",
          "price":{
            "net":"15.1261",
            "gross":"15.1261",
            "hourly_net":"0.0242",
            "hourly_gross":"0.0242"
          },
          "price_setup":{
            "net":"152.0000",
            "gross":"152.0000"
          }
        }
      },
      "resources":[

      ]
    }
  },
  {
    "transaction":{
      "id":"B20220210-1843192-S33051",
      "date":"2022-02-10T11:20:13+01:00",
      "status":"ready",
      "server_number":123,
      "product":{
        "id":"failover_subnet_ipv4_29",
        "name":"Failover subnet \/29",
        "price":{
          "location":"NBG1",
          "price":{
            "net":"15.1261",
            "gross":"15.1261",
            "hourly_net":"0.0242",
            "hourly_gross":"0.0242"
          },
          "price_setup":{
            "net":"152.0000",
            "gross":"152.0000"
          }
        }
      },
      "resources":[
        {
          "type":"subnet",
          "id":"10.0.0.0"
        }
      ]
    }
  }
]

Beschreibung

Übersicht über alle Addon-Bestellungen der letzten 30 Tage

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) ID des Servers
product (Object)
id (String) Produkt-ID
name (String) Produktname
type (String) Produkt-Typ
price (Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer
resources (Array)
(Object)
type Art der Ressource
id ID der Ressource

POST /order/server_addon/transaction

Eine zusätzliche Einzel-IP-Adresse für Server 123 bestellen

curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/transaction \
--data-urlencode 'server_number=123' \
--data-urlencode 'reason=VPS' \
--data-urlencode 'product_id=additional_ipv4'
{
  "transaction":{
    "id":"B20220210-1843193-S33055",
    "date":"2022-02-10T12:20:11+01:00",
    "status":"in process",
    "server_number":123,
    "product":{
      "id":"additional_ipv4",
      "name":"Additional IP address",
      "type":"ip_ipv4",
      "price":{
        "location":"NBG1",
        "price":{
          "net":"0.8403",
          "gross":"0.8403",
          "hourly_net":"0.0014",
          "hourly_gross":"0.0014"
        },
        "price_setup":{
          "net":"19.0000",
          "gross":"19.0000"
        }
      }
    },
    "resources":[

    ]
  }
}

Ein /29 Subnetz für Server 123 bestellen und Route auf Zusatz-IP 10.0.0.1 setzen

curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/transaction \
--data-urlencode 'server_number=123' \
--data-urlencode 'product_id=additional_ipv4' \
--data-urlencode 'reason=VPS' \
--data-urlencode 'gateway=10.0.0.1'
{
  "transaction":{
    "id":"B20220210-1843193-S33055",
    "date":"2022-02-10T12:20:11+01:00",
    "status":"in process",
    "server_number":123,
    "product":{
      "id":"subnet_ipv4_29",
      "name":"Additional subnet \/29 (monthly charge)",
      "type":"subnet_ipv4",
      "price":{
        "location":"NBG1",
        "price":{
          "net":"6.7227",
          "gross":"6.7227",
          "hourly_net":"0.0108",
          "hourly_gross":"0.0108"
        },
        "price_setup":{
          "net":"152.0000",
          "gross":"152.0000"
        }
      }
    },
    "resources":[

    ]
  }
}

Beschreibung

Ein Addon zu einem Server bestellen. Wenn die Bestellung erfolgreich abgesetzt wurde, wird der Status 201 CREATED zurückgeliefert.

Limitierung

20 Requests pro Tag

Eingabe

Name Beschreibung
product_id Produkt-ID
server_number ID des Servers
reason Grund für RIPE: obligatorisch für die Addon-Typen "ip_ipv4", "subnet_ipv4" und "failover_subnet_ipv4"
gateway Routing-Ziel für Subnetze: Nutzbar für den Addon-Typ "subnet_ipv4" (Optional: Standard-Ziel ist die Primäre-IP-Adresse des Servers)
test Die Bestellung wird nicht bearbeitet, wenn auf "true" gesetzt (optional)

Ausgabe

transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) ID des Servers
product (Object)
id (String) Produkt-ID
name (String) Produktname
type (String) Produkt-Typ
price (Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer
resources (Array)
(Object)
type Art der Ressource
id ID der Ressource

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
409 CONFLICT Die Transaktion kann aus dem in der Fehlermeldung genannten Grund nicht bearbeitet werden
500 INTERNAL_ERROR Die Transaktion konnte aufgrund eines internen Fehlers nicht bearbeitet werden

GET /order/server_addon/transaction/{id}

curl -u "user:password" https://robot-ws.your-server.de/order/server_addon/transaction/B20220210-1843193-S33055
{
  "transaction":{
    "id":"B20220210-1843193-S33055",
    "date":"2022-02-10T12:20:11+01:00",
    "status":"in process",
    "server_number":123,
    "product":{
      "id":"failover_subnet_ipv4_29",
      "name":"Failover subnet \/29",
      "price":{
        "location":"NBG1",
        "price":{
          "net":"15.1261",
          "gross":"15.1261",
          "hourly_net":"0.0242",
          "hourly_gross":"0.0242"
        },
        "price_setup":{
          "net":"152.0000",
          "gross":"152.0000"
        }
      }
    },
    "resources":[

    ]
  }
}

Beschreibung

Abfragen einer bestimmten Transaktion

Limitierung

500 Requests pro 1 Stunde

Ausgabe

transaction (Object)
id (String) Transaktions-ID
date (String) Transaktions-Datum
status (String) Transaktions-Status, "ready", "in process" oder "cancelled"
server_number (Integer) ID des Servers
product (Object)
id (String) Produkt-ID
name (String) Produktname
type (String) Produkt-Typ
price (Object)
location (String) Standort
price (Object)
net (String) Monatlicher Preis in Euro
gross (String) Monatlicher Preis in Euro mit Steuer
hourly_net (String) Stündlicher Preis in Euro, falls das Produkt stundengenau abgerechnet wird, ansonsten null
hourly_gross (String) Stündlicher Preis in Euro mit Steuer, falls das Produkt stundengenau abgerechnet wird, ansonsten null
price_setup (Object)
net (String) Setup-Gebühr in Euro
gross (String) Setup-Gebühr in Euro mit Steuer
resources (Array)
(Object)
type (String) Art der Ressource
id (String) ID der Ressource

Fehler

Status Code Beschreibung
404 NOT_FOUND Transaktion nicht gefunden

Storage Box

GET /storagebox

curl -u "user:password" https://robot-ws.your-server.de/storagebox
[
  {
    "storagebox":{
      "id":123456,
      "login":"u12345",
      "name":"Backup Server 1",
      "product":"BX60",
      "cancelled":false,
      "locked":false,
      "location":"FSN1",
      "linked_server":123456,
      "paid_until":"2015-10-23"
    }
  }
]
curl -u "user:password" https://robot-ws.your-server.de/storagebox -d linked_server=123456
{
  "storagebox":{
    "id":123456,
    "login":"u12345",
    "name":"Backup Server 1",
    "product":"BX60",
    "cancelled":false,
    "locked":false,
    "location":"FSN1",
    "linked_server":123456,
    "paid_until":"2015-10-23"
  }
}

Beschreibung

Abfragen aller Storage Boxes

Limitierung

200 Requests pro 1 Stunde

Filter

Name Beschreibung
linked_server ID des zugehörigen Servers

Ausgabe

(Array)
storagebox (Object)
id (Integer) ID der Storage Box
login (String) Login
name (String) Name der Storage Box
product (String) Produktname
cancelled (Boolean) Zeigt an, ob die Storage Box zur Kündigung vorgemerkt ist
locked (Boolean) Zeigt an, ob die IP gesperrt ist
location (String) Standort des Storage Box Hosts
linked_server (Integer) ID des verbundenen Servers
paid_until (String) Bezahlt-bis Datum

Fehler

Status Code Beschreibung
404 STORAGEBOX_NOT_FOUND Keine Storage-Boxes gefunden

GET /storagebox/{storagebox-id}

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456
{
  "storagebox":{
    "id":123456,
    "login":"u12345",
    "name":"Backup Server 1",
    "product":"BX60",
    "cancelled":false,
    "locked":false,
    "location":"FSN1",
    "linked_server":123456,
    "paid_until":"2015-10-23",
    "disk_quota":10240000,
    "disk_usage":900,
    "disk_usage_data":500,
    "disk_usage_snapshots":400,
    "webdav":true,
    "samba":true,
    "ssh":true,
    "external_reachability":true,
    "zfs":false,
    "server":"u12345.your-storagebox.de",
    "host_system":"FSN1-BX355"
  }
}

Beschreibung

Abfragen der Daten für eine bestimmte Storage Box

Limitierung

200 Requests pro 1 Stunde

Ausgabe

storagebox (Object)
id (Integer) ID der Storage Box
login (String) Login
name (String) Name der Storage Box
product (String) Produktname
cancelled (Boolean) Zeigt an, ob die Storage Box zur Kündigung vorgemerkt ist
locked (Boolean) Zeigt an, ob die IP gesperrt ist
location (String) Standort des Storage Box Hosts
linked_server (Integer) ID des verbundenen Servers
paid_until (String) Bezahlt-bis Datum
disk_quota (Integer) Gesammtspeicherplatz in MB
disk_usage (Integer) Benutzer Speicherplatz in MB
disk_usage_data (Integer) Von Dateien benutzer Speicherplatz in MB
disk_usage_snapshots (Integer) Von Snapshots benutzer Speicherplatz in MB
webdav (Boolean) Zeigt an, ob WebDAV aktiviert ist
samba (Boolean) Zeigt an, ob Samba aktiviert ist
ssh (Boolean) Zeigt an, ob SSH-Support aktiviert ist
external_reachability (Boolean) Zeigt an, ob externe Erreichbarkeit aktiviert ist
zfs (Boolean) Zeigt an, ob das ZFS Verzeichnis sichtbar ist
server (String) Server der Storage Box
host_system (String) Identifier des Storage Box Hosts

Fehler

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

POST /storagebox/{storagebox-id}

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456 -d storagebox_name=backup1
{
  "storagebox":{
    "id":123456,
    "login":"u12345",
    "name":"Backup Server 1",
    "product":"BX60",
    "cancelled":false,
    "locked":false,
    "location":"FSN1",
    "linked_server":123456,
    "paid_until":"2015-10-23",
    "disk_quota":10240000,
    "disk_usage":900,
    "disk_usage_data":500,
    "disk_usage_snapshots":400,
    "webdav":true,
    "samba":true,
    "ssh":true,
    "external_reachability":true,
    "zfs":false,
    "server":"u12345.your-storagebox.de",
    "host_system":"FSN1-BX355"
  }
}

Beschreibung

Anpassen einer bestimmten Storage Box

Limitierung

1 Request pro 5 Sekunden

Eingabe

Name Beschreibung
storagebox_name Name der Storage Box
samba Zeigt an, ob Samba aktiviert ist
webdav Zeigt an, ob WebDAV aktiviert ist
ssh Zeigt an, ob SSH-Support aktiviert ist
external_reachability Zeigt an, ob externe Erreichbarkeit aktiviert ist
zfs Zeigt an, ob das ZFS Verzeichnis sichtbar ist

Ausgabe

storagebox (Object)
id (Integer) ID der Storage Box
login (String) Login
name (String) Name der Storage Box
product (String) Produktname
cancelled (Boolean) Zeigt an, ob die Storage Box zur Kündigung vorgemerkt ist
locked (Boolean) Zeigt an, ob die IP gesperrt ist
location (String) Standort des Storage Box Hosts
linked_server (Integer) ID des verbundenen Servers
paid_until (String) Bezahlt-bis Datum
disk_quota (Integer) Gesammtspeicherplatz in MB
disk_usage (Integer) Benutzer Speicherplatz in MB
disk_usage_data (Integer) Von Dateien benutzer Speicherplatz in MB
disk_usage_snapshots (Integer) Von Snapshots benutzer Speicherplatz in MB
webdav (Boolean) Zeigt an, ob WebDAV aktiviert ist
samba (Boolean) Zeigt an, ob Samba aktiviert ist
ssh (Boolean) Zeigt an, ob SSH-Support aktiviert ist
external_reachability (Boolean) Zeigt an, ob externe Erreichbarkeit aktiviert ist
zfs (Boolean) Zeigt an, ob das ZFS Verzeichnis sichtbar ist
server (String) Server der Storage Box
host_system (String) Identifier des Storage Box Hosts

Fehler

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

POST /storagebox/{storagebox-id}/password

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

Beschreibung

Passwort der Storage Box zurücksetzen

Limitierung

1 Request pro 5 Sekunden

Ausgabe

password (String) Aktualisiertes Passwort der Storage Box

Fehler

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

GET /storagebox/{storagebox-id}/snapshot

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot
[
  {
    "snapshot":{
      "name":"2015-12-21T12-40-38",
      "timestamp":"2015-12-21T13:40:38+00:00",
      "size":400,
      "filesystem_size":12345,
      "automatic":false,
      "comment":"Test-Snapshot"
    }
  }
]

Beschreibung

Alle Snapshots für eine bestimmte Storage Box abfragen

Limitierung

200 Requests pro 1 Stunde

Ausgabe

(Array)
snapshot (Object)
name (String) Snapshot Name
timestamp (String) Zeitpunkt des Snapshots in UTC
size (Integer) Snapshotgröße in MB
filesystem_size (Integer) Größe der Storage Box zum Zeitpunkt der Erstellung des Snapshots in MB
automatic (Boolean) Wahr wenn der Snapshot automatisch erstellt wurde
comment (String) Kommentar für den Snapshot

Fehler

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

POST /storagebox/{storagebox-id}/snapshot

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot -X POST
{
  "snapshot":{
    "name":"2015-12-21T13-13-03",
    "timestamp":"2015-12-21T13:13:03+00:00",
    "size":400
  }
}

Beschreibung

Einen Snapshot von eine bestimmte Storage Box erstellen

Limitierung

1 Request pro 5 Sekunden

Ausgabe

snapshot (Object)
name (String) Snapshot Name
timestamp (String) Zeitpunkt des Snapshots in UTC
size (Integer) Snapshotgröße in MB

Fehler

Status Code Beschreibung
404 STORAGEBOX_NOT_FOUND Storage Box mit der ID {storagebox-id} wurde nicht gefunden
409 SNAPSHOT_LIMIT_EXCEEDED Maximale Snapshotanzahl erreicht

DELETE /storagebox/{storagebox-id}/snapshot/{snapshot-name}

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot/2015-12-21T13-13-03 \
-X DELETE

Beschreibung

Snapshot löschen

Limitierung

1 Request pro 5 Sekunden

Fehler

Status Code Beschreibung
404 STORAGEBOX_NOT_FOUND Storage Box mit der ID {storagebox-id} wurde nicht gefunden
404 SNAPSHOT_NOT_FOUND Snapshot mit name {snapshot-name} nicht gefunden

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

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot/2015-12-21T13-13-03 \
-d revert=true

Beschreibung

Snapshot wiederherstellen

Limitierung

1 Request pro 5 Sekunden

Eingabe

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

Fehler

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

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,
      "max_snapshots":2
    }
  }
]

Beschreibung

Abfragen der Daten der automatischen Snapshots

Limitierung

200 Requests pro 1 Stunde

Ausgabe

(Array)
storagebox (Object)
status (String) Status der automatischen Snapshots
minute (Integer / null) Minute oder nichts wenn die automatischen Snapshots deaktiviert sind
hour (Integer / null) Stunde oder nichts wenn die automatischen Snapshots deaktiviert sind
day_of_week (Integer / null) Wochentag oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1 = Montag, ... , 7 = Sonntag)
day_of_month (Integer / null) Tag oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1 = Erster Tag im Monat)
month (Integer / null) Monat oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1= Januar)
max_snapshots (Integer) Maximale Anzahl der automatischen Snapshots

Alle Datums- und Zeitangaben erfolgen in UTC

Fehler

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

POST /storagebox/{storagebox-id}/snapshotplan

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/snapshot/2015-12-21T13-13-03/comment -d status=enabled -d hour=7 -d minute=19
[
  {
    "snapshotplan":{
      "status":"enabled",
      "minute":5,
      "hour":12,
      "day_of_week":2,
      "day_of_month":null,
      "month":null,
      "max_snapshots":2
    }
  }
]

Beschreibung

Daten der automatischen Snapshots ändern

Limitierung

1 Request pro 5 Sekunden

Eingabe

status Neuer status der automatischen Snapshots
minute Minute der Ausführung. Wird nur beötigt wenn die automatischen Snapshots aktiviert sind.
hour Stunde der Ausführung. Wird nur beötigt wenn die automatischen Snapshots aktiviert sind.
day_of_week Wochentag der Ausführung (1 = Montag, ... , 7 = Sonntag)
day_of_month Tag der Ausführung (1 = Erster Tag im Monat)
month Monat der Ausführung (1= Januar)
max_snapshots Maximale Anzahl der automatischen Snapshots

Alle Datums- und Zeitangaben erfolgen in UTC

Ausgabe

(Array)
storagebox (Object)
status (String) Status der automatischen Snapshots
minute (Integer / null) Minute oder nichts wenn die automatischen Snapshots deaktiviert sind
hour (Integer / null) Stunde oder nichts wenn die automatischen Snapshots deaktiviert sind
day_of_week (Integer / null) Wochentag oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1 = Montag, ... , 7 = Sonntag)
day_of_month (Integer / null) Tag oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1 = Erster Tag im Monat)
month (Integer / null) Monat oder nichts wenn die automatischen Snapshots deaktiviert sind oder der Wert nicht gesetzt ist (1= Januar)
max_snapshots (Integer) Maximale Anzahl der automatischen Snapshots

Fehler

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

GET /storagebox/{storagebox-id}/subaccount

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/subaccount
[
  {
    "subaccount":{
      "username":"u2342-sub1",
      "accountid":"u2342",
      "server":"u12345-sub1.your-storagebox.de",
      "homedirectory":"test",
      "samba":true,
      "ssh":true,
      "external_reachability":true,
      "webdav":false,
      "readonly":false,
      "createtime":"2017-05-24 13:16:45",
      "comment":"Test-comment"
    }
  }
]

Beschreibung

Abfragen aller Sub-Accounts für eine Storage Box

Limitierung

200 Requests pro 1 Stunde

Ausgabe

(Array)
subaccount (Object)
username (String) Benutzername des Sub-Accounts
accountid (String) Nutzername des Hauptbenutzers
server (String) Server der Storage Box
homedirectory (String) Heimatverzeichniss des Sub-Accounts
samba (Boolean) Zeigt an, ob Samba aktiviert ist
ssh (Boolean) Zeigt an, ob SSH-Support aktiviert ist
external_reachability (Boolean) Zeigt an, ob externe Erreichbarkeit aktiviert ist
webdav (Boolean) Zeigt an, ob WebDAV aktiviert ist
readonly (Boolean) Zeigt an, ob der Sub-Account schreibgeschützt ist
createtime (String) Zeitpunkt wann der Sub-Account erstellt wurde
comment (String) Kommentar für den Sub-Account

Fehler

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

POST /storagebox/{storagebox-id}/subaccount

curl -u "user:password" https://robot-ws.your-server.de/storagebox/123456/subaccount -d homedirectory=test
{
  "subaccount":{
    "username":"u2342-sub1",
    "password":"as7udhaisudbasd",
    "accountid":"u2342",
    "server":"u12345-sub1.your-storagebox.de",
    "homedirectory":"test"
  }
}

Beschreibung

Sub-Account erstellen

Limitierung

1 Request pro 5 Sekunden

Eingabe

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

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/u2342-sub1 -X PUT -d homedirectory=test

Beschreibung

Sub-Account bearbeiten

Limitierung

1 Request pro 5 Sekunden

Eingabe

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

Fehler

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

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

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

Beschreibung

Sub-Account löschen

Limitierung

1 Request pro 5 Sekunden

Fehler

Status Code Beschreibung
404 STORAGEBOX_NOT_FOUND Storage Box mit der ID {storagebox-id} wurde nicht gefunden
404 STORAGEBOX_SUBACCOUNT_NOT_FOUND Sub-Account nicht gefunden

POST /storagebox/{storagebox-id}/subaccount/{sub-account-username}/password

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

Firewall

GET /firewall/{server-id}

curl -u "user:password" https://robot-ws.your-server.de/firewall/321
{
  "firewall":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "status":"active",
    "filter_ipv6":false,
    "whitelist_hos":true,
    "port":"main",
    "rules":{
      "input":{
        "0":{
          "ip_version":"ipv4",
          "name":"rule 1",
          "dst_ip":null,
          "src_ip":"1.1.1.1",
          "dst_port":"80",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        },
        "output":[
          {
            "ip_version":null,
            "name":"Allow all",
            "dst_ip":null,
            "src_ip":null,
            "dst_port":null,
            "src_port":null,
            "protocol":null,
            "tcp_flags":null,
            "action":"accept"
          }
        ]
      }
    }
  }
}

Beschreibung

Die Firewall-Konfiguration eines Servers abrufen

Limitierung

500 Requests pro 1 Stunde

Ausgabe

firewall (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
status (String) Status der Firewall
filter_ipv6 (Boolean) Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean) Zeigt an, ob die Hetzner-Services freigeschaltet sind
port (String) Switch-Port der Firewall ('main' or 'kvm')
rules (Object)
input (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Server mit ID {server-id} nicht gefunden
404 FIREWALL_PORT_NOT_FOUND Switch-Port nicht gefunden
404 FIREWALL_NOT_AVAILABLE Die Firewall-Konfiguration ist für diesen Server nicht verfügbar

Deprecations

@deprecated GET /firewall/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

POST /firewall/{server-id}

Vor dem Encoding:

rules[input][0][name]=rule 1 (v4)&
rules[input][0][ip_version]=ipv4&
rules[input][0][src_ip]=1.1.1.1&
rules[input][0][dst_port]=80&
rules[input][0][action]=accept&
rules[input][1][name]=Allow MySQL&
rules[input][1][ip_version]=ipv4&
rules[input][1][dst_port]=3306&
rules[input][1][action]=accept&
rules[output][0][name]=Allow all&
rules[output][0][ip_version]=ipv4&
rules[output][0][action]=accept

Nach dem Encoding:

rules%5Binput%5D%5B0%5D%5Bip_version%5D=ipv4&
rules%5Binput%5D%5B0%5D%5Bname%5D=rule+1+%28v4%29&
rules%5Binput%5D%5B0%5D%5Bsrc_ip%5D=1.1.1.1&
rules%5Binput%5D%5B0%5D%5Bdst_port%5D=80&
rules%5Binput%5D%5B0%5D%5Baction%5D=accept&
rules%5Binput%5D%5B1%5D%5Bip_version%5D=ipv4&
rules%5Binput%5D%5B1%5D%5Bname%5D=Allow+MySQL&
rules%5Binput%5D%5B1%5D%5Bdst_port%5D=3306&
rules%5Binput%5D%5B1%5D%5Baction%5D=accept
rules%5Boutput%5D%5B0%5D%5Bname%5D%3DAllow+all%26%0A
rules%5Boutput%5D%5B0%5D%5Bip_version%5D%3Dipv4%26%0A
rules%5Boutput%5D%5B0%5D%5Baction%5D%3Daccept
curl -u "user:password" https://robot-ws.your-server.de/firewall/321 \
--data-urlencode 'status=active' \
--data-urlencode 'whitelist_hos=true' \
--data-urlencode 'rules[input][0][name]=rule 1' \
--data-urlencode 'rules[input][0][ip_version]=ipv4' \
--data-urlencode 'rules[input][0][src_ip]=1.1.1.1' \
--data-urlencode 'rules[input][0][dst_port]=80' \
--data-urlencode 'rules[input][0][action]=accept' \
--data-urlencode 'rules[input][1][name]=Allow MySQL' \
--data-urlencode 'rules[input][1][ip_version]=ipv4' \
--data-urlencode 'rules[input][1][dst_port]=3306' \
--data-urlencode 'rules[input][1][action]=accept' \
--data-urlencode 'rules[output][0][name]=Allow all' \
--data-urlencode 'rules[output][0][action]=accept'
{
  "firewall":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "status":"in process",
    "filter_ipv6":false,
    "whitelist_hos":true,
    "port":"main",
    "rules":{
      "input":[
        {
          "ip_version":"ipv4",
          "name":"rule 1",
          "dst_ip":null,
          "src_ip":"1.1.1.1",
          "dst_port":"80",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        },
        {
          "ip_version":"ipv4",
          "name":"Allow MySQL",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":"3306",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        }
      ],
      "output":[
        {
          "ip_version":null,
          "name":"Allow all",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":null,
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        }
      ]
    }
  }
}

Beschreibung

Eine Firewall-Konfiguration anlegen

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
status Status der Firewall ändern ('active' oder 'disabled')
filter_ipv6 Aktivieren oder Deaktivieren des IPv6-Filters ('true' oder 'false', optional)
whitelist_hos Whitelisting der Hetzner-Services aktivieren oder deaktivieren ('true' oder 'false')
rules Firewall-Regeln
template_id Template-ID (nicht kombinierbar mit whitelist_hos und rules)

Regel-Daten

Name Beschreibung
name Name der Regel
ip_version IP-Version ('ipv4', 'ipv6')
dst_ip Ziel-IPv4-Adresse (nur verwendbar in Kombination mit ip_version 'ipv4')
src_ip Quell-IPv4-Adresse (nur verwendbar in Kombination mit ip_version 'ipv4')
dst_port Ziel TCP/UDP Port
src_port Quell TCP/UDP Port
protocol Protokoll ('tcp', 'udp', 'gre', 'icmp', 'ipip', 'ah', 'esp')
tcp_flags TCP-Flags
action Action ('discard', 'accept')

Einschränkungen IPv6

Ausgabe

firewall (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
status (String) Status der Firewall
filter_ipv6 (Boolean) Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean) Zeigt an, ob die Hetzner-Services freigeschaltet sind
port (String) Switch-Port der Firewall ('main' or 'kvm')
rules (Object)
input (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard', Pflichtfeld)
output (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard', Pflichtfeld)

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Server mit ID {server-id} nicht gefunden
404 FIREWALL_PORT_NOT_FOUND Switch-Port nicht gefunden
404 FIREWALL_NOT_AVAILABLE Die Firewall-Konfiguration ist für diesen Server nicht verfügbar
404 FIREWALL_TEMPLATE_NOT_FOUND Template mit ID {template_id} nicht gefunden
409 FIREWALL_IN_PROCESS Die Firewall kann nicht aktualisiert werden, da ein Update ausgeführt wird.
409 FIREWALL_RULE_LIMIT_EXCEEDED Das Limit an Regeln der Firewall ist überschritten
409 FIREWALL_CANNOT_BE_DISABLED Die Firewall kann nicht deaktivert werden, da interne Regeln gesetzt sind

Deprecations

@deprecated POST /firewall/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

DELETE /firewall/{server-id}

curl -u "user:password" https://robot-ws.your-server.de/firewall/321 -X DELETE
{
  "firewall":{
    "server_ip":"123.123.123.123",
    "server_number":321,
    "status":"in process",
    "filter_ipv6":false,
    "whitelist_hos":true,
    "port":"main",
    "rules":{

    }
  }
}

Beschreibung

Löschen der Firewall-Konfiguration

Limitierung

500 Requests pro 1 Stunde

Eingabe

Keine Eingabe

Ausgabe

firewall (Object)
server_ip (String) Haupt-IP-Adresse des Servers
server_number (Integer) ID des Servers
status (String) Status der Firewall
filter_ipv6 (Boolean) Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean) Zeigt an, ob die Hetzner-Services freigeschaltet sind
port (String) Switch-Port der Firewall ('main' or 'kvm')
rules (Object)
input (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Server mit ID {server-id} nicht gefunden
404 FIREWALL_PORT_NOT_FOUND Switch-Port nicht gefunden
404 FIREWALL_NOT_AVAILABLE Die Firewall-Konfiguration ist für diesen Server nicht verfügbar
409 FIREWALL_IN_PROCESS Die Firewall kann nicht aktualisiert werden, da ein Update ausgeführt wird.
409 FIREWALL_RULE_LIMIT_EXCEEDED Das Limit an Regeln der Firewall ist überschritten
409 FIREWALL_CANNOT_BE_DISABLED Die Firewall kann nicht deaktivert werden, da interne Regeln gesetzt sind

Deprecations

@deprecated DELETE /firewall/{server-ip} Die Haupt-IPv4-Adresse des Servers kann alternativ zur Bestimmung des Servers verwendet werden.

GET /firewall/template

curl -u "user:password" https://robot-ws.your-server.de/firewall/template
[
  {
    "firewall_template":{
      "id":1,
      "name":"My template",
      "filter_ipv6":false,
      "whitelist_hos":true,
      "is_default":true
    }
  },
  {
    "firewall_template":{
      "id":2,
      "name":"My second template",
      "filter_ipv6":false,
      "whitelist_hos":true,
      "is_default":false
    }
  }
]

Beschreibung

Liste der verfügbaren Firewall-Vorlagen

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
firewall_template (Object)
id (Integer) ID der Vorlage
name (String) Name der Vorlage
filter_ipv6 (Boolean) Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean) Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default (Boolean) When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Firewall-Vorlagen gefunden

POST /firewall/template

curl -u "user:password" https://robot-ws.your-server.de/firewall/template \
--data-urlencode 'name=My new template' \
--data-urlencode 'filter_ipv6=false' \
--data-urlencode 'whitelist_hos=true' \
--data-urlencode 'is_default=false' \
--data-urlencode 'rules[input][0][name]=rule 1' \
--data-urlencode 'rules[input][0][ip_version]=ipv4' \
--data-urlencode 'rules[input][0][src_ip]=1.1.1.1' \
--data-urlencode 'rules[input][0][dst_port]=80' \
--data-urlencode 'rules[input][0][action]=accept' \
--data-urlencode 'rules[input][1][name]=Allow MySQL' \
--data-urlencode 'rules[input][1][ip_version]=ipv4' \
--data-urlencode 'rules[input][1][dst_port]=3306' \
--data-urlencode 'rules[input][1][action]=accept'
--data-urlencode 'rules[output][0][name]=Allow all' \
--data-urlencode 'rules[output][0][action]=accept'
{
  "firewall_template":{
    "id":123,
    "filter_ipv6":false,
    "whitelist_hos":true,
    "is_default":false,
    "rules":{
      "input":[
        {
          "ip_version":"ipv4",
          "name":"rule 1",
          "dst_ip":null,
          "src_ip":"1.1.1.1",
          "dst_port":"80",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        },
        {
          "ip_version":"ipv4",
          "name":"Allow MySQL",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":"3306",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        }
      ],
      "output":[
        {
          "ip_version":null,
          "name":"Allow all",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":null,
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        }
      ]
    }
  }
}

Beschreibung

Eine neue Vorlage erstellen

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
name Name der Vorlage
filter_ipv6 Aktivieren oder Deaktivieren des IPv6-Filters ('true' oder 'false', optional)
whitelist_hos Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules Firewall-Regeln

Details zum Parameter 'rules' sind unter POST /firewall/{server-id} beschrieben

Ausgabe

firewall_template (Object)
id (Integer) ID der Vorlage
name (String) Name der Vorlage
filter_ipv6 (Boolean) Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean) Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default (Boolean) When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules (Object)
input (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')

GET /firewall/template/{template-id}

curl -u "user:password" https://robot-ws.your-server.de/firewall/template/123
{
  "firewall_template":{
    "id":123,
    "filter_ipv6":false,
    "whitelist_hos":true,
    "is_default":false,
    "rules":{
      "input":[
        {
          "ip_version":"ipv4",
          "name":"rule 1",
          "dst_ip":null,
          "src_ip":"1.1.1.1",
          "dst_port":"80",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        },
        {
          "ip_version":"ipv4",
          "name":"Allow MySQL",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":"3306",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        }
      ],
      "output":[
        {
          "ip_version":null,
          "name":"Allow all",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":null,
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        }
      ]
    }
  }
}

Beschreibung

Eine bestimmte Vorlage abrufen

Limitierung

500 Requests pro 1 Stunde

Ausgabe

firewall_template (Object)
id (Integer) ID der Vorlage
name (String) Name der Vorlage
filter_ipv6 (Boolean) Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean) Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default (Boolean) When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules (Object)
input (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')

Fehler

Status Code Beschreibung
404 NOT_FOUND Vorlage nicht gefunden

POST /firewall/template/{template-id}

curl -u "user:password" https://robot-ws.your-server.de/firewall/template/123 \
--data-urlencode 'name=My new template' \
--data-urlencode 'filter_ipv6=false' \
--data-urlencode 'whitelist_hos=true' \
--data-urlencode 'is_default=false' \
--data-urlencode 'rules[input][0][name]=rule 1' \
--data-urlencode 'rules[input][0][ip_version]=ipv4' \
--data-urlencode 'rules[input][0][src_ip]=1.1.1.1' \
--data-urlencode 'rules[input][0][dst_port]=80' \
--data-urlencode 'rules[input][0][action]=accept' \
--data-urlencode 'rules[input][1][name]=Allow MySQL' \
--data-urlencode 'rules[input][1][ip_version]=ipv4' \
--data-urlencode 'rules[input][1][dst_port]=3306' \
--data-urlencode 'rules[input][1][action]=accept' \
--data-urlencode 'rules[input][2][name]=Allow HTTPS' \
--data-urlencode 'rules[input][2][ip_version]=ipv4' \
--data-urlencode 'rules[input][2][dst_port]=443' \
--data-urlencode 'rules[input][2][protocol]=tcp' \
--data-urlencode 'rules[input][2][action]=accept' \
--data-urlencode 'rules[output][0][name]=Allow all' \
--data-urlencode 'rules[output][0][action]=accept'
{
  "firewall_template":{
    "id":123,
    "filter_ipv6":false,
    "whitelist_hos":true,
    "is_default":false,
    "rules":{
      "input":[
        {
          "ip_version":"ipv4",
          "name":"rule 1",
          "dst_ip":null,
          "src_ip":"1.1.1.1",
          "dst_port":"80",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        },
        {
          "ip_version":"ipv4",
          "name":"Allow MySQL",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":"3306",
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        },
        {
          "ip_version":"ipv4",
          "name":"Allow HTTPS",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":"443",
          "src_port":null,
          "protocol":"tcp",
          "tcp_flags":null,
          "action":"accept"
        }
      ],
      "output":[
        {
          "ip_version":null,
          "name":"Allow all",
          "dst_ip":null,
          "src_ip":null,
          "dst_port":null,
          "src_port":null,
          "protocol":null,
          "tcp_flags":null,
          "action":"accept"
        }
      ]
    }
  }
}

Beschreibung

Aktualisieren der Vorlage

Limitierung

500 Requests pro 1 Stunde

Eingabe

Name Beschreibung
name Name der Vorlage
filter_ipv6 Aktivieren oder Deaktivieren des IPv6-Filters ('true' oder 'false', optional)
whitelist_hos Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules Firewall-Regeln

Details zum Parameter 'rules' sind unter POST /firewall/{server-id} beschrieben

Ausgabe

firewall_template (Object)
id (Integer) ID der Vorlage
name (String) Name der Vorlage
filter_ipv6 (Boolean) Flag das anzeigt, ob der IPv6-Filter aktiv ist
whitelist_hos (Boolean) Zeigt an, ob die Hetzner-Services freigeschaltet sind
is_default (Boolean) When 'true' wird die Vorlage standardmäßig in der Robot-Oberfläche ausgewählt
rules (Object)
input (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')
output (Array)
(Object)
ip_version (String) Internet-Protokoll-Version ('ipv4' oder 'ipv6')
name (String) Name der Firewall-Regel
dst_ip (String) Ziel IP- oder Subnetz-Adresse (CIDR-Notation)
src_ip (String) Quell IP- oder Subnetz-Adresse (CIDR-Notation)
dst_port (String) Ziel-Port
src_port (String) Quell-Port
protocol (String) Protokoll über dem IP-Layer
tcp_flags (String) TCP-Flags
action (String) Aktion ('accept' oder 'discard')

Fehler

Status Code Beschreibung
404 NOT_FOUND Vorlage nicht gefunden

DELETE /firewall/template/{template-id}

curl -u "user:password" https://robot-ws.your-server.de/firewall/template/123 -X DELETE

Beschreibung

Löschen der Vorlage

Limitierung

500 Requests pro 1 Stunde

Eingabe

Keine Eingabe

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
404 NOT_FOUND Vorlage nicht gefunden

vSwitch

GET /vswitch

curl -u "user:password" https://robot-ws.your-server.de/vswitch
[
  {
    "id":1234,
    "name":"vswitch 1234",
    "vlan":4000,
    "cancelled":false
  },
  {
    "id":4321,
    "name":"vswitch test",
    "vlan":4001,
    "cancelled":false
  }
]

Beschreibung

Abfragen aller vSwitches

Limitierung

500 Requests pro 1 Stunde

Ausgabe

(Array)
(Object)
id (Integer) vSwitch-ID
name (String) vSwitch Name
vlan (Integer) VLAN-ID
cancelled (Boolean) Kündigungstatus

POST /vswitch

curl -u "user:password" https://robot-ws.your-server.de/vswitch \
--data-urlencode 'vlan=4000' \
--data-urlencode 'name=my vSwitch'
{
  "id":4321,
  "name":"my vSwitch",
  "vlan":4000,
  "cancelled":false,
  "server":[

  ],
  "subnet":[

  ],
  "cloud_network":[

  ]
}

Beschreibung

Einen neuen vSwitch anlegen

Limitierung

100 Requests pro 1 Stunde

Eingabe

Name Beschreibung
name vSwitch Name
vlan VLAN-ID

Ausgabe

id (Integer) vSwitch-ID
name (String) vSwitch Name
vlan (Integer) VLAN-ID
cancelled (Boolean) Kündigungstatus
server (Array)
(Object)
server_ip Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number ID des Servers
status Status des vSwitches für diesen Server ("ready", "in process", "failed")
subnet (Array)
(Object)
ip (String) IP-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway
cloud_network (Array)
(Object)
id (Integer) Cloud-Netzwerk ID
ip (String) IP-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
409 VSWITCH_LIMIT_REACHED Die maximale Anzahl an vSwitches ist erreicht

GET /vswitch/{vswitch-id}

curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321
{
  "id":4321,
  "name":"my vSwitch",
  "vlan":4000,
  "cancelled":false,
  "server":[
    {
      "server_ip":"123.123.123.123",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":321,
      "status":"ready"
    },
    {
      "server_ip":"123.123.123.124",
      "server_ipv6_net":"2a01:4f8:111:4221::",
      "server_number":421,
      "status":"ready"
    }
  ],
  "subnet":[
    {
      "ip":"213.239.252.48",
      "mask":29,
      "gateway":"213.239.252.49"
    }
  ],
  "cloud_network":[
    {
      "id":123,
      "ip":"10.0.2.0",
      "mask":24,
      "gateway":"10.0.2.1"
    }
  ]
}

Beschreibung

Abfragen eines bestimmten vSwitch

Limitierung

500 Requests pro 1 Stunde

Ausgabe

id (Integer) vSwitch-ID
name (String) vSwitch Name
vlan (Integer) VLAN-ID
cancelled (Boolean) Kündigungstatus
server (Array)
(Object)
server_ip Haupt-IP-Adresse des Servers
server_ipv6_net (String) Haupt-IPv6-Netz des Servers
server_number ID des Servers
status Status des vSwitches für diesen Server ("ready", "in process", "failed")
subnet (Array)
(Object)
ip (String) IP-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway
cloud_network (Array)
(Object)
id (Integer) Cloud-Netzwerk ID
ip (String) IP-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway

Fehler

Status Code Beschreibung
404 NOT_FOUND vSwitch nicht gefunden

POST /vswitch/{vswitch-id}

curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321 \
--data-urlencode 'name=my new name'
--data-urlencode 'vlan=4001'

Beschreibung

Den Namen oder die VLAN-ID eines vSwitches ändern

Limitierung

100 Requests pro 1 Stunde

Eingabe

Name Beschreibung
name vSwitch Name
vlan VLAN-ID

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND vSwitch nicht gefunden
409 VSWITCH_IN_PROCESS Der vSwitch kann nicht aktualisiert werden, da ein Update ausgeführt wird.
409 VSWITCH_VLAN_NOT_UNIQUE Der vSwitch kann aufgrund einer Konflikts der VLAN-ID nicht aktualisiert werden

DELETE /vswitch/{vswitch-id}

curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321 -X DELETE \
--data-urlencode 'cancellation_date=2018-06-30'

Beschreibung

Kündigung eines vSwitch

Limitierung

100 Requests pro 1 Stunde

Eingabe

Name Beschreibung
cancellation_date Kündigungsdatum (Format yyyy-MM-dd) oder "now" um zu sofort zu kündigen

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND vSwitch nicht gefunden
409 CONFLICT Der vSwitch ist bereits gekündigt

POST /vswitch/{vswitch-id}/server

curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321/server \
--data-urlencode 'server[]=123.123.123.123'
--data-urlencode 'server[]=123.123.123.124'

Beschreibung

Einen oder mehrere Server zu einem vSwitch hinzufügen

Limitierung

100 Requests pro 1 Stunde

Eingabe

Name Beschreibung
server Einer oder mehrere Server, identifiziert durch "server_number" oder "server_ip"

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND vSwitch nicht gefunden
404 SERVER_NOT_FOUND Ein übergebener Server wurde nicht gefunden
404 VSWITCH_NOT_AVAILABLE Das vSwitch-Feature ist für einen der übergebenen Server nicht verfügbar
409 VSWITCH_IN_PROCESS Der vSwitch kann nicht aktualisiert werden, da ein Update ausgeführt wird.
409 VSWITCH_VLAN_NOT_UNIQUE Der vSwitch kann aufgrund einer Konflikts der VLAN-ID nicht aktualisiert werden
409 VSWITCH_SERVER_LIMIT_REACHED Die maximale Anzahl an Servern wurde erreicht
409 VSWITCH_PER_SERVER_LIMIT_REACHED Die maximale Anzahl an vSwitches wurde für einen der übergebenen Server erreicht

DELETE /vswitch/{vswitch-id}/server

curl -u "user:password" https://robot-ws.your-server.de/vswitch/4321/server \
--data-urlencode 'server[]=123.123.123.123'
--data-urlencode 'server[]=123.123.123.124'

Beschreibung

Einen oder mehrere Server aus einem vSwitch entfernen

Limitierung

100 Requests pro 1 Stunde

Eingabe

Name Beschreibung
server Einer oder mehrere Server, identifiziert durch "server_number" oder "server_ip"

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND vSwitch nicht gefunden
404 SERVER_NOT_FOUND Ein übergebener Server wurde nicht gefunden
409 VSWITCH_IN_PROCESS Der vSwitch kann nicht aktualisiert werden, da ein Update ausgeführt wird.

PHP Client

Unter https://robot.hetzner.com/downloads/robot-client.zip steht eine PHP-Klasse zum Herunterladen zur Verfügung. Die Klasse verwendet libcurl. ```php <?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"; } ```