# Cron Expression Validator & Explainer

> Cron Expression Validator & Explainer is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-11).

Validates a cron expression, translates it into plain English, and lists its next scheduled run times in any DST-aware time zone.

## Facts

- Endpoint: POST https://api.vextorium.com/v1/cron-explain?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/cron-expression-validator-explainer-43b33edd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kh8pSepEuuhMYaz0XGiQG

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 cron-expression-validator-explainer-43b33edd -d '<json body>'
```

Example prompt: Can you validate the cron expression '0 8 * * 1-5' and explain it in plain English, then show me the next 10 run times in the Europe/London time zone?

## When to prefer this

Choose this endpoint when you need to programmatically validate, interpret, or debug a cron expression — especially when DST-correct scheduling in a specific time zone matters, or when you need to enumerate upcoming execution times. It handles 5-field expressions, step and range syntax, day/month names, and @aliases like @daily and @hourly, making it more thorough than a simple syntax checker.

## Known failure modes

- Invalid cron expression returns valid:false with no next_runs
- Unrecognized IANA time zone string causes an error response
- Upcoming count outside 1-50 range is rejected
- Malformed or missing expression field returns a validation error
- Invalid ISO datetime in 'since' field causes a parse error

## How this service works

Validate a 5-field cron expression (ranges, steps, names, @daily aliases), explain it in plain English and list its next run times in any time zone, DST-aware.

## Output

A JSON object containing: a boolean validity flag, the original expression, a plain English explanation of each field (minutes, hours, days, months, weekdays), the IANA time zone used, an array of upcoming run timestamps (ISO 8601 with UTC offset), and the maximum number of times the job can run per day.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "expression"
     ],
     "properties": {
      "zone": {
       "type": "string",
       "description": "IANA time zone (default UTC)"
      },
      "since": {
       "type": "string",
       "description": "Start from this ISO date-time (default now)"
      },
      "upcoming": {
       "type": "integer",
       "maximum": 50,
       "minimum": 1,
       "description": "Next runs to list (1-50, default 5)"
      },
      "expression": {
       "type": "string",
       "description": "Cron expression, e.g. 0 8 * * 1-5 or @hourly"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": [
      "object",
      "null"
     ],
     "properties": {
      "zone": {
       "type": [
        "string",
        "null"
       ]
      },
      "valid": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "next_runs": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": [
         "null",
         "string"
        ]
       }
      },
      "expression": {
       "type": [
        "string",
        "null"
       ]
      },
      "explanation": {
       "type": [
        "string",
        "null"
       ]
      },
      "max_runs_per_day": {
       "type": [
        "number",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "zone": "Europe/Madrid",
  "valid": true,
  "next_runs": [
   "2026-10-02T16:45+02:00",
   "2026-10-02T17:00+02:00"
  ],
  "expression": "*/15 9-17 * * mon-fri",
  "explanation": "minute 0, 15, 30, 45, hour 9, 10, 11, 12, 13, 14, 15, 16, 17, any day of month, every month, weekday Monday, Tuesday, Wednesday, Thursday, Friday",
  "max_runs_per_day": 36
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/cron-expression-validator-explainer-43b33edd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.vextorium.com](https://www.zero.xyz/host/api.vextorium.com/llms.txt)
