# TaskMint Data Check – Record Validation Service

> TaskMint Data Check – Record Validation Service is a paid API for AI agents from taskmint-sign-proof-node22-production.up.railway.app, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-13).

Validates a batch of flat scalar records against user-defined type and range rules, returning per-field issues and a summary of data quality problems.

## Facts

- Endpoint: POST https://taskmint-sign-proof-node22-production.up.railway.app/api/agent/data_check?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/taskmint-data-check-record-validation-service-7f0f6293
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pL-0CHI1eWNpKrVAokR6n

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 taskmint-data-check-record-validation-service-7f0f6293 -d '<json body>'
```

Example prompt: Can you run a data quality check on these 10 product records and flag any type mismatches or out-of-range values? The rules are: 'price' must be a non-nullable number with min 0, 'stock' must be an integer with min 0, and 'name' must be a required string.

## When to prefer this

Choose this endpoint when you need lightweight, deterministic validation of flat scalar record batches (up to 50 records, up to 20 fields) against explicit type and range rules — particularly when you want per-record, per-field issue codes rather than just a pass/fail. It is not a full JSON Schema validator and does not coerce or verify data sources, so prefer it for quick diagnostic sweeps rather than complex nested schema validation.

## Known failure modes

- Payment not received or insufficient USDC — job not processed
- request_token not a valid 64-char lowercase hex string — request rejected
- records array empty or exceeds 50 items — schema validation error
- rules object has fewer than 1 or more than 20 properties — rejected
- Transport failure or HTTP 202 received — must retry with identical body and token, never resubmit with a new token
- Results expired after 24 hours — result no longer retrievable
- Non-EOA wallet used for payment — payment not accepted

## How this service works

Exact native USDC on Base; externally owned wallets only. Generate a private 32-byte random request_token for each new job, persist the entire body, and reuse it for challenge/retry and recovery. The token grants result access. Do not log or share it. HTTP 202 or an uncertain transport failure requires recovery with the identical body without a signature, never a new purchase. Results expire after 24 hours. Ten bounded deterministic services. Local execution is free; hosted jobs require customer-authorized payment only when billable.

## Output

A JSON object indicating whether all records are valid (boolean), a list of issues each with a code (e.g. type_mismatch, below_minimum), the affected field name, record index, and expected value; plus a human-readable summary and a diagnostic scope note clarifying the service only validates flat scalar fields — not a full JSON Schema validator.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "payload": {
   "type": "object",
   "required": [
    "records",
    "rules"
   ],
   "properties": {
    "rules": {
     "type": "object",
     "maxProperties": 20,
     "minProperties": 1,
     "additionalProperties": {
      "type": "object",
      "required": [
       "type"
      ],
      "properties": {
       "max": {
        "type": "number"
       },
       "min": {
        "type": "number"
       },
       "type": {
        "enum": [
         "string",
         "number",
         "integer",
         "boolean"
        ]
       },
       "nullable": {
        "type": "boolean"
       },
       "required": {
        "type": "boolean"
       }
      },
      "additionalProperties": false
     }
    },
    "records": {
     "type": "array",
     "items": {
      "type": "object",
      "maxProperties": 20,
      "additionalProperties": {
       "type": [
        "string",
        "number",
        "boolean",
        "null"
       ]
      }
     },
     "maxItems": 50,
     "minItems": 1
    },
    "allow_extra": {
     "type": "boolean"
    }
   },
   "additionalProperties": false
  },
  "request_token": {
   "type": "string",
   "pattern": "^[a-f0-9]{64}$",
   "description": "Generate 32 cryptographically random bytes as lowercase hex for each new job. Keep this private result credential and reuse the identical body for retries. Replace the synthetic example token."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "state": "paid",
  "result": {
   "flags": [],
   "scope": "Completed diagnostic: resolved describes execution, not data validity. Flat scalar field rules only; not a full JSON Schema validator. No coercion or source verification.",
   "valid": false,
   "issues": [
    {
     "code": "type_mismatch",
     "field": "price",
     "index": 1,
     "expected": "number"
    },
    {
     "code": "below_minimum",
     "field": "stock",
     "index": 1
    }
   ],
   "status": "resolved",
   "service": "data_check",
   "summary": "2 issues across 2 records",
   "version": "0.5.0",
   "records_checked": 2
  },
  "service": "data_check"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/taskmint-data-check-record-validation-service-7f0f6293/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from taskmint-sign-proof-node22-production.up.railway.app](https://www.zero.xyz/host/taskmint-sign-proof-node22-production.up.railway.app/llms.txt)
