diff --git a/docs/openapi.json b/docs/openapi.json
index daeb81f..7dcd4eb 100644
--- a/docs/openapi.json
+++ b/docs/openapi.json
@@ -13,12 +13,12 @@
     "version" : "0.1.0"
   },
   "paths" : {
-    "/contracts/v1/documents" : {
+    "/contracts/v1" : {
       "post" : {
-        "tags" : [ "documents" ],
-        "summary" : "Upload a document for a contract.",
-        "description" : "Please note that this operation needs to be called per document for a contract to be uploaded. The response contains a handle to the document. This handle should be provided with the contract to be uploaded via uploadContract",
-        "operationId" : "uploadDocumentV1",
+        "tags" : [ "contracts" ],
+        "summary" : "Upload a contract V1 to the insurer.",
+        "description" : "Uploads a contract. If validation fails processing is refused, a corresponding error is thrown",
+        "operationId" : "uploadContractV1",
         "parameters" : [ {
           "name" : "X-Caller-Name",
           "in" : "header",
@@ -40,11 +40,11 @@
           }
         } ],
         "requestBody" : {
-          "description" : "a documnent that is part of a contract",
+          "description" : "Contract that needs to be uploaded to the insurer",
           "content" : {
             "application/json; charset=UTF-8" : {
               "schema" : {
-                "$ref" : "#/components/schemas/Document"
+                "$ref" : "#/components/schemas/ContractV1"
               }
             }
           },
@@ -52,17 +52,17 @@
         },
         "responses" : {
           "default" : {
-            "description" : "A handle for the uploaded document which can be used in providing a new contract via POST contracts",
+            "description" : "A handle to the contract for conversation with the insurer is provided",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/FileHandle"
+                  "$ref" : "#/components/schemas/ContractReference"
                 }
               }
             }
           },
           "400" : {
-            "description" : "Invalid document is provided. See ErrorResponse for more information about validation issues",
+            "description" : "Invalid contract is provided. See ErrorResponse for more information about validation issues",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
@@ -84,12 +84,12 @@
         }
       }
     },
-    "/contracts/v2/documents" : {
+    "/contracts/v2" : {
       "post" : {
-        "tags" : [ "documents" ],
-        "summary" : "Upload a document for a contract.",
-        "description" : "Please note that this operation needs to be called per document for a contract to be uploaded. The response contains a handle to the document. This handle should be provided with the contract to be uploaded via uploadContract",
-        "operationId" : "uploadDocument",
+        "tags" : [ "contracts" ],
+        "summary" : "Upload a contract to the insurer.",
+        "description" : "Uploads a contract. If validation fails processing is refused, a corresponding error is thrown",
+        "operationId" : "uploadContract",
         "parameters" : [ {
           "name" : "X-Caller-Name",
           "in" : "header",
@@ -111,11 +111,11 @@
           }
         } ],
         "requestBody" : {
-          "description" : "a documnent that is part of a contract",
+          "description" : "Contract that needs to be uploaded to the insurer",
           "content" : {
             "application/json; charset=UTF-8" : {
               "schema" : {
-                "$ref" : "#/components/schemas/Document"
+                "$ref" : "#/components/schemas/Contract"
               }
             }
           },
@@ -123,27 +123,17 @@
         },
         "responses" : {
           "default" : {
-            "description" : "A handle for the uploaded document which can be used in providing a new contract via POST contracts",
+            "description" : "A handle to the contract for conversation with the insurer is provided",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/FileHandle"
+                  "$ref" : "#/components/schemas/ContractReference"
                 }
               }
             }
           },
           "400" : {
-            "description" : "Invalid document is provided. See ErrorResponse for more information about validation issues",
-            "content" : {
-              "application/json; charset=UTF-8" : {
-                "schema" : {
-                  "$ref" : "#/components/schemas/ErrorResponse"
-                }
-              }
-            }
-          },
-          "503" : {
-            "description" : "Technical issue on server side, please retry later",
+            "description" : "Invalid contract is provided. See ErrorResponse for more information about validation issues",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
@@ -151,26 +141,6 @@
                 }
               }
             }
-          }
-        }
-      }
-    },
-    "/contracts/v1/version" : {
-      "get" : {
-        "tags" : [ "version" ],
-        "summary" : "Callable way of retrieving current API version (following semver)",
-        "description" : "Endpoint to retrieve the current API version (following semver). Can be compared to the URI version. Can be used for testing purposes.",
-        "operationId" : "versionV1",
-        "responses" : {
-          "default" : {
-            "description" : "Version identifier",
-            "content" : {
-              "application/json; charset=UTF-8" : {
-                "schema" : {
-                  "$ref" : "#/components/schemas/Version"
-                }
-              }
-            }
           },
           "503" : {
             "description" : "Technical issue on server side, please retry later",
@@ -185,12 +155,12 @@
         }
       }
     },
-    "/contracts/v2/cancellations" : {
+    "/contracts/v1/documents" : {
       "post" : {
-        "tags" : [ "contracts" ],
-        "summary" : "cancel a contract",
-        "description" : "cancels a contract. If validation fails processing is refused, a corresponding error is thrown",
-        "operationId" : "cancelContract",
+        "tags" : [ "documents" ],
+        "summary" : "Upload a document for a contract.",
+        "description" : "Please note that this operation needs to be called per document for a contract to be uploaded. The response contains a handle to the document. This handle should be provided with the contract to be uploaded via uploadContract",
+        "operationId" : "uploadDocumentV1",
         "parameters" : [ {
           "name" : "X-Caller-Name",
           "in" : "header",
@@ -212,11 +182,11 @@
           }
         } ],
         "requestBody" : {
-          "description" : "Cancellation to instruct the insurer to cancel the contract",
+          "description" : "a documnent that is part of a contract",
           "content" : {
             "application/json; charset=UTF-8" : {
               "schema" : {
-                "$ref" : "#/components/schemas/Cancellation"
+                "$ref" : "#/components/schemas/Document"
               }
             }
           },
@@ -224,17 +194,17 @@
         },
         "responses" : {
           "default" : {
-            "description" : "A handle to the contract which was cancelled. It's intended for conversation between consumer and insurer",
+            "description" : "A handle for the uploaded document which can be used in providing a new contract via POST contracts",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ContractReference"
+                  "$ref" : "#/components/schemas/FileHandle"
                 }
               }
             }
           },
           "400" : {
-            "description" : "Invalid cancellation is provided. See ErrorResponse for more information about validation issues",
+            "description" : "Invalid document is provided. See ErrorResponse for more information about validation issues",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
@@ -256,12 +226,12 @@
         }
       }
     },
-    "/contracts/v1" : {
+    "/contracts/v2/documents" : {
       "post" : {
-        "tags" : [ "contracts" ],
-        "summary" : "Upload a contract V1 to the insurer.",
-        "description" : "Uploads a contract. If validation fails processing is refused, a corresponding error is thrown",
-        "operationId" : "uploadContractV1",
+        "tags" : [ "documents" ],
+        "summary" : "Upload a document for a contract.",
+        "description" : "Please note that this operation needs to be called per document for a contract to be uploaded. The response contains a handle to the document. This handle should be provided with the contract to be uploaded via uploadContract",
+        "operationId" : "uploadDocument",
         "parameters" : [ {
           "name" : "X-Caller-Name",
           "in" : "header",
@@ -283,11 +253,11 @@
           }
         } ],
         "requestBody" : {
-          "description" : "Contract that needs to be uploaded to the insurer",
+          "description" : "a documnent that is part of a contract",
           "content" : {
             "application/json; charset=UTF-8" : {
               "schema" : {
-                "$ref" : "#/components/schemas/ContractV1"
+                "$ref" : "#/components/schemas/Document"
               }
             }
           },
@@ -295,17 +265,17 @@
         },
         "responses" : {
           "default" : {
-            "description" : "A handle to the contract for conversation with the insurer is provided",
+            "description" : "A handle for the uploaded document which can be used in providing a new contract via POST contracts",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ContractReference"
+                  "$ref" : "#/components/schemas/FileHandle"
                 }
               }
             }
           },
           "400" : {
-            "description" : "Invalid contract is provided. See ErrorResponse for more information about validation issues",
+            "description" : "Invalid document is provided. See ErrorResponse for more information about validation issues",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
@@ -327,12 +297,42 @@
         }
       }
     },
-    "/contracts/v2" : {
+    "/contracts/v1/version" : {
+      "get" : {
+        "tags" : [ "version" ],
+        "summary" : "Callable way of retrieving current API version (following semver)",
+        "description" : "Endpoint to retrieve the current API version (following semver). Can be compared to the URI version. Can be used for testing purposes.",
+        "operationId" : "versionV1",
+        "responses" : {
+          "default" : {
+            "description" : "Version identifier",
+            "content" : {
+              "application/json; charset=UTF-8" : {
+                "schema" : {
+                  "$ref" : "#/components/schemas/Version"
+                }
+              }
+            }
+          },
+          "503" : {
+            "description" : "Technical issue on server side, please retry later",
+            "content" : {
+              "application/json; charset=UTF-8" : {
+                "schema" : {
+                  "$ref" : "#/components/schemas/ErrorResponse"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/contracts/v2/cancellations" : {
       "post" : {
         "tags" : [ "contracts" ],
-        "summary" : "Upload a contract to the insurer.",
-        "description" : "Uploads a contract. If validation fails processing is refused, a corresponding error is thrown",
-        "operationId" : "uploadContract",
+        "summary" : "cancel a contract",
+        "description" : "cancels a contract. If validation fails processing is refused, a corresponding error is thrown",
+        "operationId" : "cancelContract",
         "parameters" : [ {
           "name" : "X-Caller-Name",
           "in" : "header",
@@ -354,11 +354,11 @@
           }
         } ],
         "requestBody" : {
-          "description" : "Contract that needs to be uploaded to the insurer",
+          "description" : "Cancellation to instruct the insurer to cancel the contract",
           "content" : {
             "application/json; charset=UTF-8" : {
               "schema" : {
-                "$ref" : "#/components/schemas/Contract"
+                "$ref" : "#/components/schemas/Cancellation"
               }
             }
           },
@@ -366,7 +366,7 @@
         },
         "responses" : {
           "default" : {
-            "description" : "A handle to the contract for conversation with the insurer is provided",
+            "description" : "A handle to the contract which was cancelled. It's intended for conversation between consumer and insurer",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
@@ -376,7 +376,7 @@
             }
           },
           "400" : {
-            "description" : "Invalid contract is provided. See ErrorResponse for more information about validation issues",
+            "description" : "Invalid cancellation is provided. See ErrorResponse for more information about validation issues",
             "content" : {
               "application/json; charset=UTF-8" : {
                 "schema" : {
@@ -431,13 +431,12 @@
   },
   "components" : {
     "schemas" : {
-      "FileHandle" : {
-        "required" : [ "handle" ],
+      "ContractReference" : {
         "type" : "object",
         "properties" : {
-          "handle" : {
+          "reference" : {
             "type" : "string",
-            "description" : "Reference to an uploaded document. This can be a PDF or a picture (e.g. JPG) of a contract or a purchase receipt."
+            "description" : "Under this reference the contract is stored at the insurer"
           }
         }
       },
@@ -462,81 +461,6 @@
           }
         }
       },
-      "Document" : {
-        "required" : [ "contractId", "data", "documentType", "fileName", "mediaType" ],
-        "type" : "object",
-        "properties" : {
-          "data" : {
-            "type" : "array",
-            "description" : "The document itself",
-            "items" : {
-              "type" : "string",
-              "format" : "byte"
-            }
-          },
-          "contractId" : {
-            "maxLength" : 20,
-            "minLength" : 0,
-            "type" : "string",
-            "description" : "The contract this document belongs to"
-          },
-          "mediaType" : {
-            "type" : "string",
-            "description" : "Accepted media types for documents represented by data byte[]",
-            "enum" : [ "APPLICATION_PDF", "IMAGE_JPEG", "IMAGE_TIFF", "IMAGE_PNG", "IMAGE_BMP", "IMAGE_GIF" ]
-          },
-          "fileName" : {
-            "maxLength" : 256,
-            "minLength" : 0,
-            "type" : "string"
-          },
-          "documentType" : {
-            "type" : "string",
-            "enum" : [ "CONTRACT", "RECEIPT", "COVER_LETTER" ]
-          }
-        }
-      },
-      "Version" : {
-        "required" : [ "value" ],
-        "type" : "object",
-        "properties" : {
-          "value" : {
-            "type" : "string",
-            "description" : "Version identifier of the current API definition"
-          }
-        }
-      },
-      "ContractReference" : {
-        "type" : "object",
-        "properties" : {
-          "reference" : {
-            "type" : "string",
-            "description" : "Under this reference the contract is stored at the insurer"
-          }
-        }
-      },
-      "Cancellation" : {
-        "required" : [ "contractId", "effectiveDate", "reasonCode" ],
-        "type" : "object",
-        "properties" : {
-          "contractId" : {
-            "maxLength" : 20,
-            "minLength" : 0,
-            "type" : "string",
-            "description" : "Id given by SaaS provider. Identifies the contract which should be cancelled"
-          },
-          "effectiveDate" : {
-            "type" : "string",
-            "description" : "effecitve date of cancellation",
-            "format" : "date"
-          },
-          "reasonCode" : {
-            "type" : "integer",
-            "description" : "A code uniquely identifying the cancellation reason",
-            "format" : "int32"
-          }
-        }
-      },
       "Address" : {
         "required" : [ "city", "houseNumber", "street", "zipCode" ],
         "type" : "object",
@@ -743,6 +667,16 @@
           }
         }
       },
+      "FileHandle" : {
+        "required" : [ "handle" ],
+        "type" : "object",
+        "properties" : {
+          "handle" : {
+            "type" : "string",
+            "description" : "Reference to an uploaded document. This can be a PDF or a picture (e.g. JPG) of a contract or a purchase receipt."
+          }
+        }
+      },
       "MonetaryAmount" : {
         "required" : [ "amount" ],
         "type" : "object",
@@ -1002,6 +936,72 @@
             "format" : "int32"
           }
         }
+      },
+      "Document" : {
+        "required" : [ "contractId", "data", "documentType", "fileName", "mediaType" ],
+        "type" : "object",
+        "properties" : {
+          "data" : {
+            "type" : "array",
+            "description" : "The document itself",
+            "items" : {
+              "type" : "string",
+              "format" : "byte"
+            }
+          },
+          "contractId" : {
+            "maxLength" : 20,
+            "minLength" : 0,
+            "type" : "string",
+            "description" : "The contract this document belongs to"
+          },
+          "mediaType" : {
+            "type" : "string",
+            "description" : "Accepted media types for documents represented by data byte[]",
+            "enum" : [ "APPLICATION_PDF", "IMAGE_JPEG", "IMAGE_TIFF", "IMAGE_PNG", "IMAGE_BMP", "IMAGE_GIF" ]
+          },
+          "fileName" : {
+            "maxLength" : 256,
+            "minLength" : 0,
+            "type" : "string"
+          },
+          "documentType" : {
+            "type" : "string",
+            "enum" : [ "CONTRACT", "RECEIPT", "COVER_LETTER" ]
+          }
+        }
+      },
+      "Version" : {
+        "required" : [ "value" ],
+        "type" : "object",
+        "properties" : {
+          "value" : {
+            "type" : "string",
+            "description" : "Version identifier of the current API definition"
+          }
+        }
+      },
+      "Cancellation" : {
+        "required" : [ "contractId", "effectiveDate", "reasonCode" ],
+        "type" : "object",
+        "properties" : {
+          "contractId" : {
+            "maxLength" : 20,
+            "minLength" : 0,
+            "type" : "string",
+            "description" : "Id given by SaaS provider. Identifies the contract which should be cancelled"
+          },
+          "effectiveDate" : {
+            "type" : "string",
+            "description" : "effecitve date of cancellation",
+            "format" : "date"
+          },
+          "reasonCode" : {
+            "type" : "integer",
+            "description" : "A code uniquely identifying the cancellation reason",
+            "format" : "int32"
+          }
+        }
       }
     }
   }