It seems like the error condition here would result from bad code (an improper call to `api`) so I wonder if it's better to log something and throw an exception here, and set up default [error handling](http://expressjs.com/guide.html#error-handling) elsewhere? I think of throwing as "we screwed up" and returning an error as "the requester screwed up" although I don't know if that's at all standard.