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 Imports and CI

Use Terraform import when a status page, monitor, incident, incident timeline update, maintenance window, or metric already exists in StatusPage.me and you want Terraform to track it going forward.

Import safely

  1. Write the matching Terraform resource block first.
  2. Find the object ID in the dashboard or API response.
  3. Run the import command documented for that resource in the Terraform Registry reference.
  4. Run terraform plan immediately. Adjust your configuration until the plan is empty before treating the object as managed.

Do not run an import against production and assume it is complete without the no-change plan. Import only links state; your HCL must still describe the existing object accurately.

Import an incident timeline update with the compound ID <incident_id>/<incident_update_id>. Timeline updates remain immutable after import.

Imported incidents remain immutable too. Match their published fields exactly in HCL. Keep archive_on_destroy = false unless you intentionally want a future destroy to archive a resolved incident and the status-page owner’s plan includes incident archiving.

If you do intend to archive through Terraform, apply archive_on_destroy = true before removing the incident resource in a later change. A single plan cannot both add that safeguard and remove the resource.

CI setup

Store HSP_API_KEY in your CI platform’s encrypted secrets and expose it only to jobs that need to run Terraform. Give that key the smallest set of API scopes required by the workspace.

A safe baseline pipeline is:

terraform fmt -check
terraform init
terraform validate
terraform plan -out=tfplan

Use an approved deployment job for terraform apply tfplan. Keep plans and applies against the same committed configuration so review remains meaningful.

Retries and idempotency

The StatusPage.me API supports idempotency for mutating create requests. Terraform uses the provider’s API client, so retry behavior is safer than ad-hoc scripts, but a failed apply still deserves a new terraform plan before retrying.

Was this article helpful?