Incident object
Unique numeric identifier.
UTC Unix timestamp (seconds) when the incident started. Truncated to the start of the minute.
UTC Unix timestamp (seconds) when the incident ended. null if the incident is still open.
Current incident state. One of INVESTIGATING, IDENTIFIED, MONITORING, RESOLVED.
How the incident was created. API for incidents created via this API, MANUAL for dashboard-created incidents.
Type of incident record. Typically INCIDENT.
Monitors affected by this incident. Tag of the affected monitor.
Impact level. One of DOWN, DEGRADED, UP.
ISO 8601 timestamp of creation.
ISO 8601 timestamp of last update.
List incidents
Filter to incidents that started at or after this UTC Unix timestamp (seconds).
Filter to incidents that started at or before this UTC Unix timestamp (seconds).
Comma-separated list of monitor tags to filter by (e.g., api-gateway,checkout-service). Returns incidents linked to any of the specified monitors.
Response 200
{
"incidents" : [
{
"id" : 1 ,
"title" : "API Gateway Outage" ,
"start_date_time" : 1737000000 ,
"end_date_time" : 1737003600 ,
"state" : "RESOLVED" ,
"incident_source" : "API" ,
"monitors" : [
{ "monitor_tag" : "api-gateway" , "impact" : "DOWN" }
],
"created_at" : "2026-01-15T10:00:00.000Z" ,
"updated_at" : "2026-01-15T11:00:00.000Z"
}
]
}
curl -X GET https://your-kener-instance.com/api/v4/incidents \
-H "Authorization: Bearer kener_..."
Get an incident
GET /api/v4/incidents/{incident_id}
Path parameters
Numeric ID of the incident.
Response 200
{
"incident" : {
"id" : 1 ,
"title" : "API Gateway Outage" ,
"start_date_time" : 1737000000 ,
"end_date_time" : null ,
"state" : "INVESTIGATING" ,
"incident_type" : "INCIDENT" ,
"incident_source" : "API" ,
"monitors" : [
{ "monitor_tag" : "api-gateway" , "impact" : "DOWN" }
],
"created_at" : "2026-01-15T10:00:00.000Z" ,
"updated_at" : "2026-01-15T10:00:00.000Z"
}
}
curl -X GET https://your-kener-instance.com/api/v4/incidents/1 \
-H "Authorization: Bearer kener_..."
Create an incident
New incidents are created with state INVESTIGATING. Add comments to move the incident through its lifecycle.
UTC Unix timestamp in seconds when the incident started.
UTC Unix timestamp in seconds when the incident ended. Omit for open incidents.
Monitors to associate with the incident. Tag of the monitor to link.
Impact on this monitor. One of DOWN, DEGRADED, UP. Defaults to DOWN.
Response 201
{
"incident" : {
"id" : 2 ,
"title" : "Database Slowdown" ,
"start_date_time" : 1737010000 ,
"end_date_time" : null ,
"state" : "INVESTIGATING" ,
"incident_type" : "INCIDENT" ,
"incident_source" : "API" ,
"monitors" : [
{ "monitor_tag" : "database" , "impact" : "DEGRADED" }
],
"created_at" : "2026-01-15T12:00:00.000Z" ,
"updated_at" : "2026-01-15T12:00:00.000Z"
}
}
curl -X POST https://your-kener-instance.com/api/v4/incidents \
-H "Authorization: Bearer kener_..." \
-H "Content-Type: application/json" \
-d '{
"title": "Database Slowdown",
"start_date_time": 1737010000,
"monitors": [
{ "monitor_tag": "database", "impact": "DEGRADED" }
]
}'
Update an incident
Performs a partial update. Only the fields you provide are changed. Updating monitors replaces the full monitor list — pass an empty array to remove all.
PATCH /api/v4/incidents/{incident_id}
Path parameters
Numeric ID of the incident.
New start timestamp (UTC seconds).
New end timestamp (UTC seconds). Pass null to reopen the incident.
Replacement monitor list. Replaces all existing monitor associations. Impact level. One of DOWN, DEGRADED, UP. Defaults to DOWN.
Response 200
{
"incident" : {
"id" : 2 ,
"title" : "Database Slowdown (resolved)" ,
"start_date_time" : 1737010000 ,
"end_date_time" : 1737013600 ,
"state" : "INVESTIGATING" ,
"incident_type" : "INCIDENT" ,
"incident_source" : "API" ,
"monitors" : [
{ "monitor_tag" : "database" , "impact" : "DEGRADED" }
],
"created_at" : "2026-01-15T12:00:00.000Z" ,
"updated_at" : "2026-01-15T13:00:00.000Z"
}
}
curl -X PATCH https://your-kener-instance.com/api/v4/incidents/2 \
-H "Authorization: Bearer kener_..." \
-H "Content-Type: application/json" \
-d '{
"end_date_time": 1737013600,
"title": "Database Slowdown (resolved)"
}'
Updating monitors to an empty array removes all monitor associations from the incident.
Delete an incident
Permanently deletes an incident and all its comments. Associated monitor alerts have their incident_id cleared.
DELETE /api/v4/incidents/{incident_id}
Path parameters
Numeric ID of the incident to delete.
Response 200
{
"message" : "Incident with id '2' deleted successfully"
}
curl -X DELETE https://your-kener-instance.com/api/v4/incidents/2 \
-H "Authorization: Bearer kener_..."
Comments represent timeline updates posted to an incident. Adding a comment with state RESOLVED also sets end_date_time on the incident.
Unique numeric identifier.
ID of the incident this comment belongs to.
UTC Unix timestamp (seconds) when the update occurred. Truncated to minute start.
Incident state at the time of this comment. One of INVESTIGATING, IDENTIFIED, MONITORING, RESOLVED.
ISO 8601 creation timestamp.
ISO 8601 last-updated timestamp.
GET /api/v4/incidents/{incident_id}/comments
Path parameters
Numeric ID of the incident.
Response 200
{
"comments" : [
{
"id" : 1 ,
"incident_id" : 1 ,
"comment" : "We are investigating increased error rates." ,
"timestamp" : 1737000000 ,
"state" : "INVESTIGATING" ,
"created_at" : "2026-01-15T10:00:00.000Z" ,
"updated_at" : "2026-01-15T10:00:00.000Z"
}
]
}
curl -X GET https://your-kener-instance.com/api/v4/incidents/1/comments \
-H "Authorization: Bearer kener_..."
GET /api/v4/incidents/{incident_id}/comments/{comment_id}
Path parameters
Numeric ID of the incident.
Numeric ID of the comment.
Response 200
{
"comment" : {
"id" : 1 ,
"incident_id" : 1 ,
"comment" : "We are investigating increased error rates." ,
"timestamp" : 1737000000 ,
"state" : "INVESTIGATING" ,
"created_at" : "2026-01-15T10:00:00.000Z" ,
"updated_at" : "2026-01-15T10:00:00.000Z"
}
}
curl -X GET https://your-kener-instance.com/api/v4/incidents/1/comments/1 \
-H "Authorization: Bearer kener_..."
Adding a comment with state: "RESOLVED" automatically sets end_date_time on the parent incident to the comment’s timestamp.
POST /api/v4/incidents/{incident_id}/comments
Path parameters
Numeric ID of the incident.
New incident state after this update. One of INVESTIGATING, IDENTIFIED, MONITORING, RESOLVED.
UTC Unix timestamp in seconds. Defaults to the current time if omitted.
Response 201
{
"comment" : {
"id" : 2 ,
"incident_id" : 1 ,
"comment" : "Root cause identified — rolling back deployment." ,
"timestamp" : 1737001800 ,
"state" : "IDENTIFIED" ,
"created_at" : "2026-01-15T10:30:00.000Z" ,
"updated_at" : "2026-01-15T10:30:00.000Z"
}
}
curl -X POST https://your-kener-instance.com/api/v4/incidents/1/comments \
-H "Authorization: Bearer kener_..." \
-H "Content-Type: application/json" \
-d '{
"comment": "Root cause identified — rolling back deployment.",
"state": "IDENTIFIED",
"timestamp": 1737001800
}'
Performs a partial update on a comment. Does not change the incident’s current state.
PATCH /api/v4/incidents/{incident_id}/comments/{comment_id}
Path parameters
Numeric ID of the incident.
Numeric ID of the comment to update.
New state for this comment. One of INVESTIGATING, IDENTIFIED, MONITORING, RESOLVED.
New timestamp (UTC seconds).
Response 200
{
"comment" : {
"id" : 2 ,
"incident_id" : 1 ,
"comment" : "Root cause identified — rollback in progress." ,
"timestamp" : 1737001800 ,
"state" : "IDENTIFIED" ,
"created_at" : "2026-01-15T10:30:00.000Z" ,
"updated_at" : "2026-01-15T10:35:00.000Z"
}
}
curl -X PATCH https://your-kener-instance.com/api/v4/incidents/1/comments/2 \
-H "Authorization: Bearer kener_..." \
-H "Content-Type: application/json" \
-d '{
"comment": "Root cause identified — rollback in progress."
}'
Soft-deletes a comment (marks it as DELETED). Deleted comments no longer appear in list or get responses.
DELETE /api/v4/incidents/{incident_id}/comments/{comment_id}
Path parameters
Numeric ID of the incident.
Numeric ID of the comment to delete.
Response 200
{
"message" : "Comment with id '2' deleted successfully"
}
curl -X DELETE https://your-kener-instance.com/api/v4/incidents/1/comments/2 \
-H "Authorization: Bearer kener_..."