diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/AttachmentCreationException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/AttachmentCreationException.java
new file mode 100644
index 0000000000000000000000000000000000000000..64bb8ac02dac6afb5ea278e3e4d1e48cb54cb720
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/AttachmentCreationException.java
@@ -0,0 +1,8 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class AttachmentCreationException extends RuntimeException {
+
+    public AttachmentCreationException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/AttachmentUploadException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/AttachmentUploadException.java
new file mode 100644
index 0000000000000000000000000000000000000000..f83dee7797b52217b6cea053de53d761e85fffd9
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/AttachmentUploadException.java
@@ -0,0 +1,8 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class AttachmentUploadException extends RuntimeException {
+
+    public AttachmentUploadException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/AuthenticationException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/AuthenticationException.java
new file mode 100644
index 0000000000000000000000000000000000000000..d81eb60d18cc4b4ba608237683e5bcaa8069fa2f
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/AuthenticationException.java
@@ -0,0 +1,11 @@
+package de.fitko.fitconnect.api.exceptions;
+
+/**
+ * An error that occurred during the OAuth authentication
+ */
+public class AuthenticationException extends RuntimeException {
+
+    public AuthenticationException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/ClientNotAuthenticatedException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/ClientNotAuthenticatedException.java
new file mode 100644
index 0000000000000000000000000000000000000000..70ed2b4fb8731faf0c0a609db32f3f2da2b37771
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/ClientNotAuthenticatedException.java
@@ -0,0 +1,13 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class ClientNotAuthenticatedException extends RuntimeException {
+
+
+    public ClientNotAuthenticatedException(final String errorMessage) {
+        super(errorMessage);
+    }
+
+    public ClientNotAuthenticatedException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/DecryptionException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/DecryptionException.java
new file mode 100644
index 0000000000000000000000000000000000000000..dba418f8a64867f58007393b6c73db39cc7ec994
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/DecryptionException.java
@@ -0,0 +1,15 @@
+package de.fitko.fitconnect.api.exceptions;
+
+/**
+ * An error that occurred decrypting data or attachments
+ */
+public class DecryptionException extends RuntimeException {
+
+    public DecryptionException(final String errorMessage) {
+        super(errorMessage);
+    }
+
+    public DecryptionException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/EncryptionException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/EncryptionException.java
new file mode 100644
index 0000000000000000000000000000000000000000..985d10ecc54e83bbea8282111376a9f577d64607
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/EncryptionException.java
@@ -0,0 +1,16 @@
+package de.fitko.fitconnect.api.exceptions;
+
+/**
+ * An error that occurred whilst encrypting data or attachments
+ */
+public class EncryptionException extends RuntimeException {
+
+    public EncryptionException(final String errorMessage) {
+        super(errorMessage);
+    }
+
+    public EncryptionException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
+
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/InitializationException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/InitializationException.java
new file mode 100644
index 0000000000000000000000000000000000000000..cdb9be9134d90049d488b0bb4334c71d16f09699
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/InitializationException.java
@@ -0,0 +1,12 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class InitializationException extends RuntimeException {
+
+    public InitializationException(final String errorMessage) {
+        super(errorMessage);
+    }
+
+    public InitializationException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/InvalidPublicKeyException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/InvalidPublicKeyException.java
new file mode 100644
index 0000000000000000000000000000000000000000..0ab43a95394d59aa878c73dce249d5141c7f50bd
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/InvalidPublicKeyException.java
@@ -0,0 +1,8 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class InvalidPublicKeyException extends RuntimeException {
+
+    public InvalidPublicKeyException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/KeyNotRetrievedException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/KeyNotRetrievedException.java
new file mode 100644
index 0000000000000000000000000000000000000000..15499532d2f081ae067a5b68c01ea8ada87a5ffe
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/KeyNotRetrievedException.java
@@ -0,0 +1,8 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class KeyNotRetrievedException extends RuntimeException {
+
+    public KeyNotRetrievedException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/MetadataNotCreatedException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/MetadataNotCreatedException.java
new file mode 100644
index 0000000000000000000000000000000000000000..a045c1dac26dce205414d683ac886f9da8da68b4
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/MetadataNotCreatedException.java
@@ -0,0 +1,8 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class MetadataNotCreatedException extends RuntimeException {
+
+    public MetadataNotCreatedException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/SubmissionNotCreatedException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/SubmissionNotCreatedException.java
new file mode 100644
index 0000000000000000000000000000000000000000..9487409e6b750a4ab5e8975d5f42d20b5bf667df
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/SubmissionNotCreatedException.java
@@ -0,0 +1,8 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class SubmissionNotCreatedException extends RuntimeException {
+
+    public SubmissionNotCreatedException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/SubmissionNotSentException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/SubmissionNotSentException.java
new file mode 100644
index 0000000000000000000000000000000000000000..63dfd3aac77564fe8fe8f06c3183aefd9d8ee840
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/SubmissionNotSentException.java
@@ -0,0 +1,8 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class SubmissionNotSentException extends RuntimeException {
+
+    public SubmissionNotSentException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/ValidationException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/ValidationException.java
new file mode 100644
index 0000000000000000000000000000000000000000..76c364c3b38e29ba5292eabb5b29002f98d2c787
--- /dev/null
+++ b/api/src/main/java/de/fitko/fitconnect/api/exceptions/ValidationException.java
@@ -0,0 +1,13 @@
+package de.fitko.fitconnect.api.exceptions;
+
+public class ValidationException extends RuntimeException {
+
+
+    public ValidationException(final String errorMessage) {
+        super(errorMessage);
+    }
+
+    public ValidationException(final String errorMessage, final Throwable error) {
+        super(errorMessage, error);
+    }
+}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/AttachmentUploadError.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/AttachmentUploadError.java
deleted file mode 100644
index 819a018fb5752f750856e102e13cad22197905eb..0000000000000000000000000000000000000000
--- a/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/AttachmentUploadError.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package de.fitko.fitconnect.api.exceptions.client;
-
-import de.fitko.fitconnect.api.domain.model.metadata.attachment.Attachment;
-import de.fitko.fitconnect.api.domain.model.submission.SubmissionRequest;
-
-/**
- * Error during upload of the {@link SubmissionRequest}s {@link Attachment}s
- */
-public class AttachmentUploadError extends RuntimeException {
-
-    public AttachmentUploadError(String errorMessage) {
-        super(errorMessage);
-    }
-}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/ClientNotAuthenticated.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/ClientNotAuthenticated.java
deleted file mode 100644
index f90c48a3e42eebb315684d84bdb44fffd516d2e5..0000000000000000000000000000000000000000
--- a/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/ClientNotAuthenticated.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package de.fitko.fitconnect.api.exceptions.client;
-
-/**
- * Error during the authentication process of the client
- */
-public class ClientNotAuthenticated extends RuntimeException {
-
-    public ClientNotAuthenticated(String errorMessage) {
-        super(errorMessage);
-    }
-}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/SubmissionCreationError.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/SubmissionCreationError.java
deleted file mode 100644
index c83e00b78d666f7ae6ce318be3720c5f46d14a08..0000000000000000000000000000000000000000
--- a/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/SubmissionCreationError.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.fitko.fitconnect.api.exceptions.client;
-
-import de.fitko.fitconnect.api.domain.model.submission.SubmissionRequest;
-
-/**
- * Error during the creation process of a {@link SubmissionRequest}
- */
-public class SubmissionCreationError extends RuntimeException {
-
-    public SubmissionCreationError(String errorMessage) {
-        super(errorMessage);
-    }
-}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/SubmissionSendError.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/SubmissionSendError.java
deleted file mode 100644
index 028ce74bd2dd36b1f11dc07d85b90fec5f955363..0000000000000000000000000000000000000000
--- a/api/src/main/java/de/fitko/fitconnect/api/exceptions/client/SubmissionSendError.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.fitko.fitconnect.api.exceptions.client;
-
-import de.fitko.fitconnect.api.domain.model.submission.SubmissionRequest;
-
-/**
- * Error during the creation process of a {@link SubmissionRequest}
- */
-public class SubmissionSendError extends RuntimeException {
-
-    public SubmissionSendError(String errorMessage) {
-        super(errorMessage);
-    }
-}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/AuthenticationException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/AuthenticationException.java
deleted file mode 100644
index 6ae103a955aaef3c898cff97c78532fcbede6b9d..0000000000000000000000000000000000000000
--- a/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/AuthenticationException.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package de.fitko.fitconnect.api.exceptions.internal;
-
-/**
- * An error that occurred during the OAuth authentication
- */
-public class AuthenticationException extends Exception {
-
-    public AuthenticationException(String errorMessage, Throwable error) {
-        super(errorMessage, error);
-    }
-}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/DecryptionException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/DecryptionException.java
deleted file mode 100644
index eea8127d6086bd58ac098c44a47ff1ba96413d1e..0000000000000000000000000000000000000000
--- a/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/DecryptionException.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package de.fitko.fitconnect.api.exceptions.internal;
-
-/**
- * An error that occurred decrypting data or attachments
- */
-public class DecryptionException extends Exception {
-
-    public DecryptionException(String errorMessage) {
-        super(errorMessage);
-    }
-
-    public DecryptionException(String errorMessage, Throwable error) {
-        super(errorMessage, error);
-    }
-}
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/EncryptionException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/EncryptionException.java
deleted file mode 100644
index 43cdf2bf4e0633640f0a5d30931ebfb102544f89..0000000000000000000000000000000000000000
--- a/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/EncryptionException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package de.fitko.fitconnect.api.exceptions.internal;
-
-/**
- * An error that occurred whilst encrypting data or attachments
- */
-public class EncryptionException extends Exception {
-
-    public EncryptionException(String errorMessage) {
-        super(errorMessage);
-    }
-
-    public EncryptionException(String errorMessage, Throwable error) {
-        super(errorMessage, error);
-    }
-}
-
diff --git a/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/InitializationException.java b/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/InitializationException.java
deleted file mode 100644
index 02d40fe756654fa39243f5b5c1d7dc7077ec1615..0000000000000000000000000000000000000000
--- a/api/src/main/java/de/fitko/fitconnect/api/exceptions/internal/InitializationException.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.fitko.fitconnect.api.exceptions.internal;
-
-public class InitializationException extends RuntimeException {
-
-    public InitializationException(String errorMessage) {
-        super(errorMessage);
-    }
-
-    public InitializationException(String errorMessage, Throwable error) {
-        super(errorMessage, error);
-    }
-}