# Saylor Innovations Cron Expression Explainer & Next-Run Calculator

> Saylor Innovations Cron Expression Explainer & Next-Run Calculator is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-13).

Validates a cron expression, returns a plain-English description of the schedule, and calculates upcoming run times in any IANA time zone with DST handling

## Facts

- Endpoint: GET https://saylorinnovations.com/api/cron/next?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-cron-expression-explainer-next-run-calculator-f1065d23
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_a95G97Ct-sF7uc1ukJ1O6

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 saylor-innovations-cron-expression-explainer-next-run-calculator-f1065d23
```

Example prompt: Explain the cron expression '30 9 * * mon-fri' in plain English and show me the next 5 run times in America/New_York, starting from 2026-01-05T00:00:00Z.

## When to prefer this

Choose this endpoint when you need to explain, validate, or preview the schedule of a cron expression in any IANA time zone — especially when DST correctness matters. It is ideal for developer tooling, automation configuration UIs, and agent workflows that need to reason about scheduled task timing without running cron locally. Prefer this over home-rolled parsing when you need human-readable explanations alongside computed run times.

## Known failure modes

- Invalid or malformed cron expression returns a validation error
- Unrecognized IANA time zone string returns an error
- Count parameter outside 1-20 range is rejected
- Malformed ISO 8601 'from' datetime returns a parsing error
- Payment not provided or insufficient results in 402 Payment Required

## How this service works

Cron expression explained in plain English with the next run times in any time zone - validates a 5-field cron and handles DST

## Output

Returns a JSON object with the original cron expression, a plain-English description of the schedule, the timezone used, how many runs were computed, the start-of-range timestamp, the time the check was performed, and an ordered array of upcoming run times each containing UTC time, local time in the requested timezone, and the weekday name.

## 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",
      "POST",
      "PUT",
      "PATCH",
      "DELETE",
      "HEAD"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "expr"
     ],
     "properties": {
      "tz": {
       "type": "string",
       "default": "UTC",
       "examples": [
        "America/New_York",
        "Europe/London",
        "Asia/Tokyo"
       ],
       "description": "IANA time zone the schedule is evaluated in (default UTC)"
      },
      "expr": {
       "type": "string",
       "examples": [
        "30 9 * * mon-fri",
        "*/15 * * * *",
        "@daily"
       ],
       "description": "Standard 5-field cron (minute hour day-of-month month day-of-week) or @hourly, @daily, @weekly, @monthly, @yearly; names like mon-fri and jan are accepted"
      },
      "from": {
       "type": "string",
       "examples": [
        "2026-10-12T12:00:00Z"
       ],
       "description": "ISO 8601 instant to start from (default: now)"
      },
      "count": {
       "type": "string",
       "default": "5",
       "pattern": "^[0-9]{1,2}$",
       "description": "How many upcoming run times to return, 1 to 20 (default 5)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "expression",
      "description",
      "next_runs"
     ],
     "properties": {
      "from": {
       "type": [
        "string",
        "null"
       ],
       "description": "Start of the range"
      },
      "count": {
       "type": "number",
       "description": "Number of run times returned"
      },
      "timezone": {
       "type": "string",
       "description": "Time zone the schedule was evaluated in"
      },
      "next_runs": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "utc": {
          "type": "string",
          "description": "Run time in UTC (ISO 8601)"
         },
         "local": {
          "type": "string",
         
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-cron-expression-explainer-next-run-calculator-f1065d23/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
