Issue
Submitting a cron expression to schedule a job results in a 400 Bad Request error, even when the expression appears to be syntactically correct.
Diagnosis
This issue occurs when the cron expression submitted uses standard cron syntax rather than the Quartz cron format expected by Fusion.
Fusion's job scheduling system requires cron expressions to follow the Quartz convention, which includes seven fields instead of the standard five.
Example of invalid standard format:
0 */6 * * *Attempting to use this format results in a 400 error from the API or UI.
Environment
Fusion 5.x (Self-Hosted)
This applies to all versions of Fusion 5.x where job scheduling is configured using cron expressions via the UI or API.
Cause
Fusion uses Quartz Scheduler for job timing, which requires a different cron format than traditional Unix-style crons. Submitting a non-Quartz-compliant expression causes a validation error, leading to the API rejecting the request.
Quartz format expects the following pattern:
<second> <minute> <hour> <day-of-month> <month> <day-of-week> <year(optional)>Resolution
To run a job every 6 hours using Quartz syntax, use the following expression:
0 0 0/6 * * ? This schedules the job to run at the top of every 6th hour (e.g., 00:00, 06:00, 12:00, 18:00).
Recommended best practice
Use an online Quartz cron expression generator to validate and build expressions:
Ensure your expression includes all required fields and uses ? in either day-of-month or day-of-week when the field is not being used, as Quartz requires mutual exclusivity between the two.
If the issue persists after validating the expression, confirm that no extra white space or formatting issues are present in the payload being submitted.