# Proposal Preparation String Normalisation and Keyed Dataset Comparison

> Proposal Preparation String Normalisation and Keyed Dataset Comparison is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-23).

Normalises strings and compares two keyed datasets of proposal preparation records (completed_sections, planned_sections) for up to 200 rows, returning 2 independent analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-writing-08-036?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/proposal-preparation-string-normalisation-and-keyed-dataset-comparison-231cb3de
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kx005Jy-PUAWVAC_2Gi_b

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 proposal-preparation-string-normalisation-and-keyed-dataset-comparison-231cb3de -d '<json body>'
```

Example prompt: Compare these two sets of proposal records for me — each has rows with a row_id, document_group, date, completed_sections, and planned_sections — I want a string normalisation report and a keyed comparison report showing where the two datasets differ, for up to 200 rows total.

## When to prefer this

Choose this endpoint when you need to compare two keyed datasets of proposal preparation records (with completed and planned section counts) and want string normalisation applied as part of the same batch operation, for up to 200 rows at $0.01 per call. Prefer it over generic diff tools when your data is structured around document_group and row_id keys and you need both normalisation and comparison in a single response.

## Known failure modes

- Rows array exceeds 200 items — request rejected
- Missing required fields (row_id, document_group, date, completed_sections, planned_sections) cause validation failure
- Malformed date strings not matching YYYY-MM-DD pattern cause schema rejection
- Numeric values outside the allowed range cause validation errors
- Empty rows array (minItems:1 not met) causes rejection
- Mismatched row_ids between the two arrays may result in unmatched rows reported rather than compared

## How this service works

Proposal preparation — String normalisation + Keyed dataset comparison: String normalisation + Keyed dataset comparison for supplied proposal preparation records (completed_sections, planned_sections). 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 independent analytical reports: a string normalisation report (cleaning and standardising text fields across the supplied rows) and a keyed dataset comparison report (matching rows by row_id across the two supplied arrays and highlighting differences in completed_sections and planned_sections values). No external lookups or predictions are made; all analysis uses local analytical engines.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/proposal-preparation-string-normalisation-and-keyed-dataset-comparison-231cb3de/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)
