Kunden aktualisieren
Aktualisiert Kundendetails.
PATCH /api/customers/:customerPublicId
Authentifizierung
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"Anfrage (Request Body)
Alle Felder sind optional. Nicht gesendete Felder behalten ihren aktuellen Wert.
{
"name": "Neuer Name",
"email": "neu@deinkunde.com",
"status": "active",
"packageType": "business", // konfigurierter packageType oder Display-Name der Organisation
"notificationEmail": "alerts@customer-a.de",
"notificationPhoneNumber": "+491701234567",
"monthlyReportsEnabled": true,
"customFields": {
"internalReference": "KD-999"
}
}Hinweise:
packageTypekann den konfigurierten Paket-Key oder den Display-Namen des Pakets enthalten. Bekannte Alias-Schreibweisen wieaquisition_testwerden automatisch normalisiert. Ein Wert, der auf kein Paket dieser Organisation passt, wird mit400unddata.codeinvalidPackageTypeabgewiesen; er wird nicht mehr unverändert gespeichert.
Ownership- & Berechtigungs-Overrides (optional)
Diese Felder steuern die Managed-vs.-Self-Service-Berechtigungen des Kunden und die Kanal-Typ-Policy. Sie sind org-write-gated: Schreibzugriffe eines kunden-gescopten Aufrufers auf diese Felder werden serverseitig stillschweigend ignoriert.
null bedeutet von der Paket-Konfiguration des Kunden erben.
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
allowSelfService | boolean|null | null (erben) | Ob der Kunde self_service-Monitore anlegen und verwalten darf |
maxSelfServiceUrls | number|null | null (erben) | Obergrenze für die Gesamtzahl der self_service-Monitore des Kunden über alle Monitor-Typen |
canEditManaged | boolean | false | Ausnahme: erlaubt diesem Kunden, managed-Monitore zu bearbeiten (Klassen-Wechsel bleiben org-only). Änderungen werden ins Audit-Log geschrieben. |
enableEmailAlerts | boolean|null | null (erben) | Kanal-Typ-Policy-Override: E-Mail-Alarme |
enableSmsAlerts | boolean|null | null (erben) | Kanal-Typ-Policy-Override: SMS-Alarme |
enableWebhookAlerts | boolean|null | null (erben) | Kanal-Typ-Policy-Override: Webhooks |
enableIntegrationAlerts | boolean|null | null (erben) | Kanal-Typ-Policy-Override: Integrationen |
enablePostRequestEscalation | boolean|null | null (erben) | Kanal-Typ-Policy-Override: POST-Request-Eskalation |
Der Legacy-notificationChannels-JSONB-Override ist deprecated: Die Kanal-Typ-Policy liegt in den enable*-Feldern oben.
Beispiel-Request
curl -X PATCH "$BASE_URL/api/customers/6bfec6f6-245a-47ce-843b-157d97d56f88" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Customer A GmbH (Updated)",
"monthlyReportsEnabled": true
}'Beispiel-Response
{
"id": 101,
"publicId": "6bfec6f6-245a-47ce-843b-157d97d56f88",
"organizationId": 1,
"name": "Customer A GmbH (Updated)",
"email": "contact@customer-a.de",
"notificationPhoneNumber": "+491701234567",
"notificationEmail": "alerts@customer-a.de",
"packageId": 3,
"status": "active",
"monthlyReportsEnabled": true,
"customFields": {
"internalReference": "KD-999"
},
"notificationChannels": null,
"notificationTargets": null,
"updatedAt": "2026-02-26T19:37:00.000Z"
}Häufige Fehler
400Invalid Customer identifier400UngültigepackageId/ ungültigerpackageTypefür diese Organisation (data.code:invalidPackageType)401Unauthorized403Forbidden / Organization ID not found404Customer not found500Failed to update customer