Websocket service call not working

I want to call a service using the below json string.
I followed the documentation and it looks good to me.

20:08:17 DBG {"id":3,"type":"call_service","domain":"light","service":"toggle","service_data":{"entity_id":"light.occhio_dining_table"}}

However it does not work.
The below error message does not return an id (in fact it returns a null id) and tells me the call is incorrectly formatted.

20:08:17 ERR {id:0 type:result message: success:false error:{code:invalid_format message:Message incorrectly formatted.} result:<nil>}

What am I missing here?

Using core-2021.2.2 (but it also happened on 2021-1.5)

Oh and the Error Code is not a number (anymore?) which is different than the docs.