openapi: 3.0.0
info:
  title: IDHub API
  version: 1.0.0
  description: >
    # Overview

    Welcome to the Developer Guide! Empowering developers with comprehensive
    resources and tools to seamlessly integrate IDhub in your applications.
servers: null
tags:
  - name: Request
    description: >-
      This section guides users to use endpoints in IDHub for tasks such as
      searching the catalog, adding items to a cart, and submitting access
      requests. It emphasizes the use of filters and specific endpoints for
      request details and submission.
  - name: Task
    description: >-
      Utilize 'Task' endpoints to retrieve, act upon, and comment on task
      details. Tasks include Completed, Expired, approval, and rejected types.
      Use the Fetch task endpoint to obtain task details with filter attributes.
      Perform actions like approve, reject, claim, release, escalate, and
      re-assign. Additionally, use provided endpoints to add comments to tasks.
  - name: UserAccount
    description: >-
      You might want to see the details of a user account. Endpoint given under
      this section enables you to fetch the details of any user account. You can
      use the userid, login and status filter parameters in order to search and
      fetch the details of a user account.
  - name: Role
    description: >-
      Endpoint under this section enables you to fetch the list of roles and
      their details.
  - name: Application
    description: >-
      Endpoint under this section enables you to fetch the list of applications
      and their details.
  - name: Certification
    description: >-
      Endpoints under this section enables you to create a certification and run
      the certificate.
  - name: Shared Lists
    description: >-
      You might want to fetch the lists that you have shared with another user
      or get the lists that has been shared to you by another user. Endpoints
      allows you to get those lists and their details.
  - name: OnBoard
    description: Endpoints under this section lets you on-board applications and roles
paths:
  /api/dataservices/CertificationDefinition:
    get:
      summary: Fetch
      description: >-
        This endpoint enables you to fetch the list of certifications for your
        tenant
      security:
        - jwt: []
      parameters:
        - in: query
          name: status
          description: >-
            This is the status of the certificate, which can be either Active or
            Draft
          schema:
            type: string
            example: Active
            enum:
              - Active
              - Draft
        - in: query
          name: pagesize
          description: Here you can enter the page size. Page Size is a number.
          schema:
            type: string
      tags:
        - Certification
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 64c8b2befdfcc6b382d8cb92
                  _etag:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 64c8b30948f8a600067691fe
                  altCertifyUser:
                    type: object
                    properties:
                      _id:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 63aec79793ccdf675cc4d018
                      IDM:
                        type: string
                        example: IDE
                      collection:
                        type: string
                        example: User
                      createDate:
                        type: string
                        example: 11-11-2022
                      createdOn:
                        type: string
                        format: date-time
                        example: '2022-12-30T11:12:23.077Z'
                      department:
                        type: string
                        example: HR
                      displayName:
                        type: string
                        example: Jerome Fern
                      email:
                        type: string
                        example: jerome@iamsath.com
                      employeeNumber:
                        type: string
                        example: IAMSATHE026
                      entitlements:
                        type: string
                        example: null
                      firstName:
                        type: string
                        example: Jerome
                      homeAddressCity:
                        type: string
                        example: South Elgin
                      homeAddressCountry:
                        type: string
                        example: US
                      homeAddressLine1:
                        type: string
                        example: 879 Ocean Drive
                      homeAddressLine2:
                        type: string
                        example: Suite 52
                      homeAddressState:
                        type: string
                        example: Illinois
                      homeAddressZipcode:
                        type: string
                        example: 60174
                      isAdministrator:
                        type: boolean
                      jobTitle:
                        type: string
                        example: HR Director
                      lastName:
                        type: string
                        example: Fern
                      location:
                        type: string
                        example: US
                      login:
                        type: string
                        example: jerome
                        logoURL:
                          type: string
                          example: Logo.files/63aec79793ccdf675cc4d018/binary
                      managerDisplayName:
                        type: string
                        example: Zachary Graham
                      managerLogin:
                        type: string
                        example: zachary
                      officeAddressCity:
                        type: string
                        example: South Elgin
                      officeAddressCountry:
                        type: string
                        example: US
                      officeAddressLine1:
                        type: string
                        example: 879 Ocean Drive
                      officeAddressLine2:
                        type: string
                        example: H.No. 44AE
                      officeAddressState:
                        type: string
                        example: Illinois
                      officeAddressZipcode:
                        type: string
                        example: 60195
                      organizationName:
                        type: string
                        example: I Am Sath
                      phoneNumber:
                        type: string
                        example: 847-569-5478
                      provisionedDate:
                        type: string
                        example: 11-11-2022
                      status:
                        type: string
                        example: Active
                      userType:
                        type: string
                        example: Employee
                      _etag:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 64ae6c4f48f8a60006766f09
                      employeeType:
                        type: string
                        example: Employee
                      officeAddressPostal:
                        type: string
                        example: 60174
                  alternateCertifier:
                    type: string
                    example: jerome
                  alternateCertifierRole:
                    type: string
                    example: null
                  alternateCertifierToggle:
                    type: string
                    example: user
                  alternateCertifierType:
                    type: string
                    example: User
                  alternateCertifierUser:
                    type: string
                    example: Jerome Fern
                  approverType:
                    type: string
                    example: none
                  automaticEscalation:
                    type: boolean
                  certificationBy:
                    type: string
                    example: manually
                  certificationDuration:
                    type: string
                    example: 1
                  certificationDurationType:
                    type: string
                    example: days
                  certificationReminderEmail:
                    type: boolean
                  certifier:
                    type: string
                    example: jerome
                  certifierDisplayName:
                    type: string
                    example: Jerome Fern
                  certifierToggle:
                    type: string
                    example: user
                  certifierType:
                    type: string
                    example: User
                  certifyUser:
                    type: object
                    properties:
                      _id:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 63aec79793ccdf675cc4d018
                      IDM:
                        type: string
                        example: IDE
                      collection:
                        type: string
                        example: User
                      createDate:
                        type: string
                        example: 11-11-2022
                      createdOn:
                        type: string
                        format: date-time
                        example: '2022-12-30T11:12:23.077Z'
                      department:
                        type: string
                        example: HR
                      displayName:
                        type: string
                        example: Jerome Fern
                      email:
                        type: string
                        example: jerome@iamsath.com
                      employeeNumber:
                        type: string
                        example: IAMSATHE026
                      entitlements:
                        type: string
                        example: null
                      firstName:
                        type: string
                        example: Jerome
                      homeAddressCity:
                        type: string
                        example: South Elgin
                      homeAddressCountry:
                        type: string
                        example: US
                      homeAddressLine1:
                        type: string
                        example: 879 Ocean Drive
                      homeAddressLine2:
                        type: string
                        example: Suite 52
                      homeAddressState:
                        type: string
                        example: Illinois
                      homeAddressZipcode:
                        type: string
                        example: 60174
                      isAdministrator:
                        type: boolean
                      jobTitle:
                        type: string
                        example: HR Director
                      lastName:
                        type: string
                        example: Fern
                      location:
                        type: string
                        example: US
                      login:
                        type: string
                        example: jerome
                      logoURL:
                        type: string
                        example: Logo.files/63aec79793ccdf675cc4d018/binary
                      managerDisplayName:
                        type: string
                        example: Zachary Graham
                      managerLogin:
                        type: string
                        example: zachary
                      officeAddressCity:
                        type: string
                        example: South Elgin
                      officeAddressCountry:
                        type: string
                        example: US
                      officeAddressLine1:
                        type: string
                        example: 879 Ocean Drive
                      officeAddressLine2:
                        type: string
                        example: H.No. 44AE
                      officeAddressState:
                        type: string
                        example: Illinois
                      officeAddressZipcode:
                        type: string
                        example: 60195
                      organizationName:
                        type: string
                        example: I Am Sath
                      phoneNumber:
                        type: string
                        example: 847-569-5478
                      provisionedDate:
                        type: string
                        example: 11-11-2022
                      status:
                        type: string
                        example: Active
                      userType:
                        type: string
                        example: Employee
                      _etag:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 64ae6c4f48f8a60006766f09
                      employeeType:
                        type: string
                        example: Employee
                      officeAddressPostal:
                        type: string
                        example: 60174
                  commentsOnCertify:
                    type: boolean
                  commentsOnRevoke:
                    type: boolean
                  createdBy:
                    type: string
                    example: jerome
                  createdByDisplayName:
                    type: string
                    example: Jerome Fern
                  createdOn2:
                    type: string
                    format: date-time
                    example: '2023-08-01T07:23:53.600Z'
                  description:
                    type: string
                    example: This is test atlassian certification
                  displayUserQuery:
                    type: string
                    example: >-
                      $and:[attribute:statuscondition:equalsvalue:Activeoptions:[ActiveDisabled]]
                  frequentlyUsedRule:
                    type: object
                    properties:
                      value:
                        type: string
                        example: null
                  highRiskResources:
                    type: boolean
                  highRiskUsers:
                    type: boolean
                  name:
                    type: string
                    example: Atlassian
                  onlySelected:
                    type: boolean
                  reassignment:
                    type: boolean
                  repeat:
                    type: string
                    example: Do not repeat
                  resourceQuery:
                    type: string
                    example: >-
                      $or:[_id:$oid:64c8a5aefdfcc6b382d82cb2collection:Entitlement_id:$oid:64c8a4ddfdfcc6b382d82267collection:Entitlement_id:$oid:64c8a5aefdfcc6b382d82ccfcollection:Entitlement_id:$oid:64c8a5aefdfcc6b382d82ceccollection:Entitlement_id:$oid:64c8a5aefdfcc6b382d82d0ccollection:Entitlement_id:$oid:64c89886fdfcc6b382d7814ecollection:TargetSystem]
                  resources:
                    type: string
                    example: null
                  searchTags:
                    type: string
                    example: Atlassian
                  selfCertification:
                    type: boolean
                  status2:
                    type: string
                    example: Active
                  triggerCondition:
                    type: string
                    example: null
                  type2:
                    type: string
                    example: User Access
                  userCertificationBy:
                    type: string
                    example: query
                  userQuery:
                    type: string
                    example: $and:[status:Active]
                  workflowDescription:
                    type: string
                    example: Default Certification Workflow
                  workflowName:
                    type: string
                    example: Certification
    post:
      summary: Create
      security:
        - jwt: []
      tags:
        - Certification
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                type: boolean
                example: true
      description: This endpoint enables you to create the certificate definition.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: myCert
                  description: This is the certificate definition name
                  minItems: 1
                searchTags:
                  type: string
                  example: null
                description:
                  type: string
                  example: myCert
                  description: >-
                    This is the description of the certificate that you are
                    creating
                  minItems: 1
                type:
                  type: string
                  description: >-
                    This is the type of the certificate that you want to create.
                    Certificate definition can be of either User Access or
                    Resource Assignement.
                  minItems: 1
                  enum:
                    - User Access
                    - Resource Assignment
                  example: User Access
                approverType:
                  type: string
                  minItems: 1
                  description: >-
                    This is the Approval workflow for the certificate
                    definition, which can be either User (a specific
                    individual), Role or none.
                  enum:
                    - User
                    - Role
                    - None
                  example: User
                workflowName:
                  type: string
                  minItems: 1
                  description: >-
                    This is the worfklow for the certificate. By Default, IDHub
                    provides a workflow for the certificate definition. If you
                    have your own custom workflow for the certificate then you
                    can use that as well.
                  example: Certification
                workflowDescription:
                  type: string
                  example: Default Certification Workflow
                approver:
                  type: string
                  example: jerome
                workflowUser:
                  type: object
                  description: >-
                    If the approverType is User, then here you have to enter the
                    entityID of the user, who will approve the certification.
                  properties:
                    _id:
                      type: object
                      minItems: 1
                      properties:
                        $oid:
                          type: string
                          example: 63aec79793ccdf675cc4d018
                    IDM:
                      type: string
                      example: IDE
                    collection:
                      type: string
                      example: User
                    createDate:
                      type: string
                      example: 11-11-2022
                    createdOn:
                      type: string
                      format: date-time
                      example: '2022-12-30T11:12:23.077Z'
                    department:
                      type: string
                      example: HR
                    displayName:
                      type: string
                      example: Jerome Fern
                    email:
                      type: string
                      minItems: 1
                      example: jerome@iamsath.com
                    employeeNumber:
                      type: string
                      example: IAMSATHE026
                    entitlements:
                      type: string
                      example: null
                    firstName:
                      type: string
                      example: Jerome
                    homeAddressCity:
                      type: string
                      example: South Elgin
                    homeAddressCountry:
                      type: string
                      example: US
                    homeAddressLine1:
                      type: string
                      example: 879 Ocean Drive
                    homeAddressLine2:
                      type: string
                      example: Suite 52
                    homeAddressState:
                      type: string
                      example: Illinois
                    homeAddressZipcode:
                      type: string
                      example: 60174
                    isAdministrator:
                      type: boolean
                    jobTitle:
                      type: string
                      example: HR Director
                    lastName:
                      type: string
                      example: Fern
                    location:
                      type: string
                      example: United States
                    login:
                      type: string
                      minItems: 1
                      example: jerome
                    logoURL:
                      type: string
                      example: Logo.files/63aec79793ccdf675cc4d018/binary
                    managerDisplayName:
                      type: string
                      example: Zachary Graham
                    managerLogin:
                      type: string
                      example: zachary
                    officeAddressCity:
                      type: string
                      example: Schaumburg
                    officeAddressCountry:
                      type: string
                      example: US
                    officeAddressLine1:
                      type: string
                      example: 2468 Hiddenview Drive
                    officeAddressLine2:
                      type: string
                      example: H.No. 44AE
                    officeAddressState:
                      type: string
                      example: IL
                    officeAddressZipcode:
                      type: string
                      example: 60195
                    organizationName:
                      type: string
                      example: I Am Sath
                    phoneNumber:
                      type: string
                      example: 847-569-5478
                    provisionedDate:
                      type: string
                      example: 11-11-2022
                    status:
                      type: string
                      example: Active
                    userType:
                      type: string
                      example: Employee
                status:
                  type: string
                  example: Active
                highRiskUsers:
                  type: boolean
                userCertificationBy:
                  type: string
                  minItems: 1
                  description: >-
                    Here you select the users for the certificate. You can
                    select the users by either query or the name of the user
                  enum:
                    - query
                    - name
                  example: query
                userQuery:
                  type: string
                  example: $and:[status:Active]
                displayUserQuery:
                  type: string
                  example: >-
                    $and:[attribute:statuscondition:equalsvalue:Activeoptions:[ActiveDisabled]]
                highRiskResources:
                  type: boolean
                certificationBy:
                  type: string
                  example: manually
                onlySelected:
                  type: boolean
                resourceQuery:
                  type: string
                  example: $or:[_id:$oid:63aec1a88773337a0e61405acollection:Role]
                resources:
                  type: object
                  description: >-
                    This is where you select the resources for the
                    certification. Here you have to enter the entityID of the
                    resource, which you can fetch from the search catalog
                    endpoint.
                  properties:
                    _id:
                      type: object
                      properties:
                        $oid:
                          type: string
                          example: 63aec1a88773337a0e61405a
                    collection:
                      type: string
                      example: Role
                    name:
                      type: string
                      example: Access Manager
                certifierType:
                  type: string
                  example: User
                  minItems: 1
                  description: >-
                    Here you have to select the certifier for the certificate.
                    The certifier can be individual user, role, benefeciary's
                    manager or resource owner.
                  enum:
                    - User
                    - Role
                    - Benefeciary's Manager
                    - Resource owner
                certifier:
                  type: string
                  example: jerome
                certifierDisplayName:
                  type: string
                  example: Jerome Fern
                certifierToggle:
                  type: string
                  example: user
                repeat:
                  type: string
                  minItems: 1
                  description: This is if you want to repeat the certificate run
                  example: Do not repeat
                certifyUser:
                  type: object
                  description: >-
                    Here you have to specify the entityID of the user, if the
                    certifierType is user. You can fetch the entityID from the
                    search catalog.
                  properties:
                    _id:
                      type: object
                      properties:
                        $oid:
                          type: string
                          example: 63aec79793ccdf675cc4d018
                    IDM:
                      type: string
                      example: IDE
                    collection:
                      type: string
                      example: User
                    createDate:
                      type: string
                      example: 11-11-2022
                    createdOn:
                      type: string
                      format: date-time
                      example: '2022-12-30T11:12:23.077Z'
                    department:
                      type: string
                      example: HR
                    displayName:
                      type: string
                      example: Jerome Fern
                    email:
                      type: string
                      minItems: 1
                      example: jerome@iamsath.com
                    employeeNumber:
                      type: string
                      example: IAMSATHE026
                    entitlements:
                      type: string
                      example: null
                    firstName:
                      type: string
                      example: Jerome
                    homeAddressCity:
                      type: string
                      example: South Elgin
                    homeAddressCountry:
                      type: string
                      example: US
                    homeAddressLine1:
                      type: string
                      example: 879 Ocean Drive
                    homeAddressLine2:
                      type: string
                      example: Suite 52
                    homeAddressState:
                      type: string
                      example: Illinois
                    homeAddressZipcode:
                      type: string
                      example: 60174
                    isAdministrator:
                      type: boolean
                    jobTitle:
                      type: string
                      example: HR Director
                    lastName:
                      type: string
                      example: Fern
                    location:
                      type: string
                      example: United States
                    login:
                      type: string
                      minItems: 1
                      example: jerome
                    logoURL:
                      type: string
                      example: Logo.files/63aec79793ccdf675cc4d018/binary
                    managerDisplayName:
                      type: string
                      example: Zachary Graham
                    managerLogin:
                      type: string
                      example: zachary
                    officeAddressCity:
                      type: string
                      example: Schaumburg
                    officeAddressCountry:
                      type: string
                      example: US
                    officeAddressLine1:
                      type: string
                      example: 2468 Hiddenview Drive
                    officeAddressLine2:
                      type: string
                      example: H.No. 44AE
                    officeAddressState:
                      type: string
                      example: IL
                    officeAddressZipcode:
                      type: string
                      example: 60195
                    organizationName:
                      type: string
                      example: I Am Sath
                    phoneNumber:
                      type: string
                      example: 847-569-5478
                    provisionedDate:
                      type: string
                      example: 11-11-2022
                    status:
                      type: string
                      example: Active
                    userType:
                      type: string
                      example: Employee
                commentsOnCertify:
                  type: boolean
                commentsOnRevoke:
                  type: boolean
                reassignment:
                  type: boolean
                selfCertification:
                  type: boolean
                automaticEscalation:
                  type: boolean
                certificationReminderEmail:
                  type: boolean
                alternateCertifierToggle:
                  type: string
                  example: manager
                alternateCertifierUser:
                  type: string
                  example: null
                alternateCertifierRole:
                  type: string
                  example: null
                alternateCertifierType:
                  type: string
                  example: null
                alternateCertifier:
                  type: string
                  minItems: 1
                  description: >-
                    This is the alternate certififer for the certificate
                    definition. By default, the alternate certifier is the
                    user's manager.
                  example: $manager
                  enum:
                    - User's Manager
                    - Role
                    - User
                triggerCondition:
                  type: string
                  example: null
                frequentlyUsedRule:
                  type: object
                  properties:
                    value:
                      type: string
                      example: User Department Change
                      enum:
                        - User Department Change
                        - User status change
                        - User organization change
                        - User job change
                        - User type change
                        - Application business owner change
                        - Role owner change
                certificationDurationType:
                  type: string
                  minItems: 1
                  description: Here you specify the duration of the certificate
                  enum:
                    - days
                    - months
                    - years
                  example: days
                certificationDuration:
                  type: string
                  example: 1
                _id:
                  type: object
                  properties:
                    $oid:
                      type: string
                      example: 657c2677b4feb77fdd00ca48
                createdBy:
                  type: string
                  example: jerome
                createdOn:
                  type: string
                  format: date-time
                  example: '2023-12-15T10:13:03.408Z'
                createdByDisplayName:
                  type: string
                  example: Jerome Fern
              required:
                - name
                - description
                - type
                - approverType
                - workflowName
                - repeat
                - certifierType
                - userCertificationBy
                - email
                - login
                - _id
                - alternateCertifier
  /api/core/certification-request/{id}:
    parameters:
      - in: path
        name: id
        description: >-
          This is the certificate definition ID of the certificate that you want
          to run.
        schema:
          type: string
          example: 63aed43793ccdf675cc58246
    post:
      summary: Run
      description: >-
        This endpoint enables you to run the certificate. You will need the cert
        definition ID to run the certificate, which you can get from the fetch
        certificate endpoint.
      externalDocs:
        description: Fetch Certificate
        url: >-
          /docs/developer/#tag/Certification/paths/~1api~1dataservices~1CertificationDefinition/get
      security:
        - jwt: []
      tags:
        - Certification
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                impactObject:
                  type: object
                  properties:
                    certifierCount:
                      type: number
                      example: 1
                    resourceCount:
                      type: number
                      example: 3
                    resourceList:
                      type: object
                      properties:
                        IDM:
                          type: string
                          example: IDE
                        ITOwner:
                          type: string
                          example: travis
                        _id:
                          type: string
                          example: 63aee4dc93ccdf675cc63be7
                        approvalWorkflow:
                          type: string
                          example: Group Approval
                        approvalWorkflowDisplayName:
                          type: string
                          example: Group Approval
                        approver1:
                          type: string
                          example: Approval Group 1
                        approver2:
                          type: string
                          example: Approval Group 2
                        businessOwner:
                          type: string
                          example: spencer
                        collection:
                          type: string
                          example: Entitlement
                        createdOn:
                          type: string
                          format: date-time
                          example: '2022-12-30T13:17:16.297Z'
                        description:
                          type: string
                          example: View and create documents.
                        disabled:
                          type: boolean
                        displayName:
                          type: string
                          example: Docusign Standard User
                        isCertifiable:
                          type: string
                          example: null
                        isRequestable:
                          type: boolean
                        members:
                          type: object
                          properties:
                            IDM:
                              type: string
                              example: IDE
                            _id:
                              type: string
                              example: 63aec79393ccdf675cc4ccf4
                            collection:
                              type: string
                              example: User
                            createDate:
                              type: string
                              example: 11-11-2022
                            createdOn:
                              type: string
                              format: date-time
                              example: '2022-12-30T11:12:19.430Z'
                            department:
                              type: string
                              example: Sales
                            displayName:
                              type: string
                              example: Aaron King
                            email:
                              type: string
                              example: aaron@iamsath.com
                            employeeNumber:
                              type: string
                              example: IAMSATHE008
                            entitlements:
                              type: string
                              example: null
                            firstName:
                              type: string
                              example: Aaron
                            homeAddressCity:
                              type: string
                              example: Arlington Heights
                            homeAddressCountry:
                              type: string
                              example: US
                            homeAddressLine1:
                              type: string
                              example: 2862 Derek Drive
                            homeAddressLine2:
                              type: string
                              example: Suite 52
                            homeAddressState:
                              type: string
                              example: Illinois
                            homeAddressZipcode:
                              type: string
                              example: 60005
                            jobTitle:
                              type: string
                              example: Inside Sales Representative
                            lastName:
                              type: string
                              example: King
                            location:
                              type: string
                              example: United States
                            login:
                              type: string
                              example: aaron
                            logoURL:
                              type: string
                              example: Logo.files/63aec79393ccdf675cc4ccf4/binary
                            managerDisplayName:
                              type: string
                              example: Spencer Hunter
                            managerLogin:
                              type: string
                              example: spencer
                            officeAddressCity:
                              type: string
                              example: Schaumburg
                            officeAddressCountry:
                              type: string
                              example: US
                            officeAddressLine1:
                              type: string
                              example: 2468 Hiddenview Drive
                            officeAddressLine2:
                              type: string
                              example: H.No. 44AE
                            officeAddressState:
                              type: string
                              example: IL
                            officeAddressZipcode:
                              type: string
                              example: 60175
                            organizationName:
                              type: string
                              example: I Am Sath
                            phoneNumber:
                              type: string
                              example: 847-392-2610
                            provisionedDate:
                              type: string
                              example: 11-11-2022
                            status:
                              type: string
                              example: Active
                            userType:
                              type: string
                              example: Employee
                        name:
                          type: string
                          example: Docusign Standard User
                        performer:
                          type: string
                          example: Manual Fulfiller
                        requestable:
                          type: boolean
                        riskLevel:
                          type: string
                          example: medium
                        searchTags:
                          type: string
                          example: Sales Finance
                        targetSystemDisplayName:
                          type: string
                          example: Docusign
                        targetSystemId:
                          type: string
                          example: 63aee4dc93ccdf675cc63bd2
                        targetSystemName:
                          type: string
                          example: Docusign
                        workflowRequestFormId:
                          type: string
                          example: 6085f65f432acc2a019f1fbe
                    taskCount:
                      type: number
                      example: 3
                    userCount:
                      type: number
                      example: 27
                    userList:
                      type: object
                      properties:
                        IDM:
                          type: string
                          example: IDE
                        _id:
                          type: string
                          example: 63aec79893ccdf675cc4d124
                        collection:
                          type: string
                          example: User
                        createDate:
                          type: string
                          example: 11-11-2022
                        createdOn:
                          type: string
                          format: date-time
                          example: '2022-12-30T11:12:24.460Z'
                        department:
                          type: string
                          example: CO
                        displayName:
                          type: string
                          example: Zachary Graham
                        email:
                          type: string
                          example: zachary@iamsath.com
                        employeeNumber:
                          type: string
                          example: IAMSATHE019
                        entitlements:
                          type: string
                          example: null
                        firstName:
                          type: string
                          example: Zachary
                        homeAddressCity:
                          type: string
                          example: Mount Prospect
                        homeAddressCountry:
                          type: string
                          example: US
                        homeAddressLine1:
                          type: string
                          example: 985 Lively Lane
                        homeAddressLine2:
                          type: string
                          example: Suite 52
                        homeAddressState:
                          type: string
                          example: Illinois
                        homeAddressZipcode:
                          type: string
                          example: 60056
                        isAdministrator:
                          type: boolean
                        jobTitle:
                          type: string
                          example: CTO
                        lastName:
                          type: string
                          example: Graham
                        location:
                          type: string
                          example: United States
                        login:
                          type: string
                          example: zachary
                        logoURL:
                          type: string
                          example: Logo.files/63aec79893ccdf675cc4d124/binary
                        managerDisplayName:
                          type: string
                          example: Derrick Henry
                        managerLogin:
                          type: string
                          example: derrick
                        officeAddressCity:
                          type: string
                          example: Schaumburg
                        officeAddressCountry:
                          type: string
                          example: US
                        officeAddressLine1:
                          type: string
                          example: 2468 Hiddenview Drive
                        officeAddressLine2:
                          type: string
                          example: H.No. 44AE
                        officeAddressState:
                          type: string
                          example: IL
                        officeAddressZipcode:
                          type: string
                          example: 60195
                        organizationName:
                          type: string
                          example: I Am Sath
                        phoneNumber:
                          type: string
                          example: 630-156-2546
                        provisionedDate:
                          type: string
                          example: 11-11-2022
                        status:
                          type: string
                          example: Active
                        userType:
                          type: string
                          example: Employee
                requester:
                  type: object
                  properties:
                    login:
                      type: string
                      example: jerome
                    displayName:
                      type: string
                      example: Jerome Fern
                    email:
                      type: string
                      example: jerome@iamsath.com
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /api/esearch/catalog:
    get:
      summary: Search
      security:
        - jwt: []
      tags:
        - Request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchCatalogSchema'
      operationId: get-catalog
      description: >-
        This Endpoint allows you to search the catalog using the display name of
        the item which contains the search keyword. You can further narrow down
        your search using the relevanceFilter, collection and tags.
      parameters:
        - in: query
          name: keyword
          description: This is the search keyword used to get the response.
          schema:
            type: string
        - in: query
          name: relevanceFilter
          description: >-
            If you want to further filter the response using relevant filter,
            then you need to  relevanceFilter value in the Query parameter. One
            of the relevanceFilter can be "recentlyAdded"
          schema:
            type: string
        - in: query
          name: collection
          description: >-
            Get specific catalog items using the filter collection. For
            entitlement, specify collection as Entitlement, for roles it would
            be "Roles", for users it would be "Users", for service request it
            would be "ServiceRequest" and for application it would be
            "TargetSystem"
          schema:
            type: string
        - in: query
          name: tag
          description: >-
            If you want to further filter the response using tag filter, then
            you need to  tag value in the Query parameter. Tag filter examples
            can be "Finance", "HR" etc.
          schema:
            type: string
  /api/dataservices/UserRequest/{id}:
    parameters:
      - schema:
          type: string
        name: id
        in: path
        required: true
        description: id of the request object that you want to fetch
    get:
      summary: Fetch by ID
      security:
        - jwt: []
      tags:
        - Request
      description: This Endpoint will give you the details of a Request by ID
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRequest'
  /api/dataservices/UserRequest:
    post:
      summary: Create Application / Role
      security:
        - jwt: []
      tags:
        - OnBoard
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEntitySchema'
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                type: boolean
                example: true
    get:
      parameters:
        - in: query
          name: filter
          allowReserved: true
          description: >-
            This is the type of the request that you want to filter. Requests
            can be create, modify, revoke.
          schema:
            type: string
        - in: query
          name: pagesize
          allowReserved: true
          description: This is the page size number
          schema:
            type: string
      summary: Fetch by Type
      security:
        - jwt: []
      tags:
        - Request
      description: This Endpoint will give you the details of a Request by type
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRequest'
  /api/core/cart:
    post:
      summary: Create
      security:
        - jwt: []
      tags:
        - Request
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  correlationId:
                    type: string
                    example: 657820f1171a9761e416ee25
                  result:
                    type: boolean
                    example: true
      operationId: post-cart
      description: >-
        In order to submit a request for provisioning/de-provisioning, revoke or
        modification of accounts. You need to first create a new cart for those
        items using this endpoint and then submit the cart using the submit
        request endpoint.
      externalDocs:
        description: Learn more about submit request endpoint
        url: /docs/developer/#tag/Request/operation/post-cart-submit
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCart'
        description: User Cart with beneficiary, requester and cart items
  /api/core/cart/submit:
    post:
      summary: Submit
      security:
        - jwt: []
      tags:
        - Request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  correlationId:
                    type: string
                    example: 657820f1171a9761e416ee25
                  result:
                    type: boolean
                    example: true
      operationId: post-cart-submit
      description: >-
        This Endpoint allows you to create a request by submitting the cart.
        Before you can submit the request, you need to first create a new cart
        with the items that you want to request access using the Create a new
        request endpoint.
      externalDocs:
        description: Learn more about create a new request endpoint
        url: /docs/developer/#tag/Request/operation/post-cart
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitCart'
        description: User Cart with beneficiary, requester and cart items
  /api/core/tasks:
    get:
      summary: Fetch
      security:
        - jwt: []
      tags:
        - Task
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserTask'
      operationId: get-tasks
      description: This Endpoint will give you the list of Tasks based on filters.
      parameters:
        - schema:
            type: string
          in: query
          name: filter
          description: >-
            string with JSON object containing the filter attributes. For
            example, Completed tasks would have the JSON filter attribute
            {status:Completed,userLogin:user}. Expired Tasks would have the JSON
            filter {status:Expired,userLogin:user}. Similarly you can have the
            filters for completed approval and completed rejects tasks for a
            user
  /api/core/task/{id}/{action}:
    parameters:
      - schema:
          type: string
        name: id
        in: path
        required: true
        description: >-
          This is the task object id which you can get from the Fetch Task
          endpoint.
        externalDocs:
          description: Find out more
          url: https://more-details.com/demo
      - schema:
          type: string
          example: Approve
          enum:
            - Claim
            - Approve
            - Reject
            - Escalate
            - Re-Assign
        name: action
        in: path
        required: true
        description: >-
          You can perform different actions on a task depending on the workflow
          of the task. Different actions can be - Claim, Approve, Reject,
          Escalate, Re-Assign
    post:
      summary: Action
      security:
        - jwt: []
      tags:
        - Task
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  IDM:
                    type: string
                    example: IDE
                  _id:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 65802d8e994114206f6e6d3b
                  assignee:
                    type: string
                    example: zachary
                  assigneeType:
                    type: string
                    example: User
                  collection:
                    type: string
                    example: UserTask
                  createDate:
                    type: string
                    example: 2023-12-18T11:31:26.166+0000
                  entityObject:
                    type: object
                    properties:
                      IDM:
                        type: string
                        example: IDE
                      ITOwner:
                        type: string
                        example: michael
                      _id:
                        type: string
                        example: 63aee3b793ccdf675cc62d3d
                      applicationURL:
                        type: string
                        example: https://buffer.com/
                      approvalWorkflow:
                        type: string
                        example: Manager and BO Grant and Auto Revoke
                      approvalWorkflowDisplayName:
                        type: string
                        example: Manager and BO Grant and Auto Revoke
                      archiveId:
                        type: string
                        example: 63bd61a8473f7335b8faaad1
                      businessOwner:
                        type: string
                        example: ali
                      collection:
                        type: string
                        example: TargetSystem
                      createdOn:
                        type: string
                        format: date-time
                        example: '2022-12-30T13:12:23.897Z'
                      description:
                        type: string
                        example: Buffer is used to manage social media channels.
                      disabled:
                        type: boolean
                      displayName:
                        type: string
                        example: Buffer
                      form:
                        type: object
                        properties:
                          dataType:
                            type: string
                            example: string
                          isAccountName:
                            type: boolean
                          isMultiValue:
                            type: boolean
                          isReconKey:
                            type: boolean
                          isRequired:
                            type: boolean
                          matchingAttribute:
                            type: string
                            example: firstName
                          name:
                            type: string
                            example: First Name
                          syncDirection:
                            type: string
                            example: no-sync
                      integrationLevel:
                        type: string
                        example: Disconnected
                      isRequestable:
                        type: boolean
                      logoURL:
                        type: string
                        example: Logo.files/63aee3b793ccdf675cc62d3d/binary
                      name:
                        type: string
                        example: Buffer
                      performer:
                        type: string
                        example: Manual Fulfiller
                      requestFormId:
                        type: string
                        example: 63bd3906473f7335b8f88ac4
                      requestFormName:
                        type: string
                        example: Buffer Form
                      riskLevel:
                        type: string
                        example: medium
                      schedule:
                        type: object
                        properties:
                          repeat:
                            type: string
                            example: Do not repeat
                      searchTags:
                        type: string
                        example: Marketing
                      trustedReconciliation:
                        type: boolean
                      workflowRequestFormId:
                        type: string
                        example: null
                  expiry:
                    type: number
                    example: 15
                  expiryDate:
                    type: string
                    example: 2024-01-02T11:31:26.166+0000
                  history:
                    type: object
                    properties:
                      diff:
                        type: object
                        properties:
                          IDM:
                            type: string
                            example: IDE
                          _id:
                            type: string
                            example: 65802d8e994114206f6e6d3b
                          assignee:
                            type: string
                            example: zachary
                          assigneeType:
                            type: string
                            example: User
                          collection:
                            type: string
                            example: UserTask
                          createDate:
                            type: string
                            example: 2023-12-18T11:31:26.166+0000
                          expiry:
                            type: number
                            example: 15
                          expiryDate:
                            type: string
                            example: 2024-01-02T11:31:26.166+0000
                          name:
                            type: string
                            example: Manager Approval Task
                          payload:
                            type: object
                            properties:
                              beneficiary:
                                type: object
                                properties:
                                  displayName:
                                    type: string
                                    example: Jerome Fern
                                  employeeNumber:
                                    type: string
                                    example: IAMSATHE026
                                  login:
                                    type: string
                                    example: jerome
                              entityId:
                                type: string
                                example: 63aee3b793ccdf675cc62d3d
                              entityType:
                                type: string
                                example: TargetSystem
                              form:
                                type: object
                                properties:
                                  Phone Number:
                                    type: string
                                    example: null
                                  What social media channels do you need access to?:
                                    type: string
                                    example: null
                                  email:
                                    type: string
                                    example: jerome@iamsath.com
                                  firstName:
                                    type: string
                                    example: Jerome
                                  lastName:
                                    type: string
                                    example: Fern
                                  login:
                                    type: string
                                    example: jerome
                              requester:
                                type: object
                                properties:
                                  displayName:
                                    type: string
                                    example: Jerome Fern
                                  employeeNumber:
                                    type: string
                                    example: IAMSATHE026
                                  login:
                                    type: string
                                    example: jerome
                              type:
                                type: string
                                example: create
                          possibleActions:
                            type: object
                            properties:
                              action1:
                                type: string
                                example: ManagerApprove
                              displayName1:
                                type: string
                                example: Approve
                              action2:
                                type: string
                                example: ManagerReject
                              displayName2:
                                type: string
                                example: Reject
                              action3:
                                type: string
                                example: Escalate
                              displayName3:
                                type: string
                                example: Escalate
                              action4:
                                type: string
                                example: Reassign
                              displayName4:
                                type: string
                                example: Reassign
                          requestId:
                            type: string
                            example: e4b07
                          requestJustification:
                            type: string
                            example: hhjh
                          requestObjectId:
                            type: string
                            example: 65802d8d994114206f6e6cf2
                          status:
                            type: string
                            example: Assigned
                          title:
                            type: string
                            example: Buffer
                          type:
                            type: string
                            example: ApprovalTask
                          workflowName:
                            type: string
                            example: Manager and BO Grant and Auto Revoke
                      timeStamp:
                        type: string
                        example: 2023-12-18T11:31:26.226+0000
                  name:
                    type: string
                    example: Manager Approval Task
                  outcome:
                    type: string
                    example: MANAGERAPPROVE
                  payload:
                    type: object
                    properties:
                      beneficiary:
                        type: object
                        properties:
                          displayName:
                            type: string
                            example: Jerome Fern
                          employeeNumber:
                            type: string
                            example: IAMSATHE026
                          login:
                            type: string
                            example: jerome
                      entityId:
                        type: string
                        example: 63aee3b793ccdf675cc62d3d
                      entityType:
                        type: string
                        example: TargetSystem
                      form:
                        type: object
                        properties:
                          Phone Number:
                            type: string
                            example: null
                          What social media channels do you need access to?:
                            type: string
                            example: null
                          email:
                            type: string
                            example: jerome@iamsath.com
                          firstName:
                            type: string
                            example: Jerome
                          lastName:
                            type: string
                            example: Fern
                          login:
                            type: string
                            example: jerome
                      requester:
                        type: object
                        properties:
                          displayName:
                            type: string
                            example: Jerome Fern
                          employeeNumber:
                            type: string
                            example: IAMSATHE026
                          login:
                            type: string
                            example: jerome
                      type:
                        type: string
                        example: create
                  possibleActions:
                    type: string
                    example: null
                  requestId:
                    type: string
                    example: e4b07
                  requestJustification:
                    type: string
                    example: hhjh
                  requestObject:
                    type: object
                    properties:
                      IDM:
                        type: string
                        example: IDE
                      _id:
                        type: string
                        example: 65802d8d994114206f6e6cf2
                      beneficiary:
                        type: object
                        properties:
                          displayName:
                            type: string
                            example: Jerome Fern
                          employeeNumber:
                            type: string
                            example: IAMSATHE026
                          login:
                            type: string
                            example: jerome
                      collection:
                        type: string
                        example: UserRequest
                      correlationId:
                        type: string
                        example: b411bb8068c24c6ea6bcbeace0880a5c
                      createDate:
                        type: string
                        format: date-time
                        example: '2023-12-18T11:31:25.810Z'
                      history:
                        type: object
                        properties:
                          diff:
                            type: object
                            properties:
                              beneficiary:
                                type: object
                                properties:
                                  displayName:
                                    type: string
                                    example: Jerome Fern
                                  employeeNumber:
                                    type: string
                                    example: IAMSATHE026
                                  login:
                                    type: string
                                    example: jerome
                              payload:
                                type: object
                                properties:
                                  entityId:
                                    type: string
                                    example: 63aee3b793ccdf675cc62d3d
                                  entityType:
                                    type: string
                                    example: TargetSystem
                                  form:
                                    type: object
                                    properties:
                                      Phone Number:
                                        type: string
                                        example: null
                                      What social media channels do you need access to?:
                                        type: string
                                        example: null
                                      email:
                                        type: string
                                        example: jerome@iamsath.com
                                      firstName:
                                        type: string
                                        example: Jerome
                                      lastName:
                                        type: string
                                        example: Fern
                                      login:
                                        type: string
                                        example: jerome
                                  type:
                                    type: string
                                    example: create
                              requester:
                                type: object
                                properties:
                                  displayName:
                                    type: string
                                    example: Jerome Fern
                                  employeeNumber:
                                    type: string
                                    example: IAMSATHE026
                                  login:
                                    type: string
                                    example: jerome
                              status:
                                type: string
                                example: Waiting for Manager Approval
                          snapshot:
                            type: object
                            properties:
                              IDM:
                                type: string
                                example: IDE
                              _id:
                                type: string
                                example: 65802d8d994114206f6e6cf2
                              beneficiary:
                                type: object
                                properties:
                                  displayName:
                                    type: string
                                    example: Jerome Fern
                                  employeeNumber:
                                    type: string
                                    example: IAMSATHE026
                                  login:
                                    type: string
                                    example: jerome
                              collection:
                                type: string
                                example: UserRequest
                              correlationId:
                                type: string
                                example: b411bb8068c24c6ea6bcbeace0880a5c
                              createDate:
                                type: string
                                format: date-time
                                example: '2023-12-18T11:31:25.810Z'
                              justification:
                                type: string
                                example: hhjh
                              payload:
                                type: object
                                properties:
                                  entityId:
                                    type: string
                                    example: 63aee3b793ccdf675cc62d3d
                                  entityType:
                                    type: string
                                    example: TargetSystem
                                  form:
                                    type: object
                                    properties:
                                      Phone Number:
                                        type: string
                                        example: null
                                      What social media channels do you need access to?:
                                        type: string
                                        example: null
                                      email:
                                        type: string
                                        example: jerome@iamsath.com
                                      firstName:
                                        type: string
                                        example: Jerome
                                      lastName:
                                        type: string
                                        example: Fern
                                      login:
                                        type: string
                                        example: jerome
                                  type:
                                    type: string
                                    example: create
                              requestId:
                                type: string
                                example: e4b07
                              requestType:
                                type: string
                                example: Access
                              requester:
                                type: object
                                properties:
                                  displayName:
                                    type: string
                                    example: Jerome Fern
                                  employeeNumber:
                                    type: string
                                    example: IAMSATHE026
                                  login:
                                    type: string
                                    example: jerome
                              resolution:
                                type: string
                                example: Initiated
                              status:
                                type: string
                                example: Request Submitted
                              workflowName:
                                type: string
                                example: Manager and BO Grant and Auto Revoke
                          timeStamp:
                            type: string
                            example: 2023-12-18T11:31:28.388+0000
                      justification:
                        type: string
                        example: hhjh
                      payload:
                        type: object
                        properties:
                          entityId:
                            type: string
                            example: 63aee3b793ccdf675cc62d3d
                          entityType:
                            type: string
                            example: TargetSystem
                          form:
                            type: object
                            properties:
                              Phone Number:
                                type: string
                                example: null
                              What social media channels do you need access to?:
                                type: string
                                example: null
                              email:
                                type: string
                                example: jerome@iamsath.com
                              firstName:
                                type: string
                                example: Jerome
                              lastName:
                                type: string
                                example: Fern
                              login:
                                type: string
                                example: jerome
                          type:
                            type: string
                            example: create
                      requestId:
                        type: string
                        example: e4b07
                      requestType:
                        type: string
                        example: Access
                      requester:
                        type: object
                        properties:
                          displayName:
                            type: string
                            example: Jerome Fern
                          employeeNumber:
                            type: string
                            example: IAMSATHE026
                          login:
                            type: string
                            example: jerome
                      resolution:
                        type: string
                        example: Initiated
                      status:
                        type: string
                        example: Waiting for Manager Approval
                      workflowName:
                        type: string
                        example: Manager and BO Grant and Auto Revoke
                  requestObjectId:
                    type: string
                    example: 65802d8d994114206f6e6cf2
                  result:
                    type: boolean
                  status:
                    type: string
                    example: Completed
                  title:
                    type: string
                    example: Buffer
                  type2:
                    type: string
                    example: ApprovalTask
                  updateDate:
                    type: string
                    example: 2023-12-18T11:32:26.722+0000
                  updatedBy:
                    type: string
                    example: zachary
                  updatedByDisplayName:
                    type: string
                    example: Zachary Graham
                  updatedDate:
                    type: string
                    example: 2023-12-18T11:32:26.728+0000
                  workflowName:
                    type: string
                    example: Manager and BO Grant and Auto Revoke
      operationId: post-task-id-action
      description: >-
        This endpoint will enable you to perform action on a task such as-
        approve, reject, claim, release, escalate and re-assign. In order to run
        the task, you will need the task object ID which you can get from the
        fetch task endpoint.
      externalDocs:
        description: Fetch Task
        url: /docs/developer/#tag/Task/operation/get-tasks
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userLogin:
                  type: string
                comment:
                  type: string
        description: >-
          This is the task operation object which basically has the user login
          details and comment (if any)
  /api/core/task/comment:
    post:
      summary: Comment
      security:
        - jwt: []
      tags:
        - Task
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserTask'
      operationId: post-task-comment
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                attachment:
                  type: string
                properties:
                  type: object
                  properties:
                    taskId:
                      type: string
                    userLogin:
                      type: string
                    message:
                      type: string
                    fileName:
                      type: string
                  required:
                    - taskId
                    - userLogin
        description: >-
          The properties object is a JSON object which would contain the
          "taskId", "userLogin", "message", "filename". For Example
          "userLogin":"jerome","message":"test
          comment","taskId":"64f99c55a5ff95f7e0dddc26"
      description: This Endpoint allows you to Add attachment and comments to tasks.
  /api/dataservices/UserAccount:
    parameters:
      - in: query
        name: userid
        description: Here you would have to enter the userid to get the user details
        schema:
          type: string
      - in: query
        name: login
        description: Here you would have to enter the user login details.
        schema:
          type: string
      - in: query
        name: status
        description: >-
          You can also use the status filer to further get more specific
          response based on the status. For example, the status can be
          "Provisioned"
        schema:
          type: string
    get:
      summary: Fetch
      security:
        - jwt: []
      tags:
        - UserAccount
      description: >-
        This Endpoint lets you get the user account. You would have to enter the
        login and userid as parameters to get the details of the user account.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSchema'
  /api/dataservices/Role:
    parameters:
      - in: query
        name: displayName
        description: This is the display name of the role
        schema:
          type: string
      - in: query
        name: pagesize
        description: Here you can enter the page size. Page Size is a number.
        schema:
          type: string
    get:
      summary: Fetch All
      security:
        - jwt: []
      tags:
        - Role
      description: >-
        This Endpoint lets you fetch the list of roles and their details. You
        can enter the display name of the role and page size as query filters.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleSchema'
  /api/core/role/{id}/{operation}:
    parameters:
      - in: query
        name: roleID
        description: >-
          roleID of the role for which you want take the action. You can fetch
          the roleID using the search catalog endpoint.
        schema:
          type: string
          example: 63aed43793ccdf675cc58246
      - in: query
        name: operation
        description: >-
          This is the operation that you want to take for the role. The
          operation can be, enable/disable/retire.
        schema:
          type: string
          enum:
            - Retire
            - Enable
            - Disable
          example: Retire
    get:
      summary: Operation
      description: >-
        This endpoint lets you do operation on the role. The operations can be
        Enable/Disable/Retire
      security:
        - jwt: []
      tags:
        - Role
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  IDM:
                    type: string
                    example: IDE
                  _id:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 63af055393ccdf675cc899ac
                  applications:
                    type: object
                    properties:
                      _id:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 63aec73493ccdf675cc4c210
                      entitlements:
                        type: object
                        properties:
                          _id:
                            type: object
                            properties:
                              $oid:
                                type: string
                                example: 63aec73493ccdf675cc4c221
                          name:
                            type: string
                            example: Google Workspace Super Administrator
                      name:
                        type: string
                        example: Google Workspace
                  approvalWorkflow:
                    type: string
                    example: Group Role Approval
                  approvalWorkflowDisplayName:
                    type: string
                    example: Group Role Approval
                  approver1:
                    type: string
                    example: Approval Group 2
                  approver2:
                    type: string
                    example: Approval Group 3
                  approver3:
                    type: string
                    example: CEO
                  collection:
                    type: string
                    example: Role
                  createdOn:
                    type: string
                    format: date-time
                    example: '2022-12-30T15:35:47.633Z'
                  description:
                    type: string
                    example: This Role is assigned to all Chief Officers.
                  disabled:
                    type: boolean
                  displayName:
                    type: string
                    example: Chief Officer
                  isCertifiable:
                    type: string
                    example: null
                  isRequestable:
                    type: boolean
                  name:
                    type: string
                    example: Chief Officer
                  performer:
                    type: string
                    example: null
                  retired:
                    type: boolean
                  riskLevel:
                    type: string
                    example: high
                  roleOwnerLogin:
                    type: string
                    example: derrick
                  rule:
                    type: string
                    example: $and:[department:CO]
                  ruleForm:
                    type: string
                    example: >-
                      $and:[attribute:departmentcondition:equalsvalue:COoptions:[CO]]
                  searchTags:
                    type: string
                    example: CXO Roles
                  workflowRequestFormId:
                    type: string
                    example: 6085f65f432acc2a019f1fbe
  /api/dataservices/TargetSystem:
    parameters:
      - in: query
        name: displayName
        description: This is the display name of the application
        schema:
          type: string
      - in: query
        name: pagesize
        description: Here you can enter the page size. Page Size is a number.
        schema:
          type: string
    get:
      summary: Fetch All
      security:
        - jwt: []
      tags:
        - Application
      description: >-
        This Endpoint lets you fetch the list of application and their details.
        You can enter the display name of the application and page size as query
        filters.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSchema'
  /api/core/TargetSystem/{id}/sync:
    parameters:
      - schema:
          type: string
        name: id
        in: path
        required: true
        description: >-
          entityID of the application for which you want to run the
          re-conciliation. You can filter the appropriate entity using the
          entityID and you can search for the same using the search catalog
          endpoint
    post:
      summary: Reconciliation By ID
      security:
        - jwt: []
      tags:
        - Application
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  targetSystemId:
                    type: string
                    example: 64ad77dafdfcc6b382aeaceb
                  targetSystemName:
                    type: string
                    example: EntraID
                  tenantName:
                    type: string
                    example: vc3
                  resourceType:
                    type: string
                    example: account
                  startDate:
                    type: string
                    example: '2023-12-13T10:39:06.650Z'
                  status:
                    type: string
                    example: Initiated
                  collection:
                    type: string
                    example: ReconciliationBatch
                  dryRun:
                    type: string
                    example: false
                  IDM:
                    type: string
                    example: IDE
                  _etag:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 657989ca48f8a6000676b260
                  _id:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 657989cafdfcc6b38247bccf
                  targetSystem:
                    type: object
                    properties:
                      IDM:
                        type: string
                        example: IDE
                      form:
                        type: object
                        properties:
                          caseExact:
                            type: boolean
                          dataType:
                            type: string
                            example: string
                          description:
                            type: string
                            example: >-
                              The city in which the user is located. Maximum
                              length is 128 characters.
                          idhubFieldName:
                            type: string
                            example: officeAddressCity
                          isAccountName:
                            type: boolean
                          isDisabled:
                            type: boolean
                          isMultiValue:
                            type: boolean
                          isRecon:
                            type: boolean
                          isReconKey:
                            type: boolean
                          isRequired:
                            type: boolean
                          isSynced:
                            type: boolean
                          isVisible:
                            type: boolean
                          matchingAttribute:
                            type: string
                            example: officeAddressCity
                          multiValued:
                            type: boolean
                          mutability:
                            type: string
                            example: readWrite
                          name:
                            type: string
                            example: city
                          required:
                            type: boolean
                          returned:
                            type: string
                            example: default
                          syncDirection:
                            type: string
                            example: bi-directional
                          type:
                            type: string
                            example: string
                          uniqueness:
                            type: string
                            example: none
                      _etag:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 657726f148f8a6000676adf2
                      _id:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 64ad77dafdfcc6b382aeaceb
                      _meta:
                        type: object
                        properties:
                          collection:
                            type: string
                            example: TargetSystem
                          location:
                            type: string
                            example: TargetSystem/64ad77dafdfcc6b382aeaceb
                          resourceType:
                            type: string
                            example: TargetSystem
                      ITOwner:
                        type: string
                        example: jerome
                      applicationURL:
                        type: string
                        example: portal.EntraID.com/
                      approvalWorkflow:
                        type: string
                        example: Auto Approval
                      approvalWorkflowDisplayName:
                        type: string
                        example: Auto Approval
                      archiveId:
                        type: string
                        example: 657726f1fdfcc6b382222aa0
                      authenticationType:
                        type: string
                        example: OAuth2 Authentication
                      businessOwner:
                        type: string
                        example: jerome
                      collection:
                        type: string
                        example: TargetSystem
                      connectionCredentials:
                        type: string
                        example: null
                      connectorCredentials:
                        type: string
                        example: null
                      connectorPassword:
                        type: string
                        example: null
                      connectorURL:
                        type: string
                        example: null
                      connectorUserName:
                        type: string
                        example: null
                      createdOn:
                        type: string
                        format: date-time
                        example: '2023-07-11T15:40:10.401Z'
                      description:
                        type: string
                        example: This is EntraID Active Directory instance.
                      disabled:
                        type: boolean
                      displayName:
                        type: string
                        example: EntraID
                      integrationLevel:
                        type: string
                        example: Connected
                      isCertifiable:
                        type: string
                        example: null
                      isDefaultAttr:
                        type: boolean
                      isRequestable:
                        type: boolean
                      logoURL:
                        type: string
                        example: Logo.files/64ad76a948f8a60006764fa5/binary
                      name:
                        type: string
                        example: EntraID
                      performer:
                        type: string
                        example: null
                      reason:
                        type: string
                        example: Edit app
                      reconSchedule:
                        type: string
                        example: null
                      reconciliationSchedule:
                        type: string
                        example: null
                      requestFormId:
                        type: string
                        example: null
                      requestFormName:
                        type: string
                        example: null
                      riskLevel:
                        type: string
                        example: low
                      schedule:
                        type: object
                        properties:
                          repeat:
                            type: string
                            example: Do not repeat
                      searchTags:
                        type: string
                        example: Connected Source of Truth
                      staleCheckEnabled:
                        type: boolean
                      staleDays:
                        type: number
                        example: 5
                      trustedReconciliation:
                        type: boolean
                      updatedOn:
                        type: string
                        format: date-time
                        example: '2023-12-11T15:12:49.051Z'
                      workflowRequestFormId:
                        type: string
                        example: null
                      entitlementChanges:
                        type: object
                        properties:
                          add:
                            type: object
                            properties:
                              name:
                                type: string
                                example: string
                          update:
                            type: object
                            properties:
                              name:
                                type: string
                                example: string
                          delete:
                            type: object
                            properties:
                              IDM:
                                type: string
                                example: IDE
                              _etag:
                                type: object
                                properties:
                                  $oid:
                                    type: string
                                    example: 6577251248f8a6000676ac7c
                              _id:
                                type: object
                                properties:
                                  $oid:
                                    type: string
                                    example: 65772512fdfcc6b38221f733
                              form:
                                type: object
                                properties:
                                  dataType:
                                    type: string
                                    example: checkbox
                                  description:
                                    type: string
                                    example: >-
                                      A permission for a file. A permission
                                      grants a user group domain or the world
                                      access to a file or a folder hierarchy.
                                  name:
                                    type: string
                                    example: role
                                  readOnly:
                                    type: boolean
                                  required:
                                    type: boolean
                              formValues:
                                type: object
                                properties:
                                  role:
                                    type: string
                                    example: Member
                              id:
                                type: string
                                example: GROUP~9874b4bc-0f02-42c1-821b-c8bfbc91a8bd
                              isExisting:
                                type: boolean
                              isRequestable:
                                type: boolean
                              isSynced:
                                type: boolean
                              lastSyncedOn:
                                type: object
                                properties:
                                  $numberLong:
                                    type: string
                                    example: 1702307090312
                              mailEnabled:
                                type: boolean
                              mailNickName:
                                type: string
                                example: 62e4b7c2-e
                              meta:
                                type: object
                                properties:
                                  created:
                                    type: string
                                    format: date-time
                                    example: '1970-01-01T00:00:00.000Z'
                                  lastModified:
                                    type: string
                                    format: date-time
                                    example: '1970-01-01T00:00:00.000Z'
                                  location:
                                    type: string
                                    example: >-
                                      /Entitlements/GROUP~9874b4bc-0f02-42c1-821b-c8bfbc91a8bd
                                  resourceType:
                                    type: string
                                    example: Entitlement
                              name:
                                type: string
                                example: GROUP~9874b4bc-0f02-42c1-821b-c8bfbc91a8bd
                              performer:
                                type: string
                                example: null
                              requestable:
                                type: boolean
                              riskLevel:
                                type: string
                                example: low
                              schemas:
                                type: string
                                example: urn:sath:params:scim:api:o365:1.0:Entitlement
                              searchTags:
                                type: string
                                example: Connected Source of Truth
                              targetSystemDisplayName:
                                type: string
                                example: EntraID
                              targetSystemId:
                                type: string
                                example: 64ad77dafdfcc6b382aeaceb
                              targetSystemName:
                                type: string
                                example: EntraID
                              ITOwner:
                                type: string
                                example: jerome
                              approvalWorkflow:
                                type: string
                                example: Auto Approval
                              approvalWorkflowDisplayName:
                                type: string
                                example: Auto Approval
                              businessOwner:
                                type: string
                                example: jerome
                              collection:
                                type: string
                                example: Entitlement
                              createdOn:
                                type: string
                                format: date-time
                                example: '2023-12-11T15:04:50.312Z'
                              description:
                                type: string
                                example: GROUP~9874b4bc-0f02-42c1-821b-c8bfbc91a8bd
                              disabled:
                                type: boolean
                              displayName:
                                type: string
                                example: GROUP~Marketing Content Specialist
                              externalId:
                                type: string
                                example: 9874b4bc-0f02-42c1-821b-c8bfbc91a8bd
                  _meta:
                    type: object
                    properties:
                      collection:
                        type: string
                        example: ReconciliationBatch
                      location:
                        type: string
                        example: ReconciliationBatch/657989cafdfcc6b38247bccf
                      resourceType:
                        type: string
                        example: ReconciliationBatch
      description: This endpoint enables you to do the application reconciliation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                condition:
                  type: string
                  example: string
                  description: This will update IDHub if any mismatch is found.
                operation:
                  type: string
                  example: reconcile
                  description: >-
                    If you want to reconcile your data from the target system,
                    then this should be reconcile and if you want to provision
                    accounts then you need to enter provision here
                  enum:
                    - reconcile
                    - provision
                entityType:
                  type: string
                  example: Account
                  description: >-
                    Entity type can be either accounts or entitlements depending
                    on whether you are reconciling accounts or entitlements for
                    the recon operation
                  enum:
                    - Account
                    - Entitlement
  /api/dataservices/ReconciliationEvent:
    get:
      summary: Fetch past Recon Events
      security:
        - jwt: []
      tags:
        - Application
      responses:
        '201':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 65798a00fdfcc6b38247c729
                  _etag:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 65798a0048f8a6000676b333
                  IDM:
                    type: string
                    example: IDE
                  collection:
                    type: string
                    example: ReconciliationEvent
                  createDate:
                    type: string
                    format: date-time
                    example: '2023-12-13T10:40:00.872Z'
                  eventType:
                    type: string
                    example: TargetSystemAccount
                  lastModified:
                    type: string
                    format: date-time
                    example: '2023-12-13T10:40:00.872Z'
                  reconciliationBatchId:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 657989cafdfcc6b38247bccf
                  resourceType:
                    type: string
                    example: User
                  rowNumber:
                    type: number
                    example: 42
                  status:
                    type: string
                    example: EXISTING_USER_ACCOUNT_RECONCILED_NO_CHANGE
                  tenant:
                    type: string
                    example: vc3
                  numberOfEntitlements:
                    type: number
                    example: 1
                  resourceDisplayName:
                    type: string
                    example: Zachary Graham
                  resourceFromTargetSystem:
                    type: object
                    properties:
                      city:
                        type: string
                        example: Mount Prospect
                      companyName:
                        type: string
                        example: I Am Sath
                      country:
                        type: string
                        example: US
                      department:
                        type: string
                        example: CO
                      displayName:
                        type: string
                        example: Zachary Graham
                      employeeHireDate:
                        type: string
                        format: date-time
                        example: '2021-03-01T06:00:00.000Z'
                      employeeId:
                        type: string
                        example: IAMSATHE019
                      employeeType:
                        type: string
                        example: Employee
                      entitlements:
                        type: object
                        properties:
                          displayName:
                            type: string
                            example: GROUP~Chief Officer
                          externalId:
                            type: string
                            example: 999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                          form:
                            type: object
                            properties:
                              dataType:
                                type: string
                                example: checkbox
                              description:
                                type: string
                                example: >-
                                  A permission for a file. A permission grants a
                                  user group domain or the world access to a
                                  file or a folder hierarchy.
                              name:
                                type: string
                                example: role
                              options:
                                type: string
                                example: Member
                              readOnly:
                                type: boolean
                              required:
                                type: boolean
                          formValues:
                            type: object
                            properties:
                              role:
                                type: string
                                example: Member
                          id:
                            type: string
                            example: GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                          mailEnabled:
                            type: boolean
                          mailNickName:
                            type: string
                            example: 9d16dad0-d
                          meta:
                            type: object
                            properties:
                              created:
                                type: string
                                format: date-time
                                example: '1970-01-01T00:00:00.000Z'
                              lastModified:
                                type: string
                                format: date-time
                                example: '1970-01-01T00:00:00.000Z'
                              location:
                                type: string
                                example: >-
                                  /Entitlements/GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                              resourceType:
                                type: string
                                example: Entitlement
                          name:
                            type: string
                            example: GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                          schemas:
                            type: string
                            example: urn:sath:params:scim:api:o365:1.0:Entitlement
                      externalId:
                        type: string
                        example: d9c7200a-3322-4035-9e7b-03974624d4f7
                      givenName:
                        type: string
                        example: Zachary
                      id:
                        type: string
                        example: d9c7200a-3322-4035-9e7b-03974624d4f7
                      jobTitle:
                        type: string
                        example: CTO
                      mail:
                        type: string
                        example: zachary@iamsath.com
                      mailNickname:
                        type: string
                        example: zachary
                      managerDisplayName:
                        type: string
                        example: Derrick Henry
                      managerLogin:
                        type: string
                        example: derrick
                      mobilePhone:
                        type: string
                        example: 630-156-2546
                      postalCode:
                        type: string
                        example: 60056
                      state:
                        type: string
                        example: Illinois
                      streetAddress:
                        type: string
                        example: 985 Lively Lane
                      surname:
                        type: string
                        example: Graham
                      usageLocation:
                        type: string
                        example: US
                      userPrincipalName:
                        type: string
                        example: zachary@iamsath.com
                  resourceId:
                    type: string
                    example: d9c7200a-3322-4035-9e7b-03974624d4f7
                  resourceInIdhubBeforeModification:
                    type: object
                    properties:
                      IDM:
                        type: string
                        example: IDE
                      _id:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 63aec79893ccdf675cc4d124
                      _meta:
                        type: object
                        properties:
                          collection:
                            type: string
                            example: User
                          location:
                            type: string
                            example: User/63aec79893ccdf675cc4d124
                          resourceType:
                            type: string
                            example: User
                      collection:
                        type: string
                        example: User
                      department:
                        type: string
                        example: CO
                      displayName:
                        type: string
                        example: Zachary Graham
                      email:
                        type: string
                        example: zachary@iamsath.com
                      employeeNumber:
                        type: string
                        example: IAMSATHE019
                      employeeType:
                        type: string
                        example: Employee
                      entitlements:
                        type: string
                        example: null
                      firstName:
                        type: string
                        example: Zachary
                      jobTitle:
                        type: string
                        example: CTO
                      lastName:
                        type: string
                        example: Graham
                      location:
                        type: string
                        example: US
                      login:
                        type: string
                        example: zachary
                      managerDisplayName:
                        type: string
                        example: Derrick Henry
                      managerLogin:
                        type: string
                        example: derrick
                      officeAddressCity:
                        type: string
                        example: Mount Prospect
                      officeAddressCountry:
                        type: string
                        example: US
                      officeAddressLine1:
                        type: string
                        example: 985 Lively Lane
                      officeAddressPostal:
                        type: string
                        example: 60056
                      officeAddressState:
                        type: string
                        example: Illinois
                      organizationName:
                        type: string
                        example: I Am Sath
                      phoneNumber:
                        type: string
                        example: 630-156-2546
                  userAccountBeforeModification:
                    type: object
                    properties:
                      IDM:
                        type: string
                        example: IDE
                      _etag:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 6579869148f8a6000676b258
                      _id:
                        type: object
                        properties:
                          $oid:
                            type: string
                            example: 64ad7f76fdfcc6b382af2ef6
                      _meta:
                        type: object
                        properties:
                          collection:
                            type: string
                            example: UserAccount
                          location:
                            type: string
                            example: UserAccount/64ad7f76fdfcc6b382af2ef6
                          resourceType:
                            type: string
                            example: UserAccount
                      collection:
                        type: string
                        example: UserAccount
                      entitlements:
                        type: object
                        properties:
                          _id:
                            type: object
                            properties:
                              $oid:
                                type: string
                                example: 65772733fdfcc6b3822239a6
                          entitlementId:
                            type: string
                            example: 65772733fdfcc6b3822239a6
                          entitlementName:
                            type: string
                            example: GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                          formValues:
                            type: object
                            properties:
                              role:
                                type: string
                                example: Member
                          id:
                            type: string
                            example: GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                          provisionMechanism:
                            type: string
                            example: Connected Reconciliation
                          provisionedDate:
                            type: string
                            format: date-time
                            example: '2023-12-11T15:13:59.629Z'
                          status:
                            type: string
                            example: Provisioned
                      form:
                        type: object
                        properties:
                          birthday:
                            type: string
                            example: '0001-01-01T08:00:00.000Z'
                          city:
                            type: string
                            example: Mount Prospect
                          companyName:
                            type: string
                            example: I Am Sath
                          country:
                            type: string
                            example: US
                          department:
                            type: string
                            example: CO
                          displayName:
                            type: string
                            example: Zachary Graham
                          employeeHireDate:
                            type: string
                            format: date-time
                            example: '2021-03-01T06:00:00.000Z'
                          employeeId:
                            type: string
                            example: IAMSATHE019
                          employeeType:
                            type: string
                            example: Employee
                          entitlements:
                            type: object
                            properties:
                              displayName:
                                type: string
                                example: GROUP~Chief Officer
                              externalId:
                                type: string
                                example: 999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                              form:
                                type: object
                                properties:
                                  dataType:
                                    type: string
                                    example: checkbox
                                  description:
                                    type: string
                                    example: >-
                                      A permission for a file. A permission
                                      grants a user group domain or the world
                                      access to a file or a folder hierarchy.
                                  name:
                                    type: string
                                    example: role
                                  options:
                                    type: string
                                    example: Member
                                  readOnly:
                                    type: boolean
                                  required:
                                    type: boolean
                              formValues:
                                type: object
                                properties:
                                  role:
                                    type: string
                                    example: Member
                              id:
                                type: string
                                example: GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                              mailEnabled:
                                type: boolean
                              mailNickName:
                                type: string
                                example: 9d16dad0-d
                              meta:
                                type: object
                                properties:
                                  created:
                                    type: string
                                    format: date-time
                                    example: '1970-01-01T00:00:00.000Z'
                                  lastModified:
                                    type: string
                                    format: date-time
                                    example: '1970-01-01T00:00:00.000Z'
                                  location:
                                    type: string
                                    example: >-
                                      /Entitlements/GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                  resourceType:
                                    type: string
                                    example: Entitlement
                              name:
                                type: string
                                example: GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                              schemas:
                                type: string
                                example: urn:sath:params:scim:api:o365:1.0:Entitlement
                          externalId:
                            type: string
                            example: d9c7200a-3322-4035-9e7b-03974624d4f7
                          givenName:
                            type: string
                            example: Zachary
                          id:
                            type: string
                            example: d9c7200a-3322-4035-9e7b-03974624d4f7
                          jobTitle:
                            type: string
                            example: CTO
                          mail:
                            type: string
                            example: zachary@iamsath.com
                          mailNickname:
                            type: string
                            example: zachary
                          managerDisplayName:
                            type: string
                            example: Derrick Henry
                          managerLogin:
                            type: string
                            example: derrick
                          meta:
                            type: object
                            properties:
                              created:
                                type: string
                                format: date-time
                                example: '1970-01-01T00:00:00.000Z'
                              lastModified:_etag:
                                type: object
                                properties:
                                  $oid:
                                    type: string
                                    example: 65798a0048f8a6000676b333
                              IDM:
                                type: string
                                example: IDE
                              collection:
                                type: string
                                example: ReconciliationEvent
                              createDate:
                                type: string
                                format: date-time
                                example: '2023-12-13T10:40:00.872Z'
                              eventType:
                                type: string
                                example: TargetSystemAccount
                              lastModified:
                                type: string
                                format: date-time
                                example: '2023-12-13T10:40:00.872Z'
                              reconciliationBatchId:
                                type: object
                                properties:
                                  $oid:
                                    type: string
                                    example: 657989cafdfcc6b38247bccf
                              resourceType:
                                type: string
                                example: User
                              rowNumber:
                                type: number
                                example: 42
                              status:
                                type: string
                                example: EXISTING_USER_ACCOUNT_RECONCILED_NO_CHANGE
                              tenant:
                                type: string
                                example: vc3
                              numberOfEntitlements:
                                type: number
                                example: 1
                              resourceDisplayName:
                                type: string
                                example: Zachary Graham
                              resourceFromTargetSystem:
                                type: object
                                properties:
                                  city:
                                    type: string
                                    example: Mount Prospect
                                  companyName:
                                    type: string
                                    example: I Am Sath
                                  country:
                                    type: string
                                    example: US
                                  department:
                                    type: string
                                    example: CO
                                  displayName:
                                    type: string
                                    example: Zachary Graham
                                  employeeHireDate:
                                    type: string
                                    format: date-time
                                    example: '2021-03-01T06:00:00.000Z'
                                  employeeId:
                                    type: string
                                    example: IAMSATHE019
                                  employeeType:
                                    type: string
                                    example: Employee
                                  entitlements:
                                    type: object
                                    properties:
                                      displayName:
                                        type: string
                                        example: GROUP~Chief Officer
                                      externalId:
                                        type: string
                                        example: 999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                      form:
                                        type: object
                                        properties:
                                          dataType:
                                            type: string
                                            example: checkbox
                                          description:
                                            type: string
                                            example: >-
                                              A permission for a file. A permission
                                              grants a user group domain or the world
                                              access to a file or a folder hierarchy.
                                          name:
                                            type: string
                                            example: role
                                          options:
                                            type: string
                                            example: Member
                                          readOnly:
                                            type: boolean
                                          required:
                                            type: boolean
                                      formValues:
                                        type: object
                                        properties:
                                          role:
                                            type: string
                                            example: Member
                                      id:
                                        type: string
                                        example: >-
                                          GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                      mailEnabled:
                                        type: boolean
                                      mailNickName:
                                        type: string
                                        example: 9d16dad0-d
                                      meta:
                                        type: object
                                        properties:
                                          created:
                                            type: string
                                            format: date-time
                                            example: '1970-01-01T00:00:00.000Z'
                                          lastModified:
                                            type: string
                                            format: date-time
                                            example: '1970-01-01T00:00:00.000Z'
                                          location:
                                            type: string
                                            example: >-
                                              /Entitlements/GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                          resourceType:
                                            type: string
                                            example: Entitlement
                                      name:
                                        type: string
                                        example: >-
                                          GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                      schemas:
                                        type: string
                                        example: >-
                                          urn:sath:params:scim:api:o365:1.0:Entitlement
                                  externalId:
                                    type: string
                                    example: d9c7200a-3322-4035-9e7b-03974624d4f7
                                  givenName:
                                    type: string
                                    example: Zachary
                                  id:
                                    type: string
                                    example: d9c7200a-3322-4035-9e7b-03974624d4f7
                                  jobTitle:
                                    type: string
                                    example: CTO
                                  mail:
                                    type: string
                                    example: zachary@iamsath.com
                                  mailNickname:
                                    type: string
                                    example: zachary
                                  managerDisplayName:
                                    type: string
                                    example: Derrick Henry
                                  managerLogin:
                                    type: string
                                    example: derrick
                                  mobilePhone:
                                    type: string
                                    example: 630-156-2546
                                  postalCode:
                                    type: string
                                    example: 60056
                                  state:
                                    type: string
                                    example: Illinois
                                  streetAddress:
                                    type: string
                                    example: 985 Lively Lane
                                  surname:
                                    type: string
                                    example: Graham
                                  usageLocation:
                                    type: string
                                    example: US
                                  userPrincipalName:
                                    type: string
                                    example: zachary@iamsath.com
                              resourceId:
                                type: string
                                example: d9c7200a-3322-4035-9e7b-03974624d4f7
                              resourceInIdhubBeforeModification:
                                type: object
                                properties:
                                  IDM:
                                    type: string
                                    example: IDE
                                  _id:
                                    type: object
                                    properties:
                                      $oid:
                                        type: string
                                        example: 63aec79893ccdf675cc4d124
                                  _meta:
                                    type: object
                                    properties:
                                      collection:
                                        type: string
                                        example: User
                                      location:
                                        type: string
                                        example: User/63aec79893ccdf675cc4d124
                                      resourceType:
                                        type: string
                                        example: User
                                  collection:
                                    type: string
                                    example: User
                                  department:
                                    type: string
                                    example: CO
                                  displayName:
                                    type: string
                                    example: Zachary Graham
                                  email:
                                    type: string
                                    example: zachary@iamsath.com
                                  employeeNumber:
                                    type: string
                                    example: IAMSATHE019
                                  employeeType:
                                    type: string
                                    example: Employee
                                  entitlements:
                                    type: string
                                    example: null
                                  firstName:
                                    type: string
                                    example: Zachary
                                  jobTitle:
                                    type: string
                                    example: CTO
                                  lastName:
                                    type: string
                                    example: Graham
                                  location:
                                    type: string
                                    example: US
                                  login:
                                    type: string
                                    example: zachary
                                  managerDisplayName:
                                    type: string
                                    example: Derrick Henry
                                  managerLogin:
                                    type: string
                                    example: derrick
                                  officeAddressCity:
                                    type: string
                                    example: Mount Prospect
                                  officeAddressCountry:
                                    type: string
                                    example: US
                                  officeAddressLine1:
                                    type: string
                                    example: 985 Lively Lane
                                  officeAddressPostal:
                                    type: string
                                    example: 60056
                                  officeAddressState:
                                    type: string
                                    example: Illinois
                                  organizationName:
                                    type: string
                                    example: I Am Sath
                                  phoneNumber:
                                    type: string
                                    example: 630-156-2546
                              userAccountBeforeModification:
                                type: object
                                properties:
                                  IDM:
                                    type: string
                                    example: IDE
                                  _etag:
                                    type: object
                                    properties:
                                      $oid:
                                        type: string
                                        example: 6579869148f8a6000676b258
                                  _id:
                                    type: object
                                    properties:
                                      $oid:
                                        type: string
                                        example: 64ad7f76fdfcc6b382af2ef6
                                  _meta:
                                    type: object
                                    properties:
                                      collection:
                                        type: string
                                        example: UserAccount
                                      location:
                                        type: string
                                        example: UserAccount/64ad7f76fdfcc6b382af2ef6
                                      resourceType:
                                        type: string
                                        example: UserAccount
                                  collection:
                                    type: string
                                    example: UserAccount
                                  entitlements:
                                    type: object
                                    properties:
                                      _id:
                                        type: object
                                        properties:
                                          $oid:
                                            type: string
                                            example: 65772733fdfcc6b3822239a6
                                      entitlementId:
                                        type: string
                                        example: 65772733fdfcc6b3822239a6
                                      entitlementName:
                                        type: string
                                        example: >-
                                          GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                      formValues:
                                        type: object
                                        properties:
                                          role:
                                            type: string
                                            example: Member
                                      id:
                                        type: string
                                        example: >-
                                          GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                      provisionMechanism:
                                        type: string
                                        example: Connected Reconciliation
                                      provisionedDate:
                                        type: string
                                        format: date-time
                                        example: '2023-12-11T15:13:59.629Z'
                                      status:
                                        type: string
                                        example: Provisioned
                                  form:
                                    type: object
                                    properties:
                                      birthday:
                                        type: string
                                        example: '0001-01-01T08:00:00.000Z'
                                      city:
                                        type: string
                                        example: Mount Prospect
                                      companyName:
                                        type: string
                                        example: I Am Sath
                                      country:
                                        type: string
                                        example: US
                                      department:
                                        type: string
                                        example: CO
                                      displayName:
                                        type: string
                                        example: Zachary Graham
                                      employeeHireDate:
                                        type: string
                                        format: date-time
                                        example: '2021-03-01T06:00:00.000Z'
                                      employeeId:
                                        type: string
                                        example: IAMSATHE019
                                      employeeType:
                                        type: string
                                        example: Employee
                                      entitlements:
                                        type: object
                                        properties:
                                          displayName:
                                            type: string
                                            example: GROUP~Chief Officer
                                          externalId:
                                            type: string
                                            example: 999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                          form:
                                            type: object
                                            properties:
                                              dataType:
                                                type: string
                                                example: checkbox
                                              description:
                                                type: string
                                                example: >-
                                                  A permission for a file. A permission
                                                  grants a user group domain or the world
                                                  access to a file or a folder hierarchy.
                                              name:
                                                type: string
                                                example: role
                                              options:
                                                type: string
                                                example: Member
                                              readOnly:
                                                type: boolean
                                              required:
                                                type: boolean
                                          formValues:
                                            type: object
                                            properties:
                                              role:
                                                type: string
                                                example: Member
                                          id:
                                            type: string
                                            example: >-
                                              GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                          mailEnabled:
                                            type: boolean
                                          mailNickName:
                                            type: string
                                            example: 9d16dad0-d
                                          meta:
                                            type: object
                                            properties:
                                              created:
                                                type: string
                                                format: date-time
                                                example: '1970-01-01T00:00:00.000Z'
                                              lastModified:
                                                type: string
                                                format: date-time
                                                example: '1970-01-01T00:00:00.000Z'
                                              location:
                                                type: string
                                                example: >-
                                                  /Entitlements/GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                              resourceType:
                                                type: string
                                                example: Entitlement
                                          name:
                                            type: string
                                            example: >-
                                              GROUP~999a9e9f-c9a6-44fc-9f70-01b6c0496db6
                                          schemas:
                                            type: string
                                            example: >-
                                              urn:sath:params:scim:api:o365:1.0:Entitlement
                                      externalId:
                                        type: string
                                        example: d9c7200a-3322-4035-9e7b-03974624d4f7
                                      givenName:
                                        type: string
                                        example: Zachary
                                      id:
                                        type: string
                                        example: d9c7200a-3322-4035-9e7b-03974624d4f7
                                      jobTitle:
                                        type: string
                                        example: CTO
                                      mail:
                                        type: string
                                        example: zachary@iamsath.com
                                      mailNickname:
                                        type: string
                                        example: zachary
                                      managerDisplayName:
                                        type: string
                                        example: Derrick Henry
                                      managerLogin:
                                        type: string
                                        example: derrick
                                      meta:
                                        type: object
                                        properties:
                                          created:
                                            type: string
                                            format: date-time
                                            example: '1970-01-01T00:00:00.000Z'
                                          lastModified:
                                            type: string
                                            format: date-time
                                            example: '1970-01-01T00:00:00.000Z'
                                          location:
                                            type: string
                                            example: >-
                                              /Accounts/d9c7200a-3322-4035-9e7b-03974624d4f7
                                          resourceType:
                                            type: string
                                            example: Account
                                      mobilePhone:
                                        type: string
                                        example: 630-156-2546
                                      name:
                                        type: string
                                        example: d9c7200a-3322-4035-9e7b-03974624d4f7
                                      postalCode:
                                        type: string
                                        example: 60056
                                      proxyAddresses:
                                        type: string
                                        example: SMTP:zachary@iamsath.com
                                      schemas:
                                        type: string
                                        example: >-
                                          urn:sath:params:scim:api:o365:1.0:Account
                                      state:
                                        type: string
                                        example: Illinois
                                      streetAddress:
                                        type: string
                                        example: 985 Lively Lane
                                      surname:
                                        type: string
                                        example: Graham
                                      usageLocation:
                                        type: string
                                        example: US
                                      userPrincipalName:
                                        type: string
                                        example: zachary@iamsath.com
                                      userType:
                                        type: string
                                        example: Member
                                  lastSyncedOn:
                                    type: object
                                    properties:
                                      $date:
                                        type: number
                                        example: 1702463121415
                                  login:
                                    type: string
                                    example: zachary
                                  logoURL:
                                    type: string
                                    example: Logo.files/64ad76a948f8a60006764fa5/binary
                                  provisionMechanism:
                                    type: string
                                    example: Connected Reconciliation
                                  provisionedDate:
                                    type: string
                                    format: date-time
                                    example: '2023-07-11T16:12:38.994Z'
                                  status:
                                    type: string
                                    example: Provisioned
                                  sync:
                                    type: boolean
                                  targetSystemId:
                                    type: string
                                    example: 64ad77dafdfcc6b382aeaceb
                                  targetSystemName:
                                    type: string
                                    example: EntraID
                                  updatedOn:
                                    type: string
                                    example: 2023-10-27T15:41:44.563+0000
                                  userId:
                                    type: string
                                    example: 63aec79893ccdf675cc4d124
                              location:
                                type: string
                                example: /Accounts/d9c7200a-3322-4035-9e7b-03974624d4f7
                          resourceType:
                            type: string
                            example: Account
                          mobilePhone:
                            type: string
                            example: 630-156-2546
                          name:
                            type: string
                            example: d9c7200a-3322-4035-9e7b-03974624d4f7
                          postalCode:
                            type: string
                            example: 60056
                          proxyAddresses:
                            type: string
                            example: SMTP:zachary@iamsath.com
                          schemas:
                            type: string
                            example: urn:sath:params:scim:api:o365:1.0:Account
                          state:
                            type: string
                            example: Illinois
                          streetAddress:
                            type: string
                            example: 985 Lively Lane
                          surname:
                            type: string
                            example: Graham
                          usageLocation:
                            type: string
                            example: US
                          userPrincipalName:
                            type: string
                            example: zachary@iamsath.com
                          userType:
                            type: string
                            example: Member
                      lastSyncedOn:
                        type: object
                        properties:
                          $date:
                            type: number
                            example: 1702463121415
                      login:
                        type: string
                        example: zachary
                      logoURL:
                        type: string
                        example: Logo.files/64ad76a948f8a60006764fa5/binary
                      provisionMechanism:
                        type: string
                        example: Connected Reconciliation
                      provisionedDate:
                        type: string
                        format: date-time
                        example: '2023-07-11T16:12:38.994Z'
                      status:
                        type: string
                        example: Provisioned
                      sync:
                        type: boolean
                      targetSystemId:
                        type: string
                        example: 64ad77dafdfcc6b382aeaceb
                      targetSystemName:
                        type: string
                        example: EntraID
                      updatedOn:
                        type: string
                        example: 2023-10-27T15:41:44.563+0000
                      userId:
                        type: string
                        example: 63aec79893ccdf675cc4d124
      description: This endpoint enables you to view the application recon events
      parameters:
        - in: query
          name: ReconciliationBatchId
          description: This is the Recon Batch ID
          schema:
            type: object
            properties:
              oid:
                type: string
                example: 657989cafdfcc6b38247bccf
        - in: query
          name: resourceType
          description: This is the resourceType for the recon events.
          schema:
            type: string
            example: User
  /api/core/target-system/{id}/{operation}:
    parameters:
      - in: query
        name: targetsystemID
        description: >-
          targetsystemID of the application for which you want take the action.
          You can fetch the targetsystemID using the search catalog endpoint.
        schema:
          type: string
          example: 63aed43793ccdf675cc58246
      - in: query
        name: operation
        description: >-
          This is the operation that you want to take for the application. The
          operation can be, enable/disable/retire.
        schema:
          type: string
          enum:
            - Retire
            - Enable
            - Disable
          example: Retire
    get:
      summary: Operation
      description: >-
        This endpoint enables you to do operation on application. The operations
        can be Enable/Disable/Retire
      security:
        - jwt: []
      tags:
        - Application
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  IDM:
                    type: string
                    example: IDE
                  ITOwner:
                    type: string
                    example: michael
                  _id:
                    type: object
                    properties:
                      $oid:
                        type: string
                        example: 63aed43793ccdf675cc58246
                  applicationURL:
                    type: string
                    example: https://www.adp.com/
                  approvalWorkflow:
                    type: string
                    example: Manager Grant and Auto Revoke
                  approvalWorkflowDisplayName:
                    type: string
                    example: Manager Grant and Auto Revoke
                  businessOwner:
                    type: string
                    example: liz
                  collection:
                    type: string
                    example: TargetSystem
                  createdOn:
                    type: string
                    format: date-time
                    example: '2022-12-30T12:06:15.145Z'
                  description:
                    type: string
                    example: HR and Payroll Use
                  disabled:
                    type: boolean
                  displayName:
                    type: string
                    example: ADP
                  form:
                    type: object
                    properties:
                      dataType:
                        type: string
                        example: string
                      isAccountName:
                        type: boolean
                      isMultiValue:
                        type: boolean
                      isReconKey:
                        type: boolean
                      isRequired:
                        type: boolean
                      matchingAttribute:
                        type: string
                        example: firstName
                      name:
                        type: string
                        example: First Name
                      syncDirection:
                        type: string
                        example: no-sync
                  integrationLevel:
                    type: string
                    example: Disconnected
                  isRequestable:
                    type: boolean
                  logoURL:
                    type: string
                    example: Logo.files/63aed43793ccdf675cc58246/binary
                  name:
                    type: string
                    example: ADP
                  performer:
                    type: string
                    example: Manual Fulfiller
                  retired:
                    type: boolean
                  riskLevel:
                    type: string
                    example: low
                  schedule:
                    type: object
                    properties:
                      repeat:
                        type: string
                        example: Do not repeat
                  searchTags:
                    type: string
                    example: All Employees HR
                  trustedReconciliation:
                    type: boolean
  /api/core/entity/shared-entity:
    parameters:
      - in: query
        name: filter
        description: >-
          Use the sharedBy filter to get the lists shared by the user. For
          instance {"sharedBy":"jerome"}. Similarly use the sharedWith filter to
          get the lists shared with the user by another user.
        schema:
          type: string
    get:
      summary: Fetch
      security:
        - jwt: []
      tags:
        - Shared Lists
      description: >-
        This Endpoint lets you get the Shared Lists. You can use sharedBy filter
        parameter to get the lists shared by the user and you can use 
        sharedWith filter parameter in order to get the lists shared with the
        current user by another user.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedEntitySchema'
components:
  securitySchemes:
    jwt:
      name: jwt
      type: http
      scheme: bearer
  schemas:
    ApplicationSchema:
      title: ApplicationSchema
      type: object
      properties:
        performer:
          type: string
          example: Manual Fulfiller
        riskLevel:
          type: string
          example: medium
        displayName:
          type: string
          example: Zendesk
        searchTags:
          type: string
          example: IT
        description:
          type: string
          example: Custom Support Tracking System
        collection:
          type: string
          example: TargetSystem
        createdOn:
          type: date
          example: '2022-12-30T12:06:15.174Z'
        approvalWorkflowDisplayName:
          type: string
          example: Group Approval
        IDM:
          type: string
          example: IDE
        form:
          type: object
          properties:
            isRequired:
              type: boolean
              example: true
            matchingAttribute:
              type: string
              example: firstName
            syncDirection:
              type: string
              example: no-sync
            dataType:
              type: string
              example: string
            isReconKey:
              type: boolean
              example: false
            name:
              type: string
              example: First Name
            isAccountName:
              type: boolean
              example: false
            isMultiValue:
              type: boolean
              example: false
        integrationLevel:
          type: string
          example: integrationLevel
        logoURL:
          type: string
          example: Logo.files/63af022493ccdf675cc795e1/binary
        trustedReconciliation:
          type: boolean
          example: false
        workflowRequestFormId:
          type: string
          example: 6085f65f432acc2a019f1fbe
        schedule:
          type: object
          properties:
            repeat:
              type: string
              example: Do not repeat
        isRequestable:
          type: boolean
          example: true
        name:
          type: string
          example: Zendesk
        disabled:
          type: string
          example: false
        id:
          type: object
          properties:
            $oid:
              type: string
              example: 63af039793ccdf675cc7aa10
        approvalWorkflow:
          type: string
          example: Group Approval
        businessOwner:
          type: string
          example: liz
        targetSystemDisplayName:
          type: string
          example: ADP
        ITOwner:
          type: string
          example: jerome
        applicationURL:
          type: string
          example: https://www.zendesk.com/
        approver1:
          type: string
          example: Approval Group 2
        approver2:
          type: string
          example: Approval Group 3
        approver3:
          type: string
          example: CEO
    RoleSchema:
      title: RoleSchema
      type: object
      properties:
        performer:
          type: string
          example: jerome
        riskLevel:
          type: string
          example: low
        displayName:
          type: string
          example: All Employees
        searchTags:
          type: string
          example: All Employees
        description:
          type: string
          example: This Role is assigned to all Employees.
        rule:
          type: JSON
          example: '{"$and":[{"status":"Active"},{"department":{"$nin":["CO"]}}]}'
        isCertifiable:
          type: boolean
          example: true
        collection:
          type: string
          example: Role
        workflowRequestFormId:
          type: string
          example: 88478478abjkhk9
        createdOn:
          type: date
          example: '2022-12-30T15:28:23.827Z'
        approvalWorkflowDisplayName:
          type: string
          example: Auto Role Approval
        IDM:
          type: string
          example: IDE
        roleOwnerLogin:
          type: string
          example: samantha
        isRequestable:
          type: Boolean
          example: true
        name:
          type: string
          example: All Employees
        disabled:
          type: boolean
          example: false
        ruleForm:
          type: JSON
          example: >-
            {"$and":[{"attribute":"status","condition":"equals","value":"Active","options":["Active"]},{"attribute":"department","condition":"notin","value":["CO"],"options":["CO"]}]}
        applications:
          type: object
          properties:
            id:
              type: object
              properties:
                $oid:
                  type: string
                  example: 63af039793ccdf675cc7aa10
            name:
              type: string
              example: Salesforce
            entitlements:
              type: object
              properties:
                id:
                  type: object
                  properties:
                    $oid:
                      type: string
                      example: 63af039793ccdf675cc7aa10
                name:
                  type: string
                  example: Salesforce Read Only
        id:
          type: object
          properties:
            $oid:
              type: string
              example: 63af039793ccdf675cc7aa10
        approvalWorkflow:
          type: string
          example: Auto Role Approval
    SearchCatalogSchema:
      title: SearchCatalogSchema
      type: object
      properties:
        homeAddressCountry:
          type: string
          example: US
        lastName:
          type: string
          example: King
        displayName:
          type: string
          example: Aaron King
        jobTitle:
          type: string
          example: Inside Sales Representative
        accessList:
          type: object
          properties:
            applicationCount:
              type: number
              example: 8
            entitlementCount:
              type: number
              example: 8
            roles:
              type: object
              properties:
                performer:
                  type: string
                  example: jerome
                riskLevel:
                  type: string
                  example: low
                displayName:
                  type: string
                  example: All Employees
                searchTags:
                  type: string
                  example: All Employees
                description:
                  type: string
                  example: This Role is assigned to all Employees.
                rule:
                  type: JSON
                  example: >-
                    {"$and":[{"status":"Active"},{"department":{"$nin":["CO"]}}]}
                isCertifiable:
                  type: boolean
                  example: true
                collection:
                  type: string
                  example: Role
                workflowRequestFormId:
                  type: string
                  example: 88478478abjkhk9
                createdOn:
                  type: date
                  example: '2022-12-30T15:28:23.827Z'
                approvalWorkflowDisplayName:
                  type: string
                  example: Auto Role Approval
                IDM:
                  type: string
                  example: IDE
                roleOwnerLogin:
                  type: string
                  example: samantha
                isRequestable:
                  type: Boolean
                  example: true
                name:
                  type: string
                  example: All Employees
                disabled:
                  type: boolean
                  example: false
                ruleForm:
                  type: JSON
                  example: >-
                    {"$and":[{"attribute":"status","condition":"equals","value":"Active","options":["Active"]},{"attribute":"department","condition":"notin","value":["CO"],"options":["CO"]}]}
                _id:
                  type: string
                  example: 63af039793ccdf675cc7aa10
                id:
                  type: object
                  properties:
                    $oid:
                      type: string
                      example: 63af039793ccdf675cc7aa10
                approvalWorkflow:
                  type: string
                  example: Auto Role Approval
            applications:
              type: object
              properties:
                entitlements:
                  type: object
                  properties:
                    performer:
                      type: string
                      example: Manual Fulfiller
                    riskLevel:
                      type: string
                      example: low
                    targetSystemName:
                      type: string
                      example: ADP
                    ITOwner:
                      type: string
                      example: michael
                    displayName:
                      type: string
                      example: ADP Standard User
                    searchTags:
                      type: string
                      example: All Employees, HR
                    description:
                      type: string
                      example: View and manage your HR account.
                    collection:
                      type: string
                      example: Entitlement
                    createdOn:
                      type: date
                      example: '2022-12-30T12:06:15.174Z'
                    approvalWorkflowDisplayName:
                      type: string
                      example: Manager and BO Grant and Auto Revoke
                    IDM:
                      type: string
                      example: IDE
                    isRequestable:
                      type: boolean
                      example: true
                    name:
                      type: string
                      example: ADP Standard User
                    disabled:
                      type: string
                      example: false
                    id:
                      type: object
                      properties:
                        $oid:
                          type: string
                          example: 63af039793ccdf675cc7aa10
                    approvalWorkflow:
                      type: string
                      example: Manager and BO Grant and Auto Revoke
                    businessOwner:
                      type: string
                      example: liz
                    targetSystemDisplayName:
                      type: string
                      example: ADP
                performer:
                  type: string
                  example: Manual Fulfiller
                riskLevel:
                  type: string
                  example: low
                ITOwner:
                  type: string
                  example: michael
                displayName:
                  type: string
                  example: ADP
                integrationLevel:
                  type: string
                  example: Disconnected
                searchTags:
                  type: string
                  example: All Employees, HR
                description:
                  type: string
                  example: HR and Payroll Use
                collection:
                  type: string
                  example: TargetSystem
                createdOn:
                  type: date
                  example: '2022-12-30T12:06:15.145Z'
                trustedReconciliation:
                  type: Boolean
                  example: false
                logoURL:
                  type: string
                  example: Logo.files/63aed43793ccdf675cc58246/binary
                approvalWorkflowDisplayName:
                  type: string
                  example: Manager Grant and Auto Revoke
                schedule:
                  type: object
                  properties:
                    repeat:
                      type: string
                      example: Do not repeat
                IDM:
                  type: string
                  example: IDE
                form:
                  type: object
                  properties:
                    isRequired:
                      type: boolean
                      example: true
                    matchingAttribute:
                      type: string
                      example: firstName
                    syncDirection:
                      type: string
                      example: no-sync
                    dataType:
                      type: string
                      example: string
                    isReconKey:
                      type: boolean
                      example: false
                    name:
                      type: string
                      example: First Name
                    isAccountName:
                      type: boolean
                      example: false
                    isMultiValue:
                      type: boolean
                      example: false
                applicationURL:
                  type: string
                  example: https://www.adp.com/
                isRequestable:
                  type: boolean
                  example: true
                name:
                  type: string
                  example: ADP
                disabled:
                  type: string
                  example: false
                id:
                  type: object
                  properties:
                    $oid:
                      type: string
                      example: 63af039793ccdf675cc7aa10
                approvalWorkflow:
                  type: string
                  example: Manager Grant and Auto Revoke
                businessOwner:
                  type: string
                  example: liz
        login:
          type: string
          example: aaron
        createdOn:
          type: date
          example: '2022-12-30T11:12:19.430Z'
        employeeNumber:
          type: string
          example: employeeNumber
        IDM:
          type: string
          example: IDE
        homeAddressState:
          type: string
          example: Illinois
        officeAddressCity:
          type: string
          example: Schaumburg
        homeAddressCity:
          type: string
          example: Arlington Heights
        provisionedDate:
          type: date
          example: 11-11-2022
        id:
          type: object
          properties:
            $oid:
              type: string
              example: 63aec79393ccdf675cc4ccf4
        department:
          type: string
          example: Sales
        managerLogin:
          type: string
          example: spencer
        email:
          type: string
          example: aaron@gmail.com
        homeAddressZipcode:
          type: string
          example: 60005
        createDate:
          type: string
          example: 11-11-2022
        officeAddressCountry:
          type: string
          example: US
        organizationName:
          type: string
          example: I Am Sath
        homeAddressLine2:
          type: string
          example: Suite 52
        homeAddressLine1:
          type: string
          example: 2862 Derek Drive
        managerDisplayName:
          type: string
          example: Spencer Hunter
        collection:
          type: string
          example: User
        logoURL:
          type: string
          example: Logo.files/63aec79393ccdf675cc4ccf4/binary
        firstName:
          type: string
          example: Aaron
        officeAddressZipcode:
          type: string
          example: 60175
        phoneNumber:
          type: string
          example: 847-392-2610
        officeAddressLine2:
          type: string
          example: H.No. 44AE
        location:
          type: string
          example: United States
        officeAddressLine1:
          type: string
          example: 2468 Hiddenview Drive
        userType:
          type: string
          example: Employee
        _id:
          type: string
          example: 63aec79393ccdf675cc4ccf4
        officeAddressState:
          type: string
          example: IL
        status:
          type: string
          example: Active
    SharedEntitySchema:
      title: SharedEntitySchema
      type: object
      description: This is the Shared Entity schema
      properties:
        _etag:
          type: object
          properties:
            $oid:
              type: string
              example: 6565b512425c8055c059d598
        _id:
          type: object
          properties:
            $oid:
              type: string
              example: 6565b512425c5545c059d598
        cartItems:
          type: object
          properties:
            beneficiaries:
              type: object
              properties:
                displayName:
                  type: string
                  example: jerome
                login:
                  type: string
                  example: jerome133
            entityDisplayName:
              type: string
              example: Grammarly
            entityId:
              type: string
              example: 63aee60793ccdf675cc64ac8
            entityType:
              type: string
              example: TargetSystem
        collection:
          type: string
          example: UserCart
        name:
          type: string
          example: MyList
        owner:
          type: string
          example: User/63aec79793ccdf675cc4d018
        requester:
          type: object
          properties:
            displayName:
              type: string
              example: Jerome Fern
            employeeNumber:
              type: string
              example: IAMSATHE026
            login:
              type: string
              example: jerome
        user:
          type: object
          properties:
            displayName:
              type: string
              example: Richard Melton
            email:
              type: string
              example: richard@gmail.com
            login:
              type: string
              example: richard
            userId:
              type: string
              example: 63aec79293ccdf675cc4cbfd
    UserRequest:
      title: UserRequest
      type: object
      description: This is the User Request
      properties:
        _id:
          type: object
          properties:
            $oid:
              type: string
              example: 6565b512425c8055c059d598
        IDM:
          type: string
          example: IDE
        _etag:
          type: object
          properties:
            $oid:
              type: string
              example: 6565b54ad87a5a00075e6f76
        collection:
          type: string
          example: UserRequest
        createDate:
          type: date
          example: '2023-11-28T09:39:10.919Z'
        history:
          type: object
          properties:
            diff:
              type: object
              properties:
                payload:
                  type: object
                  properties:
                    role:
                      type: object
                      properties:
                        IDM:
                          type: string
                          example: IDE
                        applications:
                          type: object
                          properties:
                            _id:
                              type: object
                              properties:
                                $oid:
                                  type: string
                                  example: 63aee2a293ccdf675cc61f1e
                            name:
                              type: string
                              example: Amazon Web Services
                        approvalWorkflow:
                          type: string
                          example: Auto Role Approval
                        approvalWorkflowDisplayName:
                          type: string
                          example: Auto Role Approval
                        description:
                          type: string
                          example: newtestr
                        displayName:
                          type: string
                          example: newtestr
                        isCertifiable:
                          type: boolean
                          example: true
                        isRequestable:
                          type: boolean
                          example: true
                        name:
                          type: string
                          example: newtestr
                        performer:
                          type: string
                          example: newtestr
                        reason:
                          type: string
                          example: submitting role request
                        riskLevel:
                          type: string
                          example: low
                        roleOwnerLogin:
                          type: string
                          example: jerome
                        rule:
                          type: JSON
                          example: '{"$and":[]}'
                        ruleForm:
                          type: JSON
                          example: >-
                            {"$and":[{"attribute":"","condition":"","value":"","options":[""]}]}
                        searchTags:
                          type: string
                          example: roletag
                        workflowRequestFormId:
                          type: string
                          example: d4085akgk
                    type:
                      type: string
                      example: create
                requester:
                  type: object
                  properties:
                    displayName:
                      type: string
                      example: Jerome Fern
                    email:
                      type: string
                      example: jerome@gmail.com
                    login:
                      type: string
                      example: jerome
                status:
                  type: string
                  example: Waiting for Approval
            snapshot:
              type: object
              properties:
                IDM:
                  type: string
                  example: IDE
                _id:
                  type: string
                  example: 6565b512425c8055c059d598
                collection:
                  type: string
                  example: UserRequest
                createDate:
                  type: date
                  example: '2023-11-28T09:39:10.919Z'
                justification:
                  type: string
                  example: submitting role for approval
                payload:
                  type: object
                  properties:
                    role:
                      type: object
                      properties:
                        IDM:
                          type: string
                          example: IDE
                        applications:
                          type: object
                          properties:
                            _id:
                              type: string
                              example: object
                              properties:
                                $oid:
                                  type: string
                                  example: 63aee2a293ccdf675cc61f1e
                            name:
                              type: string
                              example: Amazon Web Services
                        approvalWorkflow:
                          type: string
                          example: Auto Role Approval
                        approvalWorkflowDisplayName:
                          type: string
                          example: Auto Role Approval
                        description:
                          type: string
                          example: newtestr
                        displayName:
                          type: string
                          example: newtestr
                        isCertifiable:
                          type: boolean
                          example: true
                        isRequestable:
                          type: boolean
                          example: true
                        name:
                          type: string
                          example: newtestr
                        performer:
                          type: string
                          example: newtestr
                        reason:
                          type: string
                          example: submitting role
                        riskLevel:
                          type: string
                          example: low
                        roleOwnerLogin:
                          type: string
                          example: jerome
                        rule:
                          type: JSON
                          example: '{"$and":[]}'
                        ruleForm:
                          type: JSON
                          example: >-
                            {"$and":[{"attribute":"","condition":"","value":"","options":[""]}]}
                        searchTags:
                          type: string
                          example: searchtag
                        workflowRequestFormId:
                          type: string
                          example: 88gkhgkg94jgjj
                    type:
                      type: string
                      example: create
                requestType:
                  type: string
                  example: Catalog
                requester:
                  type: object
                  properties:
                    displayName:
                      type: string
                      example: Jerome Fern
                    email:
                      type: string
                      example: jerome@iamsath.com
                    login:
                      type: string
                      example: jerome
                resolution:
                  type: string
                  example: Initiated
                status:
                  type: string
                  example: Request Submitted
                summary:
                  type: string
                  example: New Role Request - newtestr
                workflowName:
                  type: string
                  example: AIMS Approval
            timeStamp:
              type: string
              example: 2023-11-28T09:39:22.665+0000
        justification:
          type: string
          example: submitting role
        payload:
          type: object
          properties:
            role:
              type: object
              properties:
                IDM:
                  type: string
                  example: IDE
                applications:
                  type: object
                  properties:
                    _id:
                      type: object
                      properties:
                        $oid:
                          type: string
                          example: 65608f7563f8d3a5b5cbbbe7
                    name:
                      type: string
                      example: create
                approvalWorkflow:
                  type: string
                  example: Auto Role Approval
                approvalWorkflowDisplayName:
                  type: string
                  example: Auto Role Approval
                description:
                  type: string
                  example: newtestr
                displayName:
                  type: string
                  example: newtestr
                isCertifiable:
                  type: string
                  example: true
                isRequestable:
                  type: string
                  example: true
                name:
                  type: string
                  example: newtestr
                performer:
                  type: string
                  example: jerome
                reason:
                  type: string
                  example: submitting role request
                riskLevel:
                  type: string
                  example: low
                roleOwnerLogin:
                  type: string
                  example: jerome
                rule:
                  type: JSON
                  example: '{"$and":[]}'
                ruleForm:
                  type: JSON
                  example: >-
                    {"$and":[{"attribute":"","condition":"","value":"","options":[""]}]}
                searchTags:
                  type: string
                  example: searchtag
                workflowRequestFormId:
                  type: string
                  example: 888gjjghhj
            type:
              type: string
              example: create
        requestType:
          type: string
          example: Catalog
        requester:
          type: object
          description: Requester details
          properties:
            displayName:
              type: string
              example: Jerome Fern
            email:
              type: string
              example: jerome@gmail.com
            login:
              type: string
              example: jerome
        resolution:
          type: string
          example: Initiated
        status:
          type: string
          example: Waiting for Approval
        summary:
          type: string
          example: New Role Request - newtestr
        workflowName:
          type: string
          example: AIMS Approval
    AccountSchema:
      title: AccountSchema
      type: object
      description: This is the User Account
      properties:
        _id:
          type: object
          properties:
            $oid:
              type: string
              example: 6565b512425c8055c059d598
        IDM:
          type: string
          example: IDE
        associatedRoles:
          type: array
          items:
            type: string
            example: Marketing Content Specialist
        collection:
          type: string
          example: UserAccount
        entitlements:
          type: object
          properties:
            _id:
              type: object
              properties:
                $oid:
                  type: string
                  example: 63aefd2f93ccdf675cc750b7
            associatedRoles:
              type: array
              items:
                type: string
                example: Marketing Content Specialist
            entitlementId:
              type: string
              example: 63aefd2f93ccdf675cc750b7
            entitlementName:
              type: string
              example: Salesforce Marketing User
            provisionMechanism:
              type: string
              example: Role
            provisionedDate:
              type: date
              example: 2023-03-07T07:20:40.855+0000
            status:
              type: string
              example: Provisioned
        form:
          type: object
          properties:
            Email:
              type: string
              example: steve@iamsath.com
            First Name:
              type: string
              example: Steve
            Last Name:
              type: string
              example: Clark
            Phone Number:
              type: string
              example: 514-747-3111
            User Login:
              type: string
              example: steve
        login:
          type: string
          example: steve
        logoURL:
          type: string
          example: Logo.files/63aefd2f93ccdf675cc7509f/binary
        provisionMechanism:
          type: string
          example: Role
        provisionedDate:
          type: date
          example: 2023-03-07T07:20:40.855+0000
        status:
          type: string
          example: Provisioned
        targetSystemId:
          type: string
          example: 63aefd2f93ccdf675cc7509f
        targetSystemName:
          type: string
          example: Salesforce
        userId:
          type: string
          example: 63aec79193ccdf675cc4cbbb
    SubmitCart:
      title: SubmitCart
      type: object
      properties:
        requester:
          type: object
          description: This would include the requester details like - user login
          minItems: 1
          properties:
            login:
              type: string
              example: jerome
              minItems: 1
              description: requester login
            employeeNumber:
              type: string
              example: IAMSATHE026
              description: requester employeenumber
            displayName:
              type: string
              example: Jerome Fern
              description: requester display name
          required:
            - login
        cartItems:
          type: array
          minItems: 1
          description: >-
            This would include the beneficiary details, entityID and entityType.
            You can request for applications/entitlements/roles. You can filter
            the appropriate entity using the entityID and you can search for the
            same using the search catalog endpoint
          externalDocs:
            description: Learn more about search catalog endpoint
            url: /docs/developer/#tag/Request/operation/get-catalog
          items:
            type: object
            properties:
              beneficiaries:
                type: object
                description: >-
                  This would include the beneficiary details like - beneficiary
                  login,  account name, and requestType.
                minItems: 1
                properties:
                  login:
                    type: string
                    minItems: 1
                    example: jerome
                    description: beneficiary login
                  employeeNumber:
                    type: string
                    example: IAMSATHE026
                    description: beneficiary employeenumber
                  displayName:
                    type: string
                    example: Jerome Fern
                    description: beneficiary display name
                  accountName:
                    type: string
                    minItems: 1
                    example: jerome@gmail.com
                    description: >-
                      This is the account name or email address of the
                      beneficiary
                  form:
                    type: object
                    minItems: 1
                    description: Here you would have enter the details of the user form.
                    properties:
                      Email:
                        type: string
                        minItems: 1
                        example: jerome@gmail.com
                      First Name:
                        type: string
                        example: Jerome
                      Last Name:
                        type: string
                        example: Fern
                      Phone Number:
                        type: string
                        example: 847-547-5478
                      User Login:
                        type: string
                        minItems: 1
                        example: jerome
                  type:
                    type: string
                    description: >-
                      Request can be create, modify or revoke depending on
                      whether the request is for provisioning or de-provisioning
                      or revoking of accounts. Therefore, here you need to
                      specify the type of the request that you are submitting.
                    externalDocs:
                      description: Learn more about Access Requests
                      url: /docs/user/access_request/request_access/
                    minItems: 1
                    example: modify
                    enum:
                      - create
                      - modify
                      - revoke
              entityId:
                type: string
                minItems: 1
                example: 63af258b93ccdf675ccab0da
                description: object id of the entity
              entityType:
                type: string
                minItems: 1
                example: Role
                description: entity type of the cart item
            required:
              - entityId
              - entityType
        owner:
          type: string
          example: User/63aec79793ccdf675cc4d018
          description: owner of the cart - user login
        name:
          type: string
          example: default
          description: name of the cart
        accessToken:
          type: string
          example: 99849abbchf04khgjkg
          description: If you have an access token, you can specify this here
        archive:
          type: boolean
          example: false
          enum:
            - true
            - false
        justification:
          type: string
          description: >-
            Here you can enter the justification for the request that you are
            submitting
          example: Submitting Request for Access to AWS Application
        modifiedOn:
          type: date
          example: 2023-12-12T09
        collection:
          type: string
          example: UserCart
        _etag:
          type: object
          properties:
            oid:
              type: string
              example: 657823d2dc184400078ef1f8
    UserCart:
      title: UserCart
      type: object
      description: >-
        If you are submitting an application then the entityType should be
        application and for role it has to be role.
      properties:
        requester:
          type: object
          minItems: 1
          description: This would include the requester details like - user login
          properties:
            login:
              type: string
              example: jerome
              minItems: 1
              description: requester login
            employeeNumber:
              type: string
              example: IAMSATHE026
              description: requester employeenumber
            displayName:
              type: string
              example: Jerome Fern
              description: requester display name
          required:
            - login
        cartItems:
          type: array
          description: >-
            This would include the beneficiary details, entityID and entityType.
            You can request for applications/entitlements/roles. You can filter
            the appropriate entity using the entityID and you can search for the
            same using the search catalog endpoint
          minItems: 1
          externalDocs:
            description: Learn more about search catalog endpoint
            url: /docs/developer/#tag/Request/operation/get-catalog
          items:
            type: object
            properties:
              beneficiaries:
                type: object
                description: >-
                  This would include the beneficiary details like - beneficiary
                  login,  account name, and requestType.
                minItems: 1
                properties:
                  login:
                    type: string
                    example: jerome
                    minItems: 1
                    description: beneficiary login
                  employeeNumber:
                    type: string
                    example: IAMSATHE026
                    description: beneficiary employeenumber
                  displayName:
                    type: string
                    example: Jerome Fern
                    description: beneficiary display name
                  accountName:
                    type: string
                    description: >-
                      This is the account name or email address of the
                      beneficiary
                    example: jerome@gmail.com
                    minItems: 1
                  form:
                    type: object
                    description: Here you would have enter the details of the user form.
                    minItems: 1
                    properties:
                      Email:
                        type: string
                        example: jerome@gmail.com
                        minItems: 1
                      First Name:
                        type: string
                        example: Jerome
                      Last Name:
                        type: string
                        example: Fern
                      Phone Number:
                        type: string
                        example: 847-547-5478
                      User Login:
                        type: string
                        example: jerome
                        minItems: 1
                  type:
                    type: string
                    example: modify
                    minItems: 1
                    description: >-
                      Request can be create, modify or revoke depending on
                      whether the request is for provisioning or de-provisioning
                      or revoking of accounts. Therefore, here you need to
                      specify the type of the request that you are submitting.
                    externalDocs:
                      description: Learn more about Access Requests
                      url: /docs/user/access_request/request_access/
                    enum:
                      - create
                      - modify
                      - revoke
              entityId:
                type: string
                example: 63af258b93ccdf675ccab0da
                minItems: 1
                description: object id of the entity
              entityType:
                type: string
                example: Role
                description: entity type of the cart item
                minItems: 1
            required:
              - entityId
              - entityType
        owner:
          type: string
          example: User/63aec79793ccdf675cc4d018
          description: owner of the cart - user login
        name:
          type: string
          example: default
          description: name of the cart
    Role:
      title: Role
      description: Role entity object
      type: object
      properties:
        name:
          type: string
          description: name of the role
        displayName:
          type: string
          description: display name as visible in the catalog
        description:
          type: string
          description: short description about the role
        isRequestable:
          type: boolean
          description: specifies whether the role is requestable from the catalog
        certifiable:
          type: boolean
          description: specifies if the role is certifiable
        approvalWorkflow:
          type: string
          description: Workflow to be used for approving the role access request
        IDM:
          type: string
          description: entitlement the IDM belongs to
        searchTags:
          type: string
          description: comma separated tags used for searching in the catalog
        approver:
          type: string
          description: approver role to approve access requests for the role
        status:
          type: string
          description: status of the role
        disabled:
          type: boolean
          description: specifies whether the role is active or disabled
        category:
          type: string
          description: category of the role - used for searching the catalog
        riskLevel:
          type: string
          description: risk level of the role
        entitlements:
          type: array
          description: >-
            entitlements users are given access when role is assigned to the
            user
          items:
            type: string
            description: Syntax <TargetSystemName>~<EntitlementName>
        collectionId:
          type: string
          description: object id of the collection document
    Entitlement:
      title: Entitlement
      properties:
        name:
          type: string
          description: name of the entitlement as present in the target system
        displayName:
          type: string
          description: display name as visible in the catalog
        description:
          type: string
          description: short description about the entitlement
        isRequestable:
          type: boolean
          description: specifies whether the entitlement is requestable from the catalog
        certifiable:
          type: boolean
          description: specifies if the entitlement is certifiable
        approvalWorkflow:
          type: string
          description: Workflow to be used for approving the entitlement access request
        IDM:
          type: string
          description: entitlement the IDM belongs to
        searchTags:
          type: string
          description: comma separated tags used for searching in the catalog
        performer:
          type: string
          description: >-
            fulfillment role to manually provision the entitlement in the
            disconnected target system
        approver:
          type: string
          description: approver role to approve access requests for the entitlement
        status:
          type: string
          description: status of the entitlement
        disabled:
          type: boolean
          description: specifies whether the entitlement is active or disabled
        category:
          type: string
          description: category of the entitlement - used for searching the catalog
        riskLevel:
          type: string
          description: risk level of the entitlement
        targetSystemId:
          type: string
          description: object id of the target system which the entitlement belongs to
      description: Entitlement entity object
      type: object
    UserTask:
      title: UserTask
      type: object
      properties:
        history:
          type: array
          items:
            type: object
            properties:
              timestamp:
                type: string
                description: Date and time of the update
              perpetrator:
                type: string
                description: User/Service which triggered the update
              snapshot:
                type: object
                description: Snapshot of the task object before the update
              delta:
                type: object
                description: changes in the task object after the update
        expiryDate:
          type: string
          description: >-
            date when the task is set to expire. Actions cannot be performed
            after expiration
        updateDate:
          type: string
          description: date when the task was last modified
        createDate:
          type: string
          description: date when the task was created
        outcome:
          type: string
          description: final outcome of the task
        state:
          type: string
          description: status of the task
          enum:
            - Assigned
            - Claimed
            - Completed
            - Expired
            - Cancelled
        escalationAssignee:
          type: string
          description: >-
            Assignee of the task if the task is escalated by the default
            assignee
        form:
          type: object
          description: request form details for the task
        payload:
          type: object
          description: beneficiary, requester, entity or request details
        requestID:
          type: string
          description: Request ID of the request due to which the task was created
        possibleActions:
          type: array
          items:
            type: object
            properties:
              action:
                type: string
                description: task action name
              displayName:
                type: string
                description: task action display name(visible to end user)
        assigneeType:
          type: string
          description: specifies whether the task is assigned to user or group
          enum:
            - user
            - group
        assignee:
          type: string
          description: task assignee - User Login/ Role name
        type:
          type: string
          description: Type of the task
          enum:
            - ApprovalTask
            - FulfillmentTask
            - CertificationTask
            - ProvideInformation
        description:
          type: string
          description: description which explains why the task was created
        summary:
          type: string
          description: short summary of the task
        title:
          type: string
          description: display name for the task - visible to end user
        name:
          type: string
          description: name of the task as specified in the workflow
        comments:
          type: array
          items:
            type: object
            properties:
              comment:
                type: string
              attachmentId:
                type: string
              timestamp:
                type: string
              userLogin:
                type: string
    CreateSchemaRole:
      title: CreateSchemaRole
      type: object
      properties:
        entityType:
          description: Type of Entity
          type: string
        IDM:
          type: string
          example: IDE
        justification:
          type: string
          minItems: 1
          example: creating finance role
          description: >-
            This is the justification that you have enter for on-boarding this
            role
        requestType:
          type: string
          example: Catalog
        summary:
          type: string
          example: New Role Request - MyRole
        status:
          type: string
          example: Draft
        createDate:
          type: string
          format: date-time
          example: '2023-12-19T08:59:06.586Z'
        requester:
          type: object
          minItems: 1
          description: >-
            This is the requester object and contains the requester details such
            as login and email
          properties:
            login:
              type: string
              minItems: 1
              example: jerome
            displayName:
              type: string
              example: Jerome Fern
            email:
              type: string
              minItems: 1
              example: jerome@iamsath.com
        payload:
          type: object
          description: This is the payload object for onboarding the Role
          minItems: 1
          properties:
            role:
              type: object
              minItems: 1
              properties:
                displayName:
                  type: string
                  minItems: 1
                  description: This is name of the role
                  example: MyRole
                searchTags:
                  type: string
                  example: null
                description:
                  type: string
                  minItems: 1
                  description: This is the description for the role
                  example: MyRole Description
                roleOwnerLogin:
                  type: string
                  minItems: 1
                  description: This is the role owner login
                  example: jerome
                IDM:
                  type: string
                  example: IDE
                approvalWorkflow:
                  type: string
                  minItems: 1
                  description: This is the workflow for the role
                  example: Auto Role Approval
                approvalWorkflowDisplayName:
                  type: string
                  example: Auto Role Approval
                performer:
                  type: string
                  example: null
                riskLevel:
                  type: string
                  description: >-
                    This is the risk level for the role which can be low, med or
                    high
                  enum:
                    - high
                    - low
                    - med
                  example: high
                  default: low
                isRequestable:
                  type: boolean
                  description: >-
                    This is where you specify whether the role would be
                    requestable or not. If this is true, then the role can be
                    searched and requested access to from the search catalog
                isCertifiable:
                  type: string
                  example: 'Yes'
                reason:
                  type: string
                  example: creating finance role
                entitlements:
                  type: string
                  minimum: 1
                  description: >-
                    This is the application or entitlements that would be there
                    for the role
                  example: Docusign
                rule:
                  type: string
                  description: This is the role condition part
                  example: $and:[department:Finance]
                ruleForm:
                  type: string
                  description: This is the role condition part
                  example: >-
                    $and:[attribute:departmentcondition:equalsvalue:Financeoptions:[Finance]]
                workflowRequestFormId:
                  type: string
                  example: null
                name:
                  type: string
                  example: MyRole
            type:
              type: string
              description: >-
                This is the type of the request that you are submitting. For
                on-boarding the type is create
              minItems: 1
              example: create
        collection:
          type: string
          example: UserRequest
        resolution:
          type: string
          example: Initiated
        _id:
          type: object
          properties:
            $oid:
              type: string
              example: 65815b3afdfcc6b382c5c32c
      required:
        - justification
        - payload
        - requester
        - displayName
        - description
        - entitlements
        - type
    CreateSchemaApplication:
      title: CreateSchemaApplication
      type: object
      properties:
        entityType:
          description: Type of Entity
          type: string
        IDM:
          type: string
          example: IDE
        justification:
          type: string
          example: creating application
          minItems: 1
          description: >-
            This is the justification that you have enter for on-boarding this
            application
        requestType:
          type: string
          example: Catalog
        summary:
          type: string
          example: New Application Request - testag
        status:
          type: string
          example: Draft
        createDate:
          type: string
          format: date-time
          example: '2023-12-18T13:21:11.421Z'
        requester:
          type: object
          minItems: 1
          description: >-
            This is the requester object and contains the details of the
            requester like requester email and login
          properties:
            login:
              type: string
              minItems: 1
              example: zachary
            displayName:
              type: string
              example: Zachary Graham
            email:
              type: string
              minItems: 1
              example: zachary@iamsath.com
        payload:
          type: object
          minItems: 1
          description: >-
            This is the payload object which is used to on-board the
            application.
          properties:
            target-system:
              type: object
              properties:
                displayName:
                  type: string
                  minItems: 1
                  example: testag
                  description: This is the Application Name
                searchTags:
                  type: string
                  example: null
                description:
                  type: string
                  minItems: 1
                  example: testag
                  description: This is the Application Description
                businessOwner:
                  type: string
                  example: jerome
                  minItems: 1
                  description: This is the Business owner of the application
                ITOwner:
                  type: string
                  minItems: 1
                  example: jerome
                  description: This is the IT Owner of the application
                IDM:
                  type: string
                  example: IDE
                integrationLevel:
                  type: string
                  minItems: 1
                  example: Disconnected
                  description: >-
                    This is the integration level for the application. This can
                    be either disconnected or connected.
                  enum:
                    - Connected
                    - Disconnected
                connectorURL:
                  type: string
                  description: >-
                    This is the connector URL for the connected application that
                    you are going to on-board. This is valid for only
                    on-boarding connected applications.
                  example: null
                connectorCredentials:
                  description: >-
                    This is the connector credentials for the connected
                    application that you are going to on-board. This is valid
                    for only on-boarding connected applications.
                  type: string
                  example: null
                authenticationType:
                  description: >-
                    This is the authentication type for the connected
                    application that you are going to on-board. This is valid
                    for only on-boarding connected applications.
                  type: string
                  example: null
                trustedReconciliation:
                  type: boolean
                  example: true
                  description: >-
                    If you consider the target system as your source of truth,
                    then you can mention trustedReconciliation as true otherwise
                    it is false.
                  enum:
                    - true
                    - false
                reconciliationSchedule:
                  type: string
                  example: null
                approvalWorkflow:
                  type: string
                  example: Auto Approval
                applicationURL:
                  type: string
                  example: null
                approvalWorkflowDisplayName:
                  type: string
                  minItems: 1
                  example: Auto Approval
                  description: >-
                    This is the workflow of the application that would be
                    triggered when the application is requested from the search
                    catalog
                performer:
                  type: string
                  example: Access Manager
                  description: >-
                    This is the Fulfiller. This is applicable only in case of
                    on-boarding of disconnected application
                riskLevel:
                  type: string
                  description: >-
                    This is the risk level of the application of the application
                    that you are on-boarding
                  example: low
                  enum:
                    - low
                    - medium
                    - high
                isRequestable:
                  type: boolean
                  description: >-
                    If you want to make the application that you are on-boarding
                    as requestable which means other users can search and
                    request access to this application then you can set this to
                    True, otherwise it is false
                  example: true
                isCertifiable:
                  type: string
                  example: null
                reason:
                  type: string
                  example: creating application
                form:
                  type: object
                  minItems: 1
                  description: >-
                    This is the form object which contains the attributes of the
                    application
                  properties:
                    '0':
                      type: object
                      properties:
                        dataType:
                          type: string
                          example: datetime
                        isAccountName:
                          type: boolean
                        isMultiValue:
                          type: boolean
                        isReconKey:
                          type: boolean
                        isRequired:
                          type: boolean
                        isVisible:
                          type: boolean
                        isDisabled:
                          type: boolean
                        matchingAttribute:
                          type: string
                          example: null
                        name:
                          type: string
                          example: accessRevokeDate
                        syncDirection:
                          type: string
                          example: no-sync
                    '1':
                      type: object
                      properties:
                        name:
                          type: string
                          example: User Login
                        dataType:
                          type: string
                          example: string
                        syncDirection:
                          type: string
                          example: no-sync
                        matchingAttribute:
                          type: string
                          example: login
                        isRequired:
                          type: boolean
                        isReconKey:
                          type: boolean
                        isAccountName:
                          type: boolean
                        isMultiValue:
                          type: boolean
                        isVisible:
                          type: boolean
                        isDisabled:
                          type: boolean
                schedule:
                  type: object
                  properties:
                    repeat:
                      type: string
                      example: Do not repeat
                reconScheduleEndDate:
                  type: string
                  example: null
                entitlements:
                  type: object
                  minItems: 1
                  description: >-
                    This is the Entitlement object and contains all the
                    entitlements of the target system application that you are
                    onboarding
                  properties:
                    displayName:
                      type: string
                      example: testUser
                    name:
                      type: string
                      example: testUser
                    searchTags:
                      type: string
                      example: null
                    isCertifiable:
                      type: string
                      example: null
                    description:
                      type: string
                      example: this is test ent
                    type:
                      type: string
                      example: null
                    approvalWorkflow:
                      type: string
                      example: Auto Approval
                    approvalWorkflowDisplayName:
                      type: string
                      example: Auto Approval
                    performer:
                      type: string
                      example: Access Manager
                    riskLevel:
                      type: string
                      example: low
                    isRequestable:
                      type: boolean
                    form:
                      type: object
                      properties:
                        name:
                          type: string
                          example: accessRevokeDate
                        description:
                          type: string
                          example: null
                        dataType:
                          type: string
                          example: datetime
                        required:
                          type: boolean
                        options:
                          type: string
                          example: null
                logoURL:
                  type: string
                  example: null
                connectionCredentials:
                  type: string
                  example: null
                connectorUserName:
                  type: string
                  example: null
                connectorPassword:
                  type: string
                  example: null
                requestFormName:
                  type: string
                  example: null
                requestFormId:
                  type: string
                  example: null
                reconSchedule:
                  type: string
                  example: null
                workflowRequestFormId:
                  type: string
                  example: null
                name:
                  type: string
                  example: testag
                entitlementChanges:
                  type: object
                  properties:
                    add:
                      type: object
                      properties:
                        displayName:
                          type: string
                          example: testUser
                        name:
                          type: string
                          example: testUser
                        searchTags:
                          type: string
                          example: null
                        isCertifiable:
                          type: string
                          example: null
                        description:
                          type: string
                          example: this is test ent
                        type:
                          type: string
                          example: null
                        approvalWorkflow:
                          type: string
                          example: Auto Approval
                        approvalWorkflowDisplayName:
                          type: string
                          example: Auto Approval
                        performer:
                          type: string
                          example: Access Manager
                        riskLevel:
                          type: string
                          example: low
                        isRequestable:
                          type: boolean
                        form:
                          type: object
                          properties:
                            name:
                              type: string
                              example: accessRevokeDate
                            description:
                              type: string
                              example: null
                            dataType:
                              type: string
                              example: datetime
                            required:
                              type: boolean
                            options:
                              type: string
                              example: null
                    update:
                      type: string
                      example: null
                    delete:
                      type: string
                      example: null
            type:
              type: string
              minItems: 1
              description: >-
                This is the type of the request that you are submitting. For
                on-boarding the type is create
              example: create
        collection:
          type: string
          example: UserRequest
        resolution:
          type: string
          example: Initiated
        _id:
          type: object
          properties:
            $oid:
              type: string
              example: 658046e3994114206f721849
      required:
        - justification
        - payload
        - requester
        - displayName
        - description
        - businessOwner
        - ITOwner
        - integrationLevel
        - approvalWorkflowDisplayName
        - form
        - entitlements
        - type
    CreateEntitySchema:
      discriminator:
        propertyName: entityType
        mapping:
          Application: '#/components/schemas/CreateSchemaApplication'
          Role: '#/components/schemas/CreateSchemaRole'
    TargetSystem:
      title: TargetSystem
      description: Target system entity object
      type: object
      properties:
        name:
          type: string
          description: name of the target system
        displayName:
          type: string
          description: display name as visible in the catalog
        description:
          type: string
          description: short description about the target system
        isRequestable:
          type: boolean
          description: specifies whether the target system is requestable from the catalog
        certifiable:
          type: boolean
          description: specifies if the target system is certifiable
        integrationLevel:
          type: string
          description: Integration level of the target system - Connected or disconnected
          enum:
            - Connected
            - Disconnected
        approvalWorkflow:
          type: string
          description: Workflow to be used for approving the target system access request
        IDM:
          type: string
          description: target system the IDM belongs to
        connectorURL:
          type: string
          description: URL for the SCIM connector in case the target system is connected
        authenticationType:
          type: string
          description: Authentication protocol used to connect to the target system
        connectedCredentials:
          type: string
          description: credentials to connect to the target system
        trustedReconciliation:
          type: boolean
          description: >-
            specifies whether a new user needs to be created when there is no
            user associated to account in target system
        reconSchedule:
          type: string
          description: reconciliation schedule for a connected target system
        searchTags:
          type: string
          description: comma separated tags used for searching in the catalog
        performer:
          type: string
          description: >-
            fulfillment role to manually provision the account in the
            disconnected target system
        approver:
          type: string
          description: approver role to approver access requests for the target system
        status:
          type: string
          description: status of the target system
        disabled:
          type: boolean
          description: specifies whether the target system is active or disabled
        category:
          type: string
          description: category of the target system - used for searching the catalog
        riskLevel:
          type: string
          description: risk level of the target system
        collectionId:
          type: string
          description: object id of the associated collection
        transform:
          type: string
        formId:
          type: string
          description: the form attribute object id
        lastReconTImeStamp:
          type: string
          format: date-time
      required:
        - name
        - isRequestable
        - IDM
        - status
        - disabled
      x-tags:
        - TargetSystem
