diff --git a/spec/openapi.yaml b/spec/openapi.yaml
index 2033b639b3ae70a70457a207ea5473cb9fde4f91..ec886093be755284ad1dca137358b9c515debd6d 100644
--- a/spec/openapi.yaml
+++ b/spec/openapi.yaml
@@ -585,6 +585,20 @@ components:
 
     EfUser:
       type: object
+      additionalProperties: false
+      required:
+        - uid
+        - name
+        - picture
+        - first_name
+        - last_name
+        - publisher_agreements
+        - github_handle
+        - twitter_handle
+        - job_title
+        - website
+        - country
+        - interests
       properties:
         uid:
           type: string
@@ -615,6 +629,9 @@ components:
         last_name:
           type: string
           description: "The user's last name."
+        full_name:
+          type: string
+          description: "The user's full name."
         publisher_agreements:
           type: object
           propertyNames:
@@ -695,6 +712,11 @@ components:
             - type: string
             - type: "null"
           description: "The user's Marketplace favorites URL."
+        eca_url:
+          oneOf:
+            - type: string
+            - type: "null"
+          description: "The user's ECA status URL."
       example:
         uid: "606609"
         name: zacharysabourin
@@ -734,6 +756,10 @@ components:
 
     Eca:
       type: object
+      additionalProperties: false
+      required:
+        - signed
+        - can_contribute_spec_project
       properties:
         signed:
           type: boolean
@@ -763,6 +789,9 @@ components:
 
     PublisherAgreement:
       type: object
+      additionalProperties: false
+      required:
+        - version
       properties:
         version:
           type: string
@@ -778,6 +807,9 @@ components:
 
     Subscriptions:
       type: object
+      additionalProperties: false
+      required:
+        - mailing_list_subscriptions
       properties:
         mailing_list_subscriptions:
           type: array
@@ -792,6 +824,10 @@ components:
 
     MailingList:
       type: object
+      additionalProperties: false
+      required:
+        - list_name
+        - list_description
       properties:
         list_name:
           type: string
@@ -828,6 +864,7 @@ components:
 
     PeopleProjects:
       type: array
+      description: Map of projects that the user is associated with.
       items:
         $ref: "#/components/schemas/PeopleProject"
       example:
@@ -848,85 +885,89 @@ components:
 
     PeopleProject:
       type: object
+      additionalProperties: false
+      required:
+        - ActiveDate
+        - EditBugs
+        - SortOrder
+        - ProjectName
+        - Url
+        - SpecificationProject
+        - Relation
       properties:
-        active_date:
-          type: string
-          description: The active date for this record
-        inactive_date:
-          oneOf:
-            - type: string
-            - type: "null"
-          description: The inactive date for this record
-        edit_bugs:
-          type: string
-          description: Edit bugs status. 1 for true, 0 for false
-        sort_order:
-          type: string
-          description: The sort order for this record
-        project_name:
-          type: string
-          description: The project's name
-        url:
-          type: string
-          description: The project URL
-        specification_project:
-          type: boolean
-          description: The active date for tis record
-        relation:
-          $ref: "#/components/schemas/Relation"
-      example:
-        active_date: "2022-09-21T00:00:00Z"
-        inactive_date: ""
-        edit_bugs: "0"
-        sort_order: ""
-        project_name: "Eclise USS SDK"
-        url: "https://projects.eclipse.org/projects/technology.usssdk"
-        specification_project: false
-        relation:
-          relation: CM
-          description: commiter
-          is_active: "1"
-          type:
-            type: PR
-            description: Person - Project
+          ActiveDate:
+            type: string
+            description: The active date for this record
+          InactiveDate:
+            oneOf:
+              - type: string
+              - type: "null"
+            description: The inactive date for this record
+          EditBugs:
+            type: string
+            description: Edit bugs status. 1 for true, 0 for false
+          SortOrder:
+            type: string
+            description: The sort order for this record
+          ProjectName:
+            type: string
+            description: The project's name
+          Url:
+            type: string
+            description: The project URL
+          SpecificationProject:
+            type: boolean
+            description: The active date for tis record
+          Relation:
+            $ref: "#/components/schemas/Relation"
 
     Relation:
       type: object
+      additionalProperties: false
+      required:
+        - Relation
+        - Description
+        - IsActive
+        - Type
       properties:
-        relation:
+        Relation:
           type: string
           description: The relation code.
-        description:
+        Description:
           type: string
           description: The relation description.
-        active:
+        IsActive:
           type: string
           description: The active flag for the relation. 1 for true, 0 for false.
-        type:
-          $ref: "#/components/schemas/RelationType"
-      example:
-        relation: CM
-        description: commiter
-        is_active: "1"
-        type:
-          type: PR
-          description: Person - Project
-
-    RelationType:
-      type: object
-      properties:
-        type:
-          type: string
-          description: The type code.
-        description:
-          type: string
-          description: The type description.
+        Type:
+          type: object
+          additionalProperties: false
+          required:
+            - Type
+            - Description
+          properties:
+            Type:
+              type: string
+              description: The type code.
+            Description:
+              type: string
+              description: The type description.
       example:
-        type: PR
-        description: Person - Project
+        Relation: CM
+        Description: commiter
+        IsActive: "1"
+        Type:
+          Type: PR
+          Description: Person - Project
 
     GerritResponse:
       type: object
+      additionalProperties: false
+      required:
+        - merged_changes_count
+        - gerrit_owner_url
+        - gerrit_reviewer_url
+        - account_url
       properties:
         merged_changes_count:
           type: string
@@ -948,12 +989,24 @@ components:
 
     PaginatedUserDeleteRequests:
       type: object
+      additionalProperties: false
+      required:
+        - result
+        - pagination
       properties:
         result:
           $ref: "#/components/schemas/UserDeleteRequests"
         pagination:
           type: object
           description: "The pagination information"
+          additionalProperties: false
+          required:
+            - page
+            - page_size
+            - result_start
+            - result_end
+            - result_size
+            - total_result_size
           properties:
             page:
               type: number
@@ -1048,6 +1101,17 @@ components:
 
     UserDeleteRequest:
       type: object
+      additionalProperties: false
+      required:
+        - id
+        - uid
+        - name
+        - mail
+        - host
+        - status
+        - created
+        - changed
+        - url
       properties:
         id:
           type: string
@@ -1089,6 +1153,9 @@ components:
 
     RequestStatusUpdate:
       type: object
+      additionalProperties: false
+      required:
+        - status
       properties:
         status:
           type: integer
@@ -1098,6 +1165,11 @@ components:
 
     SlackRequest:
       type: object
+      additionalProperties: false
+      required:
+        - token
+        - text
+        - team_domain
       properties:
         text:
           type: string
@@ -1115,6 +1187,10 @@ components:
 
     SlackResponse:
       type: object
+      additionalProperties: false
+      required:
+        - response_type
+        - text
       properties:
         response_type:
           type: string
@@ -1137,6 +1213,11 @@ components:
 
     SlackAttachment:
       type: object
+      additionalProperties: false
+      required:
+        - title
+        - title_link
+        - text
       properties:
         title:
           type: string