Wartungsfenster anlegen
POST
/api/v1/maintenances
Beide Enden des Fensters sind erforderlich.
Erforderliche Berechtigung
incidents.manage
Vorfälle und Wartungen verwalten
Body Parameter (application/json)
| Name | Format | Beschreibung | Optional |
|---|---|---|---|
| title | Mehrsprachiger Text als Objekt je Sprache, z. B. {"de": "…", "en": "…"}. Ein einfacher String wird in der Hauptsprache der Statusseite gespeichert. Bei PATCH partiell: eine weggelassene Sprache bleibt unverändert, ein ausdrückliches null löscht sie. | — | |
| body | Mehrsprachiger Text als Objekt je Sprache, z. B. {"de": "…", "en": "…"}. Ein einfacher String wird in der Hauptsprache der Statusseite gespeichert. Bei PATCH partiell: eine weggelassene Sprache bleibt unverändert, ein ausdrückliches null löscht sie. | ||
| status | Status, die ein WARTUNGSFENSTER annehmen kann (IncidentStatus::forType). | ||
| components | Betroffene Komponenten als Liste von Objekten: {"id": <int>, "impact": "operational|degraded|partial_outage|major_outage|under_maintenance"}. | ||
| started_at | String | Wann der Vorfall tatsächlich begann; darf vor dem Datensatz liegen. | — |
| publish | |||
| publish_at | String | Erforderlich bei publish=schedule; muss in der Zukunft liegen. | |
| notify | Boolean | Wird nur ausgewertet, wenn tatsächlich veröffentlicht wird. | |
| scheduled_end_at | String | — |
Beispiel-Request (application/json)
{
"title": {
"de": "Störung im Netz",
"en": "Network issue"
},
"body": {
"de": "Wir untersuchen erhöhte Latenzen.",
"en": "We are investigating elevated latencies."
},
"status": "scheduled",
"components": [
{
"id": 3,
"impact": "degraded"
}
],
"started_at": "2026-07-27T13:55:00Z",
"publish": "draft",
"publish_at": "2026-07-27T14:00:00Z",
"notify": true,
"scheduled_end_at": "2026-08-02T02:00:00Z"
}
Werte sind Beispiele — Pflichtfelder stehen in der Tabelle. Der Body wird als JSON gesendet.
Response (application/json)
{1 Eigenschaft
"data": {20 Eigenschaften
"id": 13,
"type": "maintenance",
"status": "scheduled",
"title": {2 Eigenschaften
"de": "Datenbank-Wartung",
"en": "Database maintenance"
},
"body": {2 Eigenschaften
"de": "Kurze Unterbrechungen möglich.",
"en": null
},
"started_at": "2026-08-02T00:00:00Z",
"scheduled_end_at": "2026-08-02T02:00:00Z",
"published_at": null,
"publish_at": null,
"resolved_at": null,
"acknowledged_at": null,
"is_published": false,
"is_scheduled": false,
"is_resolved": false,
"components": [1 Element
{2 Eigenschaften
"id": 4,
"impact": "under_maintenance"
}
],
"public_url": null,
"postmortem": null,
"updates": [],
"created_at": "2026-07-27T14:00:00Z",
"updated_at": "2026-07-27T14:00:00Z"
}
}
{2 Eigenschaften
"message": "This API accepts JSON only. Send the request body as application/json (received application/x-www-form-urlencoded).",
"documentation_url": "https://docs.firestatus.de"
}
{3 Eigenschaften
"message": "The scheduled end at field must be a date after started at.",
"errors": {1 Eigenschaft
"scheduled_end_at": [1 Element
"The scheduled end at field must be a date after started at."
]
},
"documentation_url": "https://docs.firestatus.de"
}
cURL
curl -X POST 'https://status.example.com/api/v1/maintenances' \
-H 'Authorization: Bearer fs_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"title":{"de":"Störung im Netz","en":"Network issue"},"body":{"de":"Wir untersuchen erhöhte Latenzen.","en":"We are investigating elevated latencies."},"status":"scheduled","components":[{"id":3,"impact":"degraded"}],"started_at":"2026-07-27T13:55:00Z","publish":"draft","publish_at":"2026-07-27T14:00:00Z","notify":true,"scheduled_end_at":"2026-08-02T02:00:00Z"}'