The propagation watch's terms. Validation is `normalize_probe_name`'s. `window_hours` is bounded at the MODEL so an out-of-range window is refused during parse — the metered-422 handler covers that leg, and a bound checked later would price a window we do not sell. The bound is the one the surface's published `input_schema` advertises (1 to 24), not a wider one: a machine contract that under-states what it accepts is drift, and a sub-hour window would pro-rate toward a `$0` offer on an always-paid surface.
DNSDNS ToolsEmail AuthenticationWeb Application
Properties
Name
Type
Description
name
string
record_type
string
expected_value
object
The value every vantage point must agree on for the watch to report `met`. Without it, `met` means the grid agreed on an answer set DIFFERENT from the first one recorded — a name whose answers legitim
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/dnsdoctor-dev/json-schema/dnsdoctor-dev-watch-propagation-in-schema.json",
"title": "WatchPropagationIn",
"description": "The propagation watch's terms. Validation is `normalize_probe_name`'s.\n\n`window_hours` is bounded at the MODEL so an out-of-range window is refused\nduring parse — the metered-422 handler covers that leg, and a bound checked\nlater would price a window we do not sell. The bound is the one the surface's\npublished `input_schema` advertises (1 to 24), not a wider one: a machine\ncontract that under-states what it accepts is drift, and a sub-hour window\nwould pro-rate toward a `$0` offer on an always-paid surface.",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/dnsdoctor-dev-openapi.json#/components/schemas/WatchPropagationIn",
"properties": {
"name": {
"type": "string",
"maxLength": 1012,
"title": "Name"
},
"record_type": {
"type": "string",
"title": "Record Type",
"default": "A"
},
"expected_value": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
],
"title": "Expected Value",
"description": "The value every vantage point must agree on for the watch to report `met`. Without it, `met` means the grid agreed on an answer set DIFFERENT from the first one recorded — a name whose answers legitimately rotate (an ELB/ALB or GSLB hostname) meets on the rotation, not on your change; pass the value you are waiting for."
},
"window_hours": {
"type": "number",
"maximum": 24.0,
"minimum": 1.0,
"title": "Window Hours",
"default": 24
}
},
"type": "object",
"required": [
"name"
]
}
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.