---
title: "Organization Domain DNS Verification Failed"
method: POST
path: "organization.domain_dns_verification_failed"
---

# Organization Domain DNS Verification Failed

`POST organization.domain_dns_verification_failed` (webhook)

Triggered when the DNS verification window expires without a successful TXT record match. Handle txt_record_secret as sensitive if present.

## Payload

- OrganizationDomainDnsVerificationFailedEvent — Payload delivered for the organization.domain_dns_verification_failed webhook event.
  - `spec_version` string, required — The webhook specification version
  - `id` string, required — Unique identifier for the webhook event (must be prefixed with "evt_")
  - `type` 'organization.domain_dns_verification_failed', required — The event type
  - `occurred_at` string, date-time, required — When the event occurred (ISO 8601 format)
  - `environment_id` string, required — The environment ID where the event occurred
  - `organization_id` string — The organization ID
  - `object` 'Organization', required — The type of object that triggered the webhook
  - `data` OrganizationDomainEventData, required — Domain payload shared by organization domain lifecycle webhook events. Field names match the backend DomainDataEvent model (not the REST domainsDomain resource).
    - `id` string, required — Unique identifier for the domain (prefixed with "dom_")
    - `domain` string, required — The domain name
    - `domain_type` 'ORGANIZATION_DOMAIN' | 'ALLOWED_EMAIL_DOMAIN', required — ORGANIZATION_DOMAIN for SSO/SCIM routing domains; ALLOWED_EMAIL_DOMAIN for auto-join email domains
    - `organization_id` string, required — Organization that owns the domain
    - `environment_id` string, required — Environment where the domain is configured
    - `txt_record_key` string — DNS TXT record host used for ownership verification
    - `txt_record_secret` string — DNS TXT record value Scalekit expects during verification. Treat as sensitive: do not log, display in client UIs, or store in shared channels. Present on domain lifecycle events including after verification or deletion.
    - `verification_status` 'PENDING' | 'VERIFIED' | 'FAILED' | 'AUTO_VERIFIED', required — Verification status of the domain
    - `verification_method` 'ADMIN' | 'DNS' | 'NOT_APPLICABLE' — How ownership is verified: DNS (TXT record), ADMIN (dashboard or API without DNS), or NOT_APPLICABLE (allowed email domains)
    - `updated_at` string, date-time — When the domain status last changed
  - `display_name` string — Human-readable display name for the event

## Acknowledgement `200`

Webhook received successfully

---

[API](https://skmtc.net/scalekit/apis/scalekit-api-reference.md) · [All operations](https://skmtc.net/scalekit/apis/scalekit-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/scalekit/scalekit-api-reference/versions/a40d5d4650e5/schema)
