Hi Bart,
When an unhandled exception occurs in an exposed REST services method, the Platform produces a default REST error output, with an "Errors" attribute that holds the exception message, and a "StatusCode" attribute that holds the HTTP status code (default 500, unless you set it to something else). There's no way around it, unless you handle the exception in the REST method. You did this, but you end your handler by throwing another Exception! Also, you are JSON serializing the output, I'm not sure why you though you needed to do that. The simple solution is to remove everything after the ListAppend, and end with an End:

This should give you the result you want.