Home โบ Cron errors โบ AWS EventBridge
EventBridge error: ScheduleExpression is not valid
ValidationException: Parameter ScheduleExpression is not valid.Why this happens
EventBridge cron has six fields including a required year, and one of the day fields must be ?. A standard five-field expression fails on both counts.
Wrong and right
0 12 * * *Our parser says: AWS EventBridge needs 6 fields, but you gave 5
0 12 * * ? *At 12:00 UTC. First runs after 1 Jan 2027 (UTC): Fri 01 Jan, 12:00, Sat 02 Jan, 12:00, Sun 03 Jan, 12:00, Mon 04 Jan, 12:00, Tue 05 Jan, 12:00
How to fix it
- Add the year field at the end (* for every year).
- Put ? in either day-of-month or day-of-week.
- Wrap it as cron(0 12 * * ? *) when creating the rule.
The AWS EventBridge format at a glance
Fields in order: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (1-7, 1 = Sunday), year (1970-2199, required).
EventBridge rules always run in UTC. If you want a local time zone with DST support, use EventBridge Scheduler instead.
The fixed schedule in other systems
If you are moving this schedule to another scheduler, these are the equivalents of 0 12 * * ? *:
| System | Expression |
|---|---|
| Quartz | 0 0 12 * * ? |
| Spring | 0 0 12 * * * |
| Crontab | 0 12 * * * |
| Kubernetes | 0 12 * * * |
| Jenkins | 0 12 * * * |
| GitHub Actions | 0 12 * * * |
| node-cron | 0 12 * * * |
| Apache Airflow | 0 12 * * * |
| Azure Functions | 0 0 12 * * * |
| Google Cloud Scheduler | 0 12 * * * |
Try it yourself
The tester below starts with the fixed expression. Change it and watch the schedule update.
Your week at a glance
Upcoming runs
| # | Local | UTC | From now |
|---|
Copy-ready code
Frequently asked questions
Can I use rate() instead?
Yes. rate(5 minutes) is simpler for fixed intervals.
More AWS EventBridge fixes
See the full AWS EventBridge cron builder or convert between formats.