I see what you’re saying, the requirement of two calls to get information of a user identified by a username, sure. Create a cache and maintain username->userid like you said. But, the problem goes beyond this usecase I think. Are you suggesting their api return usernames as well? If that’s the case, the data returned could potentially become invalid as a result of someone changing their name. Their v5 api returning userids ensures that the returned data cannot be invalidated by a username change. The idea here is to streamline all services into using userid as a key which will (theoretically) never change and whose data can be consistent. That isn’t possible with usernames.