{"name":"verify_web","description":"Independently verifies that a public website is reachable and meets deployment expectations (HTTP status, HTTPS validity, optional expected text). Returns structured evidence for accept / retry / escalate decisions.","use_when":"Use when the user explicitly asks to verify a deployment claim, public reachability, final HTTP status, HTTPS/TLS, redirects, or exact expected text. Prefer expected_text that distinguishes the new version (build id, version string, unique copy).","do_not_use_when":"Do not call this merely before or alongside understand_webpage to prove that its target is reachable; a successful understand_webpage result already proves the page was fetched. Do not use to extract entities, forms, actions, or meaning, for private/internal URLs, or for subjective visual-quality judgments.","version":"0.3.0","endpoint":"/verify/web","method":"POST","status":"active","read_only":true,"side_effects":[],"requires_auth":false,"cost":"free","typical_latency_ms":1200,"examples":[{"description":"Verify a deployment and version-specific page text","input":{"url":"https://example.com","expected_status":200,"expected_text":"Example Domain"},"output":{"verified":true,"checks":{"reachable":true,"status":200,"https_valid":true,"text_found":true},"evidence":{"requested_url":"https://example.com","final_url":"https://example.com/","http":{"status":200,"expected_status":200,"matched":true},"expected_text":{"value":"Example Domain","checked":true,"matched":true},"tls":{"requested":true,"valid":true},"redirects":{"count":0,"chain":[]},"checked_at":"2026-08-16T08:50:33.986Z","claims":[{"claim":"reachable","passed":true,"evidence_paths":["http.status","final_url"]},{"claim":"status_matches","passed":true,"evidence_paths":["http.status","http.expected_status"]},{"claim":"https_valid","passed":true,"evidence_paths":["tls.requested","tls.valid"]},{"claim":"expected_text_found","passed":true,"evidence_paths":["expected_text.value","expected_text.matched"]}]},"checked_at":"2026-08-16T08:50:33.986Z"}}],"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public HTTP(S) URL to verify, for example https://example.com"},"expected_status":{"type":"integer","minimum":100,"maximum":599,"description":"Expected final HTTP status code, for example 200"},"expected_text":{"description":"Optional response text that proves the intended version or state is live","type":"string","maxLength":2000}},"required":["url","expected_status"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"verified":{"type":"boolean"},"checks":{"type":"object","properties":{"reachable":{"type":"boolean"},"status":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"https_valid":{"type":"boolean"},"text_found":{"type":"boolean"}},"required":["reachable","status","https_valid","text_found"],"additionalProperties":false},"evidence":{"type":"object","properties":{"requested_url":{"type":"string","format":"uri"},"final_url":{"nullable":true,"type":"string","format":"uri"},"http":{"type":"object","properties":{"status":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"expected_status":{"type":"integer","minimum":100,"maximum":599},"matched":{"type":"boolean"}},"required":["status","expected_status","matched"],"additionalProperties":false},"expected_text":{"type":"object","properties":{"value":{"nullable":true,"type":"string","maxLength":2000},"checked":{"type":"boolean"},"matched":{"nullable":true,"type":"boolean"}},"required":["value","checked","matched"],"additionalProperties":false},"tls":{"type":"object","properties":{"requested":{"type":"boolean"},"valid":{"type":"boolean"}},"required":["requested","valid"],"additionalProperties":false},"redirects":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"chain":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"status":{"type":"integer","minimum":300,"maximum":399},"from":{"type":"string","format":"uri"},"to":{"type":"string","format":"uri"}},"required":["status","from","to"],"additionalProperties":false}}},"required":["count","chain"],"additionalProperties":false},"checked_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"claims":{"minItems":3,"maxItems":4,"type":"array","items":{"type":"object","properties":{"claim":{"type":"string","enum":["reachable","status_matches","https_valid","expected_text_found"]},"passed":{"type":"boolean"},"evidence_paths":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string"}}},"required":["claim","passed","evidence_paths"],"additionalProperties":false}}},"required":["requested_url","final_url","http","expected_text","tls","redirects","checked_at","claims"],"additionalProperties":false},"checked_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"error":{"type":"string","maxLength":2000}},"required":["verified","checks","evidence","checked_at"],"additionalProperties":false}}