# DNS Doctor – DNS Propagation Watcher

> DNS Doctor – DNS Propagation Watcher is a paid API for AI agents from dnsdoctor.dev, paid per call via x402, $0.004167/call, status unknown (last checked 2026-09-14).

Start a propagation watch job that monitors when a specific DNS record reaches its expected value globally, returning a poll URL to track completion.

## Facts

- Endpoint: POST https://dnsdoctor.dev/api/v1/watch/propagation
- Price: $0.004167/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dns-doctor-dns-propagation-watcher-3ded35b5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NyAooREZrWpW_vcsT3a8Y

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability dns-doctor-dns-propagation-watcher-3ded35b5 -d '<json body>'
```

Example prompt: Watch for my domain example.com to have a TXT record with value 'v=spf1 include:sendgrid.net ~all' and alert me when it's propagated — check for up to 6 hours.

## When to prefer this

Use this endpoint when you need to asynchronously wait for a DNS change to propagate globally and want a push/poll mechanism rather than repeatedly querying DNS yourself. Ideal for post-deployment automation pipelines where subsequent steps depend on DNS being live, or when you need to confirm SPF, DMARC, DKIM, or MX records are globally visible after an email infrastructure change.

## Known failure modes

- Invalid record type returns validation error
- window_hours outside 1–24 range is rejected
- Domain name malformed or unreachable causes job start failure
- Expected value format mismatch may cause watch to never resolve
- Watch expires before propagation completes, returning expired state at poll_url

## How this service works

One DNS Doctor propagation watch: a name is re-checked across six vantage points for a paid window of up to 24 hours, polled by handle.

## Output

A JSON object containing a watch_id, the current state ('running'), a poll_url to check job progress, and an expires_at timestamp indicating when the watch window ends. The agent polls the returned poll_url to check when the expected DNS value is observed globally.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "name": {
   "type": "string"
  },
  "record_type": {
   "type": "string"
  },
  "window_hours": {
   "type": "number",
   "maximum": 24,
   "minimum": 1
  },
  "expected_value": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "state": "running",
  "poll_url": "https://dnsdoctor.dev/api/v1/watch/wid_example",
  "watch_id": "wid_example",
  "expires_at": "2026-09-06T12:00:00Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dns-doctor-dns-propagation-watcher-3ded35b5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from dnsdoctor.dev](https://www.zero.xyz/host/dnsdoctor.dev/llms.txt)
