Overview
The Incidents API provides comprehensive tools for managing, tracking, and resolving incidents detected by UptimeIO monitors or reported manually by your team. Incidents represent outages, degradations, or anomalies in your monitored services.Core Concepts
Incident Status Lifecycle
Incidents follow a strict workflow through their lifecycle:| Status | Meaning |
|---|---|
| open | Initial state when incident is detected or created. Requires attention from team. |
| acknowledged | Team member has seen the incident and is working on it. |
| resolved | Technical issue has been fixed and service is restored. |
| closed | Post-incident work is complete. Terminal state - no further changes allowed. |
Incident Severity
Incidents are classified by severity level:| Level | Usage |
|---|---|
| critical | Complete service outage, all users affected, data loss risk |
| major | Significant degradation, many users affected, feature unavailable |
| minor | Limited impact, few users affected, workaround available |
| warning | Potential issues, no immediate impact, preventive action needed |
Incident Types
Each incident is categorized by the type of failure detected:timeout- Request exceeded timeout thresholdstatus_code- Unexpected HTTP status code returnedkeyword_missing- Expected content not found in responsessl_error- SSL/TLS certificate validation faileddns_error- DNS resolution failedconnection_error- TCP connection refused or lostslow_response- Response time exceeded expected threshold
Incident Sources
Incidents can originate from two sources:| Source | Description |
|---|---|
| system | Automatically detected by UptimeIO monitoring probes |
| manual | Created by team members via API to report external issues |
Authentication
All Incidents API endpoints require authentication via either:- API Key:
X-API-Key: YOUR_API_KEY
Endpoint Overview
List & Retrieve
List Incidents
GET /api/incidents - Retrieve all incidents with filtering and pagination
Get Incident
GET /api/incidents/ - Get complete details for a specific incident
Create & Modify
Create Incident
POST /api/incidents - Create a manual incident or system incident record
Update Incident
PUT /api/incidents/ - Update incident fields (severity, message, regions)
Status Management
Update Status
PUT /api/incidents//status - Change incident status through workflow
Acknowledge
POST /api/incidents//acknowledge - Quick acknowledge shorthand
Details & Timeline
Affected Checks
GET /api/incidents//affected-checks - Get monitors affected by incident
Add Update
POST /api/incidents//updates - Add comment to incident timeline
Get Updates
GET /api/incidents//updates - View incident timeline with all changes
Common Workflows
Quick Incident Response
- List active incidents:
GET /api/incidents?status=open - Acknowledge incident:
POST /api/incidents/{id}/acknowledge - Add investigation update:
POST /api/incidents/{id}/updates - Update status:
PUT /api/incidents/{id}/status
Manual Incident Reporting
When you detect an issue outside of UptimeIO monitoring:Incident Investigation
Get complete incident context:Resolution & Closure
Move incident through completion:Rate Limiting
All API endpoints are subject to rate limiting based on your subscription plan:- Free Plan: 60 requests per minute
- Pro Plan: 600 requests per minute
- Enterprise: Custom limits
X-RateLimit-Limit- Total allowed requestsX-RateLimit-Remaining- Requests remaining in current windowX-RateLimit-Reset- Unix timestamp when limit resets
Error Codes
All endpoints follow consistent error response format:Common Error Codes
| Code | Status | Meaning |
|---|---|---|
VALIDATION_ERROR | 400 | Invalid request parameters |
AUTHENTICATION_ERROR | 401 | Missing or invalid authentication |
FORBIDDEN | 403 | Authenticated but not authorized |
NOT_FOUND | 404 | Resource not found |
CONFLICT | 409 | Invalid state transition |
INTERNAL_ERROR | 500 | Server error |
Response Format
All successful responses follow this format:Pagination
List endpoints support cursor-based pagination:limit- Items per page (1-100, default: 20)offset- Number of items to skip (default: 0)sort_by- Field to sort by (default: created_at)sort_order- Sort direction: asc or desc (default: desc)
Filtering
The list endpoint supports several filters:Integrations
The Incidents API integrates with:- Monitoring Probes: System incidents are created automatically
- Notification System: Incidents trigger alerts and notifications
- Status Pages: Incidents can update public status pages
- Audit Logs: All changes are tracked for compliance
- Webhooks: External systems can create and update incidents