Uptimeify Docs

Report-Default übertragen

Schreibt das monthlyReportsDefault eines Pakets einmalig auf jeden Kunden, der aktuell dieses Paket hat.

POST /api/organizations/:id/package-configs/:packageType/apply-report-default

Das monthlyReportsDefault aus Paket-Konfiguration erstellen/aktualisieren ist eine Vorlage: Sie legt nur bei ab jetzt neu angelegten Kunden monthlyReportsEnabled fest. Das Speichern der Paket-Konfiguration überschreibt bereits bestehende Kunden auf diesem Paket bewusst nie, ein Konfigurations-Save darf keine Kundendaten stillschweigend verändern. Dieser Endpunkt ist die explizite Einmal-Aktion für den anderen Fall: das aktuelle monthlyReportsDefault des Pakets jetzt sofort auf jeden Kunden übertragen, der dieses Paket bereits hat.

Es handelt sich um ein einzelnes UPDATE über alle betroffenen Kunden, nicht um eine Schleife mit Fehler-Isolation pro Kunde wie bei Sammelaktionen: Es wird eine einzige Boolean-Spalte geschrieben, ohne Kaskade und ohne Nebeneffekte, daher bringt eine Isolation pro Zeile hier nichts. Entweder wird die gesamte Menge geschrieben, oder die Anfrage schlägt fehl, bevor irgendetwas geschrieben wurde.

Pfad-Parameter: :id

:id ist die numerische id der Organisation, dasselbe ganzzahlige id-Feld, das Organisations-Details abrufen zurückgibt. Das ist enger gefasst als bei den benachbarten Paket-Konfigurations-Routen, die zusätzlich :organizationPublicId (eine UUID) auflösen. Dieser Endpunkt tut das nicht: Er parst das Pfad-Segment direkt mit Number(...) und lehnt alles ab, was keine positive Ganzzahl ist, mit 400 invalidRequestBody.

Beispiel (cURL)

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

curl -X POST "$BASE_URL/api/organizations/1/package-configs/pro/apply-report-default" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Kein Request Body.

Antwort (Response)

{ "updated": 42 }

updated ist die Anzahl der geschriebenen Kunden-Zeilen. Ein Kunde „hat" das Paket, wenn seine packageId mit der ID dieser Paket-Konfiguration übereinstimmt, oder, bei Kunden ohne zugewiesene ID, wenn sein packageType-String übereinstimmt. Kunden, die zufällig nur denselben packageType-String tragen, ohne diese konkrete Konfiguration zu halten, sind nicht enthalten.

Häufige Fehler

  • 400 invalidRequestBody :id ist keine positive Ganzzahl, oder :packageType fehlt
  • 401 unauthorized du bist nicht angemeldet
  • 403 forbidden du bist kein Admin dieser Organisation und kein Global Admin
  • 403 customerScopedTokenForbidden beim Aufruf mit einem kundengescopten API-Token; dies ist eine organisationsweite Aktion und erfordert ein organisationsgescoptes Token oder eine Session
  • 404 notFound es existiert keine Paket-Konfiguration mit diesem packageType für diese Organisation

Hinweis zur Berechtigung:

  • Schreibzugriff ist erforderlich (Org-Admin der Ziel-Organisation, oder Global-Admin).
  • Ein kundengescoptes API-Token wird grundsätzlich abgelehnt. Dieser Endpoint schreibt über alle Kunden hinweg, die das Paket halten; es gibt also keine Kunden-Dimension, auf die er sich einschränken ließe. Ein auf einen einzelnen Kunden gebundenes Token darf den Rest der Organisation nicht erreichen.

Auf dieser Seite