Skip to content
Developer

StaffingCoverageAlarm

Staff4 EndpointsTimeTracking / StaffingCoverageAlarm

Get a single StaffingCoverageAlarm

GET/api/time/staffing_coverage_alarm/{id}

Path parameters

idrequiredstring

Responses

200Returns a single StaffingCoverageAlarmStaffingCoverageAlarm

Show fields (14)
  • statusstring
  • idinteger

    Primary key of the staffing coverage alarm. Internal ID.

  • requirementStaffingRequirement4

    Staffing requirement that is not covered.

    Show fields (21)
    • idinteger

      Primary key of the staffing requirement. Internal ID.

    • employment_contract_groupEmploymentContractGroup

      Contract group the requirement applies to.

    • employment_organizationEmploymentOrganization6

      Organization the requirement applies to.

    • organization_unitOrganizationUnit6

      R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    • modestring

      Mode of the requirement, for example minimum staff or exact staff.

    • weekdays_bitmaskinteger

      ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

    • start_timestring

      Start time of the requirement in HH:MM.

    • end_timestring

      End time of the requirement in HH:MM.

    • min_staff_countinteger

      Minimum number of staff needed.

    • buffer_staff_countinteger

      L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

    • buffer_modestring

      L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

    • required_qualificationEmploymentQualification8

      Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    • qualification_match_modestring

      L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

    • valid_fromstring (date-time)

      Rule only applies from this date on (null = always).

    • valid_untilstring (date-time)

      Date until which the requirement is valid.

    • applies_on_holidaysboolean

      Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • datestring (date-time)

    Date of the alarm.

  • required_countinteger

    Number of staff required.

  • covered_countinteger

    Number of staff available.

  • sourcestring

    WORKER (daily scan) or APPROVAL (an approval dropped the day below the minimum).

  • requestNonWorkTimeRequest4

    The request whose approval raised the alarm, when it was one (L54).

    Show fields (35)
    • overdueboolean

      U04: still waiting after the processing deadline.

    • approval_versioninteger

      Version of the approval process.

    • change_modestring

      Mode of a change to the request.

    • balance_override_reasonstring

      L11: why a planner approved this request although the projected vacation balance was negative.

    • coverage_override_reasonstring

      L54: why the approver accepted a day below the minimum staffing.

    • coverage_hintboolean

      L53: handed in although it eats into the staffing buffer - the approvers see the hint.

    • sick_during_vacationboolean

      U13: a sick report inside approved vacation - set by the server, shown as "während Urlaub".

    • consultation_notestring

      Who was consulted before requesting days a blocking period marks as consultation-only (U14).

    • daily_absence_start_timestring

      Local daily absence window for half-day types; null preserves legacy planning.

    • daily_absence_end_timestring

      End time of daily absence.

    • idinteger

      Primary key of the request. Internal ID.

    • userUser14

      User the request belongs to.

    • descriptionstring

      Description of the request.

    • startstring (date-time)

      Start of the requested period.

    • start_datestring

      Start date of the requested period.

    • start_monthinteger

      Start month of the requested period.

    • start_yearinteger

      Start year of the requested period.

    • endstring (date-time)

      End of the requested period.

    • end_datestring

      End date of the requested period.

    • end_monthinteger

      End month of the requested period.

    • end_yearinteger

      End year of the requested period.

    • durationnumber (float)

      duration in days linked to NonWorkTimePlan - a half day type counts 0.5 (Z6)

    • statusstring

      Status of the request.

    • content_typestring

      Type of the request, e.g. vacation or absence.

    • secondary_content_typestring

      Secondary type of the request.

    • linked_content_typeNonWorkTimePlanSelectionType3

      Plan selection type linked to the request.

    • parent_requestNonWorkTimeRequest4

      The request this one changes ("Änderungsantrag zum Jahresurlaub"). A change request is an ordinary request in every other respect; the reference is what turns a second, unrelated looking request into a visible correction of the first - and what lets the days it withdraws be marked as withdrawn instead of merely refused.

    • annual_requestNonWorkTimeAnnualRequest7

      L47/L48: the annual plan ("Jahresurlaubsantrag") this period belongs to. The bundle is decided as a whole; the period stays an ordinary request in every other respect.

    • request_kindstring

      U02/U18: ANNUAL = period of the annual plan, SUPPLEMENT = Ergänzungsantrag for the held back flexible days. null = ordinary request.

    • processing_due_datestring (date-time)

      U04/U20: the day by which the request has to be decided, counted from its receipt.

    • escalated_atstring (date-time)

      U04: when the overdue escalation was sent; null = not (yet) escalated.

    • written_approval_reasonstring

      U21: why the management step with a written comment was added to this request (e.g. SUMMER_CANCELLATION); null = no extra written approval needed.

    • search_stringstring

      Text that the entity can be searched by.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • notified_atstring (date-time)

    Time the alarm was sent.

  • resolved_atstring (date-time)

    Time the alarm was resolved.

  • acknowledged_atstring (date-time)

    Time the alarm was acknowledged.

  • acknowledged_by_userUser14

    Login user who acknowledged the alarm.

    Show fields (10)
    • idinteger

      Primary key of the user. Internal ID of the login user.

    • namestring

      Display name of the user. Shown in the UI and in audit entries.

    • usernamestring

      Login name of the user. Must be unique across all users.

    • emailstring

      E-mail address of the user. Used for login notifications, password resets and as a login alias.

    • positioningeneralstring

      Free text describing the position or role of the user.

    • crm_personCRMPerson10

      CRM person linked to this login user. Connects the login account with the person record.

    • profile_picture_urlstring

      URL of the profile picture of the user.

    • archivedboolean

      Marks the user as archived. Archived users are kept for history and are not active.

    • require2faboolean

      Two-factor authentication is required for this user.

    • search_stringstring

      Text that the entity can be searched by.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/time/staffing_coverage_alarm/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "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"
}

Acknowledge an alarm (the office has seen it and is dealing with it)

PUT/api/time/staffing_coverage_alarm/{id}

Path parameters

idrequiredstring

Request body application/json

  • dataStaffingCoverageAlarm2

Responses

200Acknowledge a StaffingCoverageAlarmStaffingCoverageAlarm

Show fields (14)
  • statusstring
  • idinteger

    Primary key of the staffing coverage alarm. Internal ID.

  • requirementStaffingRequirement4

    Staffing requirement that is not covered.

    Show fields (21)
    • idinteger

      Primary key of the staffing requirement. Internal ID.

    • employment_contract_groupEmploymentContractGroup

      Contract group the requirement applies to.

    • employment_organizationEmploymentOrganization6

      Organization the requirement applies to.

    • organization_unitOrganizationUnit6

      R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    • modestring

      Mode of the requirement, for example minimum staff or exact staff.

    • weekdays_bitmaskinteger

      ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

    • start_timestring

      Start time of the requirement in HH:MM.

    • end_timestring

      End time of the requirement in HH:MM.

    • min_staff_countinteger

      Minimum number of staff needed.

    • buffer_staff_countinteger

      L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

    • buffer_modestring

      L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

    • required_qualificationEmploymentQualification8

      Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    • qualification_match_modestring

      L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

    • valid_fromstring (date-time)

      Rule only applies from this date on (null = always).

    • valid_untilstring (date-time)

      Date until which the requirement is valid.

    • applies_on_holidaysboolean

      Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • datestring (date-time)

    Date of the alarm.

  • required_countinteger

    Number of staff required.

  • covered_countinteger

    Number of staff available.

  • sourcestring

    WORKER (daily scan) or APPROVAL (an approval dropped the day below the minimum).

  • requestNonWorkTimeRequest4

    The request whose approval raised the alarm, when it was one (L54).

    Show fields (35)
    • overdueboolean

      U04: still waiting after the processing deadline.

    • approval_versioninteger

      Version of the approval process.

    • change_modestring

      Mode of a change to the request.

    • balance_override_reasonstring

      L11: why a planner approved this request although the projected vacation balance was negative.

    • coverage_override_reasonstring

      L54: why the approver accepted a day below the minimum staffing.

    • coverage_hintboolean

      L53: handed in although it eats into the staffing buffer - the approvers see the hint.

    • sick_during_vacationboolean

      U13: a sick report inside approved vacation - set by the server, shown as "während Urlaub".

    • consultation_notestring

      Who was consulted before requesting days a blocking period marks as consultation-only (U14).

    • daily_absence_start_timestring

      Local daily absence window for half-day types; null preserves legacy planning.

    • daily_absence_end_timestring

      End time of daily absence.

    • idinteger

      Primary key of the request. Internal ID.

    • userUser14

      User the request belongs to.

    • descriptionstring

      Description of the request.

    • startstring (date-time)

      Start of the requested period.

    • start_datestring

      Start date of the requested period.

    • start_monthinteger

      Start month of the requested period.

    • start_yearinteger

      Start year of the requested period.

    • endstring (date-time)

      End of the requested period.

    • end_datestring

      End date of the requested period.

    • end_monthinteger

      End month of the requested period.

    • end_yearinteger

      End year of the requested period.

    • durationnumber (float)

      duration in days linked to NonWorkTimePlan - a half day type counts 0.5 (Z6)

    • statusstring

      Status of the request.

    • content_typestring

      Type of the request, e.g. vacation or absence.

    • secondary_content_typestring

      Secondary type of the request.

    • linked_content_typeNonWorkTimePlanSelectionType3

      Plan selection type linked to the request.

    • parent_requestNonWorkTimeRequest4

      The request this one changes ("Änderungsantrag zum Jahresurlaub"). A change request is an ordinary request in every other respect; the reference is what turns a second, unrelated looking request into a visible correction of the first - and what lets the days it withdraws be marked as withdrawn instead of merely refused.

    • annual_requestNonWorkTimeAnnualRequest7

      L47/L48: the annual plan ("Jahresurlaubsantrag") this period belongs to. The bundle is decided as a whole; the period stays an ordinary request in every other respect.

    • request_kindstring

      U02/U18: ANNUAL = period of the annual plan, SUPPLEMENT = Ergänzungsantrag for the held back flexible days. null = ordinary request.

    • processing_due_datestring (date-time)

      U04/U20: the day by which the request has to be decided, counted from its receipt.

    • escalated_atstring (date-time)

      U04: when the overdue escalation was sent; null = not (yet) escalated.

    • written_approval_reasonstring

      U21: why the management step with a written comment was added to this request (e.g. SUMMER_CANCELLATION); null = no extra written approval needed.

    • search_stringstring

      Text that the entity can be searched by.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • notified_atstring (date-time)

    Time the alarm was sent.

  • resolved_atstring (date-time)

    Time the alarm was resolved.

  • acknowledged_atstring (date-time)

    Time the alarm was acknowledged.

  • acknowledged_by_userUser14

    Login user who acknowledged the alarm.

    Show fields (10)
    • idinteger

      Primary key of the user. Internal ID of the login user.

    • namestring

      Display name of the user. Shown in the UI and in audit entries.

    • usernamestring

      Login name of the user. Must be unique across all users.

    • emailstring

      E-mail address of the user. Used for login notifications, password resets and as a login alias.

    • positioningeneralstring

      Free text describing the position or role of the user.

    • crm_personCRMPerson10

      CRM person linked to this login user. Connects the login account with the person record.

    • profile_picture_urlstring

      URL of the profile picture of the user.

    • archivedboolean

      Marks the user as archived. Archived users are kept for history and are not active.

    • require2faboolean

      Two-factor authentication is required for this user.

    • search_stringstring

      Text that the entity can be searched by.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/time/staffing_coverage_alarm/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '{}'
Response 200 application/json
{
  "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"
}

Acknowledge an alarm (the office has seen it and is dealing with it)

PATCH/api/time/staffing_coverage_alarm/{id}

Path parameters

idrequiredstring

Request body application/json

  • dataStaffingCoverageAlarm2

Responses

200Acknowledge a StaffingCoverageAlarmStaffingCoverageAlarm

Show fields (14)
  • statusstring
  • idinteger

    Primary key of the staffing coverage alarm. Internal ID.

  • requirementStaffingRequirement4

    Staffing requirement that is not covered.

    Show fields (21)
    • idinteger

      Primary key of the staffing requirement. Internal ID.

    • employment_contract_groupEmploymentContractGroup

      Contract group the requirement applies to.

    • employment_organizationEmploymentOrganization6

      Organization the requirement applies to.

    • organization_unitOrganizationUnit6

      R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    • modestring

      Mode of the requirement, for example minimum staff or exact staff.

    • weekdays_bitmaskinteger

      ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

    • start_timestring

      Start time of the requirement in HH:MM.

    • end_timestring

      End time of the requirement in HH:MM.

    • min_staff_countinteger

      Minimum number of staff needed.

    • buffer_staff_countinteger

      L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

    • buffer_modestring

      L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

    • required_qualificationEmploymentQualification8

      Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    • qualification_match_modestring

      L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

    • valid_fromstring (date-time)

      Rule only applies from this date on (null = always).

    • valid_untilstring (date-time)

      Date until which the requirement is valid.

    • applies_on_holidaysboolean

      Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • datestring (date-time)

    Date of the alarm.

  • required_countinteger

    Number of staff required.

  • covered_countinteger

    Number of staff available.

  • sourcestring

    WORKER (daily scan) or APPROVAL (an approval dropped the day below the minimum).

  • requestNonWorkTimeRequest4

    The request whose approval raised the alarm, when it was one (L54).

    Show fields (35)
    • overdueboolean

      U04: still waiting after the processing deadline.

    • approval_versioninteger

      Version of the approval process.

    • change_modestring

      Mode of a change to the request.

    • balance_override_reasonstring

      L11: why a planner approved this request although the projected vacation balance was negative.

    • coverage_override_reasonstring

      L54: why the approver accepted a day below the minimum staffing.

    • coverage_hintboolean

      L53: handed in although it eats into the staffing buffer - the approvers see the hint.

    • sick_during_vacationboolean

      U13: a sick report inside approved vacation - set by the server, shown as "während Urlaub".

    • consultation_notestring

      Who was consulted before requesting days a blocking period marks as consultation-only (U14).

    • daily_absence_start_timestring

      Local daily absence window for half-day types; null preserves legacy planning.

    • daily_absence_end_timestring

      End time of daily absence.

    • idinteger

      Primary key of the request. Internal ID.

    • userUser14

      User the request belongs to.

    • descriptionstring

      Description of the request.

    • startstring (date-time)

      Start of the requested period.

    • start_datestring

      Start date of the requested period.

    • start_monthinteger

      Start month of the requested period.

    • start_yearinteger

      Start year of the requested period.

    • endstring (date-time)

      End of the requested period.

    • end_datestring

      End date of the requested period.

    • end_monthinteger

      End month of the requested period.

    • end_yearinteger

      End year of the requested period.

    • durationnumber (float)

      duration in days linked to NonWorkTimePlan - a half day type counts 0.5 (Z6)

    • statusstring

      Status of the request.

    • content_typestring

      Type of the request, e.g. vacation or absence.

    • secondary_content_typestring

      Secondary type of the request.

    • linked_content_typeNonWorkTimePlanSelectionType3

      Plan selection type linked to the request.

    • parent_requestNonWorkTimeRequest4

      The request this one changes ("Änderungsantrag zum Jahresurlaub"). A change request is an ordinary request in every other respect; the reference is what turns a second, unrelated looking request into a visible correction of the first - and what lets the days it withdraws be marked as withdrawn instead of merely refused.

    • annual_requestNonWorkTimeAnnualRequest7

      L47/L48: the annual plan ("Jahresurlaubsantrag") this period belongs to. The bundle is decided as a whole; the period stays an ordinary request in every other respect.

    • request_kindstring

      U02/U18: ANNUAL = period of the annual plan, SUPPLEMENT = Ergänzungsantrag for the held back flexible days. null = ordinary request.

    • processing_due_datestring (date-time)

      U04/U20: the day by which the request has to be decided, counted from its receipt.

    • escalated_atstring (date-time)

      U04: when the overdue escalation was sent; null = not (yet) escalated.

    • written_approval_reasonstring

      U21: why the management step with a written comment was added to this request (e.g. SUMMER_CANCELLATION); null = no extra written approval needed.

    • search_stringstring

      Text that the entity can be searched by.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • notified_atstring (date-time)

    Time the alarm was sent.

  • resolved_atstring (date-time)

    Time the alarm was resolved.

  • acknowledged_atstring (date-time)

    Time the alarm was acknowledged.

  • acknowledged_by_userUser14

    Login user who acknowledged the alarm.

    Show fields (10)
    • idinteger

      Primary key of the user. Internal ID of the login user.

    • namestring

      Display name of the user. Shown in the UI and in audit entries.

    • usernamestring

      Login name of the user. Must be unique across all users.

    • emailstring

      E-mail address of the user. Used for login notifications, password resets and as a login alias.

    • positioningeneralstring

      Free text describing the position or role of the user.

    • crm_personCRMPerson10

      CRM person linked to this login user. Connects the login account with the person record.

    • profile_picture_urlstring

      URL of the profile picture of the user.

    • archivedboolean

      Marks the user as archived. Archived users are kept for history and are not active.

    • require2faboolean

      Two-factor authentication is required for this user.

    • search_stringstring

      Text that the entity can be searched by.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/time/staffing_coverage_alarm/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '{}'
Response 200 application/json
{
  "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"
}

List StaffingCoverageAlarm objects (open ones by default: pass resolved_at=null or a status filter)

GET/api/time/staffing_coverage_alarm

Query parameters

idinteger
requirementstring
datestring
sourcestringWORKER (daily scan) or APPROVAL (an approval dropped the day below the minimum).
notifiedAtstring
resolvedAtstring
acknowledgedAtstring
requeststringThe request whose approval raised the alarm, when it was one (L54).
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of StaffingCoverageAlarm objectsarray<StaffingCoverageAlarm3>

Show fields (13)
  • statusstring
  • idinteger

    Primary key of the staffing coverage alarm. Internal ID.

  • requirementStaffingRequirement5

    Staffing requirement that is not covered.

    Show fields (21)
    • idinteger

      Primary key of the staffing requirement. Internal ID.

    • employment_contract_groupEmploymentContractGroup

      Contract group the requirement applies to.

    • employment_organizationEmploymentOrganization7

      Organization the requirement applies to.

    • organization_unitOrganizationUnit

      R7: a rule for a whole area (OrganizationUnit) - every group of every organisation in it or below it. Only without group and organisation, with staffing_organization_unit_enabled.

    • modestring

      Mode of the requirement, for example minimum staff or exact staff.

    • weekdays_bitmaskinteger

      ISO weekday bitmask the rule applies on (Mo=1 ... So=64).

    • start_timestring

      Start time of the requirement in HH:MM.

    • end_timestring

      End time of the requirement in HH:MM.

    • min_staff_countinteger

      Minimum number of staff needed.

    • buffer_staff_countinteger

      L51: people wanted on top of the minimum. Between minimum and minimum + buffer a self service request is either handed in with a hint for the approvers or refused, depending on bufferMode (L53). 0 = no buffer.

    • buffer_modestring

      L53: HINT (default) submits with a hint, BLOCK refuses a self service request that would drop the day below minimum + buffer.

    • required_qualificationEmploymentQualification9

      Optional qualification the counted people have to satisfy (equivalences and ranking are honoured by QualificationMatchHelper).

    • qualification_match_modestring

      L18: EXACT demands the required qualification itself; EQUIVALENT (default, previous behaviour) also accepts linked or same-group qualifications with sufficient ranking.

    • valid_fromstring (date-time)

      Rule only applies from this date on (null = always).

    • valid_untilstring (date-time)

      Date until which the requirement is valid.

    • applies_on_holidaysboolean

      Whether the rule also applies on public holidays of the calendar of its scope (group calendar, organisation calendar, main calendar). Off by default: a closed Kita or office would otherwise be reported understaffed on every holiday; a club or care home with holiday operation switches it on.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • datestring (date-time)

    Date of the alarm.

  • required_countinteger

    Number of staff required.

  • covered_countinteger

    Number of staff available.

  • sourcestring

    WORKER (daily scan) or APPROVAL (an approval dropped the day below the minimum).

  • notified_atstring (date-time)

    Time the alarm was sent.

  • resolved_atstring (date-time)

    Time the alarm was resolved.

  • acknowledged_atstring (date-time)

    Time the alarm was acknowledged.

  • acknowledged_by_userUser14

    Login user who acknowledged the alarm.

    Show fields (10)
    • idinteger

      Primary key of the user. Internal ID of the login user.

    • namestring

      Display name of the user. Shown in the UI and in audit entries.

    • usernamestring

      Login name of the user. Must be unique across all users.

    • emailstring

      E-mail address of the user. Used for login notifications, password resets and as a login alias.

    • positioningeneralstring

      Free text describing the position or role of the user.

    • crm_personCRMPerson10

      CRM person linked to this login user. Connects the login account with the person record.

    • profile_picture_urlstring

      URL of the profile picture of the user.

    • archivedboolean

      Marks the user as archived. Archived users are kept for history and are not active.

    • require2faboolean

      Two-factor authentication is required for this user.

    • search_stringstring

      Text that the entity can be searched by.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/time/staffing_coverage_alarm \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "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"
  }
]