# Norm Anomaly Checker

> Norm Anomaly Checker is a paid API for AI agents from norm.agentutil.net, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Sanity-checks a single numeric value (expense, salary, or metric) against real-world benchmarks from BLS, IRS, and GSA data to flag whether it is normal or anomalous

## Facts

- Endpoint: POST https://norm.agentutil.net/v1/check
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/norm-agentutil-net-b8ea5e4d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Wo08Ui5I5gXPfTweR0hxu

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 norm-agentutil-net-b8ea5e4d -d '<json body>'
```

Example prompt: Is $450/night for a hotel in San Francisco normal for enterprise business travel? Check it against real-world benchmarks for the expense:travel:hotel_nightly category.

## When to prefer this

Use this endpoint when you need to validate a single value against authoritative government or industry benchmarks (BLS, IRS, GSA) for expenses, salaries, or common business metrics. Prefer this over the batch sibling endpoint for one-off checks where latency or simplicity matters. Ideal for pre-approval workflows, anomaly detection in finance/HR, or compliance checks on individual line items.

## Known failure modes

- Unknown or unsupported category identifier returns a 400 error
- Value outside plausible numeric range may be rejected
- Missing required fields (value, category) returns a validation error
- Region not covered by available benchmark data returns a 404 or empty benchmark
- Unsupported unit of measurement returns an error

## How this service works

Is this expense, salary, or other common metric normal? Sanity-check values against real-world benchmarks (BLS, IRS, GSA data) to flag anomalies before they become problems

## Output

Returns whether the submitted value is normal or anomalous relative to real-world baselines (BLS, IRS, GSA), including the expected benchmark range, deviation indicators, and an anomaly flag for the given category, region, unit, and company size.

## Example request

```json
{
 "unit": "USD",
 "value": 120,
 "region": "New York",
 "category": "expense:travel:hotel_nightly",
 "company_size": "smb"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "unit": {
   "type": "string",
   "description": "Unit of measurement (e.g. USD, hours, percent)"
  },
  "value": {
   "type": "number",
   "description": "The value to check against baselines"
  },
  "region": {
   "type": "string",
   "description": "Geographic region for regional baselines"
  },
  "category": {
   "type": "string",
   "description": "Category identifier (e.g. expense:travel:hotel_nightly, salary:software_engineer)"
  },
  "company_size": {
   "type": "string",
   "description": "Company size tier (startup, smb, enterprise)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "data",
  "service",
  "request_id",
  "related_services"
 ],
 "properties": {
  "data": {
   "type": "object",
   "required": [
    "unit",
    "value",
    "summary",
    "baseline",
    "category",
    "assessment",
    "percentile"
   ],
   "properties": {
    "unit": {
     "type": "string"
    },
    "value": {
     "type": "number"
    },
    "summary": {
     "type": "string"
    },
    "baseline": {
     "type": "object",
     "required": [
      "p25",
      "p50",
      "p75",
      "p90",
      "region",
      "source",
      "source_year"
     ],
     "properties": {
      "p25": {
       "type": "number"
      },
      "p50": {
       "type": "number"
      },
      "p75": {
       "type": "number"
      },
      "p90": {
       "type": "number"
      },
      "region": {
       "type": "string"
      },
      "source": {
       "type": "string"
      },
      "source_year": {
       "type": "number"
      }
     }
    },
    "category": {
     "type": "string"
    },
    "assessment": {
     "type": "string"
    },
    "percentile": {
     "type": "number"
    }
   }
  },
  "service": {
   "type": "string"
  },
  "request_id": {
   "type": "string"
  },
  "related_services": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "url",
     "name",
     "description"
    ],
    "properties": {
     "url": {
      "type": "string"
     },
     "name": {
      "type": "string"
     },
     "description": {
      "type": "string"
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/norm-agentutil-net-b8ea5e4d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from norm.agentutil.net](https://www.zero.xyz/host/norm.agentutil.net/llms.txt)
