In addition to Jos Faber's answers, I'll add...
Consistent responses and errors. Many APIs deliver weird, or HTML responses in error conditions... I suggest when returning json, to always return an object wrapper, error as a property, which should have at least message and code properties.
Another is dates... Use UTC iso8601 dates yyyy-mm-ddTHH:nn:ssZ, out drop the Z for local and tether it with a location, for events... Let the client localize dates.
Last, don't be dogmatic about rest vs RPC, most services should have end points that serve some of each. You'll get some weird interactions if you ban one or the other.