# Duo Data Utilities – Calendar Conversion & Easter Calculator

> Duo Data Utilities – Calendar Conversion & Easter Calculator is a paid API for AI agents from api.duoleads.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-02).

Converts a Gregorian date to Islamic, Hebrew, Japanese imperial era, Republic of China, Buddhist, and/or Persian calendar systems, or computes Easter Sunday (Gregorian or Julian reckoning) for a given year.

## Facts

- Endpoint: GET https://api.duoleads.com/v1/time/calendar?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/duo-data-utilities-calendar-conversion-easter-calculator-1071a478
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_l092LiquNsJdPmAPUCTAv

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 duo-data-utilities-calendar-conversion-easter-calculator-1071a478
```

Example prompt: What is September 28, 2026 in the Hebrew, Islamic, and Japanese imperial era calendars?

## When to prefer this

Choose this endpoint when you need programmatic, multi-calendar date conversion covering Islamic (both civil tabular and Umm al-Qura variants), Hebrew, Japanese imperial era, Republic of China, Buddhist, and Persian systems in a single call, or when you need to compute the exact date of Easter Sunday (Western or Eastern rite) for any year from 326 to 9999. Prefer this over manual lookup tables or locale libraries when you need the algorithm name explicitly stated in the response for auditability.

## Known failure modes

- Missing required 'date' parameter when op=convert returns a 400 error
- Invalid date format (not YYYY-MM-DD) returns a validation error
- Year out of range for Easter (outside 326-9999) returns an error
- Invalid calendar id in 'to' parameter returns an error
- Payment not completed returns a 402 Payment Required response

## How this service works

Convert a Gregorian date to other calendar systems: Islamic (both the tabular civil calendar and the Umm al-Qura variant), Hebrew, Japanese imperial era, Republic of China, Buddhist and Persian. Also computes Easter Sunday for a year in both the Gregorian and Julian reckonings. Uses the calendar support built into the runtime, with the algorithm named in every response.

## Output

A JSON object containing the original Gregorian date and a map of each requested calendar system's converted date, including the day, month number, month name, year, era label, a human-readable formatted date string, and the name of the algorithm used. For Easter requests, the response includes the computed Easter Sunday date. Metadata includes a request ID, computation timestamp, price, and a deterministic flag confirming the result is algorithmically reproducible.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "op": {
       "enum": [
        "convert",
        "easter"
       ],
       "type": "string",
       "default": "convert",
       "maxLength": 64,
       "description": "convert (default) a Gregorian date, or easter for a year."
      },
      "to": {
       "type": "string",
       "maxLength": 256,
       "description": "Comma-separated calendar ids: islamic, islamic-umalqura, hebrew, japanese, roc, buddhist, persian. Default all."
      },
      "date": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "maxLength": 32,
       "description": "Gregorian date YYYY-MM-DD. Required when op=convert."
      },
      "rite": {
       "enum": [
        "western",
        "eastern"
       ],
       "type": "string",
       "default": "western",
       "maxLength": 64,
       "description": "Easter reckoning: western (default) or eastern."
      },
      "year": {
       "type": "string",
       "pattern": "^[+-]?\\d+$",
       "maxLength": 64,
       "description": "Year for op=easter, 326-9999."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "ok",
      "route",
      "version",
      "data",
      "meta"
     ],
     "properties": {
      "ok": {
       "const": true
      },
      "data": {
       "type": "object",
       "properties": {
        "date": {
         "type": "string"
        },
        "rite": {
         "type": "string"
        },
        "year": {
         "type": "integer"
        },
        "algorithm": {
         "type": "string"
        },
        "calendars": {
         "type": "object",
         "description": "keyed by caller-chosen names",
         "additionalProperties": {
          "type": "object",
          "required": [
           "year",
           "month",
           "month_name",
           "day",
           "era",
           "format
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "data": {
   "calendars": {
    "hebrew": {
     "day": 17,
     "era": "AM",
     "year": 5787,
     "month": 1,
     "algorithm": "Hebrew calendar (months numbered from Tishri = 1)",
     "formatted": "17 Tishri 5787",
     "month_name": "Tishri"
    },
    "islamic": {
     "day": 15,
     "era": "AH",
     "year": 1448,
     "month": 4,
     "algorithm": "tabular civil (islamic-civil)",
     "formatted": "Rabiʻ II 15, 1448 AH",
     "month_name": "Rabiʻ II"
    },
    "japanese": {
     "day": 28,
     "era": "Reiwa",
     "year": 8,
     "month": 9,
     "algorithm": "Japanese imperial eras on the Gregorian calendar",
     "formatted": "September 28, 8 Reiwa",
     "month_name": "September"
    }
   },
   "gregorian": "2026-09-28"
  },
  "meta": {
   "price_usd": "0.05",
   "disclaimer": "Factual output of a deterministic computation over public data. Provided as is, with no warranty of accuracy, completeness or availability. Not investment, financial, legal, tax, medical or any other professional advice, and not a recommendation. Verify before relying on it. Terms: https://api.duoleads.com/terms",
   "request_id": "01K6B7Q4ZC8H3F2M9WXR5TYN0D",
   "computed_at": "2026-09-28T12:00:00.000Z",
   "deterministic": true
  },
  "route": "/v1/time/calendar",
  "version": "1.0.0"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/duo-data-utilities-calendar-conversion-easter-calculator-1071a478/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.duoleads.com](https://www.zero.xyz/host/api.duoleads.com/llms.txt)
