Uptimeify Docs

Komponente erstellen

Fügt einer Status-Seite einen Monitor, einen Drittanbieter oder eine von Hand gepflegte Komponente hinzu.

POST /api/status-pages/{id}/components

Zugriff

Organisations-admin und editor. Ein kundengebundener Nutzer oder API-Token erreicht nur Seiten eines Kunden in seinem Bereich; eine Seite ohne Kunde (customerId: null) beantwortet ihm 403 (forbidden). Eine Seite einer anderen Organisation antwortet 404 (statusPageNotFound). IDs im Pfad nehmen die numerische ID oder die publicId. Die Änderung steht im Audit-Protokoll der Organisation.

Request-Body

FeldTypPflichtStandardBeschreibung
sourceKindstringJa-monitor (Zustand kommt von einem Monitor), dependency (Zustand kommt von einem Drittanbieter, den wir beobachten) oder manual (du setzt den Zustand).
monitorTypestringBei monitor-http, dns, icmp, smtp, ssh, tcp, ftp oder imap_pop. Bei manual nicht erlaubt.
monitorIdnumberBei monitor-Numerische Monitor-ID. Seite mit Kunde: ein Monitor dieses Kunden. Seite ohne Kunde: jeder Monitor deiner Organisation. Bei manual nicht erlaubt.
dependencySlugstringBei dependency-Slug eines aktiven Anbieters aus GET /api/public/dependencies. Bei den anderen Arten nicht erlaubt.
manualStatusstringNeinoperationalNur manual: operational, degraded, partial_outage, major_outage oder maintenance.
namestringBei manualMonitor- oder AnbieternameAnzeigename (1-120 Zeichen).
descriptionstring|nullNeinnullMax. 1000 Zeichen.
groupIdnumber|string|nullNeinnullID oder publicId einer Gruppe dieser Seite.
sortnumberNeinhinter der letzten KomponentePosition, 0-100000.
showUptimebooleanNeintrueVerfügbarkeitsbalken dieser Komponente anzeigen.

Ein Monitor kann auf derselben Seite nur einmal Komponente sein. hiddenMonitors blendet nie eine ausdrückliche Komponente aus. Wird ein Monitor gelöscht, verschwinden seine Komponenten automatisch von jeder Status-Seite.

Eine dependency-Komponente zeigt den Gesamtstatus, den wir für diesen Anbieter in unserer öffentlichen Abhängigkeits-Überwachung veröffentlichen: operational, degraded, partial_outage, major_outage, maintenance oder unknown, solange wir den Anbieter nicht sehen (als Warnung gezeigt, zählt aber nicht zum Gesamtzustand der Seite). Ein offener, mit der Komponente verknüpfter Vorfall hebt ihren Zustand an. Ein Anbieter kann auf derselben Seite nur einmal Komponente sein; eine Verfügbarkeitsleiste gibt es nicht. Ändert sich der Status des Anbieters, werden die Abonnenten der Seite (oder dieser Komponente) benachrichtigt wie bei einem Monitor-Vorfall. Weder Monitor noch Kunde sind nötig.

Beispiel (cURL)

BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"

curl -X POST "$BASE_URL/api/status-pages/1/components" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceKind": "monitor",
    "monitorType": "http",
    "monitorId": 101,
    "groupId": 3
  }'

Eine manuelle Komponente:

curl -X POST "$BASE_URL/api/status-pages/1/components" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceKind": "manual",
    "name": "Payment provider",
    "description": "Card payments at checkout"
  }'

Ein Drittanbieter:

curl -X POST "$BASE_URL/api/status-pages/1/components" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceKind": "dependency",
    "dependencySlug": "stripe"
  }'

Antwort

201 Created mit der neuen Komponente:

{
  "id": 7,
  "publicId": "0b6f3c1e-8d2a-4f5b-9c7e-1a2b3c4d5e6f",
  "statusPageId": 1,
  "groupId": 3,
  "sort": 0,
  "name": "Main Site",
  "description": null,
  "showUptime": true,
  "sourceKind": "monitor",
  "monitorType": "http",
  "monitorId": 101,
  "manualStatus": null,
  "dependencySlug": null,
  "createdAt": "2026-10-27T09:00:00.000Z",
  "updatedAt": "2026-10-27T09:00:00.000Z"
}

Häufige Fehler

  • 400 Bad Request (invalidRequestBody), wenn ein Pflichtfeld fehlt oder ein Feld nicht zu sourceKind passt (zum Beispiel manualStatus an einer Monitor-Komponente); data.issues nennt das Feld
  • 400 Bad Request (statusPageComponentMonitorCustomerMismatch), wenn der Monitor einem anderen Kunden gehört als die Status-Seite
  • 400 Bad Request (invalidIdentifier), wenn eine ID im Pfad weder Zahl noch UUID ist
  • 401 Unauthorized, wenn du nicht angemeldet bist
  • 403 Forbidden (forbidden), wenn deine Rolle das nicht darf, oder für einen kundengebundenen Aufrufer auf einer Seite ohne Kunde oder eines anderen Kunden
  • 403 Forbidden (statusPagesModuleDisabled), wenn das Statusseiten-Modul nicht aktiviert ist
  • 404 Not Found (statusPageNotFound), wenn die Status-Seite nicht existiert oder zu einer anderen Organisation gehört
  • 404 Not Found (monitorNotFound), wenn der Monitor nicht existiert oder zu einer anderen Organisation gehört
  • 404 Not Found (providerNotFound), wenn dependencySlug kein aktiver Anbieter ist
  • 404 Not Found (statusPageComponentGroupNotFound), wenn groupId keine Gruppe dieser Seite ist
  • 409 Conflict (statusPageComponentMonitorConflict), wenn der Monitor schon Komponente dieser Seite ist
  • 409 Conflict (statusPageComponentDependencyConflict), wenn der Anbieter schon Komponente dieser Seite ist
  • 409 Conflict (statusPageLimitReached, mit data.max), wenn die Seite schon 100 Komponenten hat

Auf dieser Seite