Solved little issue if JSON was the content-type.

We can now perform both types of request
curl -X POST http://localhost:4567/send -d '{ "to": "John Doe johndoe@example.com", "subject": "hello world", "body": "Hi John! Sending you an email via this awesome API I just made on the interwebs." }'

curl -H "Content-Type: application/json" -X POST http://localhost:4567/send -d '{ "to": "John Doe johndoe@example.com", "subject": "hello world", "body": "Hi John! Sending you an email via this awesome API I just made on the interwebs." }'

Source:
http://stackoverflow.com/questions/13675549/how-to-capture-params-hash-from-posted-json-in-sinatra-app