I was creating some promoted results using query rules this morning, and noticed that they worked fine in the search UI, but I got a 500 internal error when using REST.
Turns out there is a bug in both on-premises 2013 and SharePoint Online which will make your REST query fail if you omit to enter a URL for your promoted result.
It’s no big issue as I was planning to add a URL later anyways, but good to know until the issue is fixed.