diff --git a/proto/common/common.proto b/proto/common/common.proto
index ac9e243400a7e36028ab9a096aee7af4106455d8..96c102f3f7598c8f3c6bd77ed94fe8a988b65892 100644
--- a/proto/common/common.proto
+++ b/proto/common/common.proto
@@ -6,6 +6,9 @@ package common;
 
 import "google/protobuf/struct.proto";
 
+// Deprecated
+// Поддержка этой реализации фильтра осталась только в запросе поиска записей (Items.Find)
+// Возможно, его поддержка будет прекращена в следующих версиях системы
 message Filter {
   string op = 1;
   string field = 2;
diff --git a/proto/spaces/spaces.proto b/proto/spaces/spaces.proto
index 91d7716a35ab79337edd351126a94e5fbf343395..4a3410fad48ea8268f49b3fd966ed4714f4141b8 100644
--- a/proto/spaces/spaces.proto
+++ b/proto/spaces/spaces.proto
@@ -6,6 +6,7 @@ package content.spaces;
 
 import "google/protobuf/empty.proto";
 import "google/protobuf/timestamp.proto";
+import "common/common.proto";
 
 message Space {
   string id = 1;
@@ -103,10 +104,31 @@ message MoveRequest {
   string org_id = 2; // Идентификатор организации, в которую пространство должно быть перемещено. Обязателен для заполнения только в случае запросов с системным уровнем доступа, в остальных случаях опционален
 }
 
+message Filter {
+  repeated string id = 1; // Список ID пространств
+  repeated string org_id = 2; // Список организаций
+  repeated string name = 3; // Список названий
+  repeated State state = 4; // Список состояний
+  repeated string transfer_to_org = 5; // Список организаций, в которые запрошен перенос пространства
+}
+
+message FindRequest {
+  // Фильтры для поиска
+  Filter filter = 1;
+  // Опции поиска
+  common.FindOptions options = 2;
+}
+
+message FindResponse {
+  repeated Space spaces = 1;
+  int32 total = 2;
+}
+
 service Spaces {
   rpc Create(CreateRequest) returns(CreateResponse) {}
   rpc Get(GetRequest) returns(GetResponse) {}
   rpc List(ListRequest) returns(ListResponse) {}
+  rpc Find(FindRequest) returns(FindResponse) {}
   rpc Update(UpdateRequest) returns(google.protobuf.Empty) {}
   rpc UpdateConfig(UpdateConfigRequest) returns(google.protobuf.Empty) {}
   rpc Delete(DeleteRequest) returns(google.protobuf.Empty) {}