{"id":"json-schema-errors-group","version":"1.0.0","description":"Group batch JSON Schema errors by failing schema rule or data path; exact counts and record indexes, stable order.","supported_operations":["which schema rule fails most across my generated records","summarize batch json schema errors by keyword location","group validation errors by json pointer data path across records","count records failing each json schema constraint","top failing fields in a batch of llm json outputs","סיכום שגיאות סכמה לפי שדה בכל הרשומות"],"unsupported_operations":["validating records (use json-schema-batch-validate first)","fuzzy or similarity clustering of error messages","grouping by wildcard path patterns such as /items/*/price","statistics beyond exact counts (rates, percentiles)"],"semantics":["Input results are json-schema-batch-validate basic results: [{index, valid, errors, truncated}] with unique non-negative indexes; each error is a leaf unit {keyword_location, absolute_keyword_location?, instance_location, keyword, params} with exactly the params keys of its keyword and RFC 6901 locations. A valid result must have no errors and truncated false; an invalid one needs at least one error or truncated true. Anything else is invalid_input.","group_by is \"keyword_location\" when omitted (one group per failing schema rule, keyed by the dynamic keyword location); \"instance_location\" makes one group per failing data path inside a record. Keys are compared as exact strings.","Each group is {key, keywords, error_count, item_count, item_indexes}: keywords are the distinct unit keywords in UTF-16 code-unit order, error_count the number of units, item_indexes the distinct record indexes ascending, item_count their number.","Groups are ordered by error_count descending, then item_count descending, then key by RFC 6901 tokens (array-index tokens first in numeric order, other tokens by UTF-16 code units, a proper prefix first). Input order of results and units never changes the output.","Top level: {group_by, result_count, invalid_count, error_count, incomplete, groups}; incomplete is true when any result had truncated true (some failures were not reported, so counts cover reported units only).","Bounds: input 262144 bytes, 1000 results, 500 units in total; exceeding any is limit_exceeded. Input nested deeper than any valid results document (6 levels) is invalid_input. No output cap: groups never outnumber units and every index or keyword in the output comes from one input unit, so output stays below the input size plus 128 bytes plus 96 bytes per group."],"limits":{"max_input_bytes":262144,"max_results":1000,"max_errors":500},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["results"],"properties":{"results":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["index","valid","errors","truncated"],"properties":{"index":{"type":"integer","minimum":0},"valid":{"type":"boolean"},"errors":{"type":"array","maxItems":500,"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"}}}},"group_by":{"type":"string","enum":["keyword_location","instance_location"]}}},"output_schema":{"type":"object","additionalProperties":false,"required":["group_by","result_count","invalid_count","error_count","incomplete","groups"],"properties":{"group_by":{"type":"string","enum":["keyword_location","instance_location"]},"result_count":{"type":"integer","minimum":0,"maximum":1000},"invalid_count":{"type":"integer","minimum":0,"maximum":1000},"error_count":{"type":"integer","minimum":0,"maximum":500},"incomplete":{"type":"boolean"},"groups":{"type":"array","maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["key","keywords","error_count","item_count","item_indexes"],"properties":{"key":{"type":"string"},"keywords":{"type":"array","minItems":1,"items":{"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"]}},"error_count":{"type":"integer","minimum":1},"item_count":{"type":"integer","minimum":1},"item_indexes":{"type":"array","minItems":1,"items":{"type":"integer","minimum":0}}}}}}},"examples":[{"input":{"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/minimum","instance_location":"/qty","keyword":"minimum","params":{"limit":1}}],"truncated":false}]},"output":{"group_by":"keyword_location","result_count":3,"invalid_count":2,"error_count":3,"incomplete":false,"groups":[{"key":"/properties/qty/minimum","keywords":["minimum"],"error_count":2,"item_count":2,"item_indexes":[1,2]},{"key":"/required","keywords":["required"],"error_count":1,"item_count":1,"item_indexes":[2]}]}},{"input":{"results":[{"index":0,"valid":true,"errors":[],"truncated":false}],"group_by":"instance_location"},"output":{"group_by":"instance_location","result_count":1,"invalid_count":0,"error_count":0,"incomplete":false,"groups":[]}}],"execute_url":"/v1/tools/json-schema-errors-group/versions/1.0.0/execute"}