# SignalHarness JSONL Normalize & Validate

> SignalHarness JSONL Normalize & Validate is a paid API for AI agents from signalharness.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Normalizes and validates a block of JSONL (newline-delimited JSON) text, returning parsed records, validity counts, and rejected line details.

## Facts

- Endpoint: POST https://signalharness.ai/api/agent/services/jsonl_normalize_validate/invoke
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signalharness-jsonl-normalize-validate-15dda4e7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_w88KEkgD6D5WZOrUO4ZFs

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability signalharness-jsonl-normalize-validate-15dda4e7 -d '<json body>'
```

Example prompt: I have a block of JSONL text I need cleaned up — can you normalize it and tell me which lines are valid, which are invalid, and show me any rejected lines? Reject blank lines rather than ignoring them.

## When to prefer this

Choose this endpoint when you need to validate and normalize JSONL/newline-delimited JSON programmatically within an agent workflow, especially when you need both a cleaned output and granular reporting on which lines passed or failed. It is particularly valuable in ETL pipelines, data ingestion gates, or debugging sessions where you need to understand the exact shape of malformed records. At $0.01 USDC per call via x402, it is well-suited for on-demand agent use rather than bulk offline processing.

## Known failure modes

- Empty or missing text field returns an error
- Text exceeding 65,536 characters is rejected
- Invalid blankLinePolicy enum value causes a validation error
- Malformed request body returns a 400-level error
- Payment failure (insufficient USDC balance) returns a 402 error

## How this service works

Explore 330 pay-per-call x402 API services and 27 agent-native digital products, with Base USDC pricing, secure Polar checkout, and free discovery.

## Output

Returns a result object containing: the normalized JSONL string, an array of parsed record objects, a count of valid records, a count of invalid records, a count of total records, and an array of rejected lines with details. Also includes a receipt with payment, execution, and service metadata.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "text": {
   "type": "string",
   "maxLength": 65536,
   "minLength": 1
  },
  "blankLinePolicy": {
   "enum": [
    "ignore",
    "reject"
   ],
   "type": "string",
   "maxLength": 6,
   "minLength": 6
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "replay": false,
  "result": {
   "records": [
    {
     "line": 1,
     "value": {},
     "canonical": "example"
    }
   ],
   "normalized": "example",
   "validCount": 0,
   "recordCount": 0,
   "invalidCount": 0,
   "rejectedLines": [
    {
     "line": 1,
     "text": "Example caller-supplied content.",
     "error": "example"
    }
   ]
  },
  "status": "succeeded",
  "receipt": {
   "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "usage": [],
   "status": "succeeded",
   "network": "eip155:8453",
   "artifacts": [],
   "endedAtMs": 0,
   "latencyMs": 0,
   "paymentId": "example-payment",
   "receiptId": "example-receipt",
   "requestId": "example-request",
   "serviceId": "jsonl_normalize_validate",
   "executionId": "example-execution",
   "startedAtMs": 0,
   "amountAtomic": "10000",
   "resultSha256": "6cbd37ba1826039053fcb14ffb19aabb2e56aa4337811eac9b48b252f6839b2d",
   "serviceVersion": "1.0.0",
   "settlementReference": "0x0000000000000000000000000000000000000000000000000000000000000000"
  },
  "artifacts": [],
  "requestId": "example-request",
  "executionId": "example-execution"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signalharness-jsonl-normalize-validate-15dda4e7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from signalharness.ai](https://www.zero.xyz/host/signalharness.ai/llms.txt)
