---
title: WatchFor Grades in the API, MCP and A2A, plus a DNS health check
description: An agent running a check over the API got the raw result and had to work out the verdict itself, so it could disagree with what you saw in the dashboard…
canonical: https://watchfor.io/changelog/2026-10-05-grades-in-the-api
---

[All updates](/changelog#2026-10-05-grades-in-the-api) ✨ New Oct 5, 2026 · v 9.5.8

# WatchFor Grades in the API, MCP and A2A, plus a DNS health check

An agent running a check over the API got the raw result and had to work out the verdict itself, so it could disagree with what you saw in the dashboard. Graded checks now return the same A+ to F WatchFor Grade, with the rubric id and the findings that hold it down, each with its fix. diagnose_target includes the TLS and security headers grades, and a new dns-health check grades the zone itself. SDKs 0.14.0 carry the types.

## What changed

- grade in every graded run: tls-grade , http-headers (security headers), cwv-check , mcp-check , email-health , mail-server-check , cdn-check , smart-audit and the new dns-health return grade next to the raw result: letter , label , rubric and capped_by (each finding's id, title, the highest grade it allows and the fix). A check we could not measure returns letter: null with the reason, never an F.

- diagnose-target adds grades , keyed by check, for the TLS and security headers grades it already runs.

- dns-health , the 24th live check: nameservers and their networks, lame delegation, parent and zone agreement, SOA serials, DNSSEC and CAA, graded A+ to F. Add propagation: true to also grade whether every probe location sees the same answer, as the DNS Propagation page does.

- SDKs 0.14.0 (npm, PyPI, RubyGems) include the WatchForGrade type.

Details: [live diagnostics](/docs/api/diagnostics#watchfor-grades-in-the-result) and [how WatchFor grades](/grades).

Share this update

---

Canonical page: https://watchfor.io/changelog/2026-10-05-grades-in-the-api · Site guide: https://watchfor.io/llms.txt
