Sorry I didn't see this earlier. Your curl isn't posting any data. When you call an API that expects POST data, you need to do it with the --data parameter for a curl command line request. I haven't done much with scenes, but I just tried this and it worked:
curl --data '' http://192.168.2.12:52125/api/v1/scenes/Living%20Room%20Fan%20Light%20On/on
That's odd and not how I have any of my switches setup, but I haven't done much with scenes, so perhaps they're different. Typically what I do with an individual switch is this (I have to include header data or I get an error):
curl --data '{"value":0}' --header "content-type: application/json; charset=UTF-8" http://192.168.2.12:52125/api/v1/nodes/0:4/switch_binary
You asked about how to figure this out, and what I typically do is open up Chrome, open the developer tab, and hit the links, then view the information to see what Engen's page just did. Then I try to mimic that in a curl command. Once I get it all worked up, then I'll put it into whatever other program I'm using to actually send the data to Engen.
Hopefully that helps a bit. I'm sure JRiver can answer a lot more questions about how the API works than I can, I've just figured out how to mess around with and figure out what works for me...