{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "enum": [
        "success",
        "valid-negative",
        "unknown",
        "failed"
      ],
      "description": "Saved lifecycle or evidence state, as enumerated for this record."
    },
    "reason": {
      "type": "string",
      "description": "Recorded explanation; null when no explanation applies."
    },
    "requested_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "inspected_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "target_url": {
      "anyOf": [
        {
          "type": "string",
          "description": "Destination URL recorded in this evidence."
        },
        {
          "type": "null"
        }
      ],
      "description": "Destination URL recorded in this evidence."
    },
    "scope": {
      "type": "string"
    },
    "checked_at": {
      "type": "string",
      "description": "UTC timestamp of the saved check."
    },
    "complete": {
      "type": "boolean"
    },
    "occurrences": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "targetUrl": {
            "type": "string"
          },
          "anchor": {
            "type": "string"
          },
          "rel": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "targetUrl",
          "anchor",
          "rel"
        ],
        "additionalProperties": {}
      }
    },
    "checker_version": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "uncertainty": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "failure": {
      "type": "string",
      "enum": [
        "invalid_input",
        "budget",
        "cooling",
        "service"
      ]
    },
    "retry_at": {
      "type": "string"
    },
    "retry_after_seconds": {
      "type": "number"
    },
    "result_id": {
      "type": "string"
    },
    "permalink": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "cached": {
      "type": "boolean"
    }
  },
  "required": [
    "state",
    "reason",
    "requested_url",
    "inspected_url",
    "target_url",
    "scope",
    "checked_at",
    "complete",
    "occurrences",
    "checker_version",
    "uncertainty"
  ],
  "additionalProperties": {}
}
