I understand how it defines the URIs of communication by simplicity of existing, yet nowhere do I see any definition of or way of specifying what format or structure the data will be passed in. How do I know what I'll get back? How do I know what to send? Not just in JSON vs XML vs whatever else, but also in what elements or keys / values are inside either of those.
I could, theoretically, see using REST URIs in a SOAP WSDL, yet somehow I get the impression that's not what was intended (given how many 'REST kills SOAP' type posts I've seen around). So where do I define what is being sent back? How do I communicate that to someone who wants to consume my service?
Surely we can't expect everyone who uses REST to reinvent the wheel of how to communicate this basic information?