{"slug":"netintel-dev-normalize-json-65f00c","title":"Conform messy or inconsistent JSON to a target schema using Claude Haiku — renam","host":"netintel.dev","method":"POST","resource":"https://netintel.dev/normalize/json","category":"other","description":"Conform messy or inconsistent JSON to a target schema using Claude Haiku — renames keys, coerces types (string→number, \"true\"→boolean, etc.), and fills missing fields with null, returning JSON that matches the exact shape the caller specified so agents can normalize data from varied sources into one","price_listed":0.05,"price_asked":0.05,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":920,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"data":{"active":"yes","age":"42","fullName":"Jane Doe","signup":"March 1 2024","tags":"vip,beta"},"schema":{"age":"number","full_name":"string","is_active":"boolean","signup_date":"date","tags":"string[]"}},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"data":{"description":"The messy JSON to normalize — a JSON string or an already-parsed object. Max 10000 words or 50KB.","type":["string","object"]},"schema":{"description":"A map of field name → type token. Supported tokens: string, number, boolean, date, string[], number[], object. Max 50 fields. Output keys are forced to exactly these field names.","type":"object"}},"required":["data","schema"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"cached":{"description":"True if served from the in-memory cache.","type":"boolean"},"fields_in_schema":{"description":"Number of fields in the target schema.","type":"number"},"fields_nulled":{"description":"Number of null fields in the output.","type":"number"},"fields_populated":{"description":"Number of non-null fields in the output.","type":"number"},"findings":{"description":"Informational findings (e.g. schema_mismatch_corrected, mostly_nulled).","items":{"type":"string"},"type":"array"},"grade":{"description":"Letter grade A-F.","type":"string"},"normalized":{"description":"The input conformed to the target schema: keys are exactly the schema field names, values coerced to the declared types, missing fields null.","type":"object"},"schema_match":{"description":"True when the model's output keys were exactly the schema field names. False when code had to force-conform (strip extra / add missing) keys.","type":"boolean"},"score":{"description":"Quality score 0-100.","type":"number"}},"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.05,"price_match":true,"latency_ms":920,"error":null}],"description_full":"Conform messy or inconsistent JSON to a target schema using Claude Haiku — renames keys, coerces types (string→number, \"true\"→boolean, etc.), and fills missing fields with null, returning JSON that matches the exact shape the caller specified so agents can normalize data from varied sources into one consistent structure.","last_updated":"2026-09-19T20:41:17.872Z","schemes":["exact"]}