Skip to main content

Overview

Add a status update to an existing incident. Updates allow you to communicate progress to status page viewers as you investigate, identify, and resolve issues. Each update is timestamped and appears in the incident timeline.

Authentication

All requests must include authentication via API Key:
  • API Key: X-API-Key: YOUR_API_KEY

Request

curl -X POST https://api.uptimeio.com/api/projects/660e8400-e29b-41d4-a716-446655440001/status-pages/550e8400-e29b-41d4-a716-446655440000/incidents/990e8400-e29b-41d4-a716-446655440050/updates \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "message": "We have identified the root cause - a misconfigured load balancer. We are implementing a fix now.",
    "status": "identified"
  }'

Path Parameters

ParameterTypeDescription
projectIdUUIDThe ID of the project
statusPageIdUUIDThe ID of the status page
idUUIDThe ID of the incident

Request Body

FieldTypeRequiredDescription
messagestringYesUpdate message (1-5000 characters)
statusstringYesCurrent status: investigating, identified, monitoring, resolved

Response

Returns the created update with a 201 status code.
{
  "success": true,
  "data": {
    "update": {
      "id": "aa0e8400-e29b-41d4-a716-446655440100",
      "incident_id": "990e8400-e29b-41d4-a716-446655440050",
      "message": "We have identified the root cause - a misconfigured load balancer. We are implementing a fix now.",
      "status": "identified",
      "created_at": "2024-12-26T12:15:00Z",
      "created_by": "user"
    }
  }
}

Response Fields

FieldTypeDescription
idUUIDUnique update identifier
incident_idUUIDParent incident ID
messagestringUpdate message
statusstringStatus at time of update
created_attimestampCreation timestamp
created_bystringUser ID or “system”

Status Codes

StatusDescription
201Update created successfully
400Validation error (invalid data)
401Unauthorized (missing or invalid token)
403Forbidden (no permission to update incident)
404Incident or status page not found

Examples

Add Investigation Update

curl -X POST https://api.uptimeio.com/api/projects/660e8400-e29b-41d4-a716-446655440001/status-pages/550e8400-e29b-41d4-a716-446655440000/incidents/990e8400-e29b-41d4-a716-446655440050/updates \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "We are actively investigating elevated response times on our API servers. Initial analysis suggests a database connectivity issue.",
    "status": "investigating"
  }'

Add Identified Update

curl -X POST https://api.uptimeio.com/api/projects/660e8400-e29b-41d4-a716-446655440001/status-pages/550e8400-e29b-41d4-a716-446655440000/incidents/990e8400-e29b-41d4-a716-446655440050/updates \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Root cause identified: misconfigured load balancer was routing traffic incorrectly. We are now deploying a fix.",
    "status": "identified"
  }'

Add Monitoring Update

curl -X POST https://api.uptimeio.com/api/projects/660e8400-e29b-41d4-a716-446655440001/status-pages/550e8400-e29b-41d4-a716-446655440000/incidents/990e8400-e29b-41d4-a716-446655440050/updates \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Fix has been deployed to production. We are monitoring system performance and user reports.",
    "status": "monitoring"
  }'

Add Resolution Update

curl -X POST https://api.uptimeio.com/api/projects/660e8400-e29b-41d4-a716-446655440001/status-pages/550e8400-e29b-41d4-a716-446655440000/incidents/990e8400-e29b-41d4-a716-446655440050/updates \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Service fully restored. All API endpoints are responding normally and we are seeing baseline performance metrics.",
    "status": "resolved"
  }'

Error Codes

Validation Error - Missing Message

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Validation failed: message: String must contain at least 1 character(s)"
  }
}

Invalid Status Value

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Validation failed: status: Invalid enum value. Expected 'investigating' | 'identified' | 'monitoring' | 'resolved'"
  }
}

Incident Not Found

{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Incident not found"
  }
}

Forbidden

{
  "success": false,
  "error": {
    "code": "FORBIDDEN",
    "message": "You do not have permission to update this incident"
  }
}