# JSON Key Allowlist

> JSON Key Allowlist is a paid API for AI agents from api.delx.ai, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Validates a JSON object's top-level keys against a caller-supplied allowlist, returning counts and details of any disallowed keys found.

## Facts

- Endpoint: POST https://api.delx.ai/api/v1/x402/json-key-allowlist
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/json-key-allowlist-17ae5c9d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ja-Sj1lCAF0y3spplSYtr

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 json-key-allowlist-17ae5c9d -d '<json body>'
```

Example prompt: Before I pass this JSON object to the payment processor, check that it only has the keys 'amount', 'currency', and 'recipient' — tell me if there are any unexpected fields.

## When to prefer this

Use this endpoint when an agent needs to enforce a strict top-level key contract on a JSON object before passing it to a downstream tool, API, or execution layer that rejects unexpected fields. Prefer this over manual key inspection when you need a versioned, deterministic, auditable result with counts and normalized values rather than a simple boolean. Especially valuable in multi-agent pipelines where LLM-generated structured outputs may contain hallucinated or extra keys.

## Known failure modes

- Object exceeds 128 top-level property limit — request rejected
- Allowlist exceeds 256 items — request rejected
- Individual allowlist string exceeds 8192 characters — request rejected
- Malformed input JSON — validation error returned
- Payment not included or insufficient — 402 response

## How this service works

JSON Key Allowlist: JSON Key Allowlist finds top-level object keys outside an explicit allowlist from bounded caller-supplied values without an external provider. Call JSON Key Allowlist before an agent hands structured data or a batch plan to a downstream tool with a stricter contract. Returns the bounded transformation or validation finding with counts, normalized values, and a versioned result contract for JSON Key Allowlist as versioned deterministic JSON. Price: $0.001 USDC via x402 on Bas…

## Output

Returns a versioned deterministic JSON result containing the count of disallowed keys found, the specific disallowed key names, normalized values, and a versioned result contract. All processing is done in memory without data retention.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "object": {
   "type": "object",
   "description": "Object supplied to JSON Key Allowlist; used only for this bounded calculation and processed in memory without retention.",
   "maxProperties": 128,
   "additionalProperties": true
  },
  "allowed": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 8192
   },
   "maxItems": 256,
   "description": "Allowed supplied to JSON Key Allowlist; used only for this bounded calculation and processed in memory without retention."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "result": {
   "passed": true,
   "unexpected_keys": []
  },
  "schema": "delx/util-json-key-allowlist/v1",
  "status": "pass",
  "evidence": {
   "retained": false,
   "input_sha256": "8db5924d2566b60a20ce9bbc77d50f76ea1135a98e526ba746e027da4b772dda",
   "external_calls": 0
  },
  "operation": "data_batch:json_key_allowlist"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/json-key-allowlist-17ae5c9d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.delx.ai](https://www.zero.xyz/host/api.delx.ai/llms.txt)
