diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangQuery.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangQuery.java
index 2c405148d9e2e11e41fd75ee439f3ae7f3900013..dcaa5ac1fa3eac0320e31fb26c44182a7983a124 100644
--- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangQuery.java
+++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangQuery.java
@@ -1,10 +1,61 @@
 package de.ozgcloud.apilib.vorgang;
 
+import java.util.Optional;
+
 import lombok.Builder;
 import lombok.Getter;
 
 @Builder
 @Getter
 public class OzgCloudVorgangQuery {
+	@Builder.Default
+	public final Optional<String> organisationsEinheitId = Optional.empty();
+	@Builder.Default
+	public final Optional<FormIdentification> form = Optional.empty();
+	@Builder.Default
+	public final Optional<String> status = Optional.empty();
+	@Builder.Default
+	public final Optional<String> aktenzeichen = Optional.empty();
+
+	@Builder.Default
+	public final Optional<Query> query = Optional.empty();
+
+	@Builder
+	@Getter
+	public static class Query {
+		public final LogicalOperator logicalOperator;
+		public final Expression expression;
+		public final OzgCloudVorgangQuery nestedQuery;
+	}
+
+	public static record FormIdentification(String formId, String formEngineName) {
+	};
+
+	public enum LogicalOperator {
+		AND, OR
+	}
+
+	@Builder
+	@Getter
+	public static class Expression {
+		public final String path;
+		public final ComparsionOperator operator;
+		public final Integer operandIntValue;
+		public final Boolean operandBoolValue;
+		public final String operandStringValue;
+
+		public enum ComparsionOperator {
+			GREATER_THEN, // >
+			GREATER_THEN_OR_EQUAL_TO, // >=
+			LESS_THEN, // <
+			LESS_THEN_OR_EQUAL_TO, // <=
+			EQUAL, // =
+			UNEQUAL, // <>
+			IS_NULL,
+			IS_EMPTY,
+			EXISTS,
+			NOT_EXIST;
+		}
 
-}
+	}
+}
\ No newline at end of file
diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangService.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangService.java
index d3f5d804237f6fac1226c1dec20533bf3002bcbb..0ee75e8a46671c3989a3e18bc9e7c35c53e9bb4b 100644
--- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangService.java
+++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangService.java
@@ -6,6 +6,8 @@ public interface OzgCloudVorgangService {
 
 	public OzgCloudVorgang getById(OzgCloudVorgangId vorgangId);
 
+	public List<OzgCloudVorgangStub> find(OzgCloudVorgangQuery query, Page page);
+
 	public List<OzgCloudVorgangStub> search(String searchString);
 
 	public List<OzgCloudVorgangStub> search(String searchString, Page page);