Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.scrubbe.com/llms.txt

Use this file to discover all available pages before exploring further.

On-call scheduling in Scrubbe lets you define which team member is responsible for responding to incidents during any given time window. When an incident is created and routed to the on-call contact — either by assigning assignedToEmail or through automatic escalation — Scrubbe knows who to notify via your configured channels (Slack, SMS, WhatsApp, or email). Maintaining accurate on-call assignments is the foundation of reliable incident response.

Assigning a team member to an on-call shift

Use POST /api/v1/assign-member to create an on-call assignment for a user on a specific date:
POST /api/v1/assign-member
{
  "userId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "date": "2026-03-15",
  "startTime": "09:00",
  "endTime": "17:00"
}
FieldDescription
userIdUUID of the team member being assigned
dateDate of the shift in YYYY-MM-DD format
startTimeStart of the shift in HH:MM 24-hour format
endTimeEnd of the shift in HH:MM 24-hour format
You can create multiple assignments on the same date to model overlapping coverage or handoffs between engineers.
You can look up user IDs from the members list at GET /api/v1/business/get_members.

Viewing assignments

Retrieve all on-call assignments for your organization:
GET /api/v1/get-all-assign
Retrieve a specific assignment by its ID:
GET /api/v1/get-assign/:id
These endpoints return the full assignment record including the user details, date, and time window.

Silent hours

Silent hours define notification quiet periods — windows during which Scrubbe suppresses non-critical alerts to prevent unnecessary interruptions. You configure silent hours per team, day of the week, and timezone.

Publishing silent hour rules

POST /api/v1/silent-hours replaces all existing quiet hour rules for your organization with the set you provide:
POST /api/v1/silent-hours
{
  "rules": [
    {
      "name": "Frontend Platform",
      "startTime": "21:00",
      "endTime": "08:00",
      "timezone": "America/New_York",
      "daysOfWeek": [1, 2, 3, 4, 5],
      "teamScope": "frontend-team",
      "isActive": true
    }
  ]
}
FieldDescription
nameLabel for the rule (e.g. team name or shift type)
startTimeStart of the quiet period in HH:MM 24-hour format
endTimeEnd of the quiet period in HH:MM 24-hour format
timezoneIANA timezone name (e.g. America/New_York, Europe/London)
daysOfWeekArray of day numbers — 1 = Monday through 7 = Sunday
teamScopeOptional team identifier this rule applies to
isActiveSet to false to disable a rule without deleting it
POST /api/v1/silent-hours replaces your entire set of quiet hour rules. If you want to preserve existing rules, retrieve them first with GET /api/v1/silent-hours and include them in the replacement payload.

Updating and deleting individual rules

To update a single rule without replacing your full set:
PUT /api/v1/silent-hours/:id
To delete a rule:
DELETE /api/v1/silent-hours/:id

How on-call connects to incident routing

When Scrubbe creates or escalates an incident, it routes notifications to the team member whose on-call assignment covers the current date and time. If autoEscalate is enabled in your IMS configuration, Scrubbe escalates unacknowledged incidents to the escalationContact defined in the matching SLA policy — which is typically your on-call lead or manager. To keep routing accurate:
  • Ensure every day has at least one active on-call assignment.
  • Set your IMS timezone (PUT /api/v1/ims/config) to match the timezone your team operates in.
  • Define silent hours so that low-priority notifications don’t wake engineers during off-hours.