diff --git a/FitConnect/Models/Api/Models/CallbackDto.cs b/FitConnect/Models/Api/Models/CallbackDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..379d4d7cf8b092706345b3fa1a535b9edb6bbb97
--- /dev/null
+++ b/FitConnect/Models/Api/Models/CallbackDto.cs
@@ -0,0 +1,8 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Models.Api.Models;
+
+internal class CallbackDto {
+    [JsonPropertyName("url")]
+    public string Url { get; set; }
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/CreateCallbackDto.cs b/FitConnect/Models/Api/Models/CreateCallbackDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..13fc9392c07ea18fa5034cc81a407dab4f6ba083
--- /dev/null
+++ b/FitConnect/Models/Api/Models/CreateCallbackDto.cs
@@ -0,0 +1,11 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Models.Api.Models;
+
+internal class CreateCallbackDto {
+    [JsonPropertyName("url")]
+    public string Url { get; set; }
+
+    [JsonPropertyName("secret")]
+    public string Secret { get; set; }
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/CreateSubmission.cs b/FitConnect/Models/Api/Models/CreateSubmission.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4faa1d3d6dd8f69c21f0fa372223b0823b87ce88
--- /dev/null
+++ b/FitConnect/Models/Api/Models/CreateSubmission.cs
@@ -0,0 +1,22 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Models.Api.Models;
+
+internal class CreateSubmission {
+    [JsonPropertyName("destinationId")]
+    private string destinationId;
+
+
+    [JsonPropertyName("announcedAttachments")]
+    private List<string> announcedAttachments;
+
+    [JsonPropertyName("caseId")]
+    private string caseId;
+
+
+    [JsonPropertyName("serviceType")]
+    private ServiceTypeDto _serviceTypeDto;
+
+    [JsonPropertyName("callback")]
+    private CreateCallbackDto _callbackDto;
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/ServiceTypeDto.cs b/FitConnect/Models/Api/Models/ServiceTypeDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7da1aed2309bd78d8b9ac4948f67ff1218b1a66a
--- /dev/null
+++ b/FitConnect/Models/Api/Models/ServiceTypeDto.cs
@@ -0,0 +1,14 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Models.Api.Models;
+
+internal class ServiceTypeDto {
+    [JsonPropertyName("name")]
+    public string Name { get; set; }
+
+    [JsonPropertyName("description")]
+    public string Description { get; set; }
+
+    [JsonPropertyName("identifier")]
+    public string Identifier { get; set; }
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/SubmissionCreatedDto.cs b/FitConnect/Models/Api/Models/SubmissionCreatedDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..95f03c946d46ab59cfc0d6327216ad16ff974cef
--- /dev/null
+++ b/FitConnect/Models/Api/Models/SubmissionCreatedDto.cs
@@ -0,0 +1,14 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Models.Api.Models;
+
+internal class SubmissionCreatedDto {
+    [JsonPropertyName("destinationId")]
+    public string DestinationId { get; set; }
+
+    [JsonPropertyName("submissionId")]
+    public string SubmissionId { get; set; }
+
+    [JsonPropertyName("caseId")]
+    public string CaseId { get; set; }
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/SubmissionReducedDto.cs b/FitConnect/Models/Api/Models/SubmissionReducedDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4c7de5e28fbf6203180c3ab6964330d0cbebcae9
--- /dev/null
+++ b/FitConnect/Models/Api/Models/SubmissionReducedDto.cs
@@ -0,0 +1,28 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Models.Api.Models;
+
+public class SubmissionReducedDto {
+    [JsonPropertyName("destinationId")]
+    private string DestinationId;
+
+
+    [JsonPropertyName("submissionId")]
+    private string SubmissionId;
+
+
+    [JsonPropertyName("caseId")]
+    private string CaseId;
+
+
+    [JsonPropertyName("attachments")]
+    private List<string> Attachments;
+
+
+    [JsonPropertyName("serviceType")]
+    private ServiceTypeDto _serviceTypeDto;
+
+
+    [JsonPropertyName("callback")]
+    private CallbackDto Callback;
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/SubmitSubmissionDto.cs b/FitConnect/Models/Api/Models/SubmitSubmissionDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c8b7ca655fa89acf3426cf2120262343c39bc6a1
--- /dev/null
+++ b/FitConnect/Models/Api/Models/SubmitSubmissionDto.cs
@@ -0,0 +1,11 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Models.Api.Models;
+
+internal class SubmitSubmissionDto {
+    [JsonPropertyName("encryptedMetadata")]
+    private string EncryptedMetadata;
+
+    [JsonPropertyName("encryptedData")]
+    private string EncryptedData;
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Services/SubmissionService.cs b/FitConnect/Models/Api/Services/SubmissionService.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1bd90c40ed4dd9dd87e415a01a257ab431d9008a
--- /dev/null
+++ b/FitConnect/Models/Api/Services/SubmissionService.cs
@@ -0,0 +1,24 @@
+using FitConnect.Models.Api.Models;
+
+namespace FitConnect.Models.Api.Services;
+
+public class SubmissionService {
+    internal SubmissionCreatedDto CreateSubmission(CreateSubmission submission) {
+        // @PostMapping("/submissions")
+        throw new NotImplementedException();
+    }
+
+    internal bool AddSubmissionAttachment(string submissionId, string attachmentId,
+        string encryptedAttachmentContent) {
+        // @PutMapping(value = "/submissions/{submissionId}/attachments/{attachmentId}", consumes = "application/jose")
+ 
+        throw new NotImplementedException();
+    }
+
+    internal SubmissionReducedDto SubmitSubmission(string submissionId,
+        SubmitSubmissionDto submitSubmission) {
+       //@PutMapping(value = "/submissions/{submissionId}", consumes = "application/json") 
+       throw new NotImplementedException();
+    }
+
+}
diff --git a/FitConnect/Models/Area.cs b/FitConnect/Models/Area.cs
index 5995b04d0598d15d26d11303664bf5c4674c2793..23b1e62ee2df303429bfc8ac32ae1a6c2b3e4c4c 100644
--- a/FitConnect/Models/Area.cs
+++ b/FitConnect/Models/Area.cs
@@ -1,6 +1,6 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect;
+namespace FitConnect.Models;
 
 public class Area {
     [JsonPropertyName("id")]
diff --git a/FitConnect/Models/AreaResponse.cs b/FitConnect/Models/AreaResponse.cs
index 1bc37016ba067f589df36be46b06c88ea0e97208..34db13d171f73ac794eac500511e56254ae6cfe7 100644
--- a/FitConnect/Models/AreaResponse.cs
+++ b/FitConnect/Models/AreaResponse.cs
@@ -1,6 +1,6 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect;
+namespace FitConnect.Models;
 
 public class AreaResponse {
     [JsonPropertyName("count")]
diff --git a/FitConnect/Routing.cs b/FitConnect/Routing.cs
index 4a5a2fab76a78d7e491bd99a68750bba21ef01c7..377dec13cb20f5fceff178a8b34dd2ab47be336f 100644
--- a/FitConnect/Routing.cs
+++ b/FitConnect/Routing.cs
@@ -1,5 +1,6 @@
 using System.Security.Cryptography.X509Certificates;
 using FitConnect.BaseClasses;
+using FitConnect.Models;
 using Microsoft.Extensions.Logging;
 
 namespace FitConnect;
diff --git a/FitConnect/Sender.cs b/FitConnect/Sender.cs
index 4eec48d197a87ffba6ae92b417a4d4206e492ec1..2763b2acf7aa537d93e2efbc19f07a9f02e360a0 100644
--- a/FitConnect/Sender.cs
+++ b/FitConnect/Sender.cs
@@ -72,4 +72,10 @@ public class Sender : FunctionalBaseClass {
     public async Task<string> CreateMetadataAsync(string data, byte[] attachment) {
         throw new NotImplementedException();
     }
+    
+    #region Submission API
+    
+
+        
+        #endregion
 }
\ No newline at end of file