api: improve error messages and detect errors before job submission

6 jobs for 21-improve-error-messages in 20 minutes and 54 seconds (queued for 16 seconds)