api.array :users, api_meta(:total_count => @user_count, :offset => @offset, :limit => @limit) do
  @users.each do |user|
    api.user do
      api.id         user.id
      api.login      user.login
      api.admin      user.admin?
      api.firstname  user.firstname
      api.lastname   user.lastname
      api.mail       user.mail
      api.created_on user.created_on
      api.updated_on user.updated_on
      api.last_login_on     user.last_login_on
      api.passwd_changed_on user.passwd_changed_on
      api.avatar_url gravatar_url(user.mail, {rating: nil, size: nil, default: Setting.gravatar_default}) if Setting.gravatar_enabled?
      api.twofa_scheme user.twofa_scheme
      api.status user.status

      api.auth_source do
        api.id user.auth_source.id
        api.name user.auth_source.name
      end if include_in_api_response?('auth_source') && user.auth_source.present?

      render_api_custom_values user.visible_custom_field_values, api
    end
  end
end
