# x402 Agent Output QA Scorer

> x402 Agent Output QA Scorer is a paid API for AI agents from x402-endpoints.onrender.com, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-21).

Reviews and scores an AI agent's outbound text (email, social post, or customer reply) against rubric criteria, returning a structured quality verdict with improvement suggestions and a rewritten version.

## Facts

- Endpoint: GET https://x402-endpoints.onrender.com/agent/output-qa?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-agent-output-qa-scorer-75f42ed4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_sKKn_x65OYPIcIP9EWZi6

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 x402-agent-output-qa-scorer-75f42ed4
```

Example prompt: Before sending this cold outreach email, run it through the output QA scorer with the goal 'book a demo' and format 'email' — here's the draft: 'Hey! Buy now — limited time offer!!! Click here for an exclusive demo deal.' Score it and give me a rewritten version.

## When to prefer this

Use this endpoint when an AI agent needs a structured, rubric-based quality gate on its own outbound communications before delivery — especially for sales emails, social posts, or customer replies where spam risk, tone, and CTA clarity matter. Prefer this over generic LLM self-review when you need consistent scored criteria, a machine-readable verdict, and a ready-to-send improved rewrite in a single call, without managing your own API keys.

## Known failure modes

- Missing required 'output' query parameter returns a validation error
- Text too long may be truncated (truncated: true in response)
- LLM-based scoring is heuristic and non-deterministic — scores may vary across calls
- Payment failure (insufficient USDC balance) returns HTTP 402 before processing
- Unsupported format values may degrade scoring accuracy

## How this service works

Review an agent's email or message before sending — spam check + quality QA in one call: a multi-criteria scorecard (clarity, spam-safety/deliverability, tone, length, personalization, CTA, compliance — each 0-100) + poor/fair/good/excellent rating + top suggestions + a ready-to-send IMPROVED REWRITE. Will this email or message land or get flagged as spam? One call scores and rewrites. Email / output review, spam check and copy QA for AI agents before sending.

## Output

Returns an overall_score (0-100), a rating label (e.g. 'poor'), per-criteria scores for tone, clarity, CTA, length, compliance, spam_safety, and personalization (each 0-100), a list of actionable suggestions, a rewritten improved_version of the text, and metadata including goal, format, and data freshness info.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "output"
     ],
     "properties": {
      "goal": {
       "type": "string",
       "description": "Optional intended goal, e.g. 'book a demo', 'resolve a complaint'"
      },
      "format": {
       "type": "string",
       "description": "Optional: email | social_post | customer_reply | other"
      },
      "output": {
       "type": "string",
       "description": "The agent's outbound text to review (email, post, or customer reply)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "error": null,
  "query": {
   "goal": "book a demo",
   "format": "email",
   "truncated": false,
   "output_length": 46
  },
  "cached": false,
  "rating": "poor",
  "criteria": {
   "cta": 50,
   "tone": 40,
   "length": 60,
   "clarity": 55,
   "compliance": 45,
   "spam_safety": 20,
   "personalization": 30
  },
  "timestamp": "2026-06-30T12:00:00Z",
  "disclaimer": "Automated rubric QA; scores are heuristic guidance, not a guarantee of deliverability or compliance.",
  "suggestions": [
   "Remove hype words ('buy now', 'limited time') and excessive exclamation marks.",
   "Personalize the opening with the recipient's name and context.",
   "State a single clear call to action toward booking a demo."
  ],
  "overall_score": 34,
  "data_freshness": {
   "mode": "llm",
   "as_of": "2026-06-30T12:00:00Z",
   "sources": [
    "Claude Haiku rubric scoring + rewrite"
   ],
   "age_seconds": 0,
   "retrieved_at": "2026-06-30T12:00:00Z",
   "deterministic": false
  },
  "criteria_legend": "Each 0-100, higher is better. spam_safety: 100 = not spammy.",
  "improved_version": "Hi Sam — I noticed your team is scaling outreach. Would a 15-minute demo this week be useful to see how we can help? Happy to send a couple of times."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-agent-output-qa-scorer-75f42ed4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-endpoints.onrender.com](https://www.zero.xyz/host/x402-endpoints.onrender.com/llms.txt)
