OmniWatchGuard logoOmniWatchGuard

API-Dokumentation

REST-API zur Verwaltung von Monitoren und zum Lesen von Benachrichtigungen, mit einem im Dashboard erstellten API-Schlüssel. Die Limits für Monitore, Intervalle und Kanäle entsprechen Ihrem Tarif.

REST APIJSONBearer Token

Authentifizierung

Alle Anfragen benötigen den Header Authorization: Bearer. Sie können einen API-Schlüssel verwenden (empfohlen, siehe Abschnitt unten) oder das Sitzungs-Token, das die Anmeldung zurückgibt. Ist die Zwei-Faktor-Authentifizierung aktiv, verlangt die Anmeldung zusätzlich den Code. Verwenden Sie für Skripte daher einen API-Schlüssel.

Header
Authorization: Bearer <token>
curl - Anmeldung
curl -X POST https://omniwatchguard.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "email@example.com", "password": "your_password"}'
Antwort
{"token": "eyJhbGciOiJIUzI1NiJ9...", "user": {"id": 1, "plan": "pro"}}

API-Schlüssel

Schlüssel werden im Dashboard unter API Keys erstellt. Ein Schlüssel beginnt mit owg_live_ und wird nur einmal angezeigt, bei der Erstellung. Pro Konto sind höchstens 5 Schlüssel möglich.

Header
Authorization: Bearer owg_live_...

API-Schlüssel funktionieren auf den Endpunkten /api/monitors (einschließlich /api/monitors/ID und /api/monitors/changes) und /api/notifications. Andere Endpunkte, darunter /api/export, akzeptieren nur das Sitzungs-Token aus der Anmeldung.

GET/api/monitors

Gibt die Liste aller aktiven Monitore Ihres Kontos zurück.

curl
curl https://omniwatchguard.com/api/monitors \
  -H "Authorization: Bearer <token>"
JavaScript
const res = await fetch("https://omniwatchguard.com/api/monitors", {
  headers: { Authorization: `Bearer ${token}` }
});
const monitors = await res.json();
Antwort
[{"id": 1, "url": "https://example.com", "name": "Test monitor",
  "type": "text", "frequency": 60, "status": "active",
  "notify_email": 1, "notify_slack": null, "created_at": "2026-03-01T12:00:00Z"}]
POST/api/monitors

Erstellt einen neuen Monitor.

ParameterTypErforderlichBeschreibung
urlstringJaURL der zu überwachenden Seite
namestringNeinName des Monitors
typestringNeintext | price | stock | css | api | seo | ssl; mit kostenpflichtigem Add-on: tech_stack | whois
frequencyintegerNeinMinuten. Starter und Testphase: 60. Pro: 15, 30, 60. Agency: 5, 15, 30, 60. Standard 60; ein Wert außerhalb des Tarifs wird durch 60 ersetzt.
notify_emailintegerNein1 = aktiv, 0 = inaktiv
notify_slackstringNeinSlack-Webhook-URL
notify_discordstringNeinDiscord-Webhook-URL
notify_telegramstringNeinTelegram-Chat-ID
notify_webhookstringNeinBenutzerdefinierte Webhook-URL
selectorstringNeinCSS-Selektor, für den Typ css
auth_cookiestringNeinSitzungs-Cookie oder -Token für Seiten mit Login (Agency-Tarif)
curl
curl -X POST https://omniwatchguard.com/api/monitors \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/prices", "type": "price", "frequency": 15}'
Antwort
{"success": true, "id": 42}
PATCH/api/monitors/{id}

Aktualisiert einen bestehenden Monitor. Senden Sie nur die Felder, die Sie ändern möchten.

curl
curl -X PATCH https://omniwatchguard.com/api/monitors/42 \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"frequency": 5, "notify_slack": "https://hooks.slack.com/..."}'
Antwort
{"success": true}
DELETE/api/monitors/{id}

Löscht einen Monitor. Diese Aktion ist unwiderruflich.

curl
curl -X DELETE https://omniwatchguard.com/api/monitors/42 \
  -H "Authorization: Bearer <token>"
Antwort
{"success": true}
GET/api/monitors/changes

Gibt die zuletzt erkannten Änderungen zurück. Optionaler Parameter: ?limit=20 (Standard 10, max. 50).

curl
curl "https://omniwatchguard.com/api/monitors/changes?limit=20" \
  -H "Authorization: Bearer <token>"
Antwort
[{"id": 1, "url": "https://example.com", "name": "Monitor test", "type": "price",
  "ai_summary": "Price dropped from $99 to $79.",
  "ai_severity": "major", "detected_at": "2026-03-24T09:15:00Z"}]
GET/api/export

Exportiert Daten im CSV-Format. Parameter: type=monitors|incidents, optional monitor_id. Dieser Endpunkt akzeptiert nur das Sitzungs-Token aus der Anmeldung, keine API-Schlüssel.

curl - Monitore exportieren
curl "https://omniwatchguard.com/api/export?type=monitors" \
  -H "Authorization: Bearer <token>" -o monitors.csv
curl - Vorfälle exportieren
curl "https://omniwatchguard.com/api/export?type=incidents&monitor_id=42" \
  -H "Authorization: Bearer <token>" -o incidents.csv
GET/api/notifications

Gibt die letzten 100 gesendeten Benachrichtigungen zurück. Optionaler Parameter: ?type=email|slack|discord|telegram|webhook.

curl
curl https://omniwatchguard.com/api/notifications \
  -H "Authorization: Bearer <token>"
Antwort
[{"id": 1, "type": "email", "success": 1, "error": null,
  "sent_at": "2026-03-24T09:15:00Z", "url": "https://example.com"}]

Fehlercodes

HTTP-CodeBedeutung
200Erfolg
201Monitor erstellt
400Ungültige Anfrage
401Nicht autorisiert - Token fehlt oder abgelaufen
403Zugriff verweigert - Monitor-Limit erreicht, Kanal oder Intervall nicht im Tarif enthalten
404Ressource nicht gefunden
429Zu viele Anfragen - siehe Header Retry-After
500Interner Serverfehler
Fehlerformat
{"error": "Error description"}

Limits

PlanMonitoreIntervalle (Minuten)Benachrichtigungskanäle
Trial360email, webhook, Slack, Discord, Telegram
Starter1060email
Pro10015, 30, 60email, webhook, Slack
Agencyunbegrenzt5, 15, 30, 60email, webhook, Slack, Discord, Telegram

Die Endpunkte /api/monitors und /api/notifications haben kein allgemeines Anfragelimit. Pro IP-Adresse begrenzt sind: POST /api/auth/login auf 10 Anfragen pro 15 Minuten und POST /api/monitors/preview auf 20 Anfragen pro Stunde. Bei Überschreitung erhalten Sie 429 mit dem Header Retry-After (Sekunden).

⚡ Zapier & Make Integration

OmniWatchGuard verbindet sich mit Zapier, Make (Integromat) und anderen Automatisierungsplattformen über einen Custom Webhook (Tarife Pro und Agency). Sie fügen die Webhook-URL beim Anlegen des Monitors ein.

⚡

Zapier

5000+ Apps

Verbinden Sie OmniWatchGuard-Benachrichtigungen mit Gmail, Slack, Google Sheets, Notion, Airtable, Trello und über 5000 weiteren Apps.

1
Neuen Zap erstellen

Wählen Sie in Zapier Trigger: Webhooks by Zapier → Catch Hook

2
Webhook-URL kopieren

Zapier generiert eine URL wie https://hooks.zapier.com/hooks/catch/...

3
Zu OmniWatchGuard hinzufügen

Fügen Sie beim Erstellen eines Monitors im Abschnitt Custom Webhook die Zapier-URL ein.

4
Testen und aktivieren

Warten Sie auf die erste Erkennung oder testen Sie vom Dashboard aus. Zapier empfängt Daten automatisch.

🔄

Make (Integromat)

1500+ Apps

Automatisieren Sie komplexe Workflows mit Make - senden Sie Benachrichtigungen an WhatsApp, aktualisieren Sie Tabellen, erstellen Sie Jira-Tickets oder benachrichtigen Sie Ihr Team.

1
Neues Szenario erstellen

Fügen Sie in Make ein Modul Webhooks → Custom Webhook als Trigger hinzu.

2
URL kopieren

Make generiert eine URL wie https://hook.eu1.make.com/...

3
Zu OmniWatchGuard hinzufügen

Fügen Sie beim Erstellen eines Monitors im Abschnitt Custom Webhook die Make-URL ein.

4
Struktur bestimmen

Senden Sie einen Test - Make erkennt automatisch die JSON-Struktur und stellt sie in Ihrem Szenario zur Verfügung.

Beliebte Automatisierungsbeispiele

📈Überwachung von Konkurrenzpreisen

Bei Preissenkung - Slack-Benachrichtigung + Eintrag in Google Sheets

🛒Bestandsbenachrichtigung

Bei Wiederverfügbarkeit - automatische E-Mail an Kunden oder SMS über Twilio

📝Inhaltsüberwachung

Bei Änderung einer Konkurrenzseite - neue Aufgabe in Trello oder Notion

🔒SSL-Benachrichtigung

Wenn SSL in 14 Tagen abläuft - automatisches Ticket in Jira + E-Mail an das Dev-Team

🔍SEO Monitor

Bei Änderung von Title oder Meta-Description - Benachrichtigung in Microsoft Teams

📊Automatische Berichte

Bei jeder Änderung - Eintrag in Airtable für wöchentliche Berichte

Webhook Payload

Bei jeder wichtigen oder kritischen Änderung sendet OmniWatchGuard eine POST-Anfrage mit Content-Type: application/json an Ihre URL. Geringfügige Änderungen werden nur im Dashboard erfasst.

JSON Payload - Änderung erkannt
{
  "event": "change_detected",
  "monitor_id": 42,
  "monitor_name": "Competitor A prices",
  "url": "https://competitor.com/product",
  "type": "price",
  "summary": "Price dropped from 149.99 to 129.99 (-13%)",
  "severity": "major",
  "detected_at": "2026-04-29T10:23:45.000Z"
}
JSON Payload - SSL-Ablaufwarnung
{
  "event": "ssl_expiry_warning",
  "monitor_id": 15,
  "monitor_name": "SSL Monitor - site.com",
  "url": "https://site.com",
  "hostname": "site.com",
  "ssl_days_left": 12,
  "ssl_expires_at": "2026-05-11T00:00:00.000Z",
  "ssl_issuer": "Lets Encrypt",
  "ssl_error": null,
  "detected_at": "2026-04-29T06:00:00.000Z"
}

Verfügbare Felder

FeldTypBeschreibung
eventstringchange_detected oder ssl_expiry_warning
monitor_idintegerMonitor-ID in OmniWatchGuard
monitor_namestringDem Monitor gegebener Name
urlstringÜberwachte URL
typestringMonitor-Typ: text, price, stock, seo, ssl, css, api
summarystringKI-Zusammenfassung der erkannten Änderung
severitystringminor, major oder critical
detected_atstringErkennungsdatum und -uhrzeit im ISO-8601-Format
💡
Tipp für Zapier/Make

Verwenden Sie das Feld severity als Filter - senden Sie eine E-Mail nur, wenn severity = critical. In Make können Sie komplexe bedingte Logik basierend auf type und severity erstellen.

⚡24h kostenlos testen
OWG
OmniWatchGuard
Online · Antwortet sofort