BackendBench
Coffee

Home โ€บ Cron errors โ€บ AWS EventBridge

AWS EventBridge ยท error

EventBridge rejects both day fields being set

ValidationException: Parameter ScheduleExpression is not valid.

Why this happens

EventBridge, like Quartz, will not accept a value in both day fields. Exactly one must be ?.

Wrong and right

wrong
0 12 15 * MON *

Our parser says: Use ? in exactly one of day-of-month and day-of-week

fixed
0 12 15 * ? *

At 12:00 UTC, on the 15th of the month. First runs after 1 Jan 2027 (UTC): Fri 15 Jan, 12:00, Mon 15 Feb, 12:00, Mon 15 Mar, 12:00, Thu 15 Apr, 12:00, Sat 15 May, 12:00

How to fix it

  1. Choose a date or a weekday.
  2. Use ? in the other.
  3. For "first Monday" use the # form: 0 12 ? * 2#1 *.

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 15 * ? *:

SystemExpression
Quartz0 0 12 15 * ?
Spring0 0 12 15 * *
Crontab0 12 15 * *
Kubernetes0 12 15 * *
Jenkins0 12 15 * *
GitHub Actions0 12 15 * *
node-cron0 12 15 * *
Apache Airflow0 12 15 * *
Azure Functions0 0 12 15 * *
Google Cloud Scheduler0 12 15 * *

Try it yourself

The tester below starts with the fixed expression. Change it and watch the schedule update.

Your week at a glance
fewer more runs

Upcoming runs

#LocalUTCFrom now

Copy-ready code

Frequently asked questions

Why is the error so vague?

EventBridge returns the same message for any invalid expression, so check field count, ? and year first.

More AWS EventBridge fixes

See the full AWS EventBridge cron builder or convert between formats.

More tools you might need