Skip to main content

Overview

The Site API exposes the key-value store that backs your Kener site configuration. Each key corresponds to a specific setting you can also manage through the dashboard.

Site data item object

key
string
The configuration key name.
value
string | object
The current value. Keys with data_type: "string" return a string. Keys with data_type: "object" return a parsed JSON object.
data_type
string
"string" or "object".

Get all site configuration

Returns all stored site configuration keys and their current values.
GET /api/v4/site
Response 200
{
  "site_data": [
    {
      "key": "title",
      "value": "Acme Status",
      "data_type": "string"
    },
    {
      "key": "siteName",
      "value": "Acme Corp",
      "data_type": "string"
    },
    {
      "key": "theme",
      "value": "dark",
      "data_type": "string"
    }
  ]
}
curl -X GET https://your-kener-instance.com/api/v4/site \
  -H "Authorization: Bearer kener_..."

Get a configuration key

Returns the value for a single configuration key.
GET /api/v4/site/{config_key}
Path parameters
config_key
string
required
The name of the configuration key to retrieve. Must be a valid key (see valid keys below).
Response 200
{
  "key": "theme",
  "value": "dark",
  "data_type": "string"
}
Response 404 — key is unknown or has no stored value
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Config key 'unknownKey' is not a valid configuration key"
  }
}
curl -X GET https://your-kener-instance.com/api/v4/site/theme \
  -H "Authorization: Bearer kener_..."

Update a configuration key

Sets a new value for a configuration key. The value is validated against the key’s schema before being stored.
PATCH /api/v4/site/{config_key}
Path parameters
config_key
string
required
The name of the configuration key to update.
value
string | object
required
The new value. Must match the key’s expected type: a plain string for data_type: "string" keys, or a JSON object for data_type: "object" keys.
Response 200
{
  "key": "theme",
  "value": "light",
  "data_type": "string"
}
curl -X PATCH https://your-kener-instance.com/api/v4/site/theme \
  -H "Authorization: Bearer kener_..." \
  -H "Content-Type: application/json" \
  -d '{ "value": "light" }'

Valid configuration keys

Only the following keys are accepted. Requests for other keys return 404.
KeyTypeDescription
titlestringBrowser tab title.
siteNamestringSite display name.
siteURLstringCanonical URL of the site.
homestringHome page path.
faviconstringFavicon URL or path.
logostringLogo URL or path.
footerHTMLstringCustom HTML injected into the footer.
kenerThemestringActive theme name.
customCSSstringAdditional CSS injected globally.
themestringColor scheme: light, dark, system, or none.
themeTogglestringWhether the theme toggle is visible.
tzTogglestringWhether the timezone toggle is visible.
showSiteStatusstringWhether to display the overall site status banner.
barStylestringUptime bar style: PARTIAL or FULL.
barRoundnessstringUptime bar corners: SHARP or ROUNDED.
summaryStylestringStatus summary mode: CURRENT or DAY.
patternstringBackground pattern. One of dots, squares, tiles, none, radial-blue, radial-mono, radial-midnight, circle-mono, carbon-fibre, texture-sky, angular-mono, angular-spring, angular-bloom, pets.
socialPreviewImagestringOG/Twitter card image URL.
metaSiteTitlestringDefault <meta> title.
metaSiteDescriptionstringDefault <meta> description.
homeIncidentCountstringNumber of incidents shown on the home page (integer ≥ 0).
homeIncidentStartTimeWithinstringShow incidents that started within this many days (integer ≥ 1).
incidentGroupViewstringIncident grouping display mode.
homeDataMaxDaysobjectMaximum days of data shown on the home page.
metaTagsobjectCustom <meta> tags.
navobjectNavigation configuration.
heroobjectHero section configuration.
i18nobjectInternationalization strings.
analyticsobjectAnalytics provider settings.
analytics.googleTagManagerobjectGoogle Tag Manager configuration.
analytics.plausibleobjectPlausible Analytics configuration.
analytics.mixpanelobjectMixpanel configuration.
analytics.amplitudeobjectAmplitude configuration.
analytics.clarityobjectMicrosoft Clarity configuration.
analytics.umamiobjectUmami Analytics configuration.
analytics.posthogobjectPostHog configuration.
colorsobjectStatus color overrides (light mode).
colorsDarkobjectStatus color overrides (dark mode).
fontobjectCustom font settings.
monitorSortobjectMonitor sort order.
categoriesobjectCategory definitions.
subscriptionsSettingsobjectEmail subscription settings.
subMenuOptionsobjectSub-menu link configuration.
announcementobjectAnnouncement banner content.
dataRetentionPolicyobjectData retention configuration.
eventDisplaySettingsobjectEvent display preferences.
globalPageVisibilitySettingsobjectPage visibility controls.
pageOrderingSettingsobjectPage ordering configuration.
dateAndTimeFormatobjectDate and time format preferences.
sitemapobjectSitemap configuration.
globalMaintenanceNotificationSettingsobjectGlobal maintenance notification settings.
Submitting an invalid value for a key returns 400 BAD_REQUEST. Each key enforces its own validation rules — for example, siteURL must be a valid URL and theme must be one of the enumerated values.

Build docs developers (and LLMs) love