Uptimeify Docs

SSH Monitor erstellen

Erstellt einen neuen SSH Monitor.

POST /api/ssh-monitors

Authentifizierung

Erfordert eine gültige Session.

  • Header: Authorization: Bearer <token>

Request Body

{
  "customerId": "11111111-1111-4111-8111-111111111111",
  "name": "Bastion Host",
  "hostname": "ssh.example.com",
  "port": 22,
  "status": "active",
  "checkInterval": 60,
  "timeoutSeconds": 30,
  "sshConfig": {
    "username": "root",
    "password": "password",
    "privateKey": "-----BEGIN OPENSSH PRIVATE KEY-----..."
  }
}

Felder

  • customerId (number | string, required)
    • Akzeptiert entweder die interne numerische Kunden-ID oder die öffentliche Kunden-UUID.
  • name (string, required)
  • hostname (string, required)
    • Muss ein Hostname sein (kein Protokoll wie https://, kein Pfad wie /ssh).
  • port (number | null, optional)
    • Wenn weggelassen oder null, nutzt der Worker standardmäßig Port 22.
  • status (string, optional)
    • Erlaubt: active, maintenance, disabled, paused, inactive
  • checkInterval (number, optional)
  • timeoutSeconds (number, optional)
  • sshConfig (object, optional)
    • Wird als config JSON gespeichert.

sshConfig (vom Worker unterstützte Keys)

  • username (string)
    • Wenn weggelassen, nutzt der Worker anonymous.
  • password (string)
  • privateKey (string)

cURL

curl -X POST "https://YOUR_DOMAIN/api/ssh-monitors" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "11111111-1111-4111-8111-111111111111",
    "name": "Bastion Host",
    "hostname": "ssh.example.com",
    "port": 22,
    "status": "active",
    "checkInterval": 60,
    "timeoutSeconds": 30,
    "sshConfig": { "username": "root", "password": "password" }
  }'

Response

{
  "id": 300,
  "organizationId": 1,
  "customerId": 10,
  "name": "Bastion Host",
  "hostname": "ssh.example.com",
  "port": 22,
  "status": "active",
  "checkInterval": 60,
  "timeoutSeconds": 30,
  "notificationEmail": null,
  "notificationPhoneNumber": null,
  "lastCheckedAt": null,
  "createdAt": "2026-02-26T12:00:00.000Z",
  "updatedAt": "2026-02-26T12:00:00.000Z",
  "config": {
    "username": "root",
    "password": "password"
  },
  "sshConfig": {
    "username": "root",
    "password": "password"
  }
}

Errors

  • 400 Ungültiger Hostname oder ungültiger Request Body
  • 400 Ungültiger Customer-Identifier
  • 401 Unauthorized
  • 403 Forbidden (z.B. readonly oder global supporter)

Auf dieser Seite