Skip to main content

Overview

Update specific fields of an incident including severity level, error message, and affected regions. All changes are tracked in the audit trail with user attribution. This endpoint supports partial updates - only fields provided in the request will be modified.

Authentication

Requires API Key authentication:
  • API Key: X-API-Key: YOUR_API_KEY

Path Parameters

id
string
required
Incident ID (UUID). The unique identifier of the incident to update.

Request Body

All fields in the request body are optional, allowing partial updates.
severity
string
New severity level. Valid values: critical, major, minor, warning. If different from current value, a severity change audit log entry will be created.
error_message
string
Updated error description or message. Maximum 1000 characters. Only updated if different from current value.
affected_regions
array
Updated list of affected geographic regions. Replaces the entire list.

Audit Logging

All changes made through this endpoint are logged to the incident audit trail:
  • Severity changes create an entry with action: severity_changed including old and new values
  • Error message updates create entries with action: updated and field metadata
  • Region updates create entries with action: updated and field metadata
  • No change: If a field value hasn’t changed, no audit entry is created for that field

Response Format

success
boolean
Whether the request was successful
data
object

Example Requests

curl -X PUT 'https://api.uptimeio.com/api/incidents/550e8400-e29b-41d4-a716-446655440000' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "severity": "major"
  }'

Example Response

{
  "success": true,
  "data": {
    "incident": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "check_id": "660e8400-e29b-41d4-a716-446655440000",
      "check_name": "Payment Service",
      "check_url": "https://payments.example.com/health",
      "status": "open",
      "severity": "critical",
      "type": "connection_error",
      "title": "Payment Service - Connection Error",
      "error_message": "Payment processing API is completely down across all regions",
      "started_at": 1703001600000,
      "resolved_at": null,
      "affected_regions": ["us-east-1", "us-west-2", "eu-west-1", "ap-southeast-1"],
      "failure_count": 3,
      "notification_sent": true,
      "created_at": 1703001600000,
      "updated_at": 1703001720000
    }
  }
}

Status Codes

StatusDescription
200 OKIncident successfully updated
400 Bad RequestInvalid request parameters
401 UnauthorizedAuthentication failed or invalid credentials
404 Not FoundIncident not found or not accessible in current project
500 Internal Server ErrorServer error during update

Error Codes

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid request parameters",
    "details": {
      "severity": "severity must be one of: critical, major, minor, warning"
    }
  }
}

Notes

  • This endpoint does not change incident status, use the status endpoint for that
  • All changes are automatically attributed to the authenticated user
  • The updated_at timestamp is automatically set to the current time when changes are made
  • Severity changes create specific audit entries for tracking escalations and de-escalations
  • Empty arrays for affected_regions will clear the list of affected regions
  • Error message and affected regions must be provided in full - they replace the existing values rather than appending