# Time Series Completeness — String Normalisation + Keyed Dataset Comparison

> Time Series Completeness — String Normalisation + 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-28).

Normalises strings and performs keyed dataset comparison on two supplied time series completeness datasets (observed_points vs expected_points) for up to 200 rows each, producing 2 independent analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-16-036?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/time-series-completeness-string-normalisation-keyed-dataset-comparison-20f458c8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_98kLXe8bf72T4404tN67z

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 time-series-completeness-string-normalisation-keyed-dataset-comparison-20f458c8 -d '<json body>'
```

Example prompt: Can you run a time series completeness check comparing my observed versus expected data points across these two datasets — here are up to 200 rows each with row IDs, dates (YYYY-MM-DD), dataset groups, observed_points, and expected_points — and give me the string normalisation and keyed comparison reports?

## When to prefer this

Choose this endpoint when you need to validate time series completeness by comparing observed data point counts against expected counts across dates and dataset groups, specifically requiring both string normalisation (to clean up group/key labels) and keyed dataset comparison (to match records across two dataset variants) in a single call. Ideal for data quality pipelines, ETL audits, and sensor/event monitoring workflows where you have up to 200 rows and need two complementary analytical angles on the same data without any external lookups or predictions.

## Known failure modes

- Fewer than 1 row submitted — request rejected
- More than 200 rows in either array — request rejected (maxItems limit)
- Missing required fields (row_id, dataset_group, date, observed_points, expected_points) — validation error
- Date strings not matching YYYY-MM-DD pattern — validation error
- observed_points or expected_points values outside allowed numeric range — validation error
- Payment of 0.01 USDC not fulfilled — 402 response, no report returned

## How this service works

Time series completeness — String normalisation + Keyed dataset comparison: String normalisation + Keyed dataset comparison for supplied time series completeness records (observed_points, expected_points). 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

Two independent analytical reports: (1) a string normalisation report that standardises the text fields across the submitted rows, and (2) a keyed dataset comparison report that identifies matches, mismatches, and discrepancies between the primary and secondary datasets based on row keys, dates, groups, and observed vs expected point counts. No live lookups, predictions, or external actions are performed — analysis is entirely local to the supplied data.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/time-series-completeness-string-normalisation-keyed-dataset-comparison-20f458c8/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)
