Skip to content

Who carried the on-call load: per person, shifts, on-call time, the part covered by overrides, the part outside business hours (09:00 to 18:00 Monday to Friday in each schedule's zone) and the pages they got; per schedule, covered time and gaps. Defaults to the last 30 days.

GET
/reports/on_call
curl --request GET \
--url https://api.siteqwality.com/reports/on_call \
--header 'Authorization: Bearer <token>'
since
string

RFC 3339 start; defaults to 30 days before until

until
string

RFC 3339 end; defaults to now, at most 90 days after since

schedule_id
string format: uuid

Only this schedule

user_id
string format: uuid

Only this user

The report

Media type application/json

Who carried the on-call load over a range, and where the schedules had gaps.

object
since
required
string format: date-time
until
required
string format: date-time
users
required
Array<object>

One person’s on-call load over the report range.

object
user_id
required
string format: uuid
name
string | null
shifts
required
integer format: int32
on_call_seconds
required
integer format: int64
override_seconds
required

Part of on_call_seconds covered by overrides.

integer format: int64
off_hours_seconds
required

Part of on_call_seconds outside 09:00 to 18:00, Monday to Friday, in the schedule’s zone.

integer format: int64
pages
required

Responder pages accepted for them, and the incidents those pages were for.

integer format: int64
paged_incidents
required
integer format: int64
schedules
required
Array<object>
object
schedule_id
required
string format: uuid
name
required
string
timezone
required
string
covered_seconds
required
integer format: int64
gap_seconds
required

Time nobody was on call.

integer format: int64
Example generated
{
"since": "2026-04-15T12:00:00Z",
"until": "2026-04-15T12:00:00Z",
"users": [
{
"user_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"name": "example",
"shifts": 1,
"on_call_seconds": 1,
"override_seconds": 1,
"off_hours_seconds": 1,
"pages": 1,
"paged_incidents": 1
}
],
"schedules": [
{
"schedule_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"name": "example",
"timezone": "example",
"covered_seconds": 1,
"gap_seconds": 1
}
]
}

Bad UUID or timestamp, until before since, or a range over 90 days

Missing or invalid authentication

User or schedule not found

Internal server error