A declarative language for describing the shape of JSON data: which fields are required, of what type, which values are allowed. A validator takes the schema and a document and answers whether the document fits. This is how program and agent output, settings and incoming requests are checked.