Cron Expression Builder · Schema

Raw schema.

Same JSON the GET /v1/programming-dev/cron-expression-builder/schema endpoint returns — formatted for reading. Use it to codegen typed clients or document the contract.

cron-expression-builder.schema.json
{
  "tool": "cron-expression-builder",
  "domain": "programming-dev",
  "version": "1.0.0",
  "name": "Cron Expression Builder",
  "description": "Build a cron expression part-by-part, get a plain-English description, and preview the next five scheduled runs in your timezone. Handles ranges, lists, step values, and named days.",
  "standard": null,
  "inputs": [
    {
      "key": "minute",
      "label": "Minute",
      "placeholder": "0-59, *, */15, 0,30",
      "help": "When in the hour. * = every minute. 0 = top of the hour. */15 = every 15 minutes. 0,30 = on the hour and half past.",
      "type": "string",
      "maxLength": 64,
      "default": "0"
    },
    {
      "key": "hour",
      "label": "Hour",
      "placeholder": "0-23, *, 9-17",
      "help": "Which hour(s), 24-hour clock. 9-17 = 9 AM to 5 PM. * = every hour.",
      "type": "string",
      "maxLength": 64,
      "default": "9"
    },
    {
      "key": "day_of_month",
      "label": "Day of Month",
      "placeholder": "1-31, *, 1,15",
      "help": "1-31. * = every day. 1,15 = first and fifteenth. Combine with Day of Week for finer control.",
      "type": "string",
      "maxLength": 64,
      "default": "*"
    },
    {
      "key": "month",
      "label": "Month",
      "placeholder": "1-12, *, JAN-MAR",
      "help": "1-12 or JAN-DEC. * = every month.",
      "type": "string",
      "maxLength": 64,
      "default": "*"
    },
    {
      "key": "day_of_week",
      "label": "Day of Week",
      "placeholder": "0-6 (0=Sun), *, MON-FRI",
      "help": "0=Sunday, 6=Saturday. 1-5 = Mon–Fri. Names like MON-FRI also work.",
      "type": "string",
      "maxLength": 64,
      "default": "1-5"
    },
    {
      "key": "timezone",
      "label": "Timezone",
      "help": "Cron expressions are timezone-agnostic by themselves — the timezone tells us when to fire in real time. Pick where your servers actually run.",
      "type": "enum",
      "options": [
        "UTC",
        "Asia/Kolkata",
        "Asia/Tokyo",
        "Asia/Singapore",
        "Asia/Dubai",
        "Europe/London",
        "Europe/Berlin",
        "America/New_York",
        "America/Chicago",
        "America/Los_Angeles",
        "Australia/Sydney"
      ],
      "default": "Asia/Kolkata"
    }
  ],
  "outputs": [
    {
      "key": "expression",
      "label": "Cron Expression",
      "type": "string",
      "render": "code"
    },
    {
      "key": "human_readable",
      "label": "Plain English",
      "type": "string"
    },
    {
      "key": "next_runs_pretty",
      "label": "Next 5 Runs",
      "type": "string",
      "render": "lines"
    },
    {
      "key": "next_run_iso",
      "label": "Next Run (ISO 8601)",
      "type": "string"
    },
    {
      "key": "interval_summary",
      "label": "Fires Approximately",
      "type": "string"
    },
    {
      "key": "valid",
      "label": "Parses Cleanly",
      "type": "boolean"
    }
  ],
  "endpoint": "/v1/programming-dev/cron-expression-builder"
}