# Mekler AI Response Contract Checker

> Mekler AI Response Contract Checker is a paid API for AI agents from api.mekler.ai, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-27).

Validates a JSON response against a Draft 2020-12 schema, checks timestamp freshness, and optionally assesses claim evidence, returning separate pass/fail/review findings for each check.

## Facts

- Endpoint: POST https://api.mekler.ai/v1/data/responses/check-response-contract?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mekler-ai-response-contract-checker-1d1730c6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_nwhIh4qnUdV_V11Af1PNh

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 mekler-ai-response-contract-checker-1d1730c6 -d '<json body>'
```

Example prompt: Check this JSON response against my schema — use Draft 2020-12 validation — and also verify that the updated_at field is no more than 300 seconds old relative to now; here's the response: {"updated_at":"2026-10-21T12:01:00Z","price":9.99,"status":"active"} and here's the schema: {"type":"object","required":["updated_at","price","status"],"properties":{"updated_at":{"type":"string","format":"date-time"},"price":{"type":"number"},"status":{"type":"string"}}}.

## When to prefer this

Choose this endpoint when you need a single call to simultaneously validate a JSON payload against a Draft 2020-12 schema, assess timestamp freshness, and optionally audit claim evidence from supplied excerpts — all in one structured verdict. Prefer it over generic JSON validators when you need freshness checking combined with schema validation, or when you need per-claim evidence review for AI-generated outputs. It is not a substitute for external fact-checking or source authentication, but it is well-suited for automated quality gates in agentic pipelines where structured pass/fail/review outputs are needed programmatically.

## Known failure modes

- Invalid or unparseable JSON schema returns a schema error block with status 'fail'
- Malformed JSON Pointer for freshness field causes a freshness error response
- Timestamp value at the given pointer is missing or not a valid date-time string, causing freshness check to fail
- Evidence excerpts exceed the 3000-character limit per item, causing a 422 validation error
- More than 4 semantic claim items supplied, rejected with a validation error
- request_id not matching the required 16-64 alphanumeric/underscore/hyphen pattern causes rejection
- No external URL retrieval — claims referencing external sources cannot be fact-checked beyond supplied excerpts
- Schema errors may be capped if error_limit_reached is true, meaning not all violations are enumerated

## How this service works

Check supplied JSON against a bounded Draft 2020-12 schema, declared timestamp freshness and optional claim evidence. Return separate pass/fail/review findings. Evidence assessment is advisory and uses supplied excerpts only; no external fact verification, source authentication or URL retrieval.

## Output

Returns an object with an overall verdict (pass/fail/review) and separate status blocks for schema validation (including Draft 2020-12 error list and format assertions checked), freshness (age in seconds, pointer used, and reason), and semantic claim assessment (per-claim findings). Also includes a limitations notice and an observed_at timestamp indicating when the check was run.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "schema": {
   "oneOf": [
    {
     "type": "boolean"
    },
    {
     "type": "object"
    }
   ]
  },
  "response": {},
  "semantic": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "pointer",
     "evidence"
    ],
    "properties": {
     "pointer": {
      "type": "string",
      "maxLength": 256
     },
     "evidence": {
      "type": "string",
      "maxLength": 3000,
      "minLength": 1
     }
    },
    "additionalProperties": false
   },
   "maxItems": 4,
   "minItems": 1
  },
  "freshness": {
   "type": "object",
   "required": [
    "pointer",
    "reference_time",
    "max_age_seconds"
   ],
   "properties": {
    "pointer": {
     "type": "string",
     "maxLength": 256
    },
    "reference_time": {
     "type": "string"
    },
    "max_age_seconds": {
     "type": "integer",
     "maximum": 31536000,
     "minimum": 0
    }
   },
   "additionalProperties": false
  },
  "request_id": {
   "type": "string",
   "pattern": "^[A-Za-z0-9_-]{16,64}$"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "schema": {
   "draft": "2020-12",
   "errors": [],
   "status": "pass",
   "format_assertions": [
    "date-time",
    "ipv4",
    "ipv6",
    "uuid"
   ],
   "error_limit_reached": false
  },
  "status": "ok",
  "verdict": "pass",
  "semantic": {
   "claims": [],
   "method": null,
   "status": "not_requested"
  },
  "freshness": {
   "reason": "within_declared_age",
   "status": "pass",
   "pointer": "/updated_at",
   "age_seconds": 60
  },
  "limitations": [
   "Only the requested contract is checked; pass is not proof of truth, source authenticity or suitability for a consequential decision."
  ],
  "observed_at": "2026-10-21T12:01:00Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mekler-ai-response-contract-checker-1d1730c6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.mekler.ai](https://www.zero.xyz/host/api.mekler.ai/llms.txt)
