# cronbadge.dev API summary

> Public cron parsing service for JSON, GitHub-style badges, and schedule cards.

Base URL: https://cronbadge.dev

## Endpoints

- `GET /status`
  Returns the public human-readable service status page.
- `GET /api/v1/parse?expr=...&tz=...&count=...`
  Returns structured JSON with summary, next run, next runs, and warnings.
- `GET /api/v1/badge.svg?expr=...&tz=...&label=...`
  Returns a compact split badge with a custom left label segment.
- `GET /api/v1/card.svg?expr=...&tz=...&count=...`
  Returns a larger schedule card using the same badge family styling.
- `GET /api/v1/timezones`
  Returns the exact runtime-supported IANA timezone identifiers.

## Limits

- Cron syntax is Unix 5-field only: minute, hour, day of month, month, day of week.
- Unsupported syntax includes macros like `@daily` and Quartz-specific tokens such as `?`, `L`, `W`, and `#`.
- The parse endpoint supports `count` values from 1 through 10 for upcoming runs.
- Badge output is width-capped and truncates long visible text to keep the SVG embeddable in README contexts.
- Card output is optimized for concise schedule previews and currently renders up to 8 visible upcoming runs cleanly.
- Timezone input can be any IANA timezone recognized by the deployed runtime. See `/api/v1/timezones` for the exact runtime-supported set.

## Copy-paste examples

- Explain every 5 minutes in JSON: https://cronbadge.dev/api/v1/parse?expr=%2A%2F5%20%2A%20%2A%20%2A%20%2A&tz=UTC
- GitHub-style production badge: https://cronbadge.dev/api/v1/badge.svg?expr=0%2012%20%2A%20%2A%201&tz=Europe%2FAmsterdam&label=production&summary=hide&next=show&timeFormat=weekday-time
- GitHub-style sandbox badge: https://cronbadge.dev/api/v1/badge.svg?expr=0%2014%20%2A%20%2A%201&tz=Europe%2FAmsterdam&label=sandbox&summary=hide&next=show&timeFormat=weekday-time
- Weekday release card: https://cronbadge.dev/api/v1/card.svg?expr=30%209%20%2A%20%2A%201-5&tz=Europe%2FAmsterdam&theme=light&count=3&timezoneLabel=show&expression=show&nextRunLabel=show
- Validate a cron without rendering images: https://cronbadge.dev/api/v1/parse?expr=30%209%20%2A%20%2A%201-5&tz=Europe%2FAmsterdam&count=3
