diff --git a/zufi-manager-server/src/main/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitGrpcService.java b/zufi-manager-server/src/main/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitGrpcService.java
index 6d096f3bd1cbef4391c96ae310ec61560639175c..307eb45ba475b33920967d48eab1f8f0cdcc87c3 100644
--- a/zufi-manager-server/src/main/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitGrpcService.java
+++ b/zufi-manager-server/src/main/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitGrpcService.java
@@ -2,6 +2,8 @@ package de.ozgcloud.zufi.organisationseinheit;
 
 import java.util.List;
 
+import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcGetByOrganisationsEinheitIdRequest;
+import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcGetByOrganisationsEinheitIdResponse;
 import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcOrganisationsEinheitGetRequest;
 import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcOrganisationsEinheitGetResponse;
 import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcOrganisationsEinheitSearchRequest;
@@ -48,4 +50,19 @@ class OrganisationsEinheitGrpcService extends OrganisationsEinheitServiceImplBas
 		return responseBuilder.build();
 	}
 
+	@Override
+	public void getByOrganisationsEinheitId(GrpcGetByOrganisationsEinheitIdRequest request,
+			StreamObserver<GrpcGetByOrganisationsEinheitIdResponse> responseObserver) {
+		var organisationsEinheiten = searchService.getByOrganisationsEinheitId(request.getId());
+		responseObserver.onNext(buildGetByOrganisationsEinheitIdResponse(organisationsEinheiten));
+		responseObserver.onCompleted();
+	}
+
+	GrpcGetByOrganisationsEinheitIdResponse buildGetByOrganisationsEinheitIdResponse(List<OrganisationsEinheit> organisationsEinheiten) {
+		var responseBuilder = GrpcGetByOrganisationsEinheitIdResponse.newBuilder();
+		organisationsEinheiten.stream()
+				.map(mapper::fromOrganisationsEinheit)
+				.forEach(responseBuilder::addOrganisationsEinheiten);;
+		return responseBuilder.build();
+	}
 }
diff --git a/zufi-manager-server/src/main/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitSearchService.java b/zufi-manager-server/src/main/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitSearchService.java
index 0825f1ff8c723fcea19d6b01aa97a5975534581c..098dedd71581fd9f4adf765fdb82a94f8882d415 100644
--- a/zufi-manager-server/src/main/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitSearchService.java
+++ b/zufi-manager-server/src/main/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitSearchService.java
@@ -17,6 +17,10 @@ class OrganisationsEinheitSearchService {
 		return repository.findById(id).orElseThrow(() -> new OrganisationsEinheitNotFoundException(id));
 	}
 
+	public List<OrganisationsEinheit> getByOrganisationsEinheitId(String id) {
+		return List.of();
+	}
+
 	public List<OrganisationsEinheit> search(String text, String ars) {
 		if (StringUtils.isEmpty(ars)) {
 			return repository.findAllContaining(text);
diff --git a/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/GrpcGetByOrganisationsEinheitIdRequestTestFactory.java b/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/GrpcGetByOrganisationsEinheitIdRequestTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..84996a7d855e4ebd4ff94a755f6be88ece95d779
--- /dev/null
+++ b/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/GrpcGetByOrganisationsEinheitIdRequestTestFactory.java
@@ -0,0 +1,15 @@
+package de.ozgcloud.zufi.organisationseinheit;
+
+import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcGetByOrganisationsEinheitIdRequest;
+
+class GrpcGetByOrganisationsEinheitIdRequestTestFactory {
+
+	public static GrpcGetByOrganisationsEinheitIdRequest create() {
+		return createBuilder().build();
+	}
+
+	public static GrpcGetByOrganisationsEinheitIdRequest.Builder createBuilder() {
+		return GrpcGetByOrganisationsEinheitIdRequest.newBuilder()
+				.setId(OrganisationsEinheitTestFactory.XZUFI_ID.getId());
+	}
+}
diff --git a/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/GrpcGetByOrganisationsEinheitIdResponseTestFactory.java b/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/GrpcGetByOrganisationsEinheitIdResponseTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..f47342ab59431f755e574916f23755f1344710d9
--- /dev/null
+++ b/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/GrpcGetByOrganisationsEinheitIdResponseTestFactory.java
@@ -0,0 +1,18 @@
+package de.ozgcloud.zufi.organisationseinheit;
+
+import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcGetByOrganisationsEinheitIdResponse;
+import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcOrganisationsEinheit;
+
+class GrpcGetByOrganisationsEinheitIdResponseTestFactory {
+
+	public static final GrpcOrganisationsEinheit GRPC_ORGANISATIONS_EINHEIT = GrpcOrganisationsEinheitTestFactory.create();
+
+	public static GrpcGetByOrganisationsEinheitIdResponse create() {
+		return createBuilder().build();
+	}
+
+	public static GrpcGetByOrganisationsEinheitIdResponse.Builder createBuilder() {
+		return GrpcGetByOrganisationsEinheitIdResponse.newBuilder()
+				.addOrganisationsEinheiten(GRPC_ORGANISATIONS_EINHEIT);
+	}
+}
diff --git a/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitGrpcServiceTest.java b/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitGrpcServiceTest.java
index fe61176d657b985cc322e1d99082e004a5730ca5..8a5b62e561687319d9fe7cadda583ecd428aa39e 100644
--- a/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitGrpcServiceTest.java
+++ b/zufi-manager-server/src/test/java/de/ozgcloud/zufi/organisationseinheit/OrganisationsEinheitGrpcServiceTest.java
@@ -14,6 +14,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
 
+import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcGetByOrganisationsEinheitIdResponse;
 import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcOrganisationsEinheit;
 import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcOrganisationsEinheitGetRequest;
 import de.ozgcloud.zufi.grpc.organisationseinheit.GrpcOrganisationsEinheitGetResponse;
@@ -26,7 +27,7 @@ class OrganisationsEinheitGrpcServiceTest {
 	@InjectMocks
 	private OrganisationsEinheitGrpcService service;
 	@Mock
-	private OrganisationsEinheitSearchService organisationsEinheitSearchService;
+	private OrganisationsEinheitSearchService searchService;
 	@Mock
 	private GrpcOrganisationsEinheitMapper mapper;
 
@@ -52,7 +53,7 @@ class OrganisationsEinheitGrpcServiceTest {
 
 			@BeforeEach
 			void setUpMocks() {
-				when(organisationsEinheitSearchService.search(request.getSearchBy(), request.getArs())).thenReturn(organisationsEinheiten);
+				when(searchService.search(request.getSearchBy(), request.getArs())).thenReturn(organisationsEinheiten);
 				when(mapper.fromOrganisationsEinheit(organisationsEinheit)).thenReturn(grpcOrganisationsEinheit);
 				when(mapper.fromOrganisationsEinheit(organisationsEinheit2)).thenReturn(grpcOrganisationsEinheit2);
 			}
@@ -61,11 +62,11 @@ class OrganisationsEinheitGrpcServiceTest {
 			void shouldCallService() {
 				callService();
 
-				verify(organisationsEinheitSearchService).search(request.getSearchBy(), request.getArs());
+				verify(searchService).search(request.getSearchBy(), request.getArs());
 			}
 
 			@Test
-			void shouldCreateResponse() {
+			void shouldBuildResponse() {
 				callService();
 
 				verify(service).buildOrganisationsEinheitSearchResponse(organisationsEinheiten);
@@ -93,7 +94,7 @@ class OrganisationsEinheitGrpcServiceTest {
 
 			@BeforeEach
 			void setUpMocks() {
-				when(organisationsEinheitSearchService.search(request.getSearchBy(), request.getArs())).thenReturn(organisationsEinheiten);
+				when(searchService.search(request.getSearchBy(), request.getArs())).thenReturn(organisationsEinheiten);
 				when(mapper.fromOrganisationsEinheit(organisationsEinheit)).thenReturn(grpcOrganisationsEinheit);
 				when(mapper.fromOrganisationsEinheit(organisationsEinheit2)).thenReturn(grpcOrganisationsEinheit2);
 			}
@@ -139,7 +140,7 @@ class OrganisationsEinheitGrpcServiceTest {
 
 			@BeforeEach
 			void setUpMocks() {
-				when(organisationsEinheitSearchService.getById(organisationsEinheitId)).thenReturn(organisationsEinheit);
+				when(searchService.getById(organisationsEinheitId)).thenReturn(organisationsEinheit);
 				when(mapper.fromOrganisationsEinheit(organisationsEinheit)).thenReturn(grpcOrganisationsEinheit);
 			}
 
@@ -147,11 +148,11 @@ class OrganisationsEinheitGrpcServiceTest {
 			void shouldCallService() {
 				callService();
 
-				verify(organisationsEinheitSearchService).getById(organisationsEinheitId);
+				verify(searchService).getById(organisationsEinheitId);
 			}
 
 			@Test
-			void shouldCreateResponse() {
+			void shouldBuildResponse() {
 				callService();
 
 				verify(service).buildOrganisationsEinheitGetResponse(organisationsEinheit);
@@ -206,4 +207,86 @@ class OrganisationsEinheitGrpcServiceTest {
 
 	}
 
+	@Nested
+	class TestGetByOrganisationsEinheitId {
+
+		public static final String ORGANISATIONS_EINHEIT_ID = OrganisationsEinheitTestFactory.XZUFI_ID.getId();
+
+		private final List<OrganisationsEinheit> organisationsEinheiten = List.of(organisationsEinheit);
+		private final GrpcGetByOrganisationsEinheitIdResponse response = GrpcGetByOrganisationsEinheitIdResponseTestFactory.create();
+
+		@Mock
+		private StreamObserver<GrpcGetByOrganisationsEinheitIdResponse> responseObserver;
+
+		@Captor
+		private ArgumentCaptor<GrpcGetByOrganisationsEinheitIdResponse> responseCaptor;
+
+		@BeforeEach
+		void init() {
+			when(searchService.getByOrganisationsEinheitId(ORGANISATIONS_EINHEIT_ID)).thenReturn(organisationsEinheiten);
+			doReturn(response).when(service).buildGetByOrganisationsEinheitIdResponse(organisationsEinheiten);
+		}
+
+		@Test
+		void shouldCallService() {
+			callService();
+
+			verify(searchService).getByOrganisationsEinheitId(ORGANISATIONS_EINHEIT_ID);
+		}
+
+		@Test
+		void shouldBuildResponse() {
+			callService();
+
+			verify(service).buildGetByOrganisationsEinheitIdResponse(organisationsEinheiten);
+		}
+
+		@Test
+		void shouldReturnResponse() {
+			callService();
+
+			verify(responseObserver).onNext(responseCaptor.capture());
+			assertThat(responseCaptor.getValue()).isEqualTo(response);
+		}
+
+		@Test
+		void shouldCompleteResponse() {
+			callService();
+
+			verify(responseObserver).onCompleted();
+		}
+
+		private void callService() {
+			service.getByOrganisationsEinheitId(GrpcGetByOrganisationsEinheitIdRequestTestFactory.create(), responseObserver);
+		}
+	}
+
+	@Nested
+	class TestBuildGetByOrganisationsEinheitIdResponse {
+
+		private final List<OrganisationsEinheit> organisationsEinheiten = List.of(organisationsEinheit);
+
+		@BeforeEach
+		void setup() {
+			when(mapper.fromOrganisationsEinheit(organisationsEinheit)).thenReturn(grpcOrganisationsEinheit);
+		}
+
+		@Test
+		void shouldMapOrganisationsEinheit() {
+			callService();
+
+			verify(mapper).fromOrganisationsEinheit(organisationsEinheit);
+		}
+
+		@Test
+		void shouldReturnResponse() {
+			var result = callService();
+
+			assertThat(result.getOrganisationsEinheitenList()).containsExactly(GrpcGetByOrganisationsEinheitIdResponseTestFactory.GRPC_ORGANISATIONS_EINHEIT);
+		}
+
+		private GrpcGetByOrganisationsEinheitIdResponse callService() {
+			return service.buildGetByOrganisationsEinheitIdResponse(organisationsEinheiten);
+		}
+	}
 }