Skip to main content

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 tenantId and 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​

RiskMinutes to breach
breached0 or negative
high< 60 minutes
medium60-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")

Last updated: 2026-08-22 · Page owner: Documentation · Source: src/lib/api/exceptions.ts.