diff --git a/fda-table-service/Dockerfile b/fda-table-service/Dockerfile
index bef6bcef18c4f3967aa0ab6dfecc4848841f8b7c..1640c9ce44afd311e43aa11f681db6577ff322bb 100644
--- a/fda-table-service/Dockerfile
+++ b/fda-table-service/Dockerfile
@@ -14,6 +14,8 @@ COPY --from=dependency /root/.m2/repository/at/tuwien /root/.m2/repository/at/tu
 COPY ./rest-service ./rest-service
 COPY ./services ./services
 COPY ./report ./report
+COPY ./gateway ./gateway
+COPY ./api ./api
 
 RUN mvn -q clean package -DskipTests
 
diff --git a/fda-table-service/api/pom.xml b/fda-table-service/api/pom.xml
index dfa54dc753e804ea17501cf6451424936d2915a1..a89f234fde1cbe809ace2bdfcf892f319c27f3d5 100644
--- a/fda-table-service/api/pom.xml
+++ b/fda-table-service/api/pom.xml
@@ -11,9 +11,4 @@
 
     <artifactId>api</artifactId>
 
-    <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
-    </properties>
-
 </project>
\ No newline at end of file
diff --git a/fda-table-service/gateway/pom.xml b/fda-table-service/gateway/pom.xml
index 41a83e81356c7633027984b55b96b8143cf84aa9..7dfdc8ff5dd216409a56159be3365d6b11187847 100644
--- a/fda-table-service/gateway/pom.xml
+++ b/fda-table-service/gateway/pom.xml
@@ -10,6 +10,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>gateway</artifactId>
+
     <dependencies>
         <dependency>
             <groupId>at.tuwien</groupId>
@@ -19,9 +20,4 @@
         </dependency>
     </dependencies>
 
-    <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
-    </properties>
-
 </project>
\ No newline at end of file
diff --git a/fda-table-service/gateway/src/main/java/at/tuwien/config/ZenodoConfig.java b/fda-table-service/gateway/src/main/java/at/tuwien/config/ZenodoConfig.java
index 15df9c3db026b5b9872b1cd43ab093c46e285a7b..1798b96c3e76f8338d832996c68c3cedcafbbbc0 100644
--- a/fda-table-service/gateway/src/main/java/at/tuwien/config/ZenodoConfig.java
+++ b/fda-table-service/gateway/src/main/java/at/tuwien/config/ZenodoConfig.java
@@ -1,5 +1,6 @@
 package at.tuwien.config;
 
+import at.tuwien.gateway.ZenodoTemplateInterceptor;
 import lombok.Getter;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.web.client.RestTemplateBuilder;
@@ -9,6 +10,7 @@ import org.springframework.web.client.RestTemplate;
 import org.springframework.web.util.DefaultUriTemplateHandler;
 
 import javax.validation.constraints.NotNull;
+import java.util.List;
 
 @Configuration
 public class ZenodoConfig {
@@ -27,9 +29,11 @@ public class ZenodoConfig {
     public RestTemplate zenodo() {
         DefaultUriTemplateHandler defaultUriTemplateHandler = new DefaultUriTemplateHandler();
         defaultUriTemplateHandler.setBaseUrl(zenodoEndpoint);
-        return new RestTemplateBuilder()
+        final RestTemplate template = new RestTemplateBuilder()
                 .uriTemplateHandler(defaultUriTemplateHandler)
                 .build();
+        template.setInterceptors(List.of(new ZenodoTemplateInterceptor()));
+        return template;
     }
 
 }
diff --git a/fda-table-service/gateway/src/main/java/at/tuwien/gateway/ZenodoGateway.java b/fda-table-service/gateway/src/main/java/at/tuwien/gateway/ZenodoGateway.java
index 02564d73edd151f6bdc215abd4026c46fea7fce4..f1bcc0eee27d3aec77bb271a012afa05fd0a69d1 100644
--- a/fda-table-service/gateway/src/main/java/at/tuwien/gateway/ZenodoGateway.java
+++ b/fda-table-service/gateway/src/main/java/at/tuwien/gateway/ZenodoGateway.java
@@ -5,12 +5,12 @@ import at.tuwien.config.ZenodoConfig;
 import at.tuwien.exception.ZenodoApiException;
 import at.tuwien.exception.ZenodoAuthenticationException;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
+import org.springframework.http.*;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 @Component
@@ -37,4 +37,17 @@ public class ZenodoGateway {
         
         return Arrays.asList(response.getBody());
     }
+
+    public DepositDto createDeposit() throws ZenodoAuthenticationException, ZenodoApiException {
+        final ResponseEntity<DepositDto> response = zenodoRestTemplate.exchange("/api/deposit/depositions?access_token={token}",
+                HttpMethod.POST, null, DepositDto.class, zenodoConfig.getZenodoApiKey());
+        if (response.getStatusCode().is4xxClientError()) {
+            throw new ZenodoAuthenticationException("Token is missing or invalid.");
+        }
+        if (response.getBody() == null) {
+            throw new ZenodoApiException("Endpoint returned null body");
+        }
+
+        return response.getBody();
+    }
 }
diff --git a/fda-table-service/gateway/src/main/java/at/tuwien/gateway/ZenodoTemplateInterceptor.java b/fda-table-service/gateway/src/main/java/at/tuwien/gateway/ZenodoTemplateInterceptor.java
new file mode 100644
index 0000000000000000000000000000000000000000..b0015e0506a969160082ffd28cd7ca1f359b5c7e
--- /dev/null
+++ b/fda-table-service/gateway/src/main/java/at/tuwien/gateway/ZenodoTemplateInterceptor.java
@@ -0,0 +1,23 @@
+package at.tuwien.gateway;
+
+import org.springframework.http.HttpRequest;
+import org.springframework.http.client.ClientHttpRequestExecution;
+import org.springframework.http.client.ClientHttpRequestInterceptor;
+import org.springframework.http.client.ClientHttpResponse;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+
+@Service
+public class ZenodoTemplateInterceptor implements ClientHttpRequestInterceptor {
+
+    @Override
+    public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution)
+            throws IOException {
+        ClientHttpResponse response = execution.execute(request, body);
+        response.getHeaders().add("Content-Type", "application/json");
+        response.getHeaders().add("Accept", "application/json");
+        return response;
+    }
+}
diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/gateway/ZenodoIntegrationTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/gateway/ZenodoIntegrationTest.java
index 6014546d4954fd6b39e9ddd60e698262da2516f5..171f06ac9c5b5f97a881533d049d2e1e737003b8 100644
--- a/fda-table-service/rest-service/src/test/java/at/tuwien/gateway/ZenodoIntegrationTest.java
+++ b/fda-table-service/rest-service/src/test/java/at/tuwien/gateway/ZenodoIntegrationTest.java
@@ -45,8 +45,13 @@ public class ZenodoIntegrationTest extends BaseUnitTest {
 
         /* test */
         final List<DepositDto> response = zenodoGateway.listDeposits();
-        assertEquals(1, response.size());
-        assertEquals(DEPOSIT_1_ID, response.get(0).getId());
+    }
+
+    @Test
+    public void createDeposit_succeeds() throws ZenodoApiException, ZenodoAuthenticationException {
+
+        /* test */
+        final DepositDto response = zenodoGateway.createDeposit();
     }
 
 }
\ No newline at end of file
diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/gateway/ZenodoUnitTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/gateway/ZenodoUnitTest.java
index 1cd3091f8992db23b2c190a453206652d33f991e..e71d6991f7810c5571bb3792ee629ee90918e2f5 100644
--- a/fda-table-service/rest-service/src/test/java/at/tuwien/gateway/ZenodoUnitTest.java
+++ b/fda-table-service/rest-service/src/test/java/at/tuwien/gateway/ZenodoUnitTest.java
@@ -74,4 +74,24 @@ public class ZenodoUnitTest extends BaseUnitTest {
         });
     }
 
+    @Test
+    public void createDeposit_succeed() throws ZenodoApiException, ZenodoAuthenticationException {
+        when(zenodoTemplate.exchange(anyString(), eq(HttpMethod.POST), eq(null), eq(DepositDto.class), anyString()))
+                .thenReturn(ResponseEntity.ok(DEPOSIT_1_DTO));
+
+        /* test */
+        final DepositDto response = zenodoGateway.createDeposit();
+    }
+
+    @Test
+    public void createDeposit_noToken_fails() {
+        when(zenodoTemplate.exchange(anyString(), eq(HttpMethod.POST), eq(null), eq(DepositDto.class), anyString()))
+                .thenReturn(ResponseEntity.status(HttpStatus.UNAUTHORIZED).build());
+
+        /* test */
+        assertThrows(ZenodoAuthenticationException.class, () -> {
+            zenodoGateway.createDeposit();
+        });
+    }
+
 }
\ No newline at end of file