---
title: "Get DNS Monitor"
description: "Returns a single DNS monitor."
---

`GET /api/dns-monitors/:dnsMonitorPublicId`

The response contains the DNS monitor itself and does not embed the full customer record.

## Example response

```json
{
  "id": 1,
  "publicId": "3c741f27-7015-4202-93ea-0f97cc6bc769",
  "organizationId": 2,
  "customerId": 2,
  "customerName": "Zaskoku & Haupt GbR",
  "name": "haupt.design",
  "hostname": "haupt.design",
  "checkInterval": 30,
  "timeoutSeconds": 30,
  "dnsConfig": {
    "rrtypes": ["A"],
    "matchMode": "exact",
    "triggerOn": {
      "mismatch": true,
      "resolveError": true
    },
    "expectedValues": {
      "A": ["76.76.21.21"]
    }
  },
  "status": "active",
  "notificationPhoneNumber": null,
  "notificationEmail": null,
  "lastCheckedAt": "2026-04-03T14:55:00.005Z",
  "createdAt": "2026-02-23T20:24:54.731Z",
  "updatedAt": "2026-04-03T14:55:01.193Z"
}
```

## Example (cURL)

```bash
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"

curl -X GET \
  "$BASE_URL/api/dns-monitors/11111111-1111-4111-8111-111111111111" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"
```

## Common errors

- `400 DNS monitor public ID (UUID) required`
- `401 Unauthorized`
- `403 Forbidden`
- `404 DNS monitor not found`

