get:
  operationId: getEvaluateReassignmentConfiguration
  tags:
    - Work Reassignment
  summary: Evaluate Reassignment Configuration
  description: >-
    Evaluates the Reassignment Configuration for an `Identity` to determine if work items for the specified type
    should be reassigned. If a valid Reassignment Configuration is found for the identity & work type, then a lookup
    is initiated which recursively fetches the Reassignment Configuration for the next `TargetIdentity` until no more
    results are found or a max depth of 5. That lookup trail is provided in the response and the final reassigned
    identity in the lookup list is returned as the `reassignToId` property. If no Reassignment Configuration is found
    for the specified identity & config type then the requested Identity ID will be used as the `reassignToId` value
    and the lookupTrail node will be empty.
  security:
    - oauth2: [idn:reassignment-configuration:evaluate]
  parameters:
    - in: path
      name: identityId
      required: true
      schema:
        type: string
      description: unique identity id
      example: 2c91808781a71ddb0181b9090b5c504e
    - in: path
      name: configType
      required: true
      schema:
        $ref: '../schemas/work-reassignment/ConfigTypeEnum.yaml'
      description: Reassignment work type
      example: accessRequests
    - in: query
      name: exclusionFilters
      required: false
      schema:
        type: array
        items:
          type: string
      description: >-
        Exclusion filters that disable parts of the reassignment evaluation. Possible values are listed below:
        - `SELF_REVIEW_DELEGATION`: This will exclude delegations of self-review reassignments
      example: SELF_REVIEW_DELEGATION
  responses:
    '200':
      description: Evaluated Reassignment Configuration
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '../schemas/work-reassignment/EvaluateResponse.yaml'
          examples:
            empty:
              $ref: '../schemas/work-reassignment/examples/evaluateEmpty.yaml'
            longTrail:
              $ref: '../schemas/work-reassignment/examples/evaluateLong.yaml'
            selfReview:
              $ref: '../schemas/work-reassignment/examples/evaluateSelfReview.yaml'
    '400':
      $ref: '../../v3/responses/400.yaml'
    '401':
      $ref: '../../v3/responses/401.yaml'
    '403':
      $ref: '../../v3/responses/403.yaml'
    '429':
      $ref: '../../v3/responses/429.yaml'
    '500':
      $ref: '../../v3/responses/500.yaml'