# Dead Letter Audit

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

Triages a dead letter queue by grouping entries by failure reason, identifying dominant causes, separating retryable from permanent failures, and flagging duplicate failures and reason-less entries.

## Facts

- Endpoint: POST https://api.zfinia.com/x402/v1/dead-letter-batch-audit?utm_source=zero.xyz
- Price: $0.13/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dead-letter-audit-c3973ec0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_He8wXybLMigTUjkbNDHi0

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 dead-letter-audit-c3973ec0 -d '<json body>'
```

Example prompt: Can you triage my dead letter queue? Here are up to 2000 entries — the message ID is in the 'messageId' field, the failure reason is in 'errorReason', and retryable reasons include 'timeout' and 'throttled'. I want to know the dominant cause, what's safe to replay, and which entries have no reason at all.

## When to prefer this

Use this endpoint when you have a populated dead letter queue and need to decide whether to replay it, identify the root cause of failures, or separate actionable from unactionable entries before manual intervention. It is purpose-built for DLQ triage rather than general log analysis — prefer it over generic analytics tools when failure reason classification and retry-safety determination are the primary goals.

## Known failure modes

- Empty entries array or missing required fields returns validation error
- id_field or reason_field referencing a non-existent property in entries yields empty or null groupings
- retryable_reasons list not matching any actual reasons results in all failures classified as permanent
- Entries array exceeding 2000 items rejected
- Malformed entry objects may be skipped or cause partial results

## How this service works

Triage a dead letter queue. Groups entries by failure reason, names the dominant cause when one accounts for most of the queue, and separates retryable failures from permanent ones so you know whether replaying will work or fail again. Reports the same item failing more than once, and entries stating no reason at all, which cannot be triaged by anybody.

## Output

Returns a structured breakdown of the dead letter queue: entries grouped by failure reason, identification of the dominant cause if one accounts for most of the queue, a split between retryable and permanent failures, a list of messages that failed more than once, and a list of entries with no failure reason that cannot be triaged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "entries": {
   "type": "array",
   "items": {
    "type": "object"
   },
   "maxItems": 2000,
   "minItems": 1
  },
  "id_field": {
   "type": "string",
   "maxLength": 256
  },
  "reason_field": {
   "type": "string",
   "maxLength": 256
  },
  "retryable_reasons": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 256
   },
   "maxItems": 100,
   "minItems": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dead-letter-audit-c3973ec0/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)
