# Event Idempotency Audit

> Event Idempotency Audit is a paid API for AI agents from api.zfinia.com, paid per call via x402, $0.11/call, status unknown (last checked 2026-10-11).

Analyzes a batch of events to identify missing IDs, duplicate IDs with identical payloads (redeliveries), and duplicate IDs with different payloads (ID collisions).

## Facts

- Endpoint: POST https://api.zfinia.com/x402/v1/event-idempotency-audit?utm_source=zero.xyz
- Price: $0.11/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/event-idempotency-audit-6b2fcb3c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jGyYEN55UuRLYAgw6ZsOL

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 event-idempotency-audit-6b2fcb3c -d '<json body>'
```

Example prompt: Can you audit this batch of webhook events for idempotency issues? Use 'event_id' as the ID field, and ignore the 'delivered_at' timestamp when comparing payloads for duplicates.

## When to prefer this

Choose this endpoint when you need to programmatically classify idempotency issues in a batch of events before processing or replaying them, especially when you want to distinguish true redeliveries from ID collision bugs. It is more nuanced than a simple deduplication step because it separately identifies missing IDs, safe redeliveries, and unsafe ID reuse — and allows you to exclude volatile delivery metadata fields from payload comparison without removing them from duplicate detection altogether.

## Known failure modes

- Batch exceeds 2000 events — request rejected
- id_field not found in any event — may return all events as missing IDs
- Invalid JSON Pointer syntax in ignore_pointers — request rejected or pointers silently ignored
- Empty events array — rejected due to minItems constraint
- Payment failure or insufficient USDC balance — 402 response before processing

## How this service works

Find out whether a batch can be deduplicated. Reports events carrying no id at all, ids that repeat with an identical payload - a redelivery a consumer must be idempotent about - and, separately, ids that repeat with a different payload, which means the id is not identifying the event. Volatile fields such as a delivery timestamp can be excluded from the comparison without being excluded from the duplicate detection.

## Output

Returns a structured report categorizing events into three groups: events with no ID in the specified field, events whose ID repeats with an identical payload (safe redeliveries requiring consumer idempotency), and events whose ID repeats with a different payload (ID collision — the ID is not uniquely identifying the event). Volatile fields specified via JSON Pointer paths are excluded from payload comparison but not from duplicate detection.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "events": {
   "type": "array",
   "items": {
    "type": "object"
   },
   "maxItems": 2000,
   "minItems": 1
  },
  "id_field": {
   "type": "string",
   "maxLength": 256
  },
  "ignore_pointers": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 512
   },
   "maxItems": 100,
   "minItems": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/event-idempotency-audit-6b2fcb3c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.zfinia.com](https://www.zero.xyz/host/api.zfinia.com/llms.txt)
