Bericht aktualisieren
Aktualisiert eine Berichtskonfiguration der Organisation. Alle Felder sind optional; mindestens eines muss angegeben werden.
PATCH /api/organization/reports/:id
Aktualisiert eine Berichtskonfiguration teilweise. :id ist die id des Berichts (eine UUID). Die Organisation wird aus Ihrer authentifizierten Sitzung oder Ihrem API-Token abgeleitet, und der Bericht muss zu ihr gehören. Erfordert die Rolle admin der Organisation (API-Tokens gelten als Organisations-Admins). Nur-Lese-Benutzer können keine Berichte aktualisieren.
Senden Sie nur die Felder, die Sie ändern möchten. Die feldübergreifende Validierung (Zeitplan und Scope) wird gegen das zusammengeführte Ergebnis erneut ausgeführt — ein PATCH, der nur frequency auf weekly setzt, ohne auch weekday mitzusenden, schlägt fehl, wenn der bestehende Bericht kein weekday gesetzt hat.
Request-Body
Dieselben Felder wie bei Bericht erstellen, alle optional — mindestens ein Feld muss aber vorhanden sein:
| Feld | Typ | Hinweise |
|---|---|---|
name | string | 1–200 Zeichen. |
enabled | boolean | |
frequency | "daily" | "weekly" | "monthly" | |
weekday | integer 0–6 | null | Praktisch erforderlich, wenn die resultierende frequency weekly ist. |
dayOfMonth | integer 1–28 | null | Praktisch erforderlich, wenn die resultierende frequency monthly ist. |
sendHour | integer 0–23 | |
timezone | string | IANA-Zeitzone. |
scopeMode | "all" | "customers" | "tags" | |
scopeCustomerIds | integer[] | Müssen zu Ihrer Organisation gehören. |
scopeTagIds | integer[] | Müssen zu Ihrer Organisation gehören. |
inclusionMode | "all" | "problems" | "threshold" | |
problemSignals | object | { incident, downtimeMinutes, sslDaysLt, responseBreach }. |
thresholdUptimeLt | number | null | |
thresholdResponseGt | integer (ms) | null | |
sendWhenEmpty | boolean | |
sections | object | Sechs Booleans zum Ein-/Ausschalten der Abschnitte. |
monitorTypes | string[] | Ein oder mehrere aus website, dns, dnsbl, domain, icmp, smtp, ssh, tcp, ftp, imap. Darf nicht als leeres Array gesendet werden. |
sectionsByType | object | Abschnitts-Umschalter pro Typ: { "<monitorType>": { "<sectionKey>": boolean } }. Welche sectionKeys zulässig sind, hängt vom Typ ab — siehe Abschnitts-Schlüssel pro Monitor-Typ. Wird ein für seinen Typ unzulässiger Abschnitts-Schlüssel gesendet, schlägt die Anfrage mit 400 Bad Request fehl. |
groupByCustomer | boolean | Untergliedert die Tabelle jedes Monitor-Typs zusätzlich nach Kunde. |
format | "email" | "email_pdf" | |
recipientEmails | string[] | Max. 50. |
recipientUserIds | string[] | Max. 50. |
Beispiel (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<ihr-api-token>"
REPORT_ID="3f1c9c1e-8d2a-4c7e-9b1a-2d5f6a7b8c90"
curl -X PATCH "$BASE_URL/api/organization/reports/$REPORT_ID" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enabled": false,
"recipientEmails": ["ops@agentur.io", "cs@agentur.io"]
}'Antwort
{
"id": "3f1c9c1e-8d2a-4c7e-9b1a-2d5f6a7b8c90",
"name": "Wöchentlicher Ops-Bericht",
"enabled": false,
"frequency": "weekly",
"weekday": 1,
"dayOfMonth": null,
"sendHour": 2,
"timezone": "Europe/Berlin",
"scopeMode": "all",
"inclusionMode": "problems",
"monitorTypes": ["website", "dns", "dnsbl", "domain", "icmp", "smtp", "ssh", "tcp", "ftp", "imap"],
"sectionsByType": {},
"groupByCustomer": false,
"format": "email_pdf",
"recipientEmails": ["ops@agentur.io", "cs@agentur.io"],
"recipientUserIds": []
}Häufige Fehler
401 Unauthorized— nicht authentifiziert.403 Forbidden(forbidden) — kein Organisations-Admin.404 Not Found(notFound) — es existiert kein Bericht mit dieser ID für Ihre Organisation.400(invalidReportSchedule) — die resultierendeweekly-Konfiguration hat keinweekday, oder die resultierendemonthly-Konfiguration hat keindayOfMonth.400(invalidReportScope) — Scope-IDs gehören nicht zu Ihrer Organisation, oder der resultierendethreshold-Modus hat keinen Schwellenwert.400 Bad Request— einsectionsByType-Eintrag enthält einensectionKey, der für seinen Monitor-Typ nicht zulässig ist, odermonitorTypeswird als leeres Array gesendet.