Status API › Pages
Update a page
A partial update: a field left out keeps its stored value. logo_url and
brand_color clear on null; theme: "" means auto. slug and team_id
cannot change here: sent with a different value they are refused with
VALIDATION_ERROR, sent with the stored value they are accepted.
Permission (API-key scope): status:page:write.
Authorization
bearerAuth(status:page:write)apiKeyHeader(status:page:write)
Parameters
Path parameters
pageIDstring (uuid) requiredThe status page's id (a UUID).
Request body required
namestringLeft out keeps the stored name; may not be empty.logo_urlstring | nullLeft out keeps the stored logo;nullclears it.brand_colorstring | nullLeft out keeps the stored colour;nullclears it.is_publicbooleanLeft out keeps the stored visibility.themestringLeft out keeps the stored theme;""meansauto.slugstringCannot change. A different value is refused (VALIDATION_ERROR); the stored value is accepted.team_idstring | nullCannot change here. A different value is refused (VALIDATION_ERROR); the stored value is accepted.
Responses
200
The page.
dataPage requiredShow Page properties
idstring (uuid) requiredorg_idstring requiredteam_idstring requiredThe team that manages the page;""for the whole organization. Never affects the public page.slugstring requiredUnique in the organization.namestring requiredlogo_urlstringfavicon_urlstringbrand_colorstring#rrggbb.custom_domainstringis_publicboolean requiredWhether visitors can read it.themestring requiredsite_themeSiteTheme requiredShow SiteTheme properties
fontstring""is the system font.radiusstringbackgroundstringmodestringThe same setting as the page'stheme(systemthere isauto).
subscriptions_enabledbooleanreply_to_emailstringWhere replies to subscriber emails go.page_descriptionstringfooter_textstringsupport_urlstringsupport_labelstringprivacy_urlstringterms_urlstringga_tagstringThe older field for the Google Analytics id, kept in step withanalytics.ga4_measurement_id.search_indexablebooleanhistory_window_daysintegerHow far back the public page shows past incidents.product_groupsbooleanGroups fold into one line each on the public page.open_groupsarray of stringGroups that start open.product_pagesbooleanEach group has a page of its own.header_linksarray of HeaderLinkShow HeaderLink properties
labelstring requiredOne line of text.urlstring (uri) requiredAnhttps://URL.
show_page_namebooleanfalseshows the logo alone.analyticsAnalyticsSettingsShow AnalyticsSettings properties
enabledbooleanWhether visitor analytics are collected.retention_daysintegerHow long daily counts are kept.ga4_measurement_idstringA Google Analytics 4 id (G-…) the public page loads, or"".honor_privacy_signalsbooleanLoad Google Analytics only for visitors who sent neitherDNT: 1norSec-GPC: 1.
created_atstring (date-time) requiredupdated_atstring (date-time) required
successboolean required
400
A field is missing or invalid (VALIDATION_ERROR); the message names it, or the body is not valid (INVALID_BODY).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
403
The key lacks the scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
404
No such item, or one the caller cannot see (NOT_FOUND).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
429
Too many requests (RATE_LIMITED). Wait Retry-After seconds.
Retry-AfterintegerSeconds to wait.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
Example request
curl -X PUT 'https://evohub.io/api/v1/pages/3f6c2a1e-8b4d-4f7a-9c21-5d0e7a9b1c42' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"name": "Acme Status",
"theme": "dark",
"logo_url": "https://assets.evohub.io/logos/acme.png",
"is_public": true
}'