SLA monitor
This recipe shows how to monitor SLA timers on assigned exceptions and configure proactive breach alerts. The SLA monitor enables your operations team to surface exceptions approaching their resolution deadline before they breach.
Endpoint
GET /v1/exceptions/sla
Returns an array of exceptions sorted by SLA proximity, with breach risk indicators.
Prerequisites
- A valid
tenantIdand bearer JWT. - The user must have at least one of:
tenant_admin,tenant_analyst,tenant_lead.
Request
curl -X GET "https://api.falconveritas.com/v1/exceptions/sla?withinMinutes=240&sortBy=due_at" \
-H "Authorization: Bearer $FVI_JWT" \
-H "X-Tenant-Id: $FVI_TENANT_ID" \
-H "Content-Type: application/json"
Response
{
"items": [
{
"id": "exc-001",
"assigned_to": "user:bob",
"severity": "critical",
"due_at": "2026-08-22T19:00:00Z",
"minutes_to_breach": 47,
"breach_risk": "high",
"status": "in_review"
},
{
"id": "exc-002",
"assigned_to": "user:carol",
"severity": "high",
"due_at": "2026-08-23T15:00:00Z",
"minutes_to_breach": 1335,
"breach_risk": "low",
"status": "in_review"
}
],
"summary": {
"breached_count": 3,
"at_risk_count": 7,
"on_track_count": 25,
"total_open": 35
}
}
Breach risk thresholds
| Risk | Minutes to breach |
|---|---|
breached | 0 or negative |
high | < 60 minutes |
medium | 60-240 minutes |
low | > 240 minutes |
Webhook for SLA breaches
Configure a webhook to receive SLA breach alerts in real time:
curl -X POST https://api.falconveritas.com/v1/webhooks \
-H "Authorization: Bearer $FVI_JWT" \
-H "X-Tenant-Id: $FVI_TENANT_ID" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-app.example.com/fvi-webhook",
"events": ["exception.sla.breached", "exception.sla.at_risk"],
"secret": "your-webhook-secret"
}'
Use cases
- Operations dashboard — show all open exceptions sorted by SLA proximity.
- Alerting — fire Slack or PagerDuty alerts on high-risk exceptions.
- Capacity planning — track open exception volume to inform staffing.
Code samples
TypeScript
import { FVI } from '@falconveritas/sdk';
const fvi = new FVI({
baseUrl: 'https://api.falconveritas.com',
bearer: process.env.FVI_JWT!,
tenantId: process.env.FVI_TENANT_ID!,
});
const sla = await fvi.exceptions.sla({
withinMinutes: 240,
sortBy: 'due_at',
});
console.log(`Breached: ${sla.summary.breached_count}, At risk: ${sla.summary.at_risk_count}`);
for (const exception of sla.items.filter((e) => e.breach_risk === 'high')) {
console.log(`URGENT: ${exception.id} breaches in ${exception.minutes_to_breach} minutes`);
}
Python
from falconveritas import FVI
client = FVI(
bearer=os.environ["FVI_JWT"],
tenant_id=os.environ["FVI_TENANT_ID"],
)
sla = client.exceptions.sla(within_minutes=240, sort_by="due_at")
print(f"Breached: {sla.summary.breached_count}, At risk: {sla.summary.at_risk_count}")
for exception in sla.items:
if exception.breach_risk == "high":
print(f"URGENT: {exception.id} breaches in {exception.minutes_to_breach} minutes")
Related articles
Last updated: 2026-08-22 · Page owner: Documentation · Source: src/lib/api/exceptions.ts.