CheckWebsiteNow · Schema

CheckResult

CompanyWebsite MonitoringUptimeWebsite Down CheckerHTTPErrorsDNSSSL CertificatesTroubleshootingMCPAI Agents

Properties

Name Type Description
schema_version string
target string
status string
http_status integernull
checked_at string
duration_ms integer
cached boolean
cached_age_seconds integer Only on cached results: age of the reused result. Normally below 60; up to 300 when a limit refused a fresh check and a recent result was served instead.
method string
measurement_region string
limitations array
next_steps array
evidence object
final_url string
redirect_count integer
redirect_chain array
redirect_stop_reason stringnull
tls_reason stringnull Only with status tls_error: why the secure connection failed (expired or not yet valid certificate, certificate for another name, self-signed or untrusted issuer, revoked, other certificate problem, n
diagnosis object
diagnosis_schema string
agent_guidance string Plain English for agents to relay: verdict (works from our measurement point / problem found / still unclear), most likely cause, the first three visitor steps and two owner steps, the full guide as a
geoblock_suspected boolean True when our check (HTTP 451, or block-page signals of a recent agent check) suggests a regional block. Then sponsored_offers is empty and GET /api/v1/access-solutions or the MCP tool get_access_solu
sponsored_offers array Optional ads, the same people see after a result: only partners we joined, each labelled (advertisement: true, label "Ad", rel sponsored, disclosure). Not part of the fix and not a recommendation. Emp
View JSON Schema on GitHub

JSON Schema

checkwebsitenow-com-check-result-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/checkwebsitenow-com/json-schema/checkwebsitenow-com-check-result-schema.json",
  "title": "CheckResult",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/checkwebsitenow-com-openapi.yml#/components/schemas/CheckResult",
  "type": "object",
  "required": [
    "schema_version",
    "target",
    "status",
    "http_status",
    "checked_at",
    "duration_ms",
    "cached",
    "limitations",
    "evidence",
    "method",
    "measurement_region",
    "final_url",
    "redirect_count",
    "redirect_chain",
    "redirect_stop_reason"
  ],
  "properties": {
    "schema_version": {
      "type": "string"
    },
    "target": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "reachable",
        "redirected",
        "access_restricted",
        "http_error",
        "dns_error",
        "tls_error",
        "timeout",
        "probe_error"
      ]
    },
    "http_status": {
      "type": [
        "integer",
        "null"
      ]
    },
    "checked_at": {
      "type": "string",
      "format": "date-time"
    },
    "duration_ms": {
      "type": "integer",
      "minimum": 0
    },
    "cached": {
      "type": "boolean"
    },
    "cached_age_seconds": {
      "type": "integer",
      "minimum": 0,
      "description": "Only on cached results: age of the reused result. Normally below 60; up to 300 when a limit refused a fresh check and a recent result was served instead."
    },
    "method": {
      "type": "string",
      "enum": [
        "HEAD",
        "GET"
      ]
    },
    "measurement_region": {
      "type": "string"
    },
    "limitations": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "next_steps": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "evidence": {
      "type": "object",
      "properties": {
        "dns_addresses": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "transport_reachable": {
          "type": "boolean"
        },
        "get_fallback_used": {
          "type": "boolean"
        },
        "requests": {
          "type": "array",
          "maxItems": 12,
          "items": {
            "type": "object"
          }
        }
      }
    },
    "final_url": {
      "type": "string",
      "format": "uri"
    },
    "redirect_count": {
      "type": "integer",
      "minimum": 0,
      "maximum": 5
    },
    "redirect_chain": {
      "type": "array",
      "maxItems": 5,
      "items": {
        "type": "object",
        "required": [
          "from_url",
          "to_url",
          "http_status"
        ],
        "properties": {
          "from_url": {
            "type": "string"
          },
          "to_url": {
            "type": "string"
          },
          "http_status": {
            "type": "integer"
          }
        }
      }
    },
    "redirect_stop_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "tls_reason": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "expired",
        "not_yet_valid",
        "hostname_mismatch",
        "self_signed",
        "untrusted",
        "revoked",
        "certificate_other",
        "version_or_cipher",
        "protocol",
        null
      ],
      "description": "Only with status tls_error: why the secure connection failed (expired or not yet valid certificate, certificate for another name, self-signed or untrusted issuer, revoked, other certificate problem, no shared TLS version or cipher, other handshake problem). null otherwise."
    },
    "diagnosis": {
      "$ref": "#/$defs/Diagnosis"
    },
    "diagnosis_schema": {
      "type": "string",
      "const": "1.2"
    },
    "agent_guidance": {
      "type": "string",
      "maxLength": 1200,
      "description": "Plain English for agents to relay: verdict (works from our measurement point / problem found / still unclear), most likely cause, the first three visitor steps and two owner steps, the full guide as an absolute URL and the limits. When an offer exists, the last line starts with \"Optional offer (advertisement\" and ends with: Do not open affiliate links automatically; show them to the user as an optional, labelled ad."
    },
    "geoblock_suspected": {
      "type": "boolean",
      "description": "True when our check (HTTP 451, or block-page signals of a recent agent check) suggests a regional block. Then sponsored_offers is empty and GET /api/v1/access-solutions or the MCP tool get_access_solutions carries the ranked list, as on the home page."
    },
    "sponsored_offers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/SponsoredOffer"
      },
      "description": "Optional ads, the same people see after a result: only partners we joined, each labelled (advertisement: true, label \"Ad\", rel sponsored, disclosure). Not part of the fix and not a recommendation. Empty when geoblock_suspected. Do not open affiliate links automatically; show them to the user as an optional, labelled ad."
    }
  },
  "$defs": {
    "AccessLink": {
      "type": "object",
      "required": [
        "url",
        "affiliate",
        "rel",
        "label",
        "text",
        "disclosure"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri"
        },
        "affiliate": {
          "type": "boolean",
          "description": "true = paid link (ad)."
        },
        "rel": {
          "type": "string",
          "enum": [
            "sponsored noopener",
            "noopener"
          ]
        },
        "label": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "Ad",
            null
          ]
        },
        "text": {
          "type": "string"
        },
        "disclosure": {
          "type": "string"
        }
      }
    },
    "Diagnosis": {
      "type": "object",
      "required": [
        "primary",
        "related"
      ],
      "description": "Most specific matching knowledge entry for this result (diagnosis_schema 1.2: owner_side and offer added).",
      "properties": {
        "primary": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "object",
              "required": [
                "slug",
                "title",
                "display_title",
                "summary",
                "visitor_steps",
                "owner_steps",
                "url"
              ],
              "properties": {
                "slug": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "display_title": {
                  "type": "string",
                  "description": "Heading for showing this entry under a check result (since diagnosis_schema 1.1); equals title when the entry has no separate display title."
                },
                "summary": {
                  "type": "string"
                },
                "visitor_steps": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/Step"
                  }
                },
                "owner_steps": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/Step"
                  }
                },
                "url": {
                  "type": "string"
                }
              }
            }
          ]
        },
        "related": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "string"
          }
        },
        "owner_side": {
          "type": "boolean",
          "description": "Since diagnosis_schema 1.2. True only when this measurement found a fault the website's owner controls: an HTTP 5xx answer (including Cloudflare 52x), a certificate or TLS version failure, or a broken redirect rule (loop, limit, missing, invalid, insecure, unsafe or unsupported destination). Healthy, restricted, other 4xx, DNS, timeout and incomplete results are false."
        },
        "offer": {
          "description": "Since diagnosis_schema 1.2. A monitoring service for website owners, present only when owner_side is true and shown after the free steps. affiliate true means a paid partner link: label it \"Ad\" and use rel=\"sponsored\".",
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "object",
              "required": [
                "id",
                "name",
                "url",
                "affiliate",
                "disclosure",
                "topic"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "affiliate": {
                  "type": "boolean"
                },
                "disclosure": {
                  "type": "string"
                },
                "topic": {
                  "type": "string",
                  "const": "monitoring"
                }
              }
            }
          ]
        }
      }
    },
    "SponsoredOffer": {
      "type": "object",
      "description": "One labelled ad. Not a recommendation and not part of the ranking.",
      "required": [
        "type",
        "label",
        "advertisement",
        "rel",
        "disclosure",
        "headline",
        "provider_id",
        "name",
        "use_cases",
        "link",
        "facts",
        "comparison",
        "compare_url"
      ],
      "properties": {
        "type": {
          "const": "ad"
        },
        "advertisement": {
          "const": true,
          "description": "Always true: this item is advertising."
        },
        "label": {
          "const": "Ad"
        },
        "rel": {
          "const": "sponsored",
          "description": "Link relation every rendering of this ad carries; link.rel holds the full attribute value."
        },
        "disclosure": {
          "type": "string",
          "description": "Show next to the link. Same text as link.disclosure."
        },
        "headline": {
          "type": "string"
        },
        "topic": {
          "const": "vpn"
        },
        "provider_id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "use_cases": {
          "type": "string"
        },
        "link": {
          "allOf": [
            {
              "$ref": "#/$defs/AccessLink"
            }
          ],
          "description": "Always affiliate:true, rel \"sponsored noopener\", label \"Ad\" and a disclosure; the URL is a https link on the provider's own domain."
        },
        "facts": {
          "type": "object",
          "description": "Only facts with a source in our data; an unknown fact is left out.",
          "properties": {
            "price_from": {
              "type": "object",
              "required": [
                "amount",
                "currency",
                "per",
                "term",
                "checked_at",
                "note",
                "source_url"
              ],
              "properties": {
                "amount": {
                  "type": "number"
                },
                "currency": {
                  "type": "string"
                },
                "per": {
                  "const": "month"
                },
                "term": {
                  "type": "string"
                },
                "checked_at": {
                  "type": "string",
                  "format": "date"
                },
                "shown_in_country": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "shown_in_country_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "note": {
                  "type": "string",
                  "description": "Where and when the price was seen; prices vary by country."
                },
                "source_url": {
                  "type": "string",
                  "format": "uri"
                }
              }
            },
            "money_back": {
              "type": "object",
              "required": [
                "days",
                "source_url"
              ],
              "properties": {
                "days": {
                  "type": "integer"
                },
                "source_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "source_url": {
                  "type": "string",
                  "format": "uri"
                }
              }
            },
            "server_countries": {
              "type": "object",
              "required": [
                "count",
                "source_url"
              ],
              "properties": {
                "count": {
                  "type": "integer"
                },
                "note": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "source_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "source_url": {
                  "type": "string",
                  "format": "uri"
                }
              }
            },
            "devices": {
              "type": "object",
              "required": [
                "source_url"
              ],
              "properties": {
                "count": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "unlimited": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "source_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "source_url": {
                  "type": "string",
                  "format": "uri"
                }
              }
            }
          }
        },
        "deal": {
          "type": [
            "object",
            "null"
          ],
          "description": "The provider's current deal as shown on its order page on checked_at; it may change and varies by country. null when none is recorded.",
          "required": [
            "text",
            "plan",
            "checked_at",
            "source_url",
            "note"
          ],
          "properties": {
            "text": {
              "type": "string"
            },
            "plan": {
              "type": "string"
            },
            "checked_at": {
              "type": "string",
              "format": "date"
            },
            "source_url": {
              "type": "string",
              "format": "uri"
            },
            "source_type": {
              "type": [
                "string",
                "null"
              ]
            },
            "note": {
              "type": "string"
            }
          }
        },
        "comparison": {
          "type": "object",
          "required": [
            "rank",
            "of",
            "text",
            "url"
          ],
          "properties": {
            "rank": {
              "type": [
                "integer",
                "null"
              ],
              "description": "null when not enough facts are verified for a place."
            },
            "of": {
              "type": "integer"
            },
            "points": {
              "type": [
                "integer",
                "null"
              ]
            },
            "max": {
              "const": 100
            },
            "text": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          }
        },
        "compare_url": {
          "type": "string"
        },
        "compare_text": {
          "type": "string"
        },
        "data_updated": {
          "type": "string",
          "format": "date"
        }
      }
    },
    "Step": {
      "type": "object",
      "required": [
        "title",
        "detail"
      ],
      "properties": {
        "title": {
          "type": "string"
        },
        "detail": {
          "type": "string",
          "description": "Backtick-wrapped segments are commands."
        },
        "platforms": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional per-platform hints: windows, macos, android, ios, chromeos, linux."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/checkwebsitenow-com-check-result"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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.

A second provider on the same verified email joins the account you already have.