{"uid":"cap_NXVfQ84RuFnxXD1ac_tVj","slug":"aiskills402-jsonl-repair-daa0fc95","name":"AISkills402 JSONL Repair","description":"JSONL Repair API: turns broken JSON Lines (NDJSON) into one valid record per line - joins, splits, unwraps, drops fences and chat text, fixes quotes, keys, commas, Python literals; numbers copied as written. $0.003 USDC per call, no account, no language model: a cut-off record, repeated key or ambiguous leading zero gets a paid CANNOT REPAIR verdict. POST JSON {input} up to 60 000 chars; free example at https://api.aiskills402.com/v1/run/jsonl-repair/example","url":"https://api.aiskills402.com/v1/run/jsonl-repair?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"input":{"type":"string","maxLength":60000,"minLength":1,"description":"Text that was meant to be JSON Lines (NDJSON) and is not: glued, pretty-printed, fenced, array-wrapped or sloppy records."}}},"responseSchema":{"type":"json","example":{"ok":true,"skill":"jsonl-repair","engine":"1.0.0","replay":false,"result":{"jsonl":"{\"id\":1,\"ok\":true}\n{\"id\":2,\"ok\":null,\"price\":1.10}","records":2},"receipt":{"tx":"0x<settlement transaction>","settled":true},"refusal":null,"input_sha256":"<sha256 of the request>"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_KaLBtm40J1tnD8cCKAb61","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Converts malformed or broken JSON Lines (NDJSON) text into valid, one-record-per-line JSONL output using deterministic repair rules — no LLM involved.","exampleAgentPrompt":"This JSONL output from the pipeline is broken — records got glued together and some have Python-style True/None values. Can you repair it into valid one-record-per-line JSONL? Here's the text: '{\"id\":1,\"ok\":True}{\"id\":2,\"ok\":None,\"price\":1.10}'","exampleUseCases":[{"title":"Fix LLM-generated JSONL output","prompt":"The model returned a big blob of JSON wrapped in a markdown code fence with all the records mashed together — can you repair it into proper JSONL, one record per line, so I can feed it into my pipeline?"},{"title":"Normalize array-wrapped JSON to NDJSON","prompt":"I have a JSON array like [{\"a\":1},{\"b\":2}] that I need converted into newline-delimited JSON records — can you split it out into valid JSONL for me?"},{"title":"Repair JSONL with Python literal values","prompt":"My data file has Python-style booleans and None values scattered through it — True, False, None instead of proper JSON. Can you fix the whole file into valid JSONL?"}],"resultDescription":"Returns a JSON object with 'ok' true/false, a 'result' object containing the repaired JSONL string (one valid JSON object per line) and the count of records produced, plus a blockchain settlement receipt and the SHA-256 of the input. If the input is too ambiguous or malformed to repair (e.g. cut-off record, repeated keys, ambiguous leading zero), the 'refusal' field explains why and 'ok' is false.","failureModes":["CANNOT REPAIR verdict returned for cut-off records that are syntactically unresolvable","CANNOT REPAIR for repeated/duplicate keys where intent is ambiguous","CANNOT REPAIR for numbers with ambiguous leading zeros","Input exceeds 60,000 character limit — request rejected","Payment failure via x402 protocol — endpoint returns 402 before processing","Malformed POST body (missing 'input' field) — validation error"],"whenToPreferThis":"Choose this endpoint when you need deterministic, rule-based JSONL repair without involving a language model — it is faster, cheaper, and fully reproducible. Ideal for data pipeline automation where LLM-based repair would introduce non-determinism or cost too much at scale. Best when the malformation is structural (fencing, wrapping, gluing, Python literals, quote issues) rather than semantic content corruption.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-14T06:45:23.868Z","isFirstParty":false,"canonicalSlug":"aiskills402-jsonl-repair-daa0fc95"}