---
title: "uptimeify_status_page_domain"
description: "A custom domain of a status page (at most one per page). Creating it registers the hostname as pending; nothing is verified or activated here. To go live: Publish the TXT record verification_record.name with the value verification_record.value in your DNS zone, and point the hostname (CNAME) at your Uptimeify status page host.Verify and activate: uptimeify_status_page_domain_activation (runs verify + activate once), or POST /api/status-pages/domains/verify and .../activate with {\"domainId\": <id>}. status is read from the API: pending, verified or active. Deleting the status page deletes its domain. Import with the numeric domain id."
---

A custom domain of a status page (at most one per page). Creating it registers the hostname as `pending`; nothing is verified or activated here. To go live:

1. Publish the TXT record `verification_record.name` with the value `verification_record.value` in your DNS zone, and point the hostname (CNAME) at your Uptimeify status page host.
2. Verify and activate: `uptimeify_status_page_domain_activation` (runs verify + activate once), or `POST /api/status-pages/domains/verify` and `.../activate` with `{"domainId": <id>}`.

`status` is read from the API: `pending`, `verified` or `active`. Deleting the status page deletes its domain. Import with the numeric domain id.

## Example Usage

```terraform
resource "uptimeify_status_page_domain" "acme" {
  status_page_id = tonumber(uptimeify_status_page.acme.id)
  hostname       = "status.acme.example"
}

# Publish this TXT record in your DNS zone (any DNS provider), e.g.:
output "acme_status_txt" {
  value = uptimeify_status_page_domain.acme.verification_record
}
```

## Schema

### Required

- `hostname` (String) Lowercase hostname, e.g. `status.example.com`. Changing it replaces the domain.
- `status_page_id` (Number) Numeric status page id. Changing it replaces the domain.

### Read-Only

- `created_at` (String)
- `id` (String) Numeric domain id.
- `last_verification_error` (String) JSON diagnosis of the last failed TXT verification (`recordName`, `expected`, `lookup`, `observed`, `nameservers`, `authoritative`, `propagation`), decode with `jsondecode()`; null when the last verification succeeded or none failed yet.
- `last_verification_error_at` (String) When `last_verification_error` happened (RFC 3339).
- `status` (String) `pending`, `verified` or `active`.
- `verification_record` (Attributes) DNS TXT record that proves control of the hostname. (see [below for nested schema](#nested-schema-for-verification_record))
- `verified_at` (String)

### Nested Schema for `verification_record`

Read-Only:

- `name` (String) Name of the TXT record.
- `value` (String) Value of the TXT record.

## Import

Import is supported using the following syntax:

The [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import) can be used, for example:

```shell
# Numeric domain id
terraform import uptimeify_status_page_domain.acme 17
```
