{"uid":"cap_NyAooREZrWpW_vcsT3a8Y","slug":"dns-doctor-dns-propagation-watcher-3ded35b5","name":"DNS Doctor – DNS Propagation Watcher","description":"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.","url":"https://dnsdoctor.dev/api/v1/watch/propagation","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"name":{"type":"string"},"record_type":{"type":"string"},"window_hours":{"type":"number","maximum":24,"minimum":1},"expected_value":{"type":"string"}}},"responseSchema":{"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"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004167","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004167/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004167","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004167","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_f25-1KqP69hRKT4JU2gsy","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004167","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Start a propagation watch job that monitors when a specific DNS record reaches its expected value globally, returning a poll URL to track completion.","exampleAgentPrompt":"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.","exampleUseCases":[{"title":"Post-migration DNS cutover check","prompt":"I just updated the MX records for mycompany.com to point to Google Workspace — watch for the new MX record value 'aspmx.l.google.com' to propagate globally and tell me when it's done. Give it up to 12 hours."},{"title":"Email authentication rollout verification","prompt":"I deployed a new SPF record for newsletter.example.com — can you start a watch job for the TXT record type with expected value 'v=spf1 include:mailchimp.com ~all' and poll me back when it's fully propagated? Set a 4-hour window."},{"title":"DMARC record go-live monitoring","prompt":"We just published a DMARC policy for ourdomain.com and I need to know when it's live everywhere. Watch the TXT record for '_dmarc.ourdomain.com' and expected value 'v=DMARC1; p=reject;' for up to 8 hours."}],"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:34:25.658Z","isFirstParty":false}