StaffingCoverageAlarm
Einzelnen StaffingCoverageAlarm abrufen
GET/api/time/staffing_coverage_alarm/{id}
Pfad-Parameter
idPflichtstring |
Antworten
200Liefert ein einzelnes StaffingCoverageAlarm-Objekt.StaffingCoverageAlarm
Felder anzeigen (14)
statusstringidintegerPrimärschlüssel des Besetzungsalarms. Interne ID.
requirementStaffingRequirement4Nicht abgedeckter Personalbedarf.
Felder anzeigen (21)
idintegerPrimärschlüssel des Besetzungsbedarfs. Interne ID.
employment_contract_groupEmploymentContractGroupVertragsgruppe, für die die Anforderung gilt.
employment_organizationEmploymentOrganization6Organisation, auf die sich die Anforderung bezieht.
organization_unitOrganizationUnit6R7: eine Regel für einen ganzen Bereich (OrganizationUnit) - jede Gruppe jeder Organisation darin oder darunter. Nur ohne Gruppe und Organisation, mit staffing_organization_unit_enabled.
modestringArt der Anforderung, zum Beispiel minimum staff oder exact staff.
weekdays_bitmaskintegerISO-Wochentagsbitmaske, an der die Regel gilt (Mo=1 ... So=64).
start_timestringStartzeit des Bedarfs in HH:MM.
end_timestringEndzeit der Anforderung als HH:MM.
min_staff_countintegerMindestanzahl benötigter Mitarbeitender.
buffer_staff_countintegerL51: zusätzlich gewünschte Personen über dem Minimum. Zwischen Minimum und Minimum + Puffer wird ein Selbstbedienungsantrag je nach bufferMode (L53) mit einem Hinweis für die Genehmiger eingereicht oder abgelehnt. 0 = kein Puffer.
buffer_modestringL53: HINT (Standard) reicht mit einem Hinweis ein, BLOCK lehnt einen Selbstbedienungsantrag ab, der den Tag unter Minimum + Puffer bringen würde.
required_qualificationEmploymentQualification8Optionale Qualifikation, die die gezählten Personen erfüllen müssen (Gleichwertigkeiten und Rangfolge werden vom QualificationMatchHelper berücksichtigt).
qualification_match_modestringL18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.
valid_fromstring (date-time)Regel gilt erst ab diesem Datum (null = immer).
valid_untilstring (date-time)Datum, bis zu dem die Anforderung gültig ist.
applies_on_holidaysbooleanOb die Regel auch an gesetzlichen Feiertagen des Kalenders ihres Geltungsbereichs gilt (Gruppenkalender, Organisationskalender, Hauptkalender). Standardmäßig aus: Eine geschlossene Kita oder ein geschlossenes Büro würde sonst an jedem Feiertag als unterbesetzt gemeldet; ein Verein oder eine Pflegeeinrichtung mit Feiertagsbetrieb schaltet sie ein.
search_stringstringText, unter dem die Entität gesucht werden kann.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
datestring (date-time)Datum des Alarms.
required_countintegerAnzahl der benötigten Mitarbeitenden.
covered_countintegerAnzahl der verfügbaren Mitarbeitenden.
sourcestringWORKER (täglicher Scan) oder APPROVAL (eine Genehmigung hat den Tag unter das Minimum gesenkt).
requestNonWorkTimeRequest4Der Antrag, dessen Genehmigung den Alarm ausgelöst hat, sofern es einer war (L54).
Felder anzeigen (35)
overduebooleanU04: noch offen nach Ablauf der Bearbeitungsfrist.
approval_versionintegerVersion des Genehmigungsprozesses.
change_modestringArt der Änderung an der Anfrage.
balance_override_reasonstringL11: warum ein Planer diesen Antrag genehmigt hat, obwohl der prognostizierte Urlaubssaldo negativ war.
coverage_override_reasonstringL54: warum der Genehmiger einen Tag unter der Mindestbesetzung akzeptiert hat.
coverage_hintbooleanL53: eingereicht, obwohl er den Personalpuffer angreift - die Genehmiger sehen den Hinweis.
sick_during_vacationbooleanU13: eine Krankmeldung innerhalb genehmigten Urlaubs - vom Server gesetzt, angezeigt als "während Urlaub".
consultation_notestringWer vor der Anfrage von Tagen, die ein blockierender Zeitraum als nur mit Abstimmung markiert (U14), konsultiert wurde.
daily_absence_start_timestringLokales tägliches Abwesenheitsfenster für halbtägige Typen; null behält die bisherige Planung bei.
daily_absence_end_timestringEndzeit der ganztägigen Abwesenheit.
idintegerPrimärschlüssel der Anfrage. Interne ID.
userUser14Benutzer, zu dem die Anfrage gehört.
descriptionstringBeschreibung des Antrags.
startstring (date-time)Beginn des angefragten Zeitraums.
start_datestringStartdatum des angefragten Zeitraums.
start_monthintegerStartmonat des angefragten Zeitraums.
start_yearintegerStartjahr des angefragten Zeitraums.
endstring (date-time)Ende des angeforderten Zeitraums.
end_datestringEnddatum des angeforderten Zeitraums.
end_monthintegerEndmonat des angeforderten Zeitraums.
end_yearintegerEndjahr des angeforderten Zeitraums.
durationnumber (float)Dauer in Tagen, verknüpft mit NonWorkTimePlan – ein Halbtagstyp zählt 0,5 (Z6)
statusstringStatus der Anfrage.
content_typestringArt des Antrags, z. B. Urlaub oder Abwesenheit.
secondary_content_typestringSekundärer Typ der Anfrage.
linked_content_typeNonWorkTimePlanSelectionType3Mit der Anfrage verknüpfter Planauswahltyp.
parent_requestNonWorkTimeRequest4Der Antrag, den dieser ändert („Änderungsantrag zum Jahresurlaub“). Ein Änderungsantrag ist in jeder anderen Hinsicht ein gewöhnlicher Antrag; die Referenz macht aus einem zweiten, unabhängig wirkenden Antrag eine sichtbare Korrektur des ersten – und sorgt dafür, dass die damit zurückgezogenen Tage als zurückgezogen statt nur als abgelehnt markiert werden.
annual_requestNonWorkTimeAnnualRequest7L47/L48: der Jahresplan ("Jahresurlaubsantrag"), zu dem dieser Zeitraum gehört. Das Bündel wird als Ganzes entschieden; der Zeitraum bleibt in jeder anderen Hinsicht ein gewöhnlicher Antrag.
request_kindstringU02/U18: ANNUAL = Zeitraum des Jahresplans, SUPPLEMENT = Ergänzungsantrag für die zurückgehaltenen flexiblen Tage. null = regulärer Antrag.
processing_due_datestring (date-time)U04/U20: der Tag, bis zu dem über den Antrag entschieden werden muss, gerechnet ab Eingang.
escalated_atstring (date-time)U04: Zeitpunkt, zu dem die Eskalation wegen Überfälligkeit gesendet wurde; null = noch nicht eskaliert.
written_approval_reasonstringU21: warum dieser Antrag um den Schritt der Geschäftsführung mit schriftlichem Kommentar ergänzt wurde (z. B. SUMMER_CANCELLATION); null = keine zusätzliche schriftliche Genehmigung nötig.
search_stringstringText, unter dem die Entität gesucht werden kann.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
notified_atstring (date-time)Zeitpunkt, zu dem der Alarm gesendet wurde.
resolved_atstring (date-time)Zeitpunkt, zu dem der Alarm aufgelöst wurde.
acknowledged_atstring (date-time)Zeitpunkt, zu dem der Alarm bestätigt wurde.
acknowledged_by_userUser14Benutzer, der den Alarm bestätigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/staffing_coverage_alarm_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await StaffingCoverageAlarmController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"status": "string",
"requirement": {
"id": 42,
"name": "Beispiel",
"employment_contract_group": {
"id": 42,
"name": "Beispiel",
"staged_absence_approval": true,
"shift_booking_sync": true,
"week_total_hours": 1.5,
"week_total_days": 1.5,
"year_vacation_days": 1.5,
"month_vacation_days": 1.5,
"year_vacation_weeks": 1.5,
"monday_hours": 1.5
},
"employment_organization": {
"id": 42,
"name": "Beispiel",
"staged_absence_approval": true,
"allow_app_time_tracking": true,
"shift_booking_sync": true,
"allow_scanner_time_tracking": true,
"allow_app_non_work_time_management": true,
"include_in_auto_export": true,
"search_string": "string",
"deleted": true
},
"organization_unit": {
"id": 42,
"name": "Beispiel",
"path": "string",
"depth": 1,
"level": "string",
"sort_order": 1,
"search_string": "string",
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"mode": "string",
"weekdays_bitmask": 1,
"start_time": "string",
"end_time": "string",
"min_staff_count": 1
},
"date": "2026-10-15T09:30:00+02:00",
"required_count": 1,
"covered_count": 1,
"source": "string",
"request": {
"id": 42,
"description": "Text",
"overdue": true,
"approval_version": 1,
"change_mode": "string",
"balance_override_reason": "string",
"coverage_override_reason": "string",
"coverage_hint": true,
"sick_during_vacation": true,
"consultation_note": "string"
},
"notified_at": "2026-10-15T09:30:00+02:00",
"resolved_at": "2026-10-15T09:30:00+02:00"
}Alarm bestätigen (die Verwaltung hat ihn gesehen und kümmert sich darum)
PUT/api/time/staffing_coverage_alarm/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataStaffingCoverageAlarm2
Antworten
200StaffingCoverageAlarm bestätigenStaffingCoverageAlarm
Felder anzeigen (14)
statusstringidintegerPrimärschlüssel des Besetzungsalarms. Interne ID.
requirementStaffingRequirement4Nicht abgedeckter Personalbedarf.
Felder anzeigen (21)
idintegerPrimärschlüssel des Besetzungsbedarfs. Interne ID.
employment_contract_groupEmploymentContractGroupVertragsgruppe, für die die Anforderung gilt.
employment_organizationEmploymentOrganization6Organisation, auf die sich die Anforderung bezieht.
organization_unitOrganizationUnit6R7: eine Regel für einen ganzen Bereich (OrganizationUnit) - jede Gruppe jeder Organisation darin oder darunter. Nur ohne Gruppe und Organisation, mit staffing_organization_unit_enabled.
modestringArt der Anforderung, zum Beispiel minimum staff oder exact staff.
weekdays_bitmaskintegerISO-Wochentagsbitmaske, an der die Regel gilt (Mo=1 ... So=64).
start_timestringStartzeit des Bedarfs in HH:MM.
end_timestringEndzeit der Anforderung als HH:MM.
min_staff_countintegerMindestanzahl benötigter Mitarbeitender.
buffer_staff_countintegerL51: zusätzlich gewünschte Personen über dem Minimum. Zwischen Minimum und Minimum + Puffer wird ein Selbstbedienungsantrag je nach bufferMode (L53) mit einem Hinweis für die Genehmiger eingereicht oder abgelehnt. 0 = kein Puffer.
buffer_modestringL53: HINT (Standard) reicht mit einem Hinweis ein, BLOCK lehnt einen Selbstbedienungsantrag ab, der den Tag unter Minimum + Puffer bringen würde.
required_qualificationEmploymentQualification8Optionale Qualifikation, die die gezählten Personen erfüllen müssen (Gleichwertigkeiten und Rangfolge werden vom QualificationMatchHelper berücksichtigt).
qualification_match_modestringL18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.
valid_fromstring (date-time)Regel gilt erst ab diesem Datum (null = immer).
valid_untilstring (date-time)Datum, bis zu dem die Anforderung gültig ist.
applies_on_holidaysbooleanOb die Regel auch an gesetzlichen Feiertagen des Kalenders ihres Geltungsbereichs gilt (Gruppenkalender, Organisationskalender, Hauptkalender). Standardmäßig aus: Eine geschlossene Kita oder ein geschlossenes Büro würde sonst an jedem Feiertag als unterbesetzt gemeldet; ein Verein oder eine Pflegeeinrichtung mit Feiertagsbetrieb schaltet sie ein.
search_stringstringText, unter dem die Entität gesucht werden kann.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
datestring (date-time)Datum des Alarms.
required_countintegerAnzahl der benötigten Mitarbeitenden.
covered_countintegerAnzahl der verfügbaren Mitarbeitenden.
sourcestringWORKER (täglicher Scan) oder APPROVAL (eine Genehmigung hat den Tag unter das Minimum gesenkt).
requestNonWorkTimeRequest4Der Antrag, dessen Genehmigung den Alarm ausgelöst hat, sofern es einer war (L54).
Felder anzeigen (35)
overduebooleanU04: noch offen nach Ablauf der Bearbeitungsfrist.
approval_versionintegerVersion des Genehmigungsprozesses.
change_modestringArt der Änderung an der Anfrage.
balance_override_reasonstringL11: warum ein Planer diesen Antrag genehmigt hat, obwohl der prognostizierte Urlaubssaldo negativ war.
coverage_override_reasonstringL54: warum der Genehmiger einen Tag unter der Mindestbesetzung akzeptiert hat.
coverage_hintbooleanL53: eingereicht, obwohl er den Personalpuffer angreift - die Genehmiger sehen den Hinweis.
sick_during_vacationbooleanU13: eine Krankmeldung innerhalb genehmigten Urlaubs - vom Server gesetzt, angezeigt als "während Urlaub".
consultation_notestringWer vor der Anfrage von Tagen, die ein blockierender Zeitraum als nur mit Abstimmung markiert (U14), konsultiert wurde.
daily_absence_start_timestringLokales tägliches Abwesenheitsfenster für halbtägige Typen; null behält die bisherige Planung bei.
daily_absence_end_timestringEndzeit der ganztägigen Abwesenheit.
idintegerPrimärschlüssel der Anfrage. Interne ID.
userUser14Benutzer, zu dem die Anfrage gehört.
descriptionstringBeschreibung des Antrags.
startstring (date-time)Beginn des angefragten Zeitraums.
start_datestringStartdatum des angefragten Zeitraums.
start_monthintegerStartmonat des angefragten Zeitraums.
start_yearintegerStartjahr des angefragten Zeitraums.
endstring (date-time)Ende des angeforderten Zeitraums.
end_datestringEnddatum des angeforderten Zeitraums.
end_monthintegerEndmonat des angeforderten Zeitraums.
end_yearintegerEndjahr des angeforderten Zeitraums.
durationnumber (float)Dauer in Tagen, verknüpft mit NonWorkTimePlan – ein Halbtagstyp zählt 0,5 (Z6)
statusstringStatus der Anfrage.
content_typestringArt des Antrags, z. B. Urlaub oder Abwesenheit.
secondary_content_typestringSekundärer Typ der Anfrage.
linked_content_typeNonWorkTimePlanSelectionType3Mit der Anfrage verknüpfter Planauswahltyp.
parent_requestNonWorkTimeRequest4Der Antrag, den dieser ändert („Änderungsantrag zum Jahresurlaub“). Ein Änderungsantrag ist in jeder anderen Hinsicht ein gewöhnlicher Antrag; die Referenz macht aus einem zweiten, unabhängig wirkenden Antrag eine sichtbare Korrektur des ersten – und sorgt dafür, dass die damit zurückgezogenen Tage als zurückgezogen statt nur als abgelehnt markiert werden.
annual_requestNonWorkTimeAnnualRequest7L47/L48: der Jahresplan ("Jahresurlaubsantrag"), zu dem dieser Zeitraum gehört. Das Bündel wird als Ganzes entschieden; der Zeitraum bleibt in jeder anderen Hinsicht ein gewöhnlicher Antrag.
request_kindstringU02/U18: ANNUAL = Zeitraum des Jahresplans, SUPPLEMENT = Ergänzungsantrag für die zurückgehaltenen flexiblen Tage. null = regulärer Antrag.
processing_due_datestring (date-time)U04/U20: der Tag, bis zu dem über den Antrag entschieden werden muss, gerechnet ab Eingang.
escalated_atstring (date-time)U04: Zeitpunkt, zu dem die Eskalation wegen Überfälligkeit gesendet wurde; null = noch nicht eskaliert.
written_approval_reasonstringU21: warum dieser Antrag um den Schritt der Geschäftsführung mit schriftlichem Kommentar ergänzt wurde (z. B. SUMMER_CANCELLATION); null = keine zusätzliche schriftliche Genehmigung nötig.
search_stringstringText, unter dem die Entität gesucht werden kann.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
notified_atstring (date-time)Zeitpunkt, zu dem der Alarm gesendet wurde.
resolved_atstring (date-time)Zeitpunkt, zu dem der Alarm aufgelöst wurde.
acknowledged_atstring (date-time)Zeitpunkt, zu dem der Alarm bestätigt wurde.
acknowledged_by_userUser14Benutzer, der den Alarm bestätigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '{}'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"
payload = {}
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42', [
'body' => '{}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/staffing_coverage_alarm_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await StaffingCoverageAlarmController.acknowledge(42);
if (result.success) {
print(result.data);
}{
"id": 42,
"status": "string",
"requirement": {
"id": 42,
"name": "Beispiel",
"employment_contract_group": {
"id": 42,
"name": "Beispiel",
"staged_absence_approval": true,
"shift_booking_sync": true,
"week_total_hours": 1.5,
"week_total_days": 1.5,
"year_vacation_days": 1.5,
"month_vacation_days": 1.5,
"year_vacation_weeks": 1.5,
"monday_hours": 1.5
},
"employment_organization": {
"id": 42,
"name": "Beispiel",
"staged_absence_approval": true,
"allow_app_time_tracking": true,
"shift_booking_sync": true,
"allow_scanner_time_tracking": true,
"allow_app_non_work_time_management": true,
"include_in_auto_export": true,
"search_string": "string",
"deleted": true
},
"organization_unit": {
"id": 42,
"name": "Beispiel",
"path": "string",
"depth": 1,
"level": "string",
"sort_order": 1,
"search_string": "string",
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"mode": "string",
"weekdays_bitmask": 1,
"start_time": "string",
"end_time": "string",
"min_staff_count": 1
},
"date": "2026-10-15T09:30:00+02:00",
"required_count": 1,
"covered_count": 1,
"source": "string",
"request": {
"id": 42,
"description": "Text",
"overdue": true,
"approval_version": 1,
"change_mode": "string",
"balance_override_reason": "string",
"coverage_override_reason": "string",
"coverage_hint": true,
"sick_during_vacation": true,
"consultation_note": "string"
},
"notified_at": "2026-10-15T09:30:00+02:00",
"resolved_at": "2026-10-15T09:30:00+02:00"
}Alarm bestätigen (die Verwaltung hat ihn gesehen und kümmert sich darum)
PATCH/api/time/staffing_coverage_alarm/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataStaffingCoverageAlarm2
Antworten
200StaffingCoverageAlarm bestätigenStaffingCoverageAlarm
Felder anzeigen (14)
statusstringidintegerPrimärschlüssel des Besetzungsalarms. Interne ID.
requirementStaffingRequirement4Nicht abgedeckter Personalbedarf.
Felder anzeigen (21)
idintegerPrimärschlüssel des Besetzungsbedarfs. Interne ID.
employment_contract_groupEmploymentContractGroupVertragsgruppe, für die die Anforderung gilt.
employment_organizationEmploymentOrganization6Organisation, auf die sich die Anforderung bezieht.
organization_unitOrganizationUnit6R7: eine Regel für einen ganzen Bereich (OrganizationUnit) - jede Gruppe jeder Organisation darin oder darunter. Nur ohne Gruppe und Organisation, mit staffing_organization_unit_enabled.
modestringArt der Anforderung, zum Beispiel minimum staff oder exact staff.
weekdays_bitmaskintegerISO-Wochentagsbitmaske, an der die Regel gilt (Mo=1 ... So=64).
start_timestringStartzeit des Bedarfs in HH:MM.
end_timestringEndzeit der Anforderung als HH:MM.
min_staff_countintegerMindestanzahl benötigter Mitarbeitender.
buffer_staff_countintegerL51: zusätzlich gewünschte Personen über dem Minimum. Zwischen Minimum und Minimum + Puffer wird ein Selbstbedienungsantrag je nach bufferMode (L53) mit einem Hinweis für die Genehmiger eingereicht oder abgelehnt. 0 = kein Puffer.
buffer_modestringL53: HINT (Standard) reicht mit einem Hinweis ein, BLOCK lehnt einen Selbstbedienungsantrag ab, der den Tag unter Minimum + Puffer bringen würde.
required_qualificationEmploymentQualification8Optionale Qualifikation, die die gezählten Personen erfüllen müssen (Gleichwertigkeiten und Rangfolge werden vom QualificationMatchHelper berücksichtigt).
qualification_match_modestringL18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.
valid_fromstring (date-time)Regel gilt erst ab diesem Datum (null = immer).
valid_untilstring (date-time)Datum, bis zu dem die Anforderung gültig ist.
applies_on_holidaysbooleanOb die Regel auch an gesetzlichen Feiertagen des Kalenders ihres Geltungsbereichs gilt (Gruppenkalender, Organisationskalender, Hauptkalender). Standardmäßig aus: Eine geschlossene Kita oder ein geschlossenes Büro würde sonst an jedem Feiertag als unterbesetzt gemeldet; ein Verein oder eine Pflegeeinrichtung mit Feiertagsbetrieb schaltet sie ein.
search_stringstringText, unter dem die Entität gesucht werden kann.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
datestring (date-time)Datum des Alarms.
required_countintegerAnzahl der benötigten Mitarbeitenden.
covered_countintegerAnzahl der verfügbaren Mitarbeitenden.
sourcestringWORKER (täglicher Scan) oder APPROVAL (eine Genehmigung hat den Tag unter das Minimum gesenkt).
requestNonWorkTimeRequest4Der Antrag, dessen Genehmigung den Alarm ausgelöst hat, sofern es einer war (L54).
Felder anzeigen (35)
overduebooleanU04: noch offen nach Ablauf der Bearbeitungsfrist.
approval_versionintegerVersion des Genehmigungsprozesses.
change_modestringArt der Änderung an der Anfrage.
balance_override_reasonstringL11: warum ein Planer diesen Antrag genehmigt hat, obwohl der prognostizierte Urlaubssaldo negativ war.
coverage_override_reasonstringL54: warum der Genehmiger einen Tag unter der Mindestbesetzung akzeptiert hat.
coverage_hintbooleanL53: eingereicht, obwohl er den Personalpuffer angreift - die Genehmiger sehen den Hinweis.
sick_during_vacationbooleanU13: eine Krankmeldung innerhalb genehmigten Urlaubs - vom Server gesetzt, angezeigt als "während Urlaub".
consultation_notestringWer vor der Anfrage von Tagen, die ein blockierender Zeitraum als nur mit Abstimmung markiert (U14), konsultiert wurde.
daily_absence_start_timestringLokales tägliches Abwesenheitsfenster für halbtägige Typen; null behält die bisherige Planung bei.
daily_absence_end_timestringEndzeit der ganztägigen Abwesenheit.
idintegerPrimärschlüssel der Anfrage. Interne ID.
userUser14Benutzer, zu dem die Anfrage gehört.
descriptionstringBeschreibung des Antrags.
startstring (date-time)Beginn des angefragten Zeitraums.
start_datestringStartdatum des angefragten Zeitraums.
start_monthintegerStartmonat des angefragten Zeitraums.
start_yearintegerStartjahr des angefragten Zeitraums.
endstring (date-time)Ende des angeforderten Zeitraums.
end_datestringEnddatum des angeforderten Zeitraums.
end_monthintegerEndmonat des angeforderten Zeitraums.
end_yearintegerEndjahr des angeforderten Zeitraums.
durationnumber (float)Dauer in Tagen, verknüpft mit NonWorkTimePlan – ein Halbtagstyp zählt 0,5 (Z6)
statusstringStatus der Anfrage.
content_typestringArt des Antrags, z. B. Urlaub oder Abwesenheit.
secondary_content_typestringSekundärer Typ der Anfrage.
linked_content_typeNonWorkTimePlanSelectionType3Mit der Anfrage verknüpfter Planauswahltyp.
parent_requestNonWorkTimeRequest4Der Antrag, den dieser ändert („Änderungsantrag zum Jahresurlaub“). Ein Änderungsantrag ist in jeder anderen Hinsicht ein gewöhnlicher Antrag; die Referenz macht aus einem zweiten, unabhängig wirkenden Antrag eine sichtbare Korrektur des ersten – und sorgt dafür, dass die damit zurückgezogenen Tage als zurückgezogen statt nur als abgelehnt markiert werden.
annual_requestNonWorkTimeAnnualRequest7L47/L48: der Jahresplan ("Jahresurlaubsantrag"), zu dem dieser Zeitraum gehört. Das Bündel wird als Ganzes entschieden; der Zeitraum bleibt in jeder anderen Hinsicht ein gewöhnlicher Antrag.
request_kindstringU02/U18: ANNUAL = Zeitraum des Jahresplans, SUPPLEMENT = Ergänzungsantrag für die zurückgehaltenen flexiblen Tage. null = regulärer Antrag.
processing_due_datestring (date-time)U04/U20: der Tag, bis zu dem über den Antrag entschieden werden muss, gerechnet ab Eingang.
escalated_atstring (date-time)U04: Zeitpunkt, zu dem die Eskalation wegen Überfälligkeit gesendet wurde; null = noch nicht eskaliert.
written_approval_reasonstringU21: warum dieser Antrag um den Schritt der Geschäftsführung mit schriftlichem Kommentar ergänzt wurde (z. B. SUMMER_CANCELLATION); null = keine zusätzliche schriftliche Genehmigung nötig.
search_stringstringText, unter dem die Entität gesucht werden kann.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
notified_atstring (date-time)Zeitpunkt, zu dem der Alarm gesendet wurde.
resolved_atstring (date-time)Zeitpunkt, zu dem der Alarm aufgelöst wurde.
acknowledged_atstring (date-time)Zeitpunkt, zu dem der Alarm bestätigt wurde.
acknowledged_by_userUser14Benutzer, der den Alarm bestätigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '{}'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"
payload = {}
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42', [
'body' => '{}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({}),
);
print(response.body);{
"id": 42,
"status": "string",
"requirement": {
"id": 42,
"name": "Beispiel",
"employment_contract_group": {
"id": 42,
"name": "Beispiel",
"staged_absence_approval": true,
"shift_booking_sync": true,
"week_total_hours": 1.5,
"week_total_days": 1.5,
"year_vacation_days": 1.5,
"month_vacation_days": 1.5,
"year_vacation_weeks": 1.5,
"monday_hours": 1.5
},
"employment_organization": {
"id": 42,
"name": "Beispiel",
"staged_absence_approval": true,
"allow_app_time_tracking": true,
"shift_booking_sync": true,
"allow_scanner_time_tracking": true,
"allow_app_non_work_time_management": true,
"include_in_auto_export": true,
"search_string": "string",
"deleted": true
},
"organization_unit": {
"id": 42,
"name": "Beispiel",
"path": "string",
"depth": 1,
"level": "string",
"sort_order": 1,
"search_string": "string",
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"mode": "string",
"weekdays_bitmask": 1,
"start_time": "string",
"end_time": "string",
"min_staff_count": 1
},
"date": "2026-10-15T09:30:00+02:00",
"required_count": 1,
"covered_count": 1,
"source": "string",
"request": {
"id": 42,
"description": "Text",
"overdue": true,
"approval_version": 1,
"change_mode": "string",
"balance_override_reason": "string",
"coverage_override_reason": "string",
"coverage_hint": true,
"sick_during_vacation": true,
"consultation_note": "string"
},
"notified_at": "2026-10-15T09:30:00+02:00",
"resolved_at": "2026-10-15T09:30:00+02:00"
}StaffingCoverageAlarm-Objekte auflisten (standardmäßig offene: resolved_at=null oder ein Statusfilter)
GET/api/time/staffing_coverage_alarm
Query-Parameter
idinteger | |
requirementstring | |
datestring | |
sourcestring | WORKER (täglicher Scan) oder APPROVAL (eine Genehmigung hat den Tag unter das Minimum gesenkt). | Erforderliches Zugriffsrecht: SCOPE |
notifiedAtstring | |
resolvedAtstring | |
acknowledgedAtstring | |
requeststring | Der Antrag, dessen Genehmigung den Alarm ausgelöst hat, sofern es einer war (L54). | Benötigtes Zugriffsrecht: SCOPE |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste der StaffingCoverageAlarm-Objekte.array<StaffingCoverageAlarm3>
Felder anzeigen (13)
statusstringidintegerPrimärschlüssel des Besetzungsalarms. Interne ID.
requirementStaffingRequirement5Nicht abgedeckter Personalbedarf.
Felder anzeigen (21)
idintegerPrimärschlüssel des Besetzungsbedarfs. Interne ID.
employment_contract_groupEmploymentContractGroupVertragsgruppe, für die die Anforderung gilt.
employment_organizationEmploymentOrganization7Organisation, auf die sich die Anforderung bezieht.
organization_unitOrganizationUnitR7: eine Regel für einen ganzen Bereich (OrganizationUnit) - jede Gruppe jeder Organisation darin oder darunter. Nur ohne Gruppe und Organisation, mit staffing_organization_unit_enabled.
modestringArt der Anforderung, zum Beispiel minimum staff oder exact staff.
weekdays_bitmaskintegerISO-Wochentagsbitmaske, an der die Regel gilt (Mo=1 ... So=64).
start_timestringStartzeit des Bedarfs in HH:MM.
end_timestringEndzeit der Anforderung als HH:MM.
min_staff_countintegerMindestanzahl benötigter Mitarbeitender.
buffer_staff_countintegerL51: zusätzlich gewünschte Personen über dem Minimum. Zwischen Minimum und Minimum + Puffer wird ein Selbstbedienungsantrag je nach bufferMode (L53) mit einem Hinweis für die Genehmiger eingereicht oder abgelehnt. 0 = kein Puffer.
buffer_modestringL53: HINT (Standard) reicht mit einem Hinweis ein, BLOCK lehnt einen Selbstbedienungsantrag ab, der den Tag unter Minimum + Puffer bringen würde.
required_qualificationEmploymentQualification9Optionale Qualifikation, die die gezählten Personen erfüllen müssen (Gleichwertigkeiten und Rangfolge werden vom QualificationMatchHelper berücksichtigt).
qualification_match_modestringL18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.
valid_fromstring (date-time)Regel gilt erst ab diesem Datum (null = immer).
valid_untilstring (date-time)Datum, bis zu dem die Anforderung gültig ist.
applies_on_holidaysbooleanOb die Regel auch an gesetzlichen Feiertagen des Kalenders ihres Geltungsbereichs gilt (Gruppenkalender, Organisationskalender, Hauptkalender). Standardmäßig aus: Eine geschlossene Kita oder ein geschlossenes Büro würde sonst an jedem Feiertag als unterbesetzt gemeldet; ein Verein oder eine Pflegeeinrichtung mit Feiertagsbetrieb schaltet sie ein.
search_stringstringText, unter dem die Entität gesucht werden kann.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
datestring (date-time)Datum des Alarms.
required_countintegerAnzahl der benötigten Mitarbeitenden.
covered_countintegerAnzahl der verfügbaren Mitarbeitenden.
sourcestringWORKER (täglicher Scan) oder APPROVAL (eine Genehmigung hat den Tag unter das Minimum gesenkt).
notified_atstring (date-time)Zeitpunkt, zu dem der Alarm gesendet wurde.
resolved_atstring (date-time)Zeitpunkt, zu dem der Alarm aufgelöst wurde.
acknowledged_atstring (date-time)Zeitpunkt, zu dem der Alarm bestätigt wurde.
acknowledged_by_userUser14Benutzer, der den Alarm bestätigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/staffing_coverage_alarm"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/staffing_coverage_alarm_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await StaffingCoverageAlarmController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"status": "string",
"requirement": {
"id": 42,
"name": "Beispiel",
"mode": "string",
"weekdays_bitmask": 1,
"start_time": "string",
"end_time": "string",
"min_staff_count": 1,
"buffer_staff_count": 1,
"buffer_mode": "string",
"qualification_match_mode": "string"
},
"date": "2026-10-15T09:30:00+02:00",
"required_count": 1,
"covered_count": 1,
"source": "string",
"notified_at": "2026-10-15T09:30:00+02:00",
"resolved_at": "2026-10-15T09:30:00+02:00",
"acknowledged_at": "2026-10-15T09:30:00+02:00"
}
]