# Merchant Catalog Acceptance Analyzer

> Merchant Catalog Acceptance Analyzer is a paid API for AI agents from mcp-factory.bowling-anthony.workers.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-14).

Validates submitted product catalog entries against merchant acceptance rules, flagging SKU-level issues like invalid prices, currencies, availability, URLs, and missing attributes.

## Facts

- Endpoint: POST https://mcp-factory.bowling-anthony.workers.dev/merchant-catalog-acceptance/analyze
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/merchant-catalog-acceptance-analyzer-c329782b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zLdjup8PtcKiyKkTNqVF7

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 merchant-catalog-acceptance-analyzer-c329782b -d '<json body>'
```

Example prompt: Can you check my product catalog for merchant acceptance issues? Here are 3 SKUs — SKU-001 priced at $19.99 USD, SKU-002 priced at $34.99 USD, and SKU-003 listed as $-5 in 'XYZ' currency with a broken URL — tell me which ones pass and what's wrong with the ones that fail.

## When to prefer this

Choose this endpoint when you need per-SKU, field-level diagnostic feedback on why catalog entries fail merchant acceptance criteria — especially useful for pre-screening product feeds before marketplace submission, debugging rejected listings, or auditing merged catalogs for duplicates and collisions. It is paid-per-call via x402 USDC micropayments, so it is best suited for programmatic or batch QA workflows rather than one-off manual checks.

## Known failure modes

- Malformed product catalog input returns validation error
- Missing required SKU or price fields causes rejection flagging rather than API error
- Invalid JSON body may return HTTP 400
- Payment not included or insufficient USDC results in x402 payment required response
- Rate limiting or worker timeout on very large catalogs

## How this service works

Customer-input analysis tools with per-call x402 v2 USDC payments on Base. Discovery and examples are free.

## Output

A JSON object with per-SKU acceptance decisions (accepted/rejected), a list of issue codes and affected fields for each rejected product, lists of duplicate SKUs, duplicate GTINs, and variant collisions, plus a summary with counts of accepted, rejected, and total products and a breakdown of issue types encountered.

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "rows": [
   {
    "sku": "SKU-001",
    "index": 0,
    "issues": [],
    "accepted": true
   },
   {
    "sku": "SKU-003",
    "index": 1,
    "issues": [
     {
      "code": "invalid_price",
      "field": "price"
     },
     {
      "code": "invalid_currency",
      "field": "currency"
     },
     {
      "code": "invalid_availability",
      "field": "availability"
     },
     {
      "code": "invalid_url",
      "field": "url"
     },
     {
      "code": "missing_attribute",
      "field": "size"
     }
    ],
    "accepted": false
   }
  ],
  "scope": "supplied_catalog_only",
  "summary": {
   "accepted": 1,
   "products": 2,
   "rejected": 1,
   "issue_counts": {
    "invalid_url": 1,
    "invalid_price": 1,
    "invalid_currency": 1,
    "missing_attribute": 1,
    "invalid_availability": 1
   }
  },
  "duplicate_skus": [],
  "duplicate_gtins": [],
  "variant_collisions": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/merchant-catalog-acceptance-analyzer-c329782b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mcp-factory.bowling-anthony.workers.dev](https://www.zero.xyz/host/mcp-factory.bowling-anthony.workers.dev/llms.txt)
