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
const url = 'https://api.siteqwality.com/reports/on_call';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.siteqwality.com/reports/on_call \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ” 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
Responses
Section titled “ Responses ”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