---
title: "Verify a custom domain"
method: POST
path: "/api/{org_id}/status_pages/domains/{did}/verify"
tags: ["Status Pages"]
---

# Verify a custom domain

`POST /api/{org_id}/status_pages/domains/{did}/verify`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/{org_id}/status_pages/domains/{did}/verify`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/:org_id/status_pages/domains/:did/verify/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `org_id` string, required
- `did` string, required

## Response `200`

Success

- DomainAdminView
  - `created_at` integer, required
  - `domain` string, required
  - `id` string, required
  - `last_checked_at` integer, nullable
  - `txt_name` string, nullable: The ownership TXT record, served only while the domain is unverified — it is not a secret (proving ownership means publishing it in public DNS), and hiding it would strand a user who lost it before their DNS was right.
  - `verification_failure_reason` integer, nullable: 0 record-missing, 1 value-mismatch, 2 dns-resolution-failed.
  - `verification_state` integer, required: 0 pending, 1 verified, 2 failed.
  - `verification_token` string, nullable
  - `verified_at` integer, nullable

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
