def invite(params={})
      require_user
      raise InvalidArgument, "Phone or email required" unless params[:email] or params[:phone]
      if params[:start]
        params[:start] = params[:start].to_i
      else
        params[:start] = Time.now.to_i
      end
      params[:expiration] = params[:expiration].to_i if params[:expiration]
      @user.post "locks/#{@uuid}/keys", params
    end
def invite(params={})
      require_user
      raise InvalidArgument, "Phone or email required" unless params[:email] or params[:phone]
      if params[:start]
        params[:start] = params[:start].to_i
      else
        params[:start] = Time.now.to_i
      end
      params[:expiration] = params[:expiration].to_i if params[:expiration]
      @user.post "locks/#{@uuid}/keys", params
    end
Invites a user to this lock.
 @note Must be performed in user context

 @param [Hash] Options
 @option params [String] :phone
 @option params [String] :email
 @option params [String] :role Defaults to guest
 @option params [String] :fullname
 @option params [Time] :start Optional key start time
 @option params [Time] :expiration Optional key stop time
 @return [Hash] API response