lenz-io · Schema

ReviewFullOut

AIFact-CheckingEnterpriseAPIAudit

Properties

Name Type Description
review_id string
status string verifying: deep checks or citation checks are running. cancelled: you cancelled it (POST /reviews/{review_id}/cancel); only what it delivered before that is charged.
outcome object Null until terminal. clean covers the selected claims at the policy's chosen depth. issues_found with an empty issues[] means the rows are in citation_issues[]. A deep check that reads "No Public Reco
created_at string
completed_at object
language string The language the review is written in, as an ISO 639-1 code. `auto` only while a review sent with `language: "auto"` on a draft that is one URL has not read its page yet; then the detected code, or `e
policy object
summary object
credits object
poll_after_seconds object
issues array
failures array
citation_issues array Citations whose source does not say what the draft says, the most serious first; partly_supported rows are not issues and are only in citations[]. [] when the check was not asked.
citation_failures array
more_claims object Claims found past max_assessments, in the draft's order: found but not checked; send them in a later request to check them. Null until the draft is read.
more_claim_locations object Where the draft makes each of `more_claims`, in the same order: `{claim, positions}`, the shape `/extract` returns with `locate: true` (see a claim row's `positions`). Null until the draft is read.
more_citations object Citations found past the ones selected (up to 100): found but not checked; send them in a later request to check them. Null until the draft is read.
failure object
view string
claims array
citations array
View JSON Schema on GitHub

JSON Schema

lenz-io-review-full-out-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/lenz-io/json-schema/lenz-io-review-full-out-schema.json",
  "title": "ReviewFullOut",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/lenz-io-openapi.json#/components/schemas/ReviewFullOut",
  "properties": {
    "review_id": {
      "title": "Review Id",
      "type": "string"
    },
    "status": {
      "description": "verifying: deep checks or citation checks are running. cancelled: you cancelled it (POST /reviews/{review_id}/cancel); only what it delivered before that is charged.",
      "enum": [
        "queued",
        "assessing",
        "verifying",
        "completed",
        "failed",
        "cancelled"
      ],
      "title": "Status",
      "type": "string"
    },
    "outcome": {
      "anyOf": [
        {
          "enum": [
            "clean",
            "issues_found",
            "incomplete",
            "unchecked"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Null until terminal. clean covers the selected claims at the policy's chosen depth. issues_found with an empty issues[] means the rows are in citation_issues[]. A deep check that reads \"No Public Record\" is an issue (not on the public record).",
      "title": "Outcome"
    },
    "created_at": {
      "title": "Created At",
      "type": "string"
    },
    "completed_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Completed At"
    },
    "language": {
      "description": "The language the review is written in, as an ISO 639-1 code. `auto` only while a review sent with `language: \"auto\"` on a draft that is one URL has not read its page yet; then the detected code, or `en` when the page could not be read.",
      "title": "Language",
      "type": "string"
    },
    "policy": {
      "$ref": "#/$defs/ReviewPolicyOut"
    },
    "summary": {
      "$ref": "#/$defs/ReviewSummaryOut"
    },
    "credits": {
      "$ref": "#/$defs/ReviewCreditsOut"
    },
    "poll_after_seconds": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Poll After Seconds"
    },
    "issues": {
      "items": {
        "$ref": "#/$defs/ReviewIssueOut"
      },
      "title": "Issues",
      "type": "array"
    },
    "failures": {
      "items": {
        "$ref": "#/$defs/ReviewFailedRowOut"
      },
      "title": "Failures",
      "type": "array"
    },
    "citation_issues": {
      "default": [],
      "description": "Citations whose source does not say what the draft says, the most serious first; partly_supported rows are not issues and are only in citations[]. [] when the check was not asked.",
      "items": {
        "$ref": "#/$defs/ReviewCitationIssueOut"
      },
      "title": "Citation Issues",
      "type": "array"
    },
    "citation_failures": {
      "default": [],
      "items": {
        "$ref": "#/$defs/ReviewCitationFailedRowOut"
      },
      "title": "Citation Failures",
      "type": "array"
    },
    "more_claims": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "description": "Claims found past max_assessments, in the draft's order: found but not checked; send them in a later request to check them. Null until the draft is read.",
      "title": "More Claims"
    },
    "more_claim_locations": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ClaimLocationOut"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "description": "Where the draft makes each of `more_claims`, in the same order: `{claim, positions}`, the shape `/extract` returns with `locate: true` (see a claim row's `positions`). Null until the draft is read.",
      "title": "More Claim Locations"
    },
    "more_citations": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ReviewMoreCitationOut"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "description": "Citations found past the ones selected (up to 100): found but not checked; send them in a later request to check them. Null until the draft is read.",
      "title": "More Citations"
    },
    "failure": {
      "anyOf": [
        {
          "$ref": "#/$defs/FailureOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "view": {
      "const": "full",
      "title": "View",
      "type": "string"
    },
    "claims": {
      "items": {
        "$ref": "#/$defs/ReviewClaimOut"
      },
      "title": "Claims",
      "type": "array"
    },
    "citations": {
      "default": [],
      "items": {
        "$ref": "#/$defs/ReviewCitationOut"
      },
      "title": "Citations",
      "type": "array"
    }
  },
  "required": [
    "review_id",
    "status",
    "outcome",
    "created_at",
    "completed_at",
    "language",
    "policy",
    "summary",
    "credits",
    "poll_after_seconds",
    "issues",
    "failures",
    "failure",
    "view",
    "claims"
  ],
  "type": "object",
  "$defs": {
    "ClaimLocationOut": {
      "properties": {
        "claim": {
          "description": "The claim, exactly as it appears in the claim list it belongs to.",
          "title": "Claim",
          "type": "string"
        },
        "positions": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/PositionOut"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "description": "Every place the text makes the claim, in text order, at most 10. `null` only when this claim could not be placed (on /extract every returned claim was placed).",
          "title": "Positions"
        }
      },
      "required": [
        "claim",
        "positions"
      ],
      "title": "ClaimLocationOut",
      "type": "object"
    },
    "FailureOut": {
      "description": "Why an item failed, and what to do next. The same block everywhere an\nitem fails: a verification, an /assess row, a review, a review's claim\nrows and citation checks.\n\n``code`` is what failed, ``detail`` one sentence on it (the same sentence\nfor the same code on every endpoint), ``hint`` what to send next (null\nwhen there is nothing to change), ``failure_class`` why, ``retryable``\nwhether sending the same request again can succeed, ``docs_url`` where\nthat class is explained.\n\nAPI version ``2026-05-13`` sends each endpoint's earlier fields instead\n(flat ``error`` / ``failure_reason`` on a verification, ``error_code`` /\n``hint`` on an /assess row, ``failure.failure_reason`` on a review).",
      "properties": {
        "code": {
          "description": "What failed, one vocabulary everywhere: `no_checkable_claim`, `page_unreadable`, `upstream_unavailable`, `internal`, `cancelled`, `no_citations`, `insufficient_credits` (a verification only ever says the first, the third, the fourth and `cancelled`). Branch on `retryable` for whether to resend, and on the input codes for what to say; fall through on a value you do not know. `no_checkable_claim`: no claim in the input could be checked against public evidence (an opinion, a forecast, a claim about a private person, a statement whose only source is unidentified; on a review, also claims found that could not be traced back to the text); `hint` says which. `page_unreadable`: the link /review was sent could not be read. Version `2026-05-13` spells `no_checkable_claim` as `no_claim` (/assess, /review) or `not_a_claim` (/extract, a verification), and keeps the earlier causes as codes (`timeout`, `framing_failed`, `assessment_failed`, `citation_check_failed`, `invalid_input`).",
          "title": "Code",
          "type": "string"
        },
        "detail": {
          "description": "The cause, in one sentence (out of time, no row could be assessed, ...); the same sentence for the same cause everywhere.",
          "title": "Detail",
          "type": "string"
        },
        "hint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "What to send next; null when there is nothing to change.",
          "title": "Hint"
        },
        "failure_class": {
          "enum": [
            "upstream_unavailable",
            "invalid_input",
            "cancelled",
            "internal"
          ],
          "title": "Failure Class",
          "type": "string"
        },
        "retryable": {
          "title": "Retryable",
          "type": "boolean"
        },
        "docs_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Docs Url"
        }
      },
      "required": [
        "code",
        "detail",
        "failure_class",
        "retryable",
        "docs_url"
      ],
      "title": "FailureOut",
      "type": "object"
    },
    "PositionOut": {
      "properties": {
        "start": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Where the passage starts in `text` as you sent it, in Unicode code points (not UTF-16 units or bytes). Half-open with `end`. `null` when `text` was a URL: the page is not returned, so there is nothing to index, and `text` carries the passage instead.",
          "title": "Start"
        },
        "end": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Where the passage ends, exclusive; `null` as for `start`.",
          "title": "End"
        },
        "text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The passage itself, as it appears in the text. `null` on a citation position, whose row already carries the statement.",
          "title": "Text"
        }
      },
      "required": [
        "start",
        "end",
        "text"
      ],
      "title": "PositionOut",
      "type": "object"
    },
    "ReviewAssessmentCountsOut": {
      "properties": {
        "completed": {
          "title": "Completed",
          "type": "integer"
        },
        "failed": {
          "title": "Failed",
          "type": "integer"
        }
      },
      "required": [
        "completed",
        "failed"
      ],
      "title": "ReviewAssessmentCountsOut",
      "type": "object"
    },
    "ReviewAssessmentOut": {
      "properties": {
        "status": {
          "enum": [
            "pending",
            "running",
            "completed",
            "failed"
          ],
          "title": "Status",
          "type": "string"
        },
        "verdict": {
          "anyOf": [
            {
              "enum": [
                "True",
                "Mostly True",
                "Mixed",
                "Mostly False",
                "False",
                "No Public Record"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Verdict"
        },
        "confidence": {
          "anyOf": [
            {
              "enum": [
                "low",
                "medium",
                "high"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Confidence"
        },
        "rationale": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Rationale"
        },
        "dissent": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "deprecated": true,
          "description": "Deprecated: always null.",
          "title": "Dissent"
        },
        "searched_pages": {
          "default": [],
          "description": "Pages looked at while assessing this claim, as title and link.",
          "items": {
            "$ref": "#/$defs/SearchedPageOut"
          },
          "title": "Searched Pages",
          "type": "array"
        },
        "verification_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Verification Url"
        },
        "suggested_rewrite": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "With `escalate.suggest_edits`: the claim with its wrong part corrected, from the quick check's reasoning, when it found the claim False or Mostly False with high confidence. Not itself verified. `null` otherwise.",
          "title": "Suggested Rewrite"
        },
        "more_claims": {
          "default": [],
          "description": "Further claims found inside this one, not checked.",
          "items": {
            "type": "string"
          },
          "title": "More Claims",
          "type": "array"
        },
        "failure": {
          "anyOf": [
            {
              "$ref": "#/$defs/FailureOut"
            },
            {
              "type": "null"
            }
          ],
          "description": "Set when status is failed."
        },
        "identified_claims": {
          "description": "Sent only to callers on `2026-05-13`; use `more_claims`.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "deprecated": true
        }
      },
      "required": [
        "status"
      ],
      "title": "ReviewAssessmentOut",
      "type": "object"
    },
    "ReviewCitationCheckOut": {
      "properties": {
        "status": {
          "enum": [
            "pending",
            "running",
            "completed",
            "failed"
          ],
          "title": "Status",
          "type": "string"
        },
        "page_read": {
          "anyOf": [
            {
              "enum": [
                "full",
                "partial",
                "not_found",
                "none"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "What reading the source gave: full, partial (cut short, a teaser or an abstract alone), not_found, none.",
          "title": "Page Read"
        },
        "page_title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Page Title"
        },
        "page_published_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Page Published Date"
        },
        "page_language": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The language of the page that was read, as an ISO 639-1 code (e.g. `en`, `uk`); null when unknown.",
          "title": "Page Language"
        },
        "source_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Where the text was actually read from.",
          "title": "Source Url"
        },
        "source_version": {
          "anyOf": [
            {
              "enum": [
                "published",
                "accepted",
                "submitted"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Source Version"
        },
        "support": {
          "anyOf": [
            {
              "enum": [
                "supported",
                "partly_supported",
                "contradicted",
                "not_in_source",
                "unchecked"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Support"
        },
        "snippet": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The passage from the source the support answer rests on, checked against the page text.",
          "title": "Snippet"
        },
        "rationale": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The reviewer's sentence: reasoning, not a checked source.",
          "title": "Rationale"
        },
        "quote": {
          "anyOf": [
            {
              "enum": [
                "matched",
                "not_in_source",
                "unchecked"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Quote"
        },
        "missing_quote": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The first of quotes the source does not contain; null unless quote is not_in_source.",
          "title": "Missing Quote"
        },
        "doi_registered": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Doi Registered"
        },
        "metadata": {
          "anyOf": [
            {
              "enum": [
                "consistent",
                "mismatch",
                "unchecked"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Metadata"
        },
        "metadata_differences": {
          "default": [],
          "items": {
            "$ref": "#/$defs/ReviewMetadataDifferenceOut"
          },
          "title": "Metadata Differences",
          "type": "array"
        },
        "registered": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReviewRegisteredOut"
            },
            {
              "type": "null"
            }
          ]
        },
        "unchecked_reason": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Why the finding is unchecked; an extensible string.",
          "title": "Unchecked Reason"
        },
        "hint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Hint"
        },
        "failure": {
          "anyOf": [
            {
              "$ref": "#/$defs/FailureOut"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "status"
      ],
      "title": "ReviewCitationCheckOut",
      "type": "object"
    },
    "ReviewCitationCountsOut": {
      "description": "Three disjoint counts; once every check has ended they add up to citations_selected.",
      "properties": {
        "checked": {
          "description": "A finding other than unchecked.",
          "title": "Checked",
          "type": "integer"
        },
        "unchecked": {
          "description": "Could not be checked, for a reason of the page or the draft.",
          "title": "Unchecked",
          "type": "integer"
        },
        "failed": {
          "description": "No finding, for a reason of ours.",
          "title": "Failed",
          "type": "integer"
        }
      },
      "required": [
        "checked",
        "unchecked",
        "failed"
      ],
      "title": "ReviewCitationCountsOut",
      "type": "object"
    },
    "ReviewCitationFailedRowOut": {
      "properties": {
        "citation_index": {
          "title": "Citation Index",
          "type": "integer"
        },
        "reference": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Reference"
        },
        "cited_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Cited Url"
        },
        "doi": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Doi"
        },
        "failure": {
          "anyOf": [
            {
              "$ref": "#/$defs/FailureOut"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "citation_index",
        "reference",
        "cited_url",
        "doi",
        "failure"
      ],
      "title": "ReviewCitationFailedRowOut",
      "type": "object"
    },
    "ReviewCitationIssueOut": {
      "properties": {
        "citation_index": {
          "title": "Citation Index",
          "type": "integer"
        },
        "reference": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Reference"
        },
        "cited_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Cited Url"
        },
        "doi": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Doi"
        },
        "statement": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Statement"
        },
        "quotes": {
          "default": [],
          "items": {
            "type": "string"
          },
          "title": "Quotes",
          "type": "array"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/PositionOut"
            },
            {
              "type": "null"
            }
          ]
        },
        "finding": {
          "enum": [
            "doi_not_found",
            "page_not_found",
            "contradicted",
            "quote_not_in_source",
            "not_in_source",
            "partly_supported",
            "metadata_mismatch",
            "supported",
            "unchecked"
          ],
          "title": "Finding",
          "type": "string"
        },
        "source": {
          "anyOf": [
            {
              "enum": [
                "doi",
                "page",
                "support",
                "quote",
                "metadata"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Source"
        },
        "snippet": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Set only when source is support.",
          "title": "Snippet"
        },
        "rationale": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Set only when source is support.",
          "title": "Rationale"
        },
        "metadata_differences": {
          "default": [],
          "items": {
            "$ref": "#/$defs/ReviewMetadataDifferenceOut"
          },
          "title": "Metadata Differences",
          "type": "array"
        },
        "missing_quote": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Set only when finding is quote_not_in_source.",
          "title": "Missing Quote"
        },
        "page_title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Page Title"
        },
        "failure": {
          "anyOf": [
            {
              "$ref": "#/$defs/FailureOut"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "citation_index",
        "reference",
        "cited_url",
        "doi",
        "statement",
        "position",
        "finding",
        "source",
        "snippet",
        "rationale",
        "page_title",
        "failure"
      ],
      "title": "ReviewCitationIssueOut",
      "type": "object"
    },
    "ReviewCitationOut": {
      "properties": {
        "index": {
          "title": "Index",
          "type": "integer"
        },
        "reference": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Reference"
        },
        "cited_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Cited Url"
        },
        "doi": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Doi"
        },
        "statement": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Statement"
        },
        "quotes": {
          "default": [],
          "items": {
            "type": "string"
          },
          "title": "Quotes",
          "type": "array"
        },
        "position": {
          "anyOf": [
            {
              "$ref": "#/$defs/PositionOut"
            },
            {
              "type": "null"
            }
          ]
        },
        "result": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReviewCitationResultOut"
            },
            {
              "type": "null"
            }
          ]
        },
        "check": {
          "$ref": "#/$defs/ReviewCitationCheckOut"
        }
      },
      "required": [
        "index",
        "reference",
        "cited_url",
        "doi",
        "statement",
        "position",
        "result",
        "check"
      ],
      "title": "ReviewCitationOut",
      "type": "object"
    },
    "ReviewCitationResultOut": {
      "properties": {
        "finding": {
          "enum": [
            "doi_not_found",
            "page_not_found",
            "contradicted",
            "quote_not_in_source",
            "not_in_source",
            "partly_supported",
            "metadata_mismatch",
            "supported",
            "unchecked"
          ],
          "title": "Finding",
          "type": "string"
        },
        "source": {
          "anyOf": [
            {
              "enum": [
                "doi",
                "page",
                "support",
                "quote",
                "metadata"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Source"
        },
        "is_issue": {
          "description": "True for every finding except partly_supported, supported and unchecked. partly_supported is reported, with its snippet, but is not an issue.",
          "title": "Is Issue",
          "type": "boolean"
        }
      },
      "required": [
        "finding",
        "source",
        "is_issue"
      ],
      "title": "ReviewCitationResultOut",
      "type": "object"
    },
    "ReviewClaimOut": {
      "properties": {
        "index": {
          "title": "Index",
          "type": "integer"
        },
        "claim": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Claim"
        },
        "positions": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/PositionOut"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "description": "Where the draft makes this claim: every place, in text order, at most 10, in the same shape as a citation's `position`: `start` / `end` in Unicode code points of `text` as you sent it, half-open, and the passage in `text`. For a URL draft `start` / `end` are `null` and `text` carries the passage. Only claims traced back to the draft are listed at all. `null` when the claim could not be placed, or once a zero-retention draft is gone.",
          "title": "Positions"
        },
        "result": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReviewResultOut"
            },
            {
              "type": "null"
            }
          ]
        },
        "assessment": {
          "$ref": "#/$defs/ReviewAssessmentOut"
        },
        "escalation": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReviewEscalationOut"
            },
            {
              "type": "null"
            }
          ]
        },
        "verification": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReviewVerificationOut"
            },
            {
              "type": "null"
            }
          ]
        },
        "suggested_edits": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReviewSuggestedEditsOut"
            },
            {
              "type": "null"
            }
          ],
          "description": "Asked with `escalate.suggest_edits`. They follow the row's suggested rewrite: its completed deep check's, else its quick check's (see the issue's `source`). `null` when not asked, when the claim has no suggested rewrite, when the draft's passage is not in a supported language or could not be placed, or once a zero-retention draft is gone. Guide: https://lenz.io/docs/citations#suggested-edits"
        }
      },
      "required": [
        "index",
        "claim",
        "result",
        "assessment",
        "escalation",
        "verification"
      ],
      "title": "ReviewClaimOut",
      "type": "object"
    },
    "ReviewCreditsOut": {
      "properties": {
        "charged": {
          "description": "Net credits this review cost the account, read from the ledger. Authoritative once no deep check is running.",
          "title": "Charged",
          "type": "integer"
        }
      },
      "required": [
        "charged"
      ],
      "title": "ReviewCreditsOut",
      "type": "object"
    },
    "ReviewEntityOut": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
    

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://artifacts.apis.io/lenz-io/json-schema/lenz-io-review-full-out-schema.json

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/lenz-io-review-full-out"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.