Not quite sure about the layering here. We'd generally have something like:

type UserInfo struct {
    Username string `json:"user-name"`
    DisplayName string ...
    ID string ... // although: what will we be using this for? no point showing it to the user if it doesn't help them interact with the system at all...
}

type UserInfoResult struct {
    Result *UserInfo
    Error *Error
}

type UserInfoResults struct {
    Results []UserInfoResult
}