Page object
Unique numeric identifier.
URL path for the status page. Lowercase, URL-safe (letters, numbers, hyphens, underscores). Spaces are converted to hyphens; other special characters are removed.
Title shown in the browser tab and page header.
Primary heading displayed at the top of the status page.
Optional secondary heading beneath the main header.
Optional logo URL displayed on the page.
Controls what the page displays for incidents and maintenances. Incident display settings. Show the incidents section. Default: true.
Show ongoing incidents. Default: true.
Show resolved incidents. Default: true.
Maximum number of resolved incidents to show. Default: 5.
How many days back to look for resolved incidents. Default: 7.
Maintenance display settings. Show the maintenances section. Default: true.
Show ongoing and upcoming maintenances. Default: true.
Show past maintenances. Default: true.
Maximum number of past maintenances to show. Default: 5.
How many days back to look. Default: 7.
Show upcoming maintenances. Default: true.
Maximum number of upcoming maintenances to show. Default: 5.
How many days ahead to look. Default: 30.
Ordered list of monitors displayed on the page. Tag of the monitor shown on this page.
Display order (0-indexed).
ISO 8601 creation timestamp.
ISO 8601 last-updated timestamp.
List pages
Response 200
{
"pages" : [
{
"id" : 1 ,
"page_path" : "status" ,
"page_title" : "System Status" ,
"page_header" : "All Systems Operational" ,
"page_subheader" : null ,
"page_logo" : null ,
"page_settings" : {
"incidents" : {
"enabled" : true ,
"ongoing" : { "show" : true },
"resolved" : { "show" : true , "max_count" : 5 , "days_in_past" : 7 }
},
"include_maintenances" : {
"enabled" : true ,
"ongoing" : {
"show" : true ,
"past" : { "show" : true , "max_count" : 5 , "days_in_past" : 7 },
"upcoming" : { "show" : true , "max_count" : 5 , "days_in_future" : 30 }
}
}
},
"monitors" : [
{ "monitor_tag" : "api-gateway" , "position" : 0 },
{ "monitor_tag" : "database" , "position" : 1 }
],
"created_at" : "2026-01-01T00:00:00.000Z" ,
"updated_at" : "2026-01-01T00:00:00.000Z"
}
]
}
curl -X GET https://your-kener-instance.com/api/v4/pages \
-H "Authorization: Bearer kener_..."
Get a page
GET /api/v4/pages/{page_path}
Path parameters
The URL path of the page (e.g., status).
Response 200
{
"page" : {
"id" : 1 ,
"page_path" : "status" ,
"page_title" : "System Status" ,
"page_header" : "All Systems Operational" ,
"page_subheader" : null ,
"page_logo" : null ,
"page_settings" : {
"incidents" : {
"enabled" : true ,
"ongoing" : { "show" : true },
"resolved" : { "show" : true , "max_count" : 5 , "days_in_past" : 7 }
},
"include_maintenances" : {
"enabled" : true ,
"ongoing" : {
"show" : true ,
"past" : { "show" : true , "max_count" : 5 , "days_in_past" : 7 },
"upcoming" : { "show" : true , "max_count" : 5 , "days_in_future" : 30 }
}
}
},
"monitors" : [
{ "monitor_tag" : "api-gateway" , "position" : 0 }
],
"created_at" : "2026-01-01T00:00:00.000Z" ,
"updated_at" : "2026-01-01T00:00:00.000Z"
}
}
curl -X GET https://your-kener-instance.com/api/v4/pages/status \
-H "Authorization: Bearer kener_..."
Create a page
URL path for the page. Sanitized automatically: converted to lowercase, spaces replaced with hyphens, invalid characters removed.
Optional secondary heading.
Partial settings object. Any missing fields use their defaults.
Ordered array of monitor tags to display on this page. Each tag must belong to an existing monitor.
Response 201
{
"page" : {
"id" : 2 ,
"page_path" : "infrastructure" ,
"page_title" : "Infrastructure Status" ,
"page_header" : "Infrastructure" ,
"page_subheader" : "Core platform services" ,
"page_logo" : null ,
"page_settings" : {
"incidents" : {
"enabled" : true ,
"ongoing" : { "show" : true },
"resolved" : { "show" : true , "max_count" : 5 , "days_in_past" : 7 }
},
"include_maintenances" : {
"enabled" : false ,
"ongoing" : {
"show" : false ,
"past" : { "show" : false , "max_count" : 5 , "days_in_past" : 7 },
"upcoming" : { "show" : false , "max_count" : 5 , "days_in_future" : 30 }
}
}
},
"monitors" : [
{ "monitor_tag" : "api-gateway" , "position" : 0 },
{ "monitor_tag" : "database" , "position" : 1 }
],
"created_at" : "2026-01-15T00:00:00.000Z" ,
"updated_at" : "2026-01-15T00:00:00.000Z"
}
}
curl -X POST https://your-kener-instance.com/api/v4/pages \
-H "Authorization: Bearer kener_..." \
-H "Content-Type: application/json" \
-d '{
"page_path": "infrastructure",
"page_title": "Infrastructure Status",
"page_header": "Infrastructure",
"page_subheader": "Core platform services",
"monitors": ["api-gateway", "database"],
"page_settings": {
"include_maintenances": { "enabled": false }
}
}'
Monitor order in the monitors array determines display order. The first element appears at position: 0.
Update a page
Performs a partial update. Only the fields you provide are changed. Updating monitors replaces the full monitor list.
PATCH /api/v4/pages/{page_path}
Path parameters
The current URL path of the page.
New URL path. Sanitized the same way as on creation. Must not conflict with an existing page.
Partial settings to merge into the existing settings.
Replacement ordered monitor tag list. Replaces all current monitor associations.
Response 200
{
"page" : {
"id" : 1 ,
"page_path" : "status" ,
"page_title" : "System Status — Updated" ,
"page_header" : "All Systems Operational" ,
"page_subheader" : "Last checked: just now" ,
"page_logo" : null ,
"page_settings" : {
"incidents" : {
"enabled" : true ,
"ongoing" : { "show" : true },
"resolved" : { "show" : true , "max_count" : 10 , "days_in_past" : 14 }
},
"include_maintenances" : {
"enabled" : true ,
"ongoing" : {
"show" : true ,
"past" : { "show" : true , "max_count" : 5 , "days_in_past" : 7 },
"upcoming" : { "show" : true , "max_count" : 5 , "days_in_future" : 30 }
}
}
},
"monitors" : [
{ "monitor_tag" : "api-gateway" , "position" : 0 }
],
"created_at" : "2026-01-01T00:00:00.000Z" ,
"updated_at" : "2026-01-15T16:00:00.000Z"
}
}
curl -X PATCH https://your-kener-instance.com/api/v4/pages/status \
-H "Authorization: Bearer kener_..." \
-H "Content-Type: application/json" \
-d '{
"page_title": "System Status — Updated",
"page_subheader": "Last checked: just now",
"page_settings": {
"incidents": {
"resolved": { "max_count": 10, "days_in_past": 14 }
}
}
}'
Delete a page
Permanently deletes the page and removes all its monitor associations. The monitors themselves are not deleted.
DELETE /api/v4/pages/{page_path}
Path parameters
The URL path of the page to delete.
Response 200
{
"message" : "Page 'status' deleted successfully"
}
curl -X DELETE https://your-kener-instance.com/api/v4/pages/infrastructure \
-H "Authorization: Bearer kener_..."