Missing sample fields need contract review
Use omitted fields, empty arrays and large numeric values to distinguish observed sample shapes from an authoritative API contract.
Prepare the actual evidence
A response may omit a field because of permissions, version or a business branch. Observed key intersections help draft required rules but cannot replace the API owner’s contract. Root array elements are not separate file samples.
The screen previews 4,000 Unicode codepoints; copy and download retain the full schema. This editable skeleton does not prove a complete API contract; review against authoritative requirements before publishing. Inputs stay in this browser.
- Paste one JSON sample or select all original sample files.
- Keep properties optional by default; enable observed required keys only deliberately.
- Generate and download the schema and full inference report.
- Confirm absent fields, business rules and required keys with the API owner, then edit and validate.
Review differences and inference evidence
One leading BOM per file is removed and recorded; pasted input cannot have a BOM. Reject decoded duplicate keys, malformed UTF-8, non-JSON syntax and raw/escaped unpaired Unicode surrogates. __proto__ and constructor remain literal properties.
Across all samples allow 100,000 value nodes, excluding object keys, and 64 container levels. Outputs together allow 32 MiB; refusal or cancellation returns no partial output.
Merge type unions, object properties and array item shapes. Every numeric token infers number without converting its value to JavaScript Number. No integer, format, range, enum, const or default inference.
{"id":9007199254740993,"items":[]}Complete the handoff review
Required is omitted by default. Only an explicit checkbox infers keys present in every observed object at that shape; the report labels this sample inference. Objects stay open; empty arrays without observed items omit items.
Download complete schema.json and inference-report.json with every source name, byte length, SHA256, shape observation counts, BOM and limitations. No external references are generated or fetched and input schemas are not executed.
The screen previews 4,000 Unicode codepoints; copy and download retain the full schema. This editable skeleton does not prove a complete API contract; review against authoritative requirements before publishing. Inputs stay in this browser.
Correct duplicate keys, encoding or syntax; reduce over-budget samples and rerun with the same options. Cancellation publishes no partial schema.
| File | Purpose |
|---|---|
| schema.json | Editable open Draft 2020-12 observed type skeleton |
| inference-report.json | Every source and observed shape count; explicit inference limits |
References
- JSON samples to schema question
The original request asks for a generated starting schema; the later CLI/API preference is retained. Browser preference and demand scale remain unknown.
- JSON Schema Draft 2020-12
Schema metadata and validation vocabulary; observed samples cannot establish a complete API contract.
Tools in this category
Expand a tool to see its steps, options and supported formats, then open its workspace.
JSON samples to schema skeletonMerge strict JSON sample shapes into an editable Draft 2020-12 type skeleton with sources and inference evidence.
Merge strict JSON sample shapes into an editable Draft 2020-12 type skeleton with sources and inference evidence.
Steps
- Paste one JSON sample or select all original sample files.
- Keep properties optional by default; enable observed required keys only deliberately.
- Generate and download the schema and full inference report.
- Confirm absent fields, business rules and required keys with the API owner, then edit and validate.
Available options
- Require keys present in every observed object
- Off by default
Sample inference only; confirm against the API contract.
Capabilities and limits
- Paste one strict JSON value up to 1 MiB, or select 1–20 strict UTF-8 JSON files up to 1 MiB each and 4 MiB together. Each original filename label allows 512 UTF-8 bytes as an input resource budget, not an operating-system PATH_MAX claim. Selected files take priority. One file is one sample; a root array stays one array sample.
- One leading BOM per file is removed and recorded; pasted input cannot have a BOM. Reject decoded duplicate keys, malformed UTF-8, non-JSON syntax and raw/escaped unpaired Unicode surrogates. __proto__ and constructor remain literal properties.
- Across all samples allow 100,000 value nodes, excluding object keys, and 64 container levels. Outputs together allow 32 MiB; refusal or cancellation returns no partial output.
- Merge type unions, object properties and array item shapes. Every numeric token infers number without converting its value to JavaScript Number. No integer, format, range, enum, const or default inference.
- Required is omitted by default. Only an explicit checkbox infers keys present in every observed object at that shape; the report labels this sample inference. Objects stay open; empty arrays without observed items omit items.
- Download complete schema.json and inference-report.json with every source name, byte length, SHA256, shape observation counts, BOM and limitations. No external references are generated or fetched and input schemas are not executed.
- The screen previews 4,000 Unicode codepoints; copy and download retain the full schema. This editable skeleton does not prove a complete API contract; review against authoritative requirements before publishing. Inputs stay in this browser.