diff --git a/.gitignore b/.gitignore
index dfef11fec1a6a560e16005d6dab3446ff596505d..66476749a8ca30c053fcf1e4e1de49adc875bf76 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,5 @@ goofy-client/apps/coverage/
 
 .attach**
 .factorypath
+
+http-client.private.env.json
\ No newline at end of file
diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/ExportData.java b/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/ExportData.java
index 1470dc7023aaea7e56c24fcd62d7b40a4dcb90bc..754feda58e4dbf0c56278174e8666e47d7cf01b0 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/ExportData.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/ExportData.java
@@ -10,5 +10,5 @@ import lombok.ToString;
 @Builder(toBuilder = true)
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 @ToString
-class ExportData {
+public class ExportData {
 }
diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/XDomeaService.java b/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/XDomeaService.java
index 1589b93d639f90ba208bd4ec04235ad317c2256b..272041f9b389642c45f68f4bac7c79d155f9d7f7 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/XDomeaService.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/XDomeaService.java
@@ -1,7 +1,7 @@
 package de.ozgcloud.xdomea;
 
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
+import java.io.OutputStream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
@@ -10,19 +10,16 @@ import org.springframework.stereotype.Service;
 import de.itvsh.kop.common.errorhandling.TechnicalException;
 
 @Service
-class XDomeaService {
+public class XDomeaService {
 
-	public ByteArrayOutputStream createExport(ExportData exportData) {
-		ByteArrayOutputStream outputBytes = new ByteArrayOutputStream();
-		try (ZipOutputStream zipOutputStream = new ZipOutputStream(outputBytes)) {
+	public void writeExport(ExportData exportData, OutputStream out) {
+		try (ZipOutputStream zipOutputStream = new ZipOutputStream(out)) {
 
 			putZipEntry("export_test.txt", "test", zipOutputStream);
 
 		} catch (IOException ioe) {
 			throw new TechnicalException("Error creating zip file with Vorgang export", ioe);
 		}
-
-		return outputBytes;
 	}
 
 	private void putZipEntry(String fileName, String fileData, ZipOutputStream zipOutputStream) throws IOException {
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/xdomea/XDomeaServiceTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/xdomea/XDomeaServiceTest.java
index 0a3a7c716d2fd70089eb73cde64933d3b1985b6c..47c10845d9ef8dbdbb4352464c25a4c4c840e152 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/xdomea/XDomeaServiceTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/xdomea/XDomeaServiceTest.java
@@ -2,6 +2,8 @@ package de.ozgcloud.xdomea;
 
 import static org.assertj.core.api.Assertions.*;
 
+import java.io.ByteArrayOutputStream;
+
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 
@@ -10,14 +12,15 @@ class XDomeaServiceTest {
 	private XDomeaService service = new XDomeaService();
 
 	@Nested
-	class TestCreateExport {
+	class TestWriteExport {
 
 		@Test
-		void shouldCreate() {
-			var zipBytesStream = service.createExport(ExportDataTestFactory.create());
+		void shouldWriteBytes() {
+			var out = new ByteArrayOutputStream();
+			service.writeExport(ExportDataTestFactory.create(), out);
 
-			assertThat(zipBytesStream).isNotNull();
-			assertThat(zipBytesStream.toByteArray()).hasSizeGreaterThan(100);
+			assertThat(out).isNotNull();
+			assertThat(out.toByteArray()).hasSizeGreaterThan(100);
 		}
 
 	}
diff --git a/goofy-server/pom.xml b/goofy-server/pom.xml
index c4a969c5b4c91a25387634c4a7b2b342f189ebfb..ce0c100cffe56742cf59883094bd10df8c062bf0 100644
--- a/goofy-server/pom.xml
+++ b/goofy-server/pom.xml
@@ -24,232 +24,240 @@
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>de.itvsh.ozg</groupId>
-		<artifactId>goofy</artifactId>
-		<version>1.13.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>goofy-server</artifactId>
-	<name>Goofy Server</name>
-	<description>Projekt packaging deployment artefact</description>
-	<packaging>jar</packaging>
-
-	<properties>
-		<maven.compiler.source>${java.version}</maven.compiler.source>
-		<maven.compiler.target>${java.version}</maven.compiler.target>
-
-		<spring-boot.build-image.imageName>docker.ozg-sh.de/goofy:build-latest</spring-boot.build-image.imageName>
-	</properties>
-
-	<dependencies>
-		<!-- Spring -->
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-log4j2</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-web</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-hateoas</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-validation</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>net.devh</groupId>
-			<artifactId>grpc-client-spring-boot-starter</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-actuator</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-security</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.keycloak</groupId>
-			<artifactId>keycloak-spring-boot-starter</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.keycloak</groupId>
-			<artifactId>keycloak-admin-client</artifactId>
-		</dependency>
-
-		<!-- jwt -->
-		<dependency>
-			<groupId>com.auth0</groupId>
-			<artifactId>java-jwt</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>io.jsonwebtoken</groupId>
-			<artifactId>jjwt</artifactId>
-		</dependency>
-
-		<!-- own projects -->
-		<dependency>
-			<groupId>de.itvsh.ozg.pluto</groupId>
-			<artifactId>pluto-interface</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>de.itvsh.ozg.pluto</groupId>
-			<artifactId>pluto-utils</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>de.itvsh.kop.common</groupId>
-			<artifactId>kop-common-pdf</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>de.itvsh.kop.user</groupId>
-			<artifactId>user-manager-interface</artifactId>
-		</dependency>
-		
-		<!-- tools -->
-		<dependency>
-			<groupId>org.mapstruct</groupId>
-			<artifactId>mapstruct</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.jsoup</groupId>
-			<artifactId>jsoup</artifactId>
-		</dependency>
-
-		<!-- aspectJ -->
-		<dependency>
-			<groupId>org.aspectj</groupId>
-			<artifactId>aspectjweaver</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.aspectj</groupId>
-			<artifactId>aspectjrt</artifactId>
-		</dependency>
-
-		<!-- Dev -->
-		<dependency>
-			<groupId>org.projectlombok</groupId>
-			<artifactId>lombok</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-devtools</artifactId>
-			<scope>runtime</scope>
-		</dependency>
-
-		<!-- commons -->
-		<dependency>
-			<groupId>org.apache.commons</groupId>
-			<artifactId>commons-lang3</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>commons-io</groupId>
-			<artifactId>commons-io</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>commons-beanutils</groupId>
-			<artifactId>commons-beanutils</artifactId>
-		</dependency>
-
-		<!-- Test -->
-		<dependency>
-			<groupId>org.springframework.security</groupId>
-			<artifactId>spring-security-test</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>de.itvsh.ozg.pluto</groupId>
-			<artifactId>pluto-utils</artifactId>
-			<type>test-jar</type>
-			<scope>test</scope>
-			<version>${pluto.version}</version>
-		</dependency>
-
-		<dependency>
-			<groupId>com.thedeanda</groupId>
-			<artifactId>lorem</artifactId>
-		</dependency>
-
-	</dependencies>
-
-	<build>
-		<finalName>${project.artifactId}</finalName>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.springframework.boot</groupId>
-				<artifactId>spring-boot-maven-plugin</artifactId>
-				<configuration>
-					<docker>
-						<publishRegistry>
-							<username>${docker-username}</username>
-							<password>${docker-password}</password>
-							<url>${docker-url}</url>
-						</publishRegistry>
-					</docker>
-				</configuration>
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-failsafe-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.jacoco</groupId>
-				<artifactId>jacoco-maven-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>pl.project13.maven</groupId>
-				<artifactId>git-commit-id-plugin</artifactId>
-			</plugin>
-
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-resources-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>copy-client</id>
-						<phase>compile</phase>
-						<goals>
-							<goal>copy-resources</goal>
-						</goals>
-						<configuration>
-							<outputDirectory>${project.build.directory}/classes/META-INF/resources</outputDirectory>
-							<resources>
-								<resource>
-									<directory>../${project.parent.artifactId}-client/dist/apps/goofy/</directory>
-								</resource>
-							</resources>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>de.itvsh.ozg</groupId>
+    <artifactId>goofy</artifactId>
+    <version>1.13.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>goofy-server</artifactId>
+  <name>Goofy Server</name>
+  <description>Projekt packaging deployment artefact</description>
+  <packaging>jar</packaging>
+
+  <properties>
+    <maven.compiler.source>${java.version}</maven.compiler.source>
+    <maven.compiler.target>${java.version}</maven.compiler.target>
+
+    <spring-boot.build-image.imageName>docker.ozg-sh.de/goofy:build-latest
+    </spring-boot.build-image.imageName>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>de.itvsh.ozg</groupId>
+      <artifactId>alfa-xdomea</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <!-- Spring -->
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-log4j2</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-hateoas</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-validation</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>net.devh</groupId>
+      <artifactId>grpc-client-spring-boot-starter</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-actuator</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-security</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.keycloak</groupId>
+      <artifactId>keycloak-spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.keycloak</groupId>
+      <artifactId>keycloak-admin-client</artifactId>
+    </dependency>
+
+    <!-- jwt -->
+    <dependency>
+      <groupId>com.auth0</groupId>
+      <artifactId>java-jwt</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.jsonwebtoken</groupId>
+      <artifactId>jjwt</artifactId>
+    </dependency>
+
+    <!-- own projects -->
+    <dependency>
+      <groupId>de.itvsh.ozg.pluto</groupId>
+      <artifactId>pluto-interface</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.itvsh.ozg.pluto</groupId>
+      <artifactId>pluto-utils</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.itvsh.kop.common</groupId>
+      <artifactId>kop-common-pdf</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.itvsh.kop.user</groupId>
+      <artifactId>user-manager-interface</artifactId>
+    </dependency>
+
+    <!-- tools -->
+    <dependency>
+      <groupId>org.mapstruct</groupId>
+      <artifactId>mapstruct</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jsoup</groupId>
+      <artifactId>jsoup</artifactId>
+    </dependency>
+
+    <!-- aspectJ -->
+    <dependency>
+      <groupId>org.aspectj</groupId>
+      <artifactId>aspectjweaver</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.aspectj</groupId>
+      <artifactId>aspectjrt</artifactId>
+    </dependency>
+
+    <!-- Dev -->
+    <dependency>
+      <groupId>org.projectlombok</groupId>
+      <artifactId>lombok</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-devtools</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+
+    <!-- commons -->
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+    </dependency>
+
+    <!-- Test -->
+    <dependency>
+      <groupId>org.springframework.security</groupId>
+      <artifactId>spring-security-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>de.itvsh.ozg.pluto</groupId>
+      <artifactId>pluto-utils</artifactId>
+      <type>test-jar</type>
+      <scope>test</scope>
+      <version>${pluto.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.thedeanda</groupId>
+      <artifactId>lorem</artifactId>
+    </dependency>
+
+  </dependencies>
+
+  <build>
+    <finalName>${project.artifactId}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+        <configuration>
+          <docker>
+            <publishRegistry>
+              <username>${docker-username}</username>
+              <password>${docker-password}</password>
+              <url>${docker-url}</url>
+            </publishRegistry>
+          </docker>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-failsafe-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>pl.project13.maven</groupId>
+        <artifactId>git-commit-id-plugin</artifactId>
+      </plugin>
+
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-client</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${project.build.directory}/classes/META-INF/resources
+              </outputDirectory>
+              <resources>
+                <resource>
+                  <directory>../${project.parent.artifactId}-client/dist/apps/goofy/</directory>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 
 </project>
diff --git a/goofy-server/src/main/java/de/ozgcloud/alfa/vorgangexport/VorgangExportByVorgangController.java b/goofy-server/src/main/java/de/ozgcloud/alfa/vorgangexport/VorgangExportByVorgangController.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d4ef5d11579d415d8a26c4be57bfe047d14e684
--- /dev/null
+++ b/goofy-server/src/main/java/de/ozgcloud/alfa/vorgangexport/VorgangExportByVorgangController.java
@@ -0,0 +1,40 @@
+package de.ozgcloud.alfa.vorgangexport;
+
+import java.util.UUID;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody;
+
+import de.ozgcloud.xdomea.ExportData;
+import de.ozgcloud.xdomea.XDomeaService;
+
+@RestController
+@RequestMapping(VorgangExportByVorgangController.BASE_PATH)
+class VorgangExportByVorgangController {
+
+	public static final String BASE_PATH = "/api/vorgangs"; // NOSONAR
+	public static final String EXPORT_VORGANG_SUB_PATH = "/{vorgangId}/export"; // NOSONAR
+	public static final String EXPORT_VORGANG_PATH = BASE_PATH + EXPORT_VORGANG_SUB_PATH;
+
+	@Autowired
+	private XDomeaService xDomeaService;
+
+	@GetMapping(value = EXPORT_VORGANG_SUB_PATH, produces = "application/zip")
+	public ResponseEntity<StreamingResponseBody> exportVorgang(@PathVariable String vorgangId) {
+		return ResponseEntity.ok()
+				.header(HttpHeaders.CONTENT_DISPOSITION, String.format("attachment; filename=%s", generateVorgangExportFilename()))
+				.contentType(MediaType.valueOf("application/zip"))
+				.body(out -> xDomeaService.writeExport(ExportData.builder().build(), out));
+	}
+
+	String generateVorgangExportFilename() {
+		return String.format("%s_Abgabe.Abgabe.0401.xdomea", UUID.randomUUID());
+	}
+}
diff --git a/goofy-server/src/test/java/de/ozgcloud/alfa/vorgangexport/VorgangExportByVorgangControllerTest.java b/goofy-server/src/test/java/de/ozgcloud/alfa/vorgangexport/VorgangExportByVorgangControllerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..3acf2d9bcd370c1a4040736ec43845b3b56a1b9d
--- /dev/null
+++ b/goofy-server/src/test/java/de/ozgcloud/alfa/vorgangexport/VorgangExportByVorgangControllerTest.java
@@ -0,0 +1,87 @@
+package de.ozgcloud.alfa.vorgangexport;
+
+import static org.assertj.core.api.AssertionsForInterfaceTypes.*;
+import static org.mockito.Mockito.*;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+import java.io.IOException;
+import java.util.regex.Pattern;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.springframework.http.HttpHeaders;
+import org.springframework.test.web.servlet.MockMvc;
+import org.springframework.test.web.servlet.ResultActions;
+import org.springframework.test.web.servlet.setup.MockMvcBuilders;
+
+import de.ozgcloud.alfa.vorgang.VorgangHeaderTestFactory;
+import de.ozgcloud.xdomea.ExportData;
+import de.ozgcloud.xdomea.XDomeaService;
+
+class VorgangExportByVorgangControllerTest {
+
+	@Spy
+	@InjectMocks
+	private VorgangExportByVorgangController controller;
+
+	@Mock
+	private XDomeaService xDomeaService;
+
+	private MockMvc mockMvc;
+
+	@BeforeEach
+	void init() {
+		mockMvc = MockMvcBuilders.standaloneSetup(controller).build();
+	}
+
+	@Nested
+	class TestExportVorgang {
+
+		private static final String VORGANG_EXPORT_FILENAME = "00000000-0000-0000-0000-000000000000_Abgabe.Abgabe.0401.xml";
+
+		@BeforeEach
+		void init() throws IOException {
+			doReturn(VORGANG_EXPORT_FILENAME).when(controller).generateVorgangExportFilename();
+		}
+
+		@Captor
+		private ArgumentCaptor<ExportData> exportDataArgumentCaptor;
+
+		@Test
+		void shouldHaveContentDispositonHeader() throws Exception {
+			doRequest().andExpect(header().string(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + VORGANG_EXPORT_FILENAME));
+		}
+
+		@Test
+		void shouldCallXDomeaService() throws Exception {
+			doRequest();
+
+			verify(xDomeaService).writeExport(exportDataArgumentCaptor.capture(), any());
+			assertThat(exportDataArgumentCaptor.getValue()).isNotNull();
+		}
+
+		private ResultActions doRequest() throws Exception {
+			return mockMvc.perform(get(VorgangExportByVorgangController.EXPORT_VORGANG_PATH, VorgangHeaderTestFactory.ID)).andExpect(status().isOk());
+		}
+	}
+
+	@Nested
+	class TestGenerateVorgangExportFilename {
+
+		@Test
+		void shouldMatchPattern() {
+			var filename = controller.generateVorgangExportFilename();
+
+			assertThat(filename).matches(
+					Pattern.compile("^[0-9a-f]{8,8}-[0-9a-f]{4,4}-[0-9a-f]{4,4}-[0-9a-f]{4,4}-[0-9a-f]{12,12}_Abgabe.Abgabe.0401.xdomea"));
+		}
+	}
+
+}
\ No newline at end of file
diff --git a/http-client/auth.http b/http-client/auth.http
new file mode 100644
index 0000000000000000000000000000000000000000..fc39d0c72e06a06e4d209153c348005a3b88dd48
--- /dev/null
+++ b/http-client/auth.http
@@ -0,0 +1,13 @@
+### get token
+POST {{keycloak-url }}/realms/by-kiel-dev/protocol/openid-connect/token
+Content-Type: application/x-www-form-urlencoded
+
+client_id = alfa &
+grant_type = password &
+scope = openid &
+username = {{ user_sabine }} &
+password = {{ pass_sabine }}
+
+> {%
+  client.global.set("jwt", response.body.access_token)
+%}
\ No newline at end of file
diff --git a/http-client/dms.http b/http-client/dms.http
new file mode 100644
index 0000000000000000000000000000000000000000..a4b581a0f70bf85da011b9b76e080b9dc1a8fba7
--- /dev/null
+++ b/http-client/dms.http
@@ -0,0 +1,2 @@
+GET {{ alfa-url }}/api/vorgangs/abc/export
+Authorization: Bearer {{ jwt }}
\ No newline at end of file
diff --git a/http-client/http-client.env.json b/http-client/http-client.env.json
new file mode 100644
index 0000000000000000000000000000000000000000..3ac90916fb1bc3153dd7d2e8c29ee94cde1621de
--- /dev/null
+++ b/http-client/http-client.env.json
@@ -0,0 +1,8 @@
+{
+  "remotekc": {
+    "keycloak-url": "https://sso.dev.by.ozg-cloud.de"
+  },
+  "local": {
+    "alfa-url": "http://localhost:4300"
+  }
+}
\ No newline at end of file