StatusPage.me Help Center

Popular topics: creating a status page, connecting monitors, automatic incidents, custom domains, integrations and billing.

StatusPage.me Jul 23, 2026 Embeds & Integrations

Terraform Provider Resources, Data Sources, and Limitations

The hosted-status-page/hsp provider manages these StatusPage.me objects. Configuration resources have matching data sources; append-only timeline updates do not.

The incident lifecycle described below requires provider version 0.1.1 or later.

ResourceMatching data sourceWhat it manages
hsp_status_pagehsp_status_pageStatus page name, slug, and supported page configuration
hsp_monitorhsp_monitorSite, API, and DNS monitors
hsp_incidenthsp_incidentImmutable published incidents
hsp_incident_updateAppend-only incident timeline entries
hsp_maintenancehsp_maintenanceScheduled maintenance windows
hsp_metrichsp_metricDisplay-only live metrics

The Terraform Registry contains the generated argument-by-argument reference and examples for every resource and data source: view the provider documentation.

Monitor types

hsp_monitor supports these monitor types:

  • site
  • api
  • dns

API monitor authentication, custom query parameters, headers, and request bodies are not yet exposed through Terraform. Configure an authenticated or otherwise advanced API monitor in the StatusPage.me dashboard.

Database monitors are intentionally unavailable while their product design is paused.

Incident history

Published hsp_incident fields are immutable. Use hsp_incident_update to append messages and state transitions to the public timeline.

Terraform never hard-deletes an incident or timeline update. Destroying hsp_incident is refused unless archive_on_destroy = true; even then, the incident must be resolved and the status-page owner’s plan must include incident archiving. Removing hsp_incident_update only forgets its Terraform state because published timeline history remains permanent.

Changing an immutable hsp_incident field produces a plan error instead of replacing the incident. State transitions must move forward, and resolved or archived incidents reject new timeline updates.

Archiving is intentionally a two-apply operation. First set archive_on_destroy = true and apply that change. Then remove the resolved incident resource from configuration and apply again. This prevents an ordinary configuration removal from silently hiding incident history.

Normalization and drift

The API normalizes some input, including whitespace, status-page slugs, metric icons, and decimal metric values. Terraform records the normalized response in state.

hsp_status_page.is_simple is different: the API does not return it. Terraform keeps the last-applied value in state, cannot detect out-of-band changes to it, and replaces the resource when you change it.

New monitors can be forced disabled when their status page has reached its monitor limit. Check your plan limits before assuming an apply can activate another monitor.

Was this article helpful?