# OuterCheck > OuterCheck verifies the externally observable state of a public website. > Use it after deployment or web changes. All endpoints below are on THIS host (the host you fetched this file from). Machine contract: /openapi.json (OpenAPI 3.1, fully typed responses) JSON Schemas: /v1/schema/verification.schema.json, /v1/schema/check.schema.json, /v1/schema/action.schema.json Input: a public URL (http/https, ports 80/443, public hosts only). Output: deterministic JSON — per-check PASS/WARN/FAIL/UNKNOWN verdicts with evidence, ONE priority action, overall state (ready|degraded|broken|unknown). Workflow (same host): 1. POST /v1/verify body: {"url": "https://example.com"} → 202 {"id": ...} 2. Poll GET /v1/results/{id} until "status" is "completed" (usually 3–15 s). 3. Read "overall", "summary", "priority_action" (do the ONE action it names), "checks" (each has observed + evidence arrays). 4. After fixing, POST /v1/results/{id}/recheck → poll the new id like above. The result contains "recheck": fixed / regressed / new / unchanged + verdict. Honesty rules OuterCheck obeys (and expects you to repeat): - crawlable ≠ indexable ≠ known indexed. OuterCheck never claims a page "is indexed by Google"; search_index_status is always "unknown" in v0.1. Limits: verifications are rate limited per anonymous client (429 + Retry-After). Privacy: /privacy — public pages only, minimal anonymous telemetry.