# Permission Audits — Keyed Dataset Comparison + Explicit Missing-Value Fill

> Permission Audits — Keyed Dataset Comparison + Explicit Missing-Value Fill is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-11-03).

Compares two permission audit datasets by key and fills missing values, producing 2 analytical reports covering assigned_permissions and unused_permissions for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-security-12-190?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-03
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/permission-audits-keyed-dataset-comparison-explicit-missing-value-fill-5061177e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_s1OwwFKKnrHEyiZ5PyEz5

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 permission-audits-keyed-dataset-comparison-explicit-missing-value-fill-5061177e -d '<json body>'
```

Example prompt: Compare these two sets of permission audit records — one for group-a and one for group-b — filling any missing values and giving me a side-by-side keyed comparison report for both assigned_permissions and unused_permissions across up to 200 rows.

## When to prefer this

Choose this endpoint when you have two permission audit datasets you want to compare by row key and need missing values explicitly filled before analysis — particularly useful for security audits comparing assigned vs unused permissions across control groups without needing live lookups or external data sources. Best for offline/batch analytical work on supplied datasets up to 200 rows.

## Known failure modes

- Input exceeds 200 rows — request rejected
- Missing required fields (row_id, date, control_group) on any row — validation error
- Invalid date format (not YYYY-MM-DD) — schema validation failure
- Numeric values outside allowed range (-1e12 to 1e12) — rejected
- Empty rows array — minimum 1 item required
- Field selector not one of allowed enum values — schema error

## How this service works

Permission audits — Keyed dataset comparison + Explicit missing-value fill: Keyed dataset comparison + Explicit missing-value fill for supplied permission audits records (assigned_permissions, unused_permissions). Up to 200 rows; 2 independent reports using shared local analytical engines. No live lookup, prediction, professional assessment or external action. 0.01 USDC includes 2 supplied-data reports for up to 200 rows.

## Output

Returns 2 analytical reports: a keyed dataset comparison showing matched and unmatched rows between the primary and secondary permission audit datasets, and an explicit missing-value fill report for null assigned_permissions and unused_permissions entries, covering up to 200 rows per dataset.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "control_group",
     "date",
     "assigned_permissions",
     "unused_permissions"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "control_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "unused_permissions": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "assigned_permissions": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "control_group": "group-a",
     "unused_permissions": 1,
     "assigned_permissions": 10
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "control_group": "group-b",
     "unused_permissions": 2,
     "assigned_permissions": 20
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "control_group": "group-a",
     "unused_permissions": 3,
     "assigned_permissions": 15
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "control_group": "group-b",
     "unused_permissions": 4,
     "assigned_permissions": 30
    }
   ],
   "maxItems": 200,
   "minItems": 1
  },
  "field": {
   "enum": [
    "assigned_permissions",
    "unused_permissions"
   ],
   "type": "string",
   "default": "assigned_permissions"
  },
  "other": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "control_group",
     "date",
     "assigned_permissions",
     "unused_permissions"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "control_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "unused_permissions": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/permission-audits-keyed-dataset-comparison-explicit-missing-value-fill-5061177e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from market.datapackvibe.com](https://www.zero.xyz/host/market.datapackvibe.com/llms.txt)
