Conform messy or inconsistent JSON to a target schema using Claude Haiku — renam
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.
Answeringour last check, 2026-09-24
1 of 1checks answered this week
920 msmedian answer time
$0.05listed price per call
$0.05price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://netintel.dev/normalize/json
| Category | Everything else |
|---|---|
| Provider host | netintel.dev |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.05 | 920 ms |
Example input (from the provider)
{
"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"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"data": {
"description": "The messy JSON to normalize \u2014 a JSON string or an already-parsed object. Max 10000 words or 50KB.",
"type": [
"string",
"object"
]
},
"schema": {
"description": "A map of field name \u2192 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"
}