A repeated problem I hear from people is that they are trying to use outdated CURL commands with JSON to "test" out the server.
People will get to prepareAndExecute and then the query will fail.
It appears that
CALCITE-718 in 1.4.0-incubating changed the semantics of this request implementation to require a Statement to already exist in the server (by CreateStatement), whereas previous versions automatically created this Statement as a part of the call.
We can get around this issue by just keep up-to-date docs on what the CURL commands to run are for simple actions.