Safety score
Trip safety score for a legacy vehicle over a date range.
Overview
Returns trip safety score payload fromISafetyScoreService for a legacy vehicle id over a date range.
Endpoint
POST /api/GetSafetyScore
Query parameters
start and finish are omitted: 1 = instant range (see
note), 2 = relative to end of local day, 3 = three-day window, 4 = week
window—implementation uses finish - TimeSpan.FromDays(-N) which adds days
to finish.intervalType).intervalType).⚠️ Note: Whenstartandfinishare omitted,finishis derived from “today” in the user’s timezone andintervalTypeselectsstartper the switch inGetSafetyScoreAsync. The arithmetic uses-TimeSpan.FromDays(-k)(double negative), which adds days tofinishfor types 2–4. ForintervalType1,startis set toDateTime.UtcNow. Validate ranges in staging before relying on preset windows.
Response
200 OK — array of trip safety score objects.| Field | Type | Description |
|---|---|---|
startTime | string (datetime) | Trip start time |
endTime | string (datetime) | Trip end time |
riskLevel | string | "Low", "Medium", or "High" |
riskScore | integer (0–100) | Numeric risk score; lower is safer |
duration | integer | Trip duration in seconds |
distance | number | Trip distance in km |
Error responses
| Status | Meaning |
|---|---|
| 404 | Unknown legacy vehicle |
| 401 | Vehicle or user/company not allowed |
| 400 | "Invalid date range specified." or generic “An error occurred while attempting to fetch the safety scores…” |
Authorizations
JWT Bearer token obtained from POST /api/authentication/token/user or POST /api/authentication/token/api-key.
Lifetime: ~24 hours (86,399 seconds). Cache the token and reuse it. Re-authenticate 5 minutes before expiry.
Scoping:
- User tokens are scoped to a single company.
- API key tokens may restrict access to a vehicle allowlist and/or action set (see token claims).
No refresh endpoint — re-authenticate with your credentials when the token expires.
Headers
Bearer your_token
Query Parameters
Legacy vehicle ID.
Preset window (used only when start/finish are omitted). 1 = instant range, 2 = relative to end of local day, 3 = three-day window, 4 = week window. Note: the implementation uses a double-negative offset (finish - TimeSpan.FromDays(-N)) which adds days to finish for types 2–4. Validate in staging before relying on preset windows.
Range start (ISO 8601 UTC). Optional when using intervalType.
Range end (ISO 8601 UTC). Optional when using intervalType.
Response
Successful response with array of trip safety score data
Trip start time (also used as trip ID component)
"2024-01-15T08:00:00Z"
Trip end time
"2024-01-15T08:45:00Z"
Human-readable risk level
"Medium"
Risk score (0–100)
0 <= x <= 10062
Trip duration in seconds
2700
Total distance in kilometers
35.75