# Mekler AI Cron Run Calculator

> Mekler AI Cron Run Calculator is a paid API for AI agents from api.mekler.ai, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-29).

Calculate up to 20 upcoming scheduled fire times for a five-field cron expression in a named IANA timezone, handling DST folds and skips, strictly after a given start timestamp within a 366-day horizon.

## Facts

- Endpoint: POST https://api.mekler.ai/v1/data/schedules/calculate-cron-runs?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mekler-ai-cron-run-calculator-8d33fa93
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qYsh4WtRe35_noN80UKfW

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 mekler-ai-cron-run-calculator-8d33fa93 -d '<json body>'
```

Example prompt: Calculate the next 10 times this cron expression will fire: '0 9 * * MON-FRI', starting strictly after 2025-03-09T00:00:00Z, in the America/Chicago timezone — and use 'first' as the repeat policy for any DST-repeated times.

## When to prefer this

Choose this endpoint when you need pure cron-expression expansion with proper IANA timezone and DST handling — including explicit control over how repeated (fold=1) times are treated and automatic skipping of nonexistent times. It is a pure computation service (no side effects, no job scheduling), making it safe to call repeatedly for previewing schedules. Prefer it over generic datetime libraries when DST correctness and fold-awareness are required, or when you need to preview a full schedule window up to 366 days ahead.

## Known failure modes

- Invalid or unsupported cron expression (e.g. 6-field, uses @macros, L/W/# syntax) returns an error
- Unknown or misspelled IANA timezone name returns an error
- Start timestamp outside parseable date-time format returns a validation error
- Requesting more than 20 runs returns a validation error
- No matching runs found within 366-day horizon returns complete:false with fewer results than requested
- request_id pattern mismatch (not 16-64 alphanumeric/dash/underscore chars) returns a validation error

## How this service works

Calculate up to 20 upcoming five-field cron runs in a named IANA timezone, strictly after an explicit timestamp through a 366-day horizon. Report UTC, local offset and fold. Skip nonexistent times; choose both, first or second repeated times. Calculation only: no scheduler, job execution or delivery.

## Output

A JSON object containing an array of up to 20 scheduled run times, each with a UTC timestamp, a local-time timestamp with offset, and a fold indicator (0 or 1) for DST ambiguity. Also includes metadata: the original expression, timezone, start and search-end boundaries, the repeat policy used, run count requested, and a 'complete' flag indicating whether the requested count was fully satisfied within the 366-day horizon. Limitations about cron field support and DST behavior are listed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "count": {
   "type": "integer",
   "default": 5,
   "maximum": 20,
   "minimum": 1
  },
  "start": {
   "type": "string",
   "format": "date-time"
  },
  "timezone": {
   "type": "string",
   "maxLength": 100
  },
  "expression": {
   "type": "string",
   "maxLength": 128
  },
  "request_id": {
   "type": "string",
   "pattern": "^[A-Za-z0-9_-]{16,64}$"
  },
  "repeat_policy": {
   "enum": [
    "both",
    "first",
    "second"
   ],
   "type": "string",
   "default": "both"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "runs": [
   {
    "utc": "2026-10-20T16:30:00Z",
    "fold": 0,
    "local": "2026-10-20T09:30:00-07:00"
   },
   {
    "utc": "2026-10-21T16:30:00Z",
    "fold": 0,
    "local": "2026-10-21T09:30:00-07:00"
   },
   {
    "utc": "2026-10-22T16:30:00Z",
    "fold": 0,
    "local": "2026-10-22T09:30:00-07:00"
   },
   {
    "utc": "2026-10-23T16:30:00Z",
    "fold": 0,
    "local": "2026-10-23T09:30:00-07:00"
   },
   {
    "utc": "2026-10-26T16:30:00Z",
    "fold": 0,
    "local": "2026-10-26T09:30:00-07:00"
   }
  ],
  "start": "2026-10-20T00:00:00+00:00",
  "status": "ok",
  "complete": true,
  "timezone": "America/Los_Angeles",
  "expression": "30 9 * * MON-FRI",
  "limitations": [
   "Calculation only; no job is scheduled or delivered.",
   "Five fields: minute hour day-of-month month day-of-week. Numeric lists, ranges, steps and English month/weekday abbreviations; Sunday is 0 or 7.",
   "Day-of-month and day-of-week use OR when both fields differ from the literal *; otherwise both must match. No seconds, year, L, W, # or @ macros.",
   "Nonexistent local times are skipped. Repeated times follow repeat_policy. Search is strictly after start through 366 elapsed days.",
   "Uses the deployed IANA timezone database; future government rule changes may alter results."
  ],
  "observed_at": "2026-10-20T00:00:00Z",
  "repeat_policy": "both",
  "search_end_utc": "2027-10-21T00:00:00+00:00",
  "requested_count": 5
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mekler-ai-cron-run-calculator-8d33fa93/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.mekler.ai](https://www.zero.xyz/host/api.mekler.ai/llms.txt)
