genenetwork2 offloads search to the genenetwork3 search API. When there is an error in the genenetwork3 API call, genenetwork2 has no idea what went wrong and cannot produce a good stacktrace. The genenetwork3 API should do a better job of communicating errors.
In particular, for the search API, we should start with correctly reporting invalid search queries so that genenetwork2 can present it appropriately in its web UI.