diff --git a/spec/openapi.yaml b/spec/openapi.yaml
index 906bde10bb40c02ec735c55ae7dfc8fa980908a5..0230ec06933f18e797eb7d62c9375bc8e5e4232d 100644
--- a/spec/openapi.yaml
+++ b/spec/openapi.yaml
@@ -252,7 +252,17 @@ components:
 
     DateTime:
       type: string
-      format: datetime
+      format: date-time
+      description: |
+        Date string in the RFC 3339 format. Example, `1990-12-31T15:59:60-08:00`.
+
+        More on this standard can be read at https://tools.ietf.org/html/rfc3339.
+
+    NullableDateTime:
+      type: 
+        - string
+        - "null"
+      format: date-time
       description: |
         Date string in the RFC 3339 format. Example, `1990-12-31T15:59:60-08:00`.
 
@@ -260,6 +270,12 @@ components:
 
     ValidationRequest:
       type: object
+      additionalProperties: false
+      required:
+        - provider
+        - repoUrl
+        - strictMode
+        - commits
       properties:
         provider:
           type: string
@@ -274,7 +290,7 @@ components:
         strictMode:
           type: boolean
           description: Whether to strictly apply validation regardless of project matching
-        estimated_loc:
+        estimatedLoc:
           type: 
             - integer
             - "null"
@@ -284,6 +300,12 @@ components:
           minimum: 1
           items:
             type: object
+            additionalProperties: false
+            required:
+              - hash
+              - author
+              - committer
+              - parents
             properties:
               hash:
                 type: string
@@ -300,6 +322,9 @@ components:
               committer:
                 $ref: "#/components/schemas/GitUser"
                 description: The committer of the Git commit
+              last_modification_date:
+                $ref: "#/components/schemas/NullableDateTime"
+                description: Last time that the commit was updated
               head:
                 type:
                   - boolean
@@ -313,6 +338,10 @@ components:
 
     GitUser:
       type: object
+      additionalProperties: false
+      required:
+        - name
+        - mail
       properties:
         name:
           type: string
@@ -320,9 +349,21 @@ components:
         mail:
           type: string
           description: the email address of the user
+        external_id:
+          $ref: "#/components/schemas/NullableString"
+          description: the email address of the user
 
     ValidationResponse:
       type: object
+      additionalProperties: false
+      required:
+        - time
+        - trackedProject
+        - strictMode
+        - fingerprint
+        - errorCount
+        - passed
+        - commits
       properties:
         time:
           $ref: "#/components/schemas/DateTime"
@@ -351,6 +392,11 @@ components:
 
     Commit:
       type: object
+      additionalProperties: false
+      required:
+        - errors
+        - warnings
+        - messages
       properties:
         messages:
           type: array
@@ -370,6 +416,10 @@ components:
 
     CommitMessage:
       type: object
+      additionalProperties: false
+      required:
+        - code
+        - message
       properties:
         code:
           type: integer
@@ -385,13 +435,31 @@ components:
 
     CommitValidationStatus:
       type: object
+      additionalProperties: false
+      required:
+        - id
+        - commit_hash
+        - project
+        - repo_url
+        - provider
+        - creation_date
+        - last_modified
+        - errors
       properties:
         id:
           type: integer
           description: internal ID of the commit for tracking
-        sha:
+        commit_hash:
           type: string
           description: the SHA of the commit that was validated
+        user_mail:
+          type: 
+            - string
+            - "null"
+          description: the email of the user associated with the status
+        estimated_loc:
+          type: integer
+          description: the estimated number of lines of code changed by commit if available.
         project:
           type: string
           description: The short project ID of the project that was detected for the commit, if it exists.
@@ -418,28 +486,46 @@ components:
 
     CommitValidationMessage:
       type: object
+      additionalProperties: false
+      required:
+        - id
+        - status_code
+        - author_email
       properties:
         id:
           type: integer
           description: internal ID of the commit message for tracking
-        commit_id:
-          type: integer
-          description: internal ID of the commit for tracking
         status_code:
           type: integer
           description: error code associated with the commit
         eclipse_id:
-          type: string
+          $ref: "#/components/schemas/NullableString"
           description: the Eclipse Foundation ID of the user
         author_email:
           type: string
           description: Email address of the author of the commit for additional information
-        provider_id:
+        committer_email:
           type: string
+          description: Email address of the committer of the commit for additional information
+        provider_id:
+          $ref: "#/components/schemas/NullableString"
           description: the outward facing URL of the repo the commit belongs to.
 
     SystemHook:
       type: object
+      additionalProperties: false
+      required:
+        - created_at
+        - updated_at
+        - event_name
+        - name
+        - owner_email
+        - owner_name
+        - owners
+        - path
+        - path_with_namespace
+        - project_id
+        - project_visibility
       properties:
         created_at:
           $ref: "#/components/schemas/DateTime"
@@ -496,6 +582,13 @@ components:
 
     PrivateProjectData:
       type: object
+      additionalProperties: false
+      required:
+        - user_id
+        - project_id
+        - project_path
+        - ef_username
+        - creation_date
       properties:
         user_id:
           type: integer
@@ -558,12 +651,19 @@ components:
                   description: The SHA hash of the head of the pull request.
     RevalidationRequest:
       type: object
+      additionalProperties: false
+      required:
+        - h-form-captcha-response
       properties:
         h-form-captcha-response:
           type: string
           description: the hCaptcha challenge response. 
     Error:
       type: object
+      additionalProperties: false
+      required:
+        - status_code
+        - message
       properties:
         status_code:
           type: integer