What an SLA policy is
A named, reusable definition of your service-level commitments: uptime percentage targets, response-time targets per incident severity, and the measurement window. Assign a policy to a status page and every monitor/incident on it is measured against the same contract — no per-monitor spreadsheets.
Creating a policy
curl -X POST https://api.shxrk.systems/api/v1/uptime/sla-policies \
-H "Authorization: Bearer sk_shx_..." \
-H "Content-Type: application/json" \
-d '{
"name": "customer-facing-999",
"uptime_target": 99.9,
"response_targets": [
{ "severity": "critical", "response_minutes": 15 },
{ "severity": "major", "response_minutes": 60 },
{ "severity": "minor", "response_minutes": 480 }
]
}'
GET /sla-policies # list
GET/PUT/DELETE /sla-policies/:id
GET /sla-policies/export # backup all policies as JSON/YAML
POST /sla-policies/import # restore or copy across accounts
Assigning and tracking
PUT /status-pages/:id/sla-policy # assign a policy to a page
GET /status-pages/:id/sla-policy # current assignment
GET /status-pages/:id/sla # live summary — uptime %, time-to-acknowledge vs targets
PUT /status-pages/:id/sla-targets # per-page target overrides
GET /status-pages/:id/sla/export # exportable SLA report
The summary compares measured uptime and incident response times against the policy — breaches show up as they happen, not at the end of the quarter.
Typical use
- Customer contracts — attach the contracted SLA to the public status page and share periodic exports
- Internal SLOs — a stricter internal policy on the same monitors, so you see an SLO burn before it becomes a customer-facing SLA breach
- Multi-tenant — different customers get different policies on their own status pages while sharing monitor infrastructure