PUT/v2/statuspages/{uuid}

Update a status page

Updates an existing status page. Only include fields you want to change.

Request

Path Parameters
uuidstringrequired
The status page UUID
Example:"sp_xyz789abc"
Bodyapplication/json
namestringoptional
Name of the status page. Displayed in the Hyperping dashboard, used as the browser tab title, shown in the header when a website URL is set (as "Go to [Name]"), and used as the page title if no logo is set.
subdomainstringoptional
Subdomain for hosting on Hyperping (e.g., mycompany becomes mycompany.hyperping.app). Must be unique across all Hyperping status pages.
hostnamestringoptional
Your own custom domain (e.g., status.mycompany.com). Requires CNAME DNS record pointing to cname.hyperping.io. Set to null to remove custom domain.
websitestringoptional
URL to your main website. Displayed as a clickable link in the status page header.
descriptionstringoptional
Short text displayed below the status page title. Use it to describe your service or provide context to visitors.
languagesarray<string>optional
Languages available on your status page. When multiple languages are set, a language switcher appears.
Available options:
enfrderunlplsv
themeenum<string>optional
Color scheme for the status page. system automatically matches the visitor's OS preference.
Available options:
lightdarksystem
fontstringoptional
Typography for the status page. Fonts are loaded from Google Fonts. Use system-ui for fastest load times.
Available options:
system-uiLatoManropeInterOpen SansMontserratPoppinsRobotoRalewayNunitoMerriweatherDM SansWork Sans
accent_colorstringoptional
Primary brand color used for buttons, links, and highlights. Must be a valid hex color code (e.g., #188ded).
auto_refreshbooleanoptional
Automatically refresh the page every 60 seconds to show latest status. Useful for dashboards displayed on monitors.
banner_headerbooleanoptional
Controls the status page layout. When true, displays a compact banner at the top with the overall status. When false, shows a larger centered status icon with the message.
logostringoptional
URL to your logo image. Displayed in the header. Supports PNG, JPG, SVG, and ICO formats. Set to null to remove.
logo_heightstringoptional
Height of the logo in pixels. Width scales proportionally. Example: 32px, 48px.
faviconstringoptional
URL to your favicon. Displayed in browser tabs. Supports ICO, PNG, and SVG formats. Set to null to remove.
hide_powered_bybooleanoptional
Remove the "Powered by Hyperping" branding from the footer. Available on paid plans.
hide_from_search_enginesbooleanoptional
Adds noindex and nofollow meta tags to prevent search engines from indexing your status page.
google_analyticsstringoptional
Your Google Analytics 4 measurement ID (e.g., G-XXXXXXXXXX). Set to null to disable.
passwordstringoptional
Password required to access the status page when authentication.password_protection is enabled.
subscribeobjectoptional
Configure how visitors can subscribe to receive notifications about incidents and maintenance.
subscribe.enabledboolean
Show the "Subscribe" button on the status page. When disabled, visitors cannot subscribe.
subscribe.emailboolean
Allow visitors to subscribe via email to receive incident notifications.
subscribe.slackboolean
Allow visitors to subscribe via Slack webhook to receive status updates in a channel.
subscribe.teamsboolean
Allow visitors to subscribe via Microsoft Teams webhook to receive status updates.
subscribe.smsboolean
Allow visitors to subscribe via SMS. Additional charges may apply.
authenticationobjectoptional
Restrict access to your status page. Useful for internal status pages visible only to employees.
authentication.password_protectionboolean
Require visitors to enter a password before viewing the status page.
authentication.google_ssoboolean
Require visitors to sign in with their Google account. Use with google_allowed_domains to restrict access.
authentication.saml_ssoboolean
Require visitors to authenticate via your SAML identity provider. Requires sso_connection_uuid.
authentication.google_allowed_domainsarray<string>
List of email domains allowed for Google SSO login. Example: ["mycompany.com"]
authentication.sso_connection_uuidstring
UUID of the SSO connection to use for SAML authentication. Set to null to remove SSO.
sectionsarray<object>optional
Organize your services into logical sections. Note: this replaces all existing sections.
sections[].namestringrequired
Heading displayed above this group of services. Examples: "Core Services", "API", "Infrastructure".
sections[].servicesarray<object>
List of services (monitors or components) to display in this section.
sections[].services[].monitor_uuidstringrequired
UUID of the monitor (mon_xxx) or component (comp_xxx) to display.
sections[].services[].name_shownstring
Custom display name for this service. If not set, the monitor's original name is used.
sections[].services[].show_uptimeboolean
Display the uptime percentage badge next to the service name.
sections[].services[].show_response_timesboolean
Display a response time graph showing the service's performance over time.
sections[].services[].descriptionstring
Short description displayed below the service name.
sections[].services[].is_groupboolean
Mark this service as a collapsible group containing nested services.
sections[].services[].servicesarray
Nested services when is_group is true. Same structure as the parent services array.

Response

Returns the updated status page.

RequestcURL
curl -X PUT https://api.hyperping.io/v2/statuspages/sp_xyz789abc \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Status Page",
    "theme": "dark",
    "authentication": {
      "sso_connection_uuid": "sso_abc123xyz"
    }
  }'
200 OKJSON
{
  "message": "Status page updated",
  "statuspage": {
    "uuid": "sp_xyz789abc",
    "name": "Updated Status Page",
    "hostname": null,
    "hostedsubdomain": "mystatus.hyperping.app",
    "url": "mystatus.hyperping.app",
    "password_protected": false,
    "settings": {
      "authentication": {
        "password_protection": false,
        "google_sso": true,
        "google_allowed_domains": ["mycompany.com"],
        "saml_sso": true,
        "sso_connection_uuid": "sso_abc123xyz",
        "sso_connection": {
          "uuid": "sso_abc123xyz",
          "name": "Corporate Azure AD",
          "provider": "azure"
        }
      },
      ...
    },
    "sections": [ ... ]
  }
}

Removing SSO

To remove SSO from a status page, set sso_connection_uuid to null:

RequestcURL
curl -X PUT https://api.hyperping.io/v2/statuspages/sp_xyz789abc \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "authentication": {
      "sso_connection_uuid": null
    }
  }'