SLA / Timing Report
GET/external/v1/reports/slaReturns objective average durations between lifecycle stages of your opportunities, overall and per seller. Use it to measure response time, qualification speed and sales cycle.
No fixed "SLA adherence"
GetRaze does not store an SLA target, so this report does not return an "adherence %". It gives you the raw average durations — apply your own SLA threshold to these numbers downstream.
Definitions
Each average is computed only over opportunities where both endpoints exist:
- First outreach =
sent_at − created_at(hours) - Acceptance =
accepted_at − sent_at(hours) - Qualification =
qualified_at − qualifying_started_at(hours) - Sales cycle =
won_at − created_at(days)
Authentication
Requires reports:read permission.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
pipeline_id | string | - | Restrict to a pipeline |
sector_id | string | - | Restrict to a sector/team |
owner_user_id | string | - | Restrict to a seller |
from | string (ISO 8601) | - | Only opportunities created on/after this date |
to | string (ISO 8601) | - | Only opportunities created on/before this date |
Request
bash
curl --request GET \
--url "https://app.getraze.com/external/v1/reports/sla?from=2026-01-01" \
--header "X-API-Key: YOUR_API_KEY"javascript
const axios = require('axios');
const response = await axios.get('https://app.getraze.com/external/v1/reports/sla', {
headers: { 'X-API-Key': 'YOUR_API_KEY' },
params: { from: '2026-01-01' }
});
console.log(response.data);python
import requests
response = requests.get(
'https://app.getraze.com/external/v1/reports/sla',
headers={'X-API-Key': 'YOUR_API_KEY'},
params={'from': '2026-01-01'}
)
print(response.json())Response
json
{
"success": true,
"data": {
"overall": {
"avg_hours_to_first_outreach": 4.2,
"avg_hours_to_acceptance": 36.5,
"avg_hours_to_qualification": 12.0,
"avg_sales_cycle_days": 21.3,
"counts": {
"with_outreach": 120,
"accepted": 80,
"qualified": 40,
"won": 18
}
},
"by_seller": [
{
"owner_user_id": "usr_123",
"owner_user_name": "Maria Silva",
"owner_user_email": "maria@acme.com",
"avg_hours_to_first_outreach": 3.1,
"avg_hours_to_acceptance": 30.0,
"avg_hours_to_qualification": 9.5,
"avg_sales_cycle_days": 18.0,
"won_count": 12
}
],
"filters": {
"pipeline_id": null,
"sector_id": null,
"owner_user_id": null,
"from": "2026-01-01",
"to": null
}
}
}Response Fields
| Field | Type | Description |
|---|---|---|
overall.avg_hours_to_first_outreach | number | Avg hours from creation to first outreach (nullable) |
overall.avg_hours_to_acceptance | number | Avg hours from outreach to acceptance (nullable) |
overall.avg_hours_to_qualification | number | Avg hours from qualification start to qualified (nullable) |
overall.avg_sales_cycle_days | number | Avg days from creation to won (nullable) |
overall.counts | object | How many opportunities reached each milestone |
by_seller[] | array | The same durations broken down per seller, with won_count |
filters | object | The filters applied to this response |
A null average means no opportunity in the filtered set had both timestamps for that step.