# Payload Check

> Payload Check is a paid API for AI agents from seenly-payload-check.vercel.app, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-13).

Runs deterministic data-quality checks on any payload (JSON, code, HTML, CSV, LLM output) and returns a 0-100 score, pass/warn/fail verdict, and a list of concrete issues found

## Facts

- Endpoint: GET https://seenly-payload-check.vercel.app/api/check?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/payload-check-049d41e6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mJzwE9dya7pnsqWNNyGxd

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 payload-check-049d41e6
```

Example prompt: Before passing this JSON response downstream, run it through Payload Check with expect set to 'json' and a min_score of 85 — I want to catch any broken structure, truncation, or schema mismatches and auto-repair if possible.

## When to prefer this

Choose Payload Check when you need a fast, deterministic, privacy-safe quality gate for pipeline data — especially when you want to catch broken JSON, bot-challenge scrapes, LLM refusals, or code syntax errors before passing output to the next stage. It is ideal when you cannot send data to an LLM-based checker due to sensitivity, cost, or latency constraints. Prefer it over ad-hoc parsing logic when you need a structured score, a repairable JSON output, and consistent pass/fail thresholds across many payload types.

## Known failure modes

- Payload exceeds 256 KB limit — request rejected
- Content-type auto-detection misclassifies ambiguous payloads — use explicit 'expect' parameter to override
- Repair of severely malformed JSON may not succeed for all cases — repaired field may still be null
- Invalid JSON Schema provided in 'schema' field — schema validation step skipped or error returned
- Network timeout for unusually large payloads near the size limit

## How this service works

Payload Check: data-quality filter for agents. Send any payload (tool/API output, scraped page, LLM answer, generated code, JSON, CSV) and get a 0-100 quality score, pass/warn/fail, tags and concrete issues: invalid or truncated JSON (with auto-repair), JSON Schema mismatches, syntax errors, bot-challenge/captcha/404 scrapes, LLM refusals, placeholders, repetition loops, mojibake. Deterministic, no LLM, payload not stored.

## Output

Returns a quality score from 0 to 100, a verdict of pass, warn, or fail, an array of tagged issues (e.g. invalid_json, captcha_detected, llm_refusal, placeholder_found, repetition_loop, mojibake, schema_mismatch), the detected content type, and optionally a mechanically repaired version of broken JSON. The payload is never stored server-side.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "expect": {
   "enum": [
    "auto",
    "json",
    "code",
    "text",
    "html",
    "csv"
   ],
   "type": "string",
   "default": "auto",
   "description": "What the payload should be. auto detects it."
  },
  "repair": {
   "type": "boolean",
   "default": true,
   "description": "Try a conservative mechanical repair of broken JSON and return it."
  },
  "schema": {
   "type": "object",
   "description": "Optional JSON Schema (draft-07/2019) the JSON payload must match."
  },
  "content": {
   "type": "string",
   "description": "The payload to check (max 256 KB): JSON (even broken), code, scraped text or HTML, CSV, an LLM answer. Objects/arrays are accepted and checked as JSON."
  },
  "language": {
   "type": "string",
   "description": "Optional code language (javascript, typescript, jsx, tsx get a real parser; python, go, rust, sql, shell get structural checks)."
  },
  "min_chars": {
   "type": "integer",
   "minimum": 0,
   "description": "Optional minimum length for text payloads."
  },
  "min_score": {
   "type": "number",
   "default": 80,
   "maximum": 100,
   "minimum": 0,
   "description": "Score at or above which the verdict is pass (fail is always < 45 or any critical issue)."
  },
  "requestKey": {
   "type": "string",
   "maxLength": 128,
   "description": "Optional idempotency key, echoed back."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/payload-check-049d41e6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from seenly-payload-check.vercel.app](https://www.zero.xyz/host/seenly-payload-check.vercel.app/llms.txt)
