diff --git a/lib/passwordstate/client.rb b/lib/passwordstate/client.rb
index 246dfd2743c9937891c6c1273c6b33f0d5edd3cd..5b5c3e0383bc30b73f4262b8fe28cba8c89db6b3 100644
--- a/lib/passwordstate/client.rb
+++ b/lib/passwordstate/client.rb
@@ -28,11 +28,13 @@ module Passwordstate
     end
 
     def folders
-      ResourceList.new self, Passwordstate::Resources::Folder
+      ResourceList.new self, Passwordstate::Resources::Folder,
+                       only: %i[all search post]
     end
 
     def hosts
-      ResourceList.new self, Passwordstate::Resources::Folder
+      ResourceList.new self, Passwordstate::Resources::Host,
+                       only: %i[search post delete]
     end
 
     def passwords
@@ -40,7 +42,8 @@ module Passwordstate
     end
 
     def password_lists
-      ResourceList.new self, Passwordstate::Resources::PasswordList
+      ResourceList.new self, Passwordstate::Resources::PasswordList,
+                       except: %i[put delete]
     end
 
     def valid?
diff --git a/lib/passwordstate/resources/folder.rb b/lib/passwordstate/resources/folder.rb
index bfecbab651b6ecafbd2efd886a46762fb79c318a..6953c0800984b75eb9cf4a9c97a898214e09b659 100644
--- a/lib/passwordstate/resources/folder.rb
+++ b/lib/passwordstate/resources/folder.rb
@@ -3,6 +3,8 @@ module Passwordstate
     class Folder < Passwordstate::Resource
       api_path 'folders'
 
+      index_field :folder_id
+
       accessor_fields :folder_name,
                       :description