diff --git a/static/api-specs/idn/sailpoint-api.v2024.yaml b/static/api-specs/idn/sailpoint-api.v2024.yaml index 1a45ea856215..61bf8ce802d9 100644 --- a/static/api-specs/idn/sailpoint-api.v2024.yaml +++ b/static/api-specs/idn/sailpoint-api.v2024.yaml @@ -1763,6 +1763,8 @@ paths: $ref: ./v2024/paths/access-request-close.yaml /ai-access-request-recommendations: $ref: ./v2024/paths/ai-access-request-recommendations.yaml + /ai-access-request-recommendations/config: + $ref: ./v2024/paths/ai-access-request-recommendations-config.yaml /ai-access-request-recommendations/ignored-items: $ref: ./v2024/paths/ai-access-request-recommendations-ignored.yaml /ai-access-request-recommendations/requested-items: diff --git a/static/api-specs/idn/v2024/paths/ai-access-request-recommendations-config.yaml b/static/api-specs/idn/v2024/paths/ai-access-request-recommendations-config.yaml new file mode 100644 index 000000000000..289f0eac8b66 --- /dev/null +++ b/static/api-specs/idn/v2024/paths/ai-access-request-recommendations-config.yaml @@ -0,0 +1,82 @@ +get: + operationId: getAccessRequestRecommendationsConfig + tags: + - IAI Access Request Recommendations + security: + - userAuth: [ iai:configuration:read ] + x-sailpoint-userLevels: + - ORG_ADMIN + summary: Get Access Request Recommendations config + description: >- + This API returns the configurations for Access Request Recommender for the tenant. + parameters: + - name: X-SailPoint-Experimental + in: header + description: Use this header to enable this experimental API. + example: true + schema: + type: string + default: true + required: true + responses: + '200': + description: Configurations for Access Request Recommender for the tenant. + content: + application/json: + schema: + $ref: '../schemas/AccessRequestRecommendationConfigDto.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' + +put: + operationId: setAccessRequestRecommendationsConfig + tags: + - IAI Access Request Recommendations + security: + - userAuth: [ iai:configuration:update ] + x-sailpoint-userLevels: + - ORG_ADMIN + summary: Update Access Request Recommendations config + description: >- + This API updates the configurations for Access Request Recommender for the tenant. + requestBody: + description: The desired configurations for Access Request Recommender for the tenant. + required: true + content: + application/json: + schema: + $ref: '../schemas/AccessRequestRecommendationConfigDto.yaml' + parameters: + - name: X-SailPoint-Experimental + in: header + description: Use this header to enable this experimental API. + example: true + schema: + type: string + default: true + required: true + responses: + '200': + description: Successfully updated configurations for Access Request Recommender for the tenant. + content: + application/json: + schema: + $ref: '../schemas/AccessRequestRecommendationConfigDto.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' diff --git a/static/api-specs/idn/v2024/schemas/AccessRequestRecommendationConfigDto.yaml b/static/api-specs/idn/v2024/schemas/AccessRequestRecommendationConfigDto.yaml new file mode 100644 index 000000000000..d56815b048d1 --- /dev/null +++ b/static/api-specs/idn/v2024/schemas/AccessRequestRecommendationConfigDto.yaml @@ -0,0 +1,30 @@ +type: object +properties: + scoreThreshold: + type: number + format: float + description: The value that internal calculations need to exceed for recommendations to be made. + example: 0.5 + startDateAttribute: + type: string + description: Use to map an attribute name for determining identities' start date. + example: startDate + restrictionAttribute: + type: string + description: Use to only give recommendations based on this attribute. + example: location + moverAttribute: + type: string + description: Use to map an attribute name for determining whether identities are movers. + example: isMover + joinerAttribute: + type: string + description: Use to map an attribute name for determining whether identities are joiners. + example: isJoiner + useRestrictionAttribute: + type: boolean + description: Use only the attribute named in restrictionAttribute to make recommendations. + example: true + default: false +required: + - scoreThreshold