Short answer: paste the schema and the document. Green means it matches; otherwise each row is a JSON Pointer, the keyword that rejected it, and what that keyword said.
Why the schema is compiled first
A schema can be syntactically valid JSON and still be an invalid schema — a typo like"type": "strng" compiles to a rule that can never match, and some mistakes throw outright. Compiling first separates “the contract is broken” from “the document is broken”, which are different fixes.
Reading a failure
#— the document root; arequiredfailure lands here.#/items/2/price— the third array item’s price field.additionalProperties— a key the schema did not allow. Usually the interesting one when an API rejects a payload you thought was fine.
The schema itself is often written in YAML — theYAML converter turns it into JSON for this page.