fixes #2931 - API v2 hosts JSON response, add *_name for each *_id
fixes #3137 - API v2 - show error if optional nested object does not exist for nested route