/v1/reports/slaSLA dashboard
Per policy for the range: on the clock, met on time, met late, breached and still open; breaches by member and team; what is at risk and breached right now. Within the caller’s report scope.
Access: API key with reports:read, or a member session. Permission reports.view.
Parameters
rangequery- "today" | "yesterday" | "7d" | "30d" | "90d" | "week" | …
A preset on the company calendar (default 30d; `all` = from the company’s first day with data); from / to win over it.
fromquery- LocalDate
Calendar date YYYY-MM-DD in the company time zone.
toquery- LocalDate
Calendar date YYYY-MM-DD in the company time zone.
scopequery- "team" | "me" | "member"
`team`: everyone your report scope reaches; `me`: your own; `member`: one member of your scope (with `member_id`; outside your scope → 404). Without it: your whole report scope.
member_idquery- Id
The member of `scope=member`.
Response · 200
datarequired- SlaDashboard
metarequired- object
curl -X GET 'https://api.propzolo.com/v1/reports/sla' \
-H 'Authorization: Bearer pz_live_…'{
"data": {
"range": {
"from": "2026-10-06T05:30:00.000Z",
"to": "2026-10-06T05:30:00.000Z",
"from_day": "2026-10-06",
"to_day": "2026-10-06",
"days": 0
},
"truncated": true,
"totals": {
"started": 0,
"met": 0,
"met_late": 0,
"breached_open": 0,
"at_risk_now": 0,
"on_time_pct": 0
},
"policies": [
{
"id": "string",
"key": "string",
"name": "string",
"metric": "first_response",
"metric_label": "string",
"target_label": "string",
"enabled": true,
"started": 0,
"met": 0,
"met_late": 0,
"breached_open": 0,
"at_risk_now": 0,
"on_time_pct": 0
}
],
"by_member": [
{
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string",
"breaches": 0,
"met_late": 0,
"breached_open": 0
}
],
"by_team": [
{
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string",
"breaches": 0,
"met_late": 0,
"breached_open": 0
}
],
"at_risk": [
{
"policy": {
"id": "string",
"name": "string",
"metric": "first_response"
},
"record": {
"type": "string",
"id": "cmusrceel0000q7kaafxqi1om",
"label": "string",
"link": "string"
},
"owner": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"due_at": "2026-10-06T05:30:00.000Z",
"minutes": 0
}
],
"breached": [
{
"policy": {
"id": "string",
"name": "string",
"metric": "first_response"
},
"record": {
"type": "string",
"id": "cmusrceel0000q7kaafxqi1om",
"label": "string",
"link": "string"
},
"owner": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"due_at": "2026-10-06T05:30:00.000Z",
"minutes": 0
}
]
},
"meta": {}
}Errors
401No valid session or API key (missing, expired or revoked).403The caller lacks the permission, API-key scope or support grant this operation needs.422Invalid input; `error.fields` maps field paths to messages.429Too many requests; retry after the Retry-After header.500Unexpected error; quote `error.request_id` to support.

