It was the 'tif' (time-in-force) field. It's mandatory for all orders and in your log clearly missing.
Thanks @d08, do you have a list of the mandatory fields for basic orders types? The IB docs are not specific to what is mandatory vs. optional.