Zum Hauptinhalt springenZenit-Hosting Logo
API-Referenz

Server

Server lesen, starten, stoppen und Konsolenbefehle senden.

GET /api/developer/v1/servers

Server auflisten

Alle Server, auf die das Token zugreifen darf: bei persönlichen Tokens die eigenen und die freigegebenen Server, bei Bots die Server mit Installation. Ein auf Server eingeschränktes Token sieht nur diese. Seitenweise Liste: limit (1 bis 100, Standard 25) und cursor. nextCursor ist null auf der letzten Seite, sonst der Wert für den nächsten Aufruf.

Rechte

  • servers:read Server lesen

Parameter

Parameter von GET /api/developer/v1/servers
NameOrtTypPflichtBeschreibung
limitQueryinteger (int32)neinEinträge je Seite, 1 bis 100. Standard 25. Ein Wert außerhalb ergibt 400 `VALIDATION_ERROR`.
cursorQuerystringneinWert von `nextCursor` der vorherigen Seite. Nicht ändern, nicht auswerten. Ein ungültiger Cursor ergibt 400 `VALIDATION_ERROR`.

Antworten

OK

application/json

SchemaDevServerDtoPage
Felder der Antwort 200 OK von GET /api/developer/v1/servers
FeldTypPflichtBeschreibung
dataDevServerDto[]ja
data[].idstring (uuid)ja
data[].namestringja
data[].statusstringjaZustand des Servers in Zenit.
data[].powerStatestring | nulljaZuletzt gemeldeter Betriebszustand; `null`, wenn unbekannt.
data[].gameDevServerGameDtoja
data[].game.namestringja
data[].game.variantstringja
data[].game.versionstring | nullja
data[].memoryMbinteger (int32)ja
data[].cpuPercentinteger (int32)ja
data[].diskMbinteger (int32)ja
data[].locationstring | nullja
data[].addressstring | nullja
data[].isOwnerbooleanja
data[].createdAtstring (date-time)ja
nextCursorstring | nullja
{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "status": "string",
      "powerState": "string",
      "game": {
        "name": "string",
        "variant": "string",
        "version": "string"
      },
      "memoryMb": 0,
      "cpuPercent": 0,
      "diskMb": 0,
      "location": "string",
      "address": "string",
      "isOwner": true,
      "createdAt": "2026-10-05T12:00:00Z"
    }
  ],
  "nextCursor": "string"
}

Codebeispiele

curl "https://api.zenit-hosting.de/api/developer/v1/servers" \
  -H "Authorization: Bearer $ZENIT_TOKEN"

GET /api/developer/v1/servers/{id}

Server lesen

Stammdaten eines Servers: Status, Spiel, Ressourcen-Zuteilung und Adresse.

Rechte

  • servers:read Server lesen

Parameter

Parameter von GET /api/developer/v1/servers/{id}
NameOrtTypPflichtBeschreibung
idPfadstring (uuid)jaId des Servers.

Antworten

OK

application/json

SchemaDevServerDto
Felder der Antwort 200 OK von GET /api/developer/v1/servers/{id}
FeldTypPflichtBeschreibung
idstring (uuid)ja
namestringja
statusstringjaZustand des Servers in Zenit.
powerStatestring | nulljaZuletzt gemeldeter Betriebszustand; `null`, wenn unbekannt.
gameDevServerGameDtoja
game.namestringja
game.variantstringja
game.versionstring | nullja
memoryMbinteger (int32)ja
cpuPercentinteger (int32)ja
diskMbinteger (int32)ja
locationstring | nullja
addressstring | nullja
isOwnerbooleanja
createdAtstring (date-time)ja
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "string",
  "status": "string",
  "powerState": "string",
  "game": {
    "name": "string",
    "variant": "string",
    "version": "string"
  },
  "memoryMb": 0,
  "cpuPercent": 0,
  "diskMb": 0,
  "location": "string",
  "address": "string",
  "isOwner": true,
  "createdAt": "2026-10-05T12:00:00Z"
}

Codebeispiele

curl "https://api.zenit-hosting.de/api/developer/v1/servers/<id>" \
  -H "Authorization: Bearer $ZENIT_TOKEN"

GET /api/developer/v1/servers/{id}/activity

Aktivität lesen

Der Aktivitätsverlauf des Servers, neueste zuerst, ohne Detailfelder. Seitenweise Liste: limit (1 bis 100, Standard 25) und cursor. nextCursor ist null auf der letzten Seite, sonst der Wert für den nächsten Aufruf.

Rechte

  • servers:read Server lesen

Parameter

Parameter von GET /api/developer/v1/servers/{id}/activity
NameOrtTypPflichtBeschreibung
idPfadstring (uuid)jaId des Servers.
limitQueryinteger (int32)neinEinträge je Seite, 1 bis 100. Standard 25. Ein Wert außerhalb ergibt 400 `VALIDATION_ERROR`.
cursorQuerystringneinWert von `nextCursor` der vorherigen Seite. Nicht ändern, nicht auswerten. Ein ungültiger Cursor ergibt 400 `VALIDATION_ERROR`.

Antworten

OK

application/json

SchemaDevActivityDtoPage
Felder der Antwort 200 OK von GET /api/developer/v1/servers/{id}/activity
FeldTypPflichtBeschreibung
dataDevActivityDto[]ja
data[].idstring (uuid)ja
data[].serverIdstring (uuid)ja
data[].categorystringjaGruppe des Eintrags.
data[].typestringja
data[].severitystringjaGewicht des Eintrags.
data[].sourcestringjaWer den Eintrag ausgelöst hat. `api` ist ein persönliches Token, `bot` ein Bot.
data[].titlestringja
data[].createdAtstring (date-time)ja
nextCursorstring | nullja
{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "serverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "category": "string",
      "type": "string",
      "severity": "string",
      "source": "string",
      "title": "string",
      "createdAt": "2026-10-05T12:00:00Z"
    }
  ],
  "nextCursor": "string"
}

Codebeispiele

curl "https://api.zenit-hosting.de/api/developer/v1/servers/<id>/activity" \
  -H "Authorization: Bearer $ZENIT_TOKEN"

POST /api/developer/v1/servers/{id}/commands

Konsolenbefehl senden

Übergibt einen Befehl (1 bis 1024 Zeichen) an die Konsole. Eine Antwort des Spiels gibt es nicht; Ausgaben liest du in der Konsole des Panels.

Rechte

  • servers:console Konsolenbefehle senden

Parameter

Parameter von POST /api/developer/v1/servers/{id}/commands
NameOrtTypPflichtBeschreibung
idPfadstring (uuid)jaId des Servers.
Idempotency-KeyHeaderstringneinEmpfohlen für jeden POST. 1 bis 128 sichtbare ASCII-Zeichen ohne Leerzeichen. Derselbe Schlüssel mit derselben Anfrage liefert innerhalb von 24 Stunden die gespeicherte Antwort (Header `Idempotency-Replayed: true`), mit einer anderen Anfrage 422, solange die erste läuft 409.

Request-Body

application/json

SchemaDevCommandRequest
Felder des Request-Bodys von POST /api/developer/v1/servers/{id}/commands
FeldTypPflichtBeschreibung
commandstringja
{
  "command": "string"
}

Antworten

Accepted

application/json

SchemaDevCommandAcceptedDto
Felder der Antwort 202 Accepted von POST /api/developer/v1/servers/{id}/commands
FeldTypPflichtBeschreibung
statusstringjaImmer `sent`.
{
  "status": "string"
}

Codebeispiele

curl -X POST "https://api.zenit-hosting.de/api/developer/v1/servers/<id>/commands" \
  -H "Authorization: Bearer $ZENIT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "command": "string"
}'

POST /api/developer/v1/servers/{id}/power

Power-Signal senden

Reiht start, stop, restart oder kill ein. Die Antwort 202 bestätigt nur das Einreihen; das Ergebnis steht im Aktivitätsverlauf. killAfterSeconds (10 bis 600) gilt nur für stop.

Rechte

  • servers:power Server starten und stoppen

Parameter

Parameter von POST /api/developer/v1/servers/{id}/power
NameOrtTypPflichtBeschreibung
idPfadstring (uuid)jaId des Servers.
Idempotency-KeyHeaderstringneinEmpfohlen für jeden POST. 1 bis 128 sichtbare ASCII-Zeichen ohne Leerzeichen. Derselbe Schlüssel mit derselben Anfrage liefert innerhalb von 24 Stunden die gespeicherte Antwort (Header `Idempotency-Replayed: true`), mit einer anderen Anfrage 422, solange die erste läuft 409.

Request-Body

application/json

SchemaDevPowerRequest
Felder des Request-Bodys von POST /api/developer/v1/servers/{id}/power
FeldTypPflichtBeschreibung
signalstringjaDas Signal.
killAfterSecondsinteger (int32) | nullnein
{
  "signal": "string",
  "killAfterSeconds": 0
}

Antworten

Accepted

application/json

SchemaDevPowerAcceptedDto
Felder der Antwort 202 Accepted von POST /api/developer/v1/servers/{id}/power
FeldTypPflichtBeschreibung
signalstringja
jobIdstring (uuid) | nullja
dedupedbooleanja
{
  "signal": "string",
  "jobId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deduped": true
}

Codebeispiele

curl -X POST "https://api.zenit-hosting.de/api/developer/v1/servers/<id>/power" \
  -H "Authorization: Bearer $ZENIT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "signal": "string",
  "killAfterSeconds": 0
}'

GET /api/developer/v1/servers/{id}/resources

Ressourcen lesen

Momentaufnahme aus dem Panel: Zustand, Arbeitsspeicher, CPU, Datenträger, Netzwerk und Laufzeit.

Rechte

  • servers:read Server lesen

Parameter

Parameter von GET /api/developer/v1/servers/{id}/resources
NameOrtTypPflichtBeschreibung
idPfadstring (uuid)jaId des Servers.

Antworten

OK

application/json

SchemaDevServerResourcesDto
Felder der Antwort 200 OK von GET /api/developer/v1/servers/{id}/resources
FeldTypPflichtBeschreibung
statestringjaBetriebszustand laut Panel.
isSuspendedbooleanja
memoryBytesinteger (int64)ja
cpunumber (double)ja
diskBytesinteger (int64)ja
networkRxBytesinteger (int64)ja
networkTxBytesinteger (int64)ja
uptimeMsinteger (int64)ja
{
  "state": "string",
  "isSuspended": true,
  "memoryBytes": 0,
  "cpu": 0,
  "diskBytes": 0,
  "networkRxBytes": 0,
  "networkTxBytes": 0,
  "uptimeMs": 0
}

Codebeispiele

curl "https://api.zenit-hosting.de/api/developer/v1/servers/<id>/resources" \
  -H "Authorization: Bearer $ZENIT_TOKEN"

Bereich Server geladen, 6 Endpunkte.