---
title: "Verify domain ownership"
method: POST
path: "/company/domains/{id}/verify-ownership"
tags: ["Email Domains"]
---

# Verify domain ownership

`POST /company/domains/{id}/verify-ownership`

Verify domain ownership by checking the TXT record. Call this after adding the verification TXT record to your DNS. DNS propagation may take up to 48 hours, but typically completes within minutes.

## Path parameters

- `id` string, uuid, required

## Response `200`

Domain ownership verified successfully

- DomainVerifyOwnershipResponse — Domain ownership verification result
  - `message` string, required
  - `domain` Domain, required — Email domain configuration for sending signing request emails
    - `id` string, uuid, required — Unique identifier for the domain
    - `domain` string, required — The domain name (e.g., 'example.com')
    - `verification_status` 0 | 1 | 2, required — Domain ownership verification status: 0=pending, 1=ownership verified (TXT record confirmed), 2=finalized (registered with email provider)
    - `domain_status` 0 | 1, required — Email sending status: 0=DNS records pending verification, 1=fully verified and ready to send
    - `is_primary` boolean — Whether this is the primary domain for sending emails from this workspace
    - `verification_token` string — Token to add as TXT record for domain ownership verification. Only returned when verification_status=0.
    - `resend_domain_id` string, nullable — External email provider domain ID (internal use)
    - `dns_records` DomainDnsRecord[], nullable — Required DNS records for email sending. Only returned after domain finalization (verification_status=2).
      - `type` 'TXT' | 'CNAME' | 'MX' — DNS record type
      - `name` string — DNS record name/host (e.g., 'resend._domainkey' or '@')
      - `value` string — DNS record value
      - `ttl` string — Time to live (e.g., 'Auto' or seconds)
      - `priority` integer, nullable — Priority for MX records
      - `status` 'pending' | 'verified' | 'failed' — Verification status of this specific record
    - `date_created` string, date-time — Domain creation timestamp
    - `date_changed` string, date-time — Domain last update timestamp
  - `next_step` string, required

## Other responses

- `400` — Verification failed
- `401` — Unauthorized - Invalid or missing API key
- `404` — Not Found - Resource does not exist
- `429` — Too Many Requests - Rate limit exceeded

---

[API](https://skmtc.dev/firma/apis/firma-partner-api.md) · [All operations](https://skmtc.dev/firma/apis/firma-partner-api/llms.txt) · [OpenAPI document](https://skmtc.dev/firma/apis/firma-partner-api/revisions/7160ab24558c?raw)
