# TaskMint Date Normalize

> TaskMint Date Normalize is a paid API for AI agents from taskmint-sign-proof-node22-production.up.railway.app, paid per call via x402, $0.0005/call, status unknown (last checked 2026-10-13).

Normalizes an array of date strings into ISO 8601 (YYYY-MM-DD) format given a specified input date order (YMD, DMY, or MDY).

## Facts

- Endpoint: POST https://taskmint-sign-proof-node22-production.up.railway.app/api/agent/date_normalize?utm_source=zero.xyz
- Price: $0.0005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/taskmint-date-normalize-809a3229
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6vORzGUs-R2AgR787O92F

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 taskmint-date-normalize-809a3229 -d '<json body>'
```

Example prompt: I have a list of dates in day/month/year order — '22/09/2026', '01/10/2026', '29/02/2028' — can you normalize them all to ISO 8601 format?

## When to prefer this

Choose this endpoint when you have a batch of date strings with a known, consistent input order (MDY, DMY, or YMD) that need to be converted to ISO 8601 (YYYY-MM-DD). It is ideal for data cleaning pipelines, spreadsheet normalization, and database migration tasks where dates are formatted regionally. It processes up to 100 dates per call and explicitly flags unresolvable values with reasons, making it suitable for validation workflows. It does not infer time zones, timestamps, or natural-language dates, so use alternatives for those needs.

## Known failure modes

- Invalid date values (e.g. 30/02/2023) return a row with a null value and a reason explaining the failure
- Ambiguous dates that cannot be resolved with the given order return a failure reason
- Exceeding 100 items in the array returns a validation error
- Missing required fields (values or order) returns a 400 Bad Request
- Payment failure or missing USDC authorization returns HTTP 402
- Transport failures or HTTP 202 require retry with identical request body and same request_token — never a new purchase
- Results expire after 24 hours and cannot be retrieved after that window

## How this service works

Exact native USDC on Base; externally owned wallets only. Generate a private 32-byte random request_token for each new job, persist the entire body, and reuse it for challenge/retry and recovery. The token grants result access. Do not log or share it. HTTP 202 or an uncertain transport failure requires recovery with the identical body without a signature, never a new purchase. Results expire after 24 hours. Ten bounded deterministic services. Local execution is free; hosted jobs require customer-authorized payment only when billable.

## Output

A JSON object containing a rows array where each entry includes the original source date, its normalized ISO 8601 value (or null if unresolvable), a reason field for failures, and an index. Also includes a summary string (e.g. '3 of 3 values resolved'), the input order used, calendar system, precision notes, status, and service version.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "payload": {
   "type": "object",
   "required": [
    "values",
    "order"
   ],
   "properties": {
    "order": {
     "enum": [
      "YMD",
      "DMY",
      "MDY"
     ]
    },
    "values": {
     "type": "array",
     "items": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1
     },
     "maxItems": 100,
     "minItems": 1
    }
   },
   "additionalProperties": false
  },
  "request_token": {
   "type": "string",
   "pattern": "^[a-f0-9]{64}$",
   "description": "Generate 32 cryptographically random bytes as lowercase hex for each new job. Keep this private result credential and reuse the identical body for retries. Replace the synthetic example token."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "state": "paid",
  "result": {
   "rows": [
    {
     "index": 0,
     "value": "2026-09-22",
     "reason": null,
     "source": "22/09/2026"
    },
    {
     "index": 1,
     "value": "2026-10-01",
     "reason": null,
     "source": "01/10/2026"
    },
    {
     "index": 2,
     "value": "2028-02-29",
     "reason": null,
     "source": "29/02/2028"
    }
   ],
   "flags": [],
   "order": "DMY",
   "scope": "Supplied data only; no external lookup or verification.",
   "status": "resolved",
   "service": "date_normalize",
   "summary": "3 of 3 values resolved",
   "version": "0.5.0",
   "calendar": "Gregorian",
   "timezone": null,
   "precision": "Calendar dates only. No timestamps, time zones, two-digit years or natural-language date inference."
  },
  "service": "date_normalize"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/taskmint-date-normalize-809a3229/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from taskmint-sign-proof-node22-production.up.railway.app](https://www.zero.xyz/host/taskmint-sign-proof-node22-production.up.railway.app/llms.txt)
