# Verify domain

> Run the DNS checks now and return the updated domain.

Source: https://sndr.sh/docs/api/domains/verify-domain

`POST https://api.sndr.sh/v1/domains/{id}/verify`

Run the DNS checks now and return the updated domain. status becomes verified when SPF, DKIM and DMARC all pass, otherwise it stays pending; each check is verified or failed.

Scope: `send`

**Path parameters**

- `id` (string, required): Domain ID (dom_...).

**Request**

```bash
curl -X POST 'https://api.sndr.sh/v1/domains/dom_a7c2e910-4b1/verify' \
  -H "Authorization: Bearer $SNDR_API_KEY"
```

**Response** (200)

```json
{
  "id":              "dom_a7c2e910-4b1",
  "organization_id": "org_8d41c7a2-3f6",
  "name":            "mail.acme.com",
  "status":          "pending",
  "region":          "us-east-1",
  "spf_status":      "verified",
  "dkim_status":     "verified",
  "dmarc_status":    "failed",
  "mx_status":       "verified",
  "tls_rpt_status":  "failed",
  "mta_sts_status":  "failed",
  "bimi_status":     "failed",
  "records": [
    {
      "type":     "TXT",
      "name":     "_dmarc.mail.acme.com",
      "value":    "v=DMARC1; p=quarantine; rua=mailto:dmarc@mail.acme.com; ruf=mailto:dmarc@mail.acme.com; pct=100; adkim=r; aspf=r",
      "status":   "failed",
      "hint":     "Policy that ties SPF + DKIM together. Tells receivers what to do with messages that fail.",
      "required": true,
      "label":    "DMARC"
    }
  ],
  "created_at": "2026-06-01T12:00:00Z"
}
```

**Errors**

- `unauthenticated` (401): Missing or invalid API key.
- `insufficient_scope` (403): The API key is missing the send scope.
- `not_found` (404): Resource does not exist or belongs to a different account.
