From 2e9fe35139ef26427037dc5c8940562aa1f15c0a Mon Sep 17 00:00:00 2001
From: GitHub Action Bot <tyler.mairose@sailpoint.com>
Date: Fri, 2 Feb 2024 17:46:11 +0000
Subject: [PATCH] Automated commit 'Merge pull request #1544 from
 sailpoint/devrel-1422

devrel-1422' by github action: 7759597013
---
 idn/v3/schemas/AuthUser.yaml                  |   1 -
 .../search/model/access/BaseAccess.yaml       |  56 +++++++-
 .../access/profile/AccessProfileDocument.yaml |  44 +++++-
 .../search/model/account/AccountSource.yaml   |   2 +-
 .../search/model/account/BaseAccount.yaml     |  24 ++--
 .../activity/AccountActivityDocument.yaml     |  27 +++-
 .../account/activity/AttributeRequest.yaml    |   6 +-
 .../account/activity/OriginalRequest.yaml     |   6 +-
 .../search/model/base/BaseAccessProfile.yaml  |  10 ++
 .../search/model/base/BaseSegment.yaml        |  10 ++
 idn/v3/schemas/search/model/base/Tags.yaml    |   1 +
 .../model/entitlement/BaseEntitlement.yaml    |  52 ++++---
 .../entitlement/EntitlementDocument.yaml      |  58 +++++++-
 .../search/model/event/EventDocument.yaml     |  35 ++++-
 .../model/identity/IdentityDocument.yaml      | 129 +++++++++++++-----
 .../search/model/role/RoleDocument.yaml       |  14 +-
 16 files changed, 383 insertions(+), 92 deletions(-)
 create mode 100644 idn/v3/schemas/search/model/base/BaseAccessProfile.yaml
 create mode 100644 idn/v3/schemas/search/model/base/BaseSegment.yaml

diff --git a/idn/v3/schemas/AuthUser.yaml b/idn/v3/schemas/AuthUser.yaml
index 3fd922dc..ba4d9ee2 100644
--- a/idn/v3/schemas/AuthUser.yaml
+++ b/idn/v3/schemas/AuthUser.yaml
@@ -75,7 +75,6 @@ properties:
         - CERT_ADMIN
         - CLOUD_GOV_ADMIN
         - CLOUD_GOV_USER
-        - DASHBOARD
         - HELPDESK
         - ORG_ADMIN
         - REPORT_ADMIN
diff --git a/idn/v3/schemas/search/model/access/BaseAccess.yaml b/idn/v3/schemas/search/model/access/BaseAccess.yaml
index 520f04a9..4e839c9f 100644
--- a/idn/v3/schemas/search/model/access/BaseAccess.yaml
+++ b/idn/v3/schemas/search/model/access/BaseAccess.yaml
@@ -4,24 +4,66 @@ allOf:
     properties:
       description:
         type: string
-        description: The description of the access item
+        description: Access item's description. 
         example: "The admin role"
       created:
-        $ref: "../base/DateTime.yaml"
+        type: string
+        description: ISO-8601 date-time referring to the time when the object was created. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:28.104Z'
       modified:
-        $ref: "../base/DateTime.yaml"
+        type: string
+        description: ISO-8601 date-time referring to the time when the object was last modified. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:28.104Z'
       synced:
-        $ref: "../base/DateTime.yaml"
+        type: string
+        description: >-
+          ISO-8601 date-time referring to the date-time when object was queued to be synced into search database for use in the search API.  
+
+          This date-time changes anytime there is an update to the object, which triggers a synchronization event being sent to the search database. 
+
+          There may be some delay between the `synced` time and the time when the updated data is actually available in the search API. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:33.104Z'
       enabled:
         type: boolean
+        description: Indicates whether the access item is currently enabled. 
+        default: false
         example: true
       requestable:
         type: boolean
+        description: Indicates whether the access item can be requested.
+        default: true
         example: true
-        description: Indicates if the access can be requested
       requestCommentsRequired:
         type: boolean
-        description: Indicates if comments are required when requesting access
+        description: Indicates whether comments are required for requests to access the item. 
+        default: false
         example: false
       owner:
-        $ref: "../identity/Owner.yaml"
+        type: object
+        description: Owner's identity. 
+        properties:
+          type:
+            type: string 
+            description: Owner's DTO type. 
+            enum: 
+              - IDENTITY
+            example: IDENTITY
+          id:
+            type: string
+            description: Owner's identity ID.
+            example: 2c9180a46faadee4016fb4e018c20639
+          name:
+            type: string
+            description: Owner's display name. 
+            example: Support
+          email: 
+            type: string
+            description: Owner's email. 
+            example: cloud-support@sailpoint.com
+
diff --git a/idn/v3/schemas/search/model/access/profile/AccessProfileDocument.yaml b/idn/v3/schemas/search/model/access/profile/AccessProfileDocument.yaml
index fcb94dd3..8ad1217f 100644
--- a/idn/v3/schemas/search/model/access/profile/AccessProfileDocument.yaml
+++ b/idn/v3/schemas/search/model/access/profile/AccessProfileDocument.yaml
@@ -1,18 +1,56 @@
 description: >- 
-  This is more of a complete representation of an access profile.  
+  More complete representation of an access profile.  
 allOf:
-- $ref: '../../base/BaseDocument.yaml'
 - $ref: '../BaseAccess.yaml'
 - type: object
+  required: ["id", "name", "_type"]
   properties:
+    id: 
+      type: string
+      description: Access profile's ID. 
+      example: 2c9180825a6c1adc015a71c9023f0818
+    name: 
+      type: string
+      description: Access profile's name. 
+      example: Cloud Eng
+    _type: 
+      description: >-
+        Access profile's document type. 
+
+        This enum represents the currently supported document types.
+      
+        Additional values may be added in the future without notice.
+      type: string
+      enum:
+        - accessprofile
+        - accountactivity
+        - account
+        - aggregation
+        - entitlement
+        - event
+        - identity
+        - role
+      example: accessprofile
     source:
-      $ref: '../../base/Reference.yaml'
+      type: object
+      description: Access profile's source. 
+      properties: 
+        id: 
+          type: string
+          description: Source's ID. 
+          example: ff8081815757d4fb0157588f3d9d008f
+        name: 
+          type: string
+          description: Source's name. 
+          example: Employees
     entitlements:
       type: array
+      description: Entitlements the access profile has access to. 
       items:
         $ref: '../../entitlement/BaseEntitlement.yaml'
     entitlementCount:
       type: integer
+      description: Number of entitlements. 
       example: 5
     tags:
       $ref: '../../base/Tags.yaml'
diff --git a/idn/v3/schemas/search/model/account/AccountSource.yaml b/idn/v3/schemas/search/model/account/AccountSource.yaml
index 9791cb3d..20ee7a07 100644
--- a/idn/v3/schemas/search/model/account/AccountSource.yaml
+++ b/idn/v3/schemas/search/model/account/AccountSource.yaml
@@ -5,4 +5,4 @@ allOf:
     type:
       type: string
       example: Delimited File
-      description: the type of source returned
+      description: Type of source returned.
diff --git a/idn/v3/schemas/search/model/account/BaseAccount.yaml b/idn/v3/schemas/search/model/account/BaseAccount.yaml
index 19f4024b..b35e903e 100644
--- a/idn/v3/schemas/search/model/account/BaseAccount.yaml
+++ b/idn/v3/schemas/search/model/account/BaseAccount.yaml
@@ -4,36 +4,44 @@ allOf:
     properties:
       accountId:
         type: string
-        description: The ID of the account
-        example: "john.doe"
+        description: Account ID.
+        example: John.Doe
       source:
         $ref: "AccountSource.yaml"
       disabled:
         type: boolean
-        description: Indicates if the account is disabled
+        description: Indicates whether the account is disabled.
+        default: false
         example: false
       locked:
         type: boolean
-        description: Indicates if the account is locked
+        description: Indicates whether the account is locked.
+        default: false
         example: false
       privileged:
         type: boolean
+        description: Indicates whether the account is privileged. 
+        default: false
         example: false
       manuallyCorrelated:
         type: boolean
-        description:
-          Indicates if the account has been manually correlated to an identity
+        description: Indicates whether the account has been manually correlated to an identity.
+        default: false
         example: false
       passwordLastSet:
         $ref: "../base/DateTime.yaml"
       entitlementAttributes:
         type: object
         nullable: true
-        description: "a map or dictionary of key/value pairs"
+        description: Map or dictionary of key/value pairs.
         additionalProperties: true
         example:
           moderator: true
           admin: true
           trust_level: "4"
       created:
-        $ref: "../base/DateTime.yaml"
+        type: string
+        description: ISO-8601 date-time referring to the time when the object was created. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:28.104Z'
diff --git a/idn/v3/schemas/search/model/account/activity/AccountActivityDocument.yaml b/idn/v3/schemas/search/model/account/activity/AccountActivityDocument.yaml
index bbc77208..ae72acde 100644
--- a/idn/v3/schemas/search/model/account/activity/AccountActivityDocument.yaml
+++ b/idn/v3/schemas/search/model/account/activity/AccountActivityDocument.yaml
@@ -5,26 +5,35 @@ allOf:
     properties:
       action:
         type: string
-        description: The type of action that this activity performed
+        description: Type of action performed in the activity. 
         externalDocs:
           description: Learn more about account activity action types
           url: https://documentation.sailpoint.com/saas/help/search/searchable-fields.html#searching-account-activity-data
         example: Identity Refresh.
       created:
-        $ref: "../../base/DateTime.yaml"
+        type: string
+        description: ISO-8601 date-time referring to the time when the object was created. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:28.104Z'
       modified:
-        $ref: "../../base/DateTime.yaml"
+        type: string
+        description: ISO-8601 date-time referring to the time when the object was last modified. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:28.104Z'
       stage:
         type: string
-        description: The current stage of the activity
+        description: Activity's current stage. 
         example: Completed
       origin:
         type: string
+        description: Activity's origin. 
         nullable: true
         example: null
       status:
         type: string
-        description: the current status of the activity
+        description: Activity's current status. 
         example: Complete
       requester:
         $ref: "../AccountSource.yaml"
@@ -32,35 +41,43 @@ allOf:
         $ref: "../AccountSource.yaml"
       trackingNumber:
         type: string
+        description: Account activity's tracking number. 
         example: 61aad0c9e8134eca89e76a35e0cabe3f
       errors:
         type: array
+        description: Errors provided by the source while completing account actions. 
         items:
           type: string
         nullable: true
         example: null
       warnings:
         type: array
+        description: Warnings provided by the source while completing account actions. 
         items:
           type: string
         nullable: true
         example: null
       approvals:
         type: array
+        description: Approvals performed on an item during activity. 
         items:
           $ref: "Approval.yaml"
       originalRequests:
         type: array
+        description: Original actions that triggered all individual source actions related to the account action. 
         items:
           $ref: "OriginalRequest.yaml"
       expansionItems:
         type: array
+        description: Controls that translated the attribute requests into actual provisioning actions on the source. 
         items:
           $ref: "ExpansionItem.yaml"
       accountRequests:
         type: array
+        description: Account data for each individual source action triggered by the original requests. 
         items:
           $ref: "AccountRequest.yaml"
       sources:
         type: string
+        description: Sources involved in the account activity. 
         example: "smartsheet-test, airtable-v4, IdentityNow"
diff --git a/idn/v3/schemas/search/model/account/activity/AttributeRequest.yaml b/idn/v3/schemas/search/model/account/activity/AttributeRequest.yaml
index 342a26af..01d333fc 100644
--- a/idn/v3/schemas/search/model/account/activity/AttributeRequest.yaml
+++ b/idn/v3/schemas/search/model/account/activity/AttributeRequest.yaml
@@ -2,13 +2,13 @@ type: object
 properties:
   name:
     type: string
-    description: The attribute name
+    description: Attribute name. 
     example: groups
   op:
     type: string
-    description: The operation to perform
+    description: Operation to perform on attribute. 
     example: Add
   value:
     type: string
-    description: The value of the attribute
+    description: Value of attribute.
     example: "3203537556531076"
diff --git a/idn/v3/schemas/search/model/account/activity/OriginalRequest.yaml b/idn/v3/schemas/search/model/account/activity/OriginalRequest.yaml
index 141f0f71..6170f408 100644
--- a/idn/v3/schemas/search/model/account/activity/OriginalRequest.yaml
+++ b/idn/v3/schemas/search/model/account/activity/OriginalRequest.yaml
@@ -2,15 +2,17 @@ type: object
 properties:
   accountId:
     type: string
-    description: the account id
+    description: Account ID. 
     example: CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com
   attributeRequests:
     type: array
+    description: Attribute changes requested for account. 
     items:
       $ref: 'AttributeRequest.yaml'
   op:
     type: string
-    description: the operation that was used
+    description: Operation used. 
     example: add
   source:
+    description: Account's source. 
     $ref: '../AccountSource.yaml'
diff --git a/idn/v3/schemas/search/model/base/BaseAccessProfile.yaml b/idn/v3/schemas/search/model/base/BaseAccessProfile.yaml
new file mode 100644
index 00000000..dcfed2d4
--- /dev/null
+++ b/idn/v3/schemas/search/model/base/BaseAccessProfile.yaml
@@ -0,0 +1,10 @@
+type: object
+properties:
+  id:
+    type: string
+    example: 2c91809c6faade77016fb4f0b63407ae
+    description: Access profile's unique ID. 
+  name:
+    type: string
+    example: Admin Access
+    description: Access profile's display name. 
diff --git a/idn/v3/schemas/search/model/base/BaseSegment.yaml b/idn/v3/schemas/search/model/base/BaseSegment.yaml
new file mode 100644
index 00000000..a8eb3427
--- /dev/null
+++ b/idn/v3/schemas/search/model/base/BaseSegment.yaml
@@ -0,0 +1,10 @@
+type: object
+properties:
+  id:
+    type: string
+    example: b009b6e3-b56d-41d9-8735-cb532ea0b017
+    description: Segment's unique ID. 
+  name:
+    type: string
+    example: Test Segment
+    description: Segment's display name. 
diff --git a/idn/v3/schemas/search/model/base/Tags.yaml b/idn/v3/schemas/search/model/base/Tags.yaml
index 34779dc0..7fdb0d6a 100644
--- a/idn/v3/schemas/search/model/base/Tags.yaml
+++ b/idn/v3/schemas/search/model/base/Tags.yaml
@@ -1,4 +1,5 @@
 type: array
+description: Tags that have been applied to the object.
 items:
   type: string
 example:
diff --git a/idn/v3/schemas/search/model/entitlement/BaseEntitlement.yaml b/idn/v3/schemas/search/model/entitlement/BaseEntitlement.yaml
index 3eda5151..95d99ee5 100644
--- a/idn/v3/schemas/search/model/entitlement/BaseEntitlement.yaml
+++ b/idn/v3/schemas/search/model/entitlement/BaseEntitlement.yaml
@@ -1,16 +1,36 @@
-allOf:
-  - $ref: "../base/Reference.yaml"
-  - type: object
-    properties:
-      description:
-        type: string
-        description: A description of the entitlement
-        example: The admin privilege
-      attribute:
-        type: string
-        description: The name of the entitlement attribute
-        example: admin
-      value:
-        type: string
-        description: The value of the entitlement
-        example: "true"
+type: object
+properties:
+  hasPermissions: 
+    type: boolean
+    description: Indicates whether the entitlement has permissions. 
+    default: false
+    example: false
+  description:
+    type: string
+    description: Entitlement's description. 
+    example: Cloud engineering 
+  attribute:
+    type: string
+    description: Entitlement attribute's name. 
+    example: memberOf
+  value:
+    type: string
+    description: Entitlement's value. 
+    example: "CN=Cloud Engineering,DC=sailpoint,DC=COM"
+  schema: 
+    type: string
+    description: Entitlement's schema. 
+    example: group
+  privileged: 
+    type: boolean
+    description: Indicates whether the entitlement is privileged. 
+    default: false
+    example: false
+  id: 
+    type: string
+    description: Entitlement's ID.
+    example: 2c918084575812550157589064f33b89
+  name: 
+    type: string
+    description: Entitlement's name. 
+    example: "CN=Cloud Engineering,DC=sailpoint,DC=COM"
diff --git a/idn/v3/schemas/search/model/entitlement/EntitlementDocument.yaml b/idn/v3/schemas/search/model/entitlement/EntitlementDocument.yaml
index a3c67dec..53f47810 100644
--- a/idn/v3/schemas/search/model/entitlement/EntitlementDocument.yaml
+++ b/idn/v3/schemas/search/model/entitlement/EntitlementDocument.yaml
@@ -1,24 +1,72 @@
 description: Entitlement
 allOf:
   - $ref: "../base/BaseDocument.yaml"
-  - $ref: "BaseEntitlement.yaml"
   - type: object
     properties:
       modified:
-        $ref: "../base/DateTime.yaml"
+        type: string
+        description: ISO-8601 date-time referring to the time when the object was last modified. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:28.104Z'
       synced:
-        $ref: "../base/DateTime.yaml"
+        type: string
+        description: >-
+          ISO-8601 date-time referring to the date-time when object was queued to be synced into search database for use in the search API.  
+
+          This date-time changes anytime there is an update to the object, which triggers a synchronization event being sent to the search database. 
+
+          There may be some delay between the `synced` time and the time when the updated data is actually available in the search API. 
       displayName:
         type: string
-        description: The display name of the entitlement
+        description: Entitlement's display name. 
         example: Admin
       source:
-        $ref: "../base/Reference.yaml"
+        type: object
+        description: Entitlement's source. 
+        properties: 
+          id: 
+            type: string
+            description: ID of entitlement's source. 
+            example: 2c91808b6e9e6fb8016eec1a2b6f7b5f
+          name: 
+            type: string
+            description: Display name of entitlement's source.
+            example: ODS-HR-Employees
+      segments:
+        type: array
+        description: Segments with the role. 
+        items:
+          $ref: '../base/BaseSegment.yaml'
+      segmentCount:
+        type: integer
+        description: Number of segments with the role.
+        format: int32
+        example: 1
+      requestable: 
+        type: boolean
+        description: Indicates whether the entitlement is requestable. 
+        default: false
+        example: false
+      cloudGoverned: 
+        type: boolean
+        description: Indicates whether the entitlement is cloud governed. 
+        default: false
+        example: false
+      created:
+        type: string
+        description: ISO-8601 date-time referring to the time when the object was created. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:28.104Z'
       privileged:
         type: boolean
+        description: Indicates whether the entitlement is privileged. 
+        default: false
         example: false
       identityCount:
         type: integer
+        description: Number of identities who have access to the entitlement. 
         format: int32
         example: 3
       tags:
diff --git a/idn/v3/schemas/search/model/event/EventDocument.yaml b/idn/v3/schemas/search/model/event/EventDocument.yaml
index 153f74a2..d100e400 100644
--- a/idn/v3/schemas/search/model/event/EventDocument.yaml
+++ b/idn/v3/schemas/search/model/event/EventDocument.yaml
@@ -4,35 +4,54 @@ allOf:
   - type: object
     properties:
       created:
-        $ref: "../base/DateTime.yaml"
+        type: string
+        description: ISO-8601 date-time referring to the time when the object was created. 
+        nullable: true
+        format: 'date-time'
+        example: '2018-06-25T20:22:28.104Z'
       synced:
-        $ref: "../base/DateTime.yaml"
+        type: string
+        description: >-
+          ISO-8601 date-time referring to the date-time when object was queued to be synced into search database for use in the search API.  
+
+          This date-time changes anytime there is an update to the object, which triggers a synchronization event being sent to the search database. 
+
+          There may be some delay between the `synced` time and the time when the updated data is actually available in the search API. 
       action:
         type: string
-        description: The action that was performed
+        description: Name of the event as it's displayed in audit reports. 
         example: update
       type:
         type: string
-        description: The type of event
+        description: Event type. Refer to [Event Types](https://documentation.sailpoint.com/saas/help/search/index.html#event-types) for a list of event types and their meanings. 
         example: SYSTEM_CONFIG
       actor:
-        $ref: "NameType.yaml"
+        type: string
+        description: Name of the actor that generated the event. 
+        example: System
       target:
-        $ref: "NameType.yaml"
+        type: string
+        description: Name of the target, or recipient, of the event. 
+        example: Carol.Adams
       stack:
         type: string
+        description: The event's stack. 
         example: tpe
       trackingNumber:
         type: string
+        description: ID of the group of events. 
         example: 63f891e0735f4cc8bf1968144a1e7440
       ipAddress:
         type: string
+        description: Target system's IP address. 
         example: "52.52.97.85"
       details:
         type: string
+        description: ID of event's details. 
         example: 73b65dfbed1842548c207432a18c84b0
       attributes:
         type: object
+        description: Attributes involved in the event. 
         additionalProperties: true
         example:
           pod: stg03-useast1
@@ -40,15 +59,19 @@ allOf:
           sourceName: SailPoint
       objects:
         type: array
+        description: Objects the event is happening to. 
         items:
           type: string
           example: AUTHENTICATION
       operation:
         type: string
+        description: Operation, or action, performed during the event. 
         example: REQUEST
       status:
         type: string
+        description: Event status. Refer to [Event Statuses](https://documentation.sailpoint.com/saas/help/search/index.html#event-statuses) for a list of event statuses and their meanings. 
         example: PASSED
       technicalName:
         type: string
+        description: Event's normalized name. This normalized name always follows the pattern of 'objects_operation_status'.
         example: AUTHENTICATION_REQUEST_PASSED
diff --git a/idn/v3/schemas/search/model/identity/IdentityDocument.yaml b/idn/v3/schemas/search/model/identity/IdentityDocument.yaml
index 0fd2e0a2..0dc105d5 100644
--- a/idn/v3/schemas/search/model/identity/IdentityDocument.yaml
+++ b/idn/v3/schemas/search/model/identity/IdentityDocument.yaml
@@ -4,60 +4,112 @@ allOf:
 - $ref: '../base/DisplayReference.yaml'
 - type: object
   properties:
+    displayName:
+      type: string
+      example: Carol.Adams
+      description: Identity's display name. 
     firstName:
       type: string
-      description: The first name of the identity
+      description: Identity's first name. 
       example: Carol
     lastName:
       type: string
-      description: The last name of the identity
+      description: Identity's last name. 
       example: Adams
-    displayName:
-      type: string
-      example: Carol.Adams
-      description: The display name of the identity
     email:
       type: string
-      description: The identity's primary email address
+      description: Identity's primary email address.
       example: Carol.Adams@sailpointdemo.com
     created:
-      $ref: '../base/DateTime.yaml'
+      type: string
+      description: ISO-8601 date-time referring to the time when the object was created. 
+      nullable: true
+      format: 'date-time'
+      example: '2018-06-25T20:22:28.104Z'
     modified:
-      $ref: '../base/DateTime.yaml'
-    synced:
-      $ref: '../base/DateTime.yaml'
+      type: string
+      description: ISO-8601 date-time referring to the time when the object was last modified. 
+      nullable: true
+      format: 'date-time'
+      example: '2018-06-25T20:22:28.104Z'
     phone:
       type: string
-      description: The phone number of the identity
+      description: Identity's phone number.
       example: "+1 440-527-3672"
+    synced:
+      type: string
+      description: >-
+        ISO-8601 date-time referring to the date-time when object was queued to be synced into search database for use in the search API.  
+
+        This date-time changes anytime there is an update to the object, which triggers a synchronization event being sent to the search database. 
+
+        There may be some delay between the `synced` time and the time when the updated data is actually available in the search API. 
     inactive:
       type: boolean
-      description: Indicates if the identity is inactive
+      description: Indicates whether the identity is inactive.
+      default: false
       example: false
     protected:
       type: boolean
+      description: Indicates whether the identity is protected. 
+      default: false
       example: false
     status:
       type: string
-      description: The identity's status in SailPoint
+      description: Identity's status in SailPoint.
       example: UNREGISTERED
     employeeNumber:
       type: string
+      description: Identity's employee number. 
       example: 1a2a3d4e
     manager:
-      $ref: '../base/DisplayReference.yaml'
+      type: object
+      description: Identity's manager. 
       nullable: true
+      properties:
+        id:
+          type: string
+          description: ID of identity's manager. 
+          example: 2c9180867dfe694b017e208e27c05799
+        name:
+          type: string
+          description: Name of identity's manager. 
+          example: Amanda.Ross
+        displayName:
+          type: string
+          description: Display name of identity's manager. 
+          example: Amanda.Ross
     isManager:
       type: boolean
-      description: Indicates if this identity is a manager of other identities
+      description: Indicates whether the identity is a manager of other identities.
       example: false
     identityProfile:
-      $ref: '../base/Reference.yaml'
+      type: object
+      description: Identity's identity profile. 
+      properties: 
+        id: 
+          type: string
+          description: Identity profile's ID. 
+          example: 3bc8ad26b8664945866b31339d1ff7d2
+        name: 
+          type: string 
+          description: Identity profile's name. 
+          example: HR Employees
     source:
-      $ref: '../base/Reference.yaml'
+      type: object
+      description: Identity's source. 
+      properties: 
+        id: 
+          type: string
+          description: ID of identity's source. 
+          example: 2c91808b6e9e6fb8016eec1a2b6f7b5f
+        name: 
+          type: string
+          description: Display name of identity's source.
+          example: ODS-HR-Employees
     attributes:
       type: object
-      description: "a map or dictionary of key/value pairs"
+      description: Map or dictionary of key/value pairs.
       additionalProperties: true
       example:
         country: "US"
@@ -65,54 +117,67 @@ allOf:
         cloudStatus: "UNREGISTERED"
     processingState:
       type: string
+      description: Identity's processing state. 
       nullable: true
       example: null
     processingDetails:
       $ref: 'ProcessingDetails.yaml'
+      description: Identity's processing details. 
       nullable: true
     accounts:
       type: array
-      description: List of accounts associated with the identity
+      description: List of accounts associated with the identity.
       items:
         $ref: '../account/BaseAccount.yaml'
     accountCount:
       type: integer
-      description: Number of accounts associated with the identity
+      description: Number of accounts associated with the identity.
       format: int32
       example: 3
     apps:
       type: array
-      description: The list of applications the identity has access to
+      description: List of applications the identity has access to.
       items:
         $ref: 'App.yaml'
     appCount:
       type: integer
       format: int32
-      description: The number of applications the identity has access to
+      description: Number of applications the identity has access to.
       example: 2
     access:
       type: array
-      description: The list of access items assigned to the identity
+      description: List of access items assigned to the identity.
       items:
         $ref: 'IdentityAccess.yaml'
     accessCount:
       type: integer
       format: int32
-      description: The number of access items assigned to the identity
+      description: Number of access items assigned to the identity.
       example: 5
-    accessProfileCount:
-      type: integer
-      description: The number of access profiles assigned to the identity
-      example: 1
     entitlementCount:
       type: integer
-      description: The number of entitlements assigned to the identity
+      format: int32
+      description: Number of entitlements assigned to the identity.
       example: 10
     roleCount:
       type: integer
-      description: The number of roles assigned to the identity
+      format: int32
+      description: Number of roles assigned to the identity.
+      example: 1
+    accessProfileCount:
+      type: integer
+      format: int32
+      description: Number of access profiles assigned to the identity.
       example: 1
     owns:
-      $ref: 'Owns.yaml'
+      type: array
+      description: Access items the identity owns. 
+      items: 
+        $ref: 'Owns.yaml'
+    ownsCount: 
+      type: integer
+      format: int32
+      description: Number of access items the identity owns. 
+      example: 5
     tags:
       $ref: '../base/Tags.yaml'
diff --git a/idn/v3/schemas/search/model/role/RoleDocument.yaml b/idn/v3/schemas/search/model/role/RoleDocument.yaml
index 365fd28f..99ee9dad 100644
--- a/idn/v3/schemas/search/model/role/RoleDocument.yaml
+++ b/idn/v3/schemas/search/model/role/RoleDocument.yaml
@@ -6,25 +6,33 @@ allOf:
   properties:
     accessProfiles:
       type: array
+      description: Access profiles included with the role.
       items:
-        $ref: '../base/Reference.yaml'
+        $ref: '../base/BaseAccessProfile.yaml'
     accessProfileCount:
       type: integer
+      description: Number of access profiles included with the role. 
+      format: int32
+      example: 1
     tags:
       $ref: '../base/Tags.yaml'
     segments:
       type: array
+      description: Segments with the role. 
       items:
-        $ref: '../base/Reference.yaml'
+        $ref: '../base/BaseSegment.yaml'
     segmentCount:
       type: integer
+      description: Number of segments with the role.
       format: int32
       example: 1
     entitlements:
       type: array
+      description: Entitlements included with the role. 
       items:
-        $ref: '../access/AccessProfileRole.yaml'
+        $ref: '../entitlement/BaseEntitlement.yaml'
     entitlementCount:
       type: integer
+      description: Number of entitlements included with the role.
       format: int32
       example: 3
\ No newline at end of file