{"id":"json-schema-batch-validate","version":"1.0.0","description":"Validate many JSON records against one Draft 2020-12 subset schema; per-record validity, error pointers, counts.","supported_operations":["validate a batch of generated json records against one schema","check every llm generated object in a list against json schema 2020-12","per record json schema errors with json pointer paths","how many records in this dataset fail the schema","bulk validate synthetic records with one draft 2020-12 schema","בדיקת רשומות רבות מול JSON Schema 2020-12"],"unsupported_operations":["pattern, patternProperties, propertyNames, contains, if/then/else, dependent*, unevaluated* keywords (unsupported_input)","remote, relative or anchor $ref and embedded $id resources","one schema per record or schema inference from records","repairing, coercing or deduplicating records","JSON Lines text input (pass parsed records)"],"semantics":["One schema (object or boolean) is compiled once and applied to each element of items in order; index is the 0-based position. Supported keywords, annotations and refusals are identical to the family validator: $schema (2020-12 URI, root only), $id (root only), $defs, $ref (\"#\"-fragment, same document), allOf, anyOf, oneOf, not, type, enum, const, multipleOf, maximum, exclusiveMaximum, minimum, exclusiveMinimum, maxLength, minLength, required, properties, additionalProperties, maxProperties, minProperties, prefixItems, items, maxItems, minItems, uniqueItems; title, description, default, examples, deprecated, readOnly, writeOnly, format, $comment, contentEncoding, contentMediaType are ignored; any other keyword is unsupported_input.","output_format is \"basic\" when omitted: {item_count, valid_count, invalid_count, error_count, truncated, results:[{index, valid, errors, truncated}]}. Each error is a leaf output unit {keyword_location, absolute_keyword_location?, instance_location, keyword, params}; instance_location is relative to the record. \"flag\" returns only {results:[{index, valid}]} and stops each record at its first failure (core 12.4.1).","Per record, keywords are evaluated in a fixed order: $ref, allOf, anyOf, oneOf, not, type, enum, const, multipleOf, maximum, exclusiveMaximum, minimum, exclusiveMinimum, maxLength, minLength, required (listed order), then instance members ascending by UTF-16 code units (each checked by properties when listed there, otherwise by additionalProperties), maxProperties, minProperties, then elements by index (prefixItems, then items), maxItems, minItems, uniqueItems. Errors are listed in that order; schema and record key order never change results.","anyOf, oneOf and not give one unit (branch_count, passing_count). A false subschema is reported under its applicator (properties/additionalProperties: property; items/prefixItems/allOf: index; $ref) or as false_schema at the root. absolute_keyword_location appears only when the root $id is an absolute URI and the path crossed a $ref.","type integer = zero fractional part; lengths in code points; enum/const/uniqueItems use JSON equality; multipleOf is exact on shortest round-trip decimals.","At most 500 error units are reported across the whole batch; after that each record is still classified exactly (valid flags and counts stay exact) and truncated marks records with unreported failures.","Bounds: input 131072 bytes; 1000 items; the schema and each record nested at most 32 levels (max_value_depth; a scalar is 0, [] or {} is 1); 64 nested subschema applications; 50000 work units for the whole batch (1 per subschema application, 1 per member or element scanned by properties/additionalProperties, prefixItems/items or uniqueItems, 1 per required name); output 262144 bytes. Exceeding any is limit_exceeded."],"limits":{"max_input_bytes":131072,"max_items":1000,"max_value_depth":32,"max_evaluation_depth":64,"max_evaluation_work":50000,"max_errors":500,"max_output_bytes":262144},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["schema","items"],"properties":{"schema":{"description":"JSON Schema 2020-12 document (object or boolean) within the supported subset"},"items":{"type":"array","maxItems":1000,"items":{"description":"One JSON record"}},"output_format":{"type":"string","enum":["basic","flag"]}}},"output_schema":{"type":"object","additionalProperties":false,"required":["results"],"properties":{"item_count":{"type":"integer","minimum":0},"valid_count":{"type":"integer","minimum":0},"invalid_count":{"type":"integer","minimum":0},"error_count":{"type":"integer","minimum":0,"maximum":500},"truncated":{"type":"boolean"},"results":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["index","valid"],"properties":{"index":{"type":"integer","minimum":0},"valid":{"type":"boolean"},"errors":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["keyword_location","instance_location","keyword","params"],"properties":{"keyword_location":{"type":"string"},"absolute_keyword_location":{"type":"string"},"instance_location":{"type":"string"},"keyword":{"type":"string","enum":["type","enum","const","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","required","maxProperties","minProperties","maxItems","minItems","uniqueItems","anyOf","oneOf","not","properties","additionalProperties","prefixItems","items","allOf","$ref","false_schema"]},"params":{"type":"object","additionalProperties":false,"properties":{"expected":{"type":"array","items":{"type":"string","enum":["array","boolean","integer","null","number","object","string"]}},"actual":{"type":"string","enum":["array","boolean","integer","null","number","object","string"]},"limit":{"type":"number"},"count":{"type":"integer","minimum":0},"property":{"type":"string"},"index":{"type":"integer","minimum":0},"indexes":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer","minimum":0}},"branch_count":{"type":"integer","minimum":1},"passing_count":{"type":"integer","minimum":0}}}}}},"truncated":{"type":"boolean"}}}}}},"examples":[{"input":{"schema":{"type":"object","required":["sku","qty"],"properties":{"sku":{"type":"string"},"qty":{"type":"integer","minimum":1}}},"items":[{"sku":"A1","qty":2},{"sku":"B2","qty":0},{"qty":1.5}]},"output":{"item_count":3,"valid_count":1,"invalid_count":2,"error_count":3,"truncated":false,"results":[{"index":0,"valid":true,"errors":[],"truncated":false},{"index":1,"valid":false,"errors":[{"keyword_location":"/properties/qty/minimum","instance_location":"/qty","keyword":"minimum","params":{"limit":1}}],"truncated":false},{"index":2,"valid":false,"errors":[{"keyword_location":"/required","instance_location":"","keyword":"required","params":{"property":"sku"}},{"keyword_location":"/properties/qty/type","instance_location":"/qty","keyword":"type","params":{"expected":["integer"],"actual":"number"}}],"truncated":false}]}},{"input":{"schema":{"enum":["yes","no"]},"items":["yes","maybe"],"output_format":"flag"},"output":{"results":[{"index":0,"valid":true},{"index":1,"valid":false}]}}],"execute_url":"/v1/tools/json-schema-batch-validate/versions/1.0.0/execute"}