/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Suggested Entitlement Description * Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. * * The version of the OpenAPI document: v1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from '../configuration'; import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; import globalAxios from 'axios'; // Some imports not used depending on template conditions // @ts-ignore import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common'; import type { RequestArgs } from './base'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base'; /** * * @export * @interface ArrayInner */ export interface ArrayInner { } /** * Auto-Write Setting for SED * @export * @interface AutoWriteSetting */ export interface AutoWriteSetting { /** * Whether auto-write is currently enabled for the tenant * @type {boolean} * @memberof AutoWriteSetting */ 'enabled'?: boolean; /** * Source IDs in the allowlist. Empty array means not in allowlist mode. * @type {Array} * @memberof AutoWriteSetting */ 'includedSourceIds'?: Array | null; /** * Source IDs to exclude from auto-write. Always applied. * @type {Array} * @memberof AutoWriteSetting */ 'excludedSourceIds'?: Array | null; } /** * Patch operation for Auto-Write Setting * @export * @interface AutoWriteSettingPatch */ export interface AutoWriteSettingPatch { /** * The operation to perform. Only \"replace\" is supported. * @type {string} * @memberof AutoWriteSettingPatch */ 'op': AutoWriteSettingPatchOpEnum; /** * The field to update. Allowed values: /enabled, /includedSourceIds, /excludedSourceIds * @type {string} * @memberof AutoWriteSettingPatch */ 'path': string; /** * * @type {AutoWriteSettingPatchValue} * @memberof AutoWriteSettingPatch */ 'value': AutoWriteSettingPatchValue; } export const AutoWriteSettingPatchOpEnum = { Replace: 'replace' } as const; export type AutoWriteSettingPatchOpEnum = typeof AutoWriteSettingPatchOpEnum[keyof typeof AutoWriteSettingPatchOpEnum]; /** * @type AutoWriteSettingPatchValue * The new value for the field * @export */ export type AutoWriteSettingPatchValue = Array | boolean; /** * Auto-Write Setting response with timestamps * @export * @interface AutoWriteSettingResponse */ export interface AutoWriteSettingResponse { /** * Whether auto-write is currently enabled for the tenant * @type {boolean} * @memberof AutoWriteSettingResponse */ 'enabled'?: boolean; /** * Source IDs in the allowlist. Empty array means not in allowlist mode. * @type {Array} * @memberof AutoWriteSettingResponse */ 'includedSourceIds'?: Array | null; /** * Source IDs to exclude from auto-write. Always applied. * @type {Array} * @memberof AutoWriteSettingResponse */ 'excludedSourceIds'?: Array | null; /** * When settings were first created * @type {string} * @memberof AutoWriteSettingResponse */ 'createdAt'?: string; /** * When settings were last modified * @type {string} * @memberof AutoWriteSettingResponse */ 'updatedAt'?: string; } /** * A single item in a bulk entitlement recommendation approval request. The recordType is optional; the backend resolves the type by ID lookup when omitted. Description applies to SED items only; privilegeLevel is required for privilege items. * @export * @interface BulkApproveEntitlementRecommendationItem */ export interface BulkApproveEntitlementRecommendationItem { /** * The unique identifier of the recommendation record to approve. * @type {string} * @memberof BulkApproveEntitlementRecommendationItem */ 'id': string; /** * The type of the recommendation. When omitted, the backend resolves the type by looking up the ID. * @type {string} * @memberof BulkApproveEntitlementRecommendationItem */ 'recordType'?: BulkApproveEntitlementRecommendationItemRecordTypeEnum | null; /** * The approved description text. Required for SED-type items; ignored for privilege items. * @type {string} * @memberof BulkApproveEntitlementRecommendationItem */ 'description'?: string | null; /** * The approved privilege level. Required for privilege-type items; ignored for SED items. * @type {string} * @memberof BulkApproveEntitlementRecommendationItem */ 'privilegeLevel'?: string | null; } export const BulkApproveEntitlementRecommendationItemRecordTypeEnum = { Sed: 'SED', Privilege: 'privilege' } as const; export type BulkApproveEntitlementRecommendationItemRecordTypeEnum = typeof BulkApproveEntitlementRecommendationItemRecordTypeEnum[keyof typeof BulkApproveEntitlementRecommendationItemRecordTypeEnum]; /** * Request body for bulk-approving a set of entitlement recommendations. * @export * @interface BulkApproveEntitlementRecommendationRequest */ export interface BulkApproveEntitlementRecommendationRequest { /** * The list of recommendation items to approve. * @type {Array} * @memberof BulkApproveEntitlementRecommendationRequest */ 'items': Array; } /** * The result for a single item in a bulk entitlement recommendation approval response. * @export * @interface BulkApproveEntitlementRecommendationResult */ export interface BulkApproveEntitlementRecommendationResult { /** * The unique identifier of the processed recommendation record. * @type {string} * @memberof BulkApproveEntitlementRecommendationResult */ 'id'?: string; /** * The outcome of the approval for this item. * @type {string} * @memberof BulkApproveEntitlementRecommendationResult */ 'status'?: BulkApproveEntitlementRecommendationResultStatusEnum; /** * The reason for failure if status is FAILURE; null on success. * @type {string} * @memberof BulkApproveEntitlementRecommendationResult */ 'failedReason'?: string | null; } export const BulkApproveEntitlementRecommendationResultStatusEnum = { Success: 'SUCCESS', Failure: 'FAILURE' } as const; export type BulkApproveEntitlementRecommendationResultStatusEnum = typeof BulkApproveEntitlementRecommendationResultStatusEnum[keyof typeof BulkApproveEntitlementRecommendationResultStatusEnum]; /** * * @export * @interface CreateAutoWriteSettingsV1409Response */ export interface CreateAutoWriteSettingsV1409Response { /** * A message describing the error * @type {any} * @memberof CreateAutoWriteSettingsV1409Response */ 'errorName'?: any; /** * Description of the error * @type {any} * @memberof CreateAutoWriteSettingsV1409Response */ 'errorMessage'?: any; /** * Unique tracking id for the error. * @type {string} * @memberof CreateAutoWriteSettingsV1409Response */ 'trackingId'?: string; } /** * Request body for assigning a set of entitlement recommendations to a reviewer. * @export * @interface EntitlementRecommendationAssignRequest */ export interface EntitlementRecommendationAssignRequest { /** * The list of recommendation record IDs to assign. * @type {Array} * @memberof EntitlementRecommendationAssignRequest */ 'items': Array; /** * * @type {EntitlementRecommendationAssignee} * @memberof EntitlementRecommendationAssignRequest */ 'assignee': EntitlementRecommendationAssignee; } /** * Response body returned when entitlement recommendations are successfully queued for assignment. * @export * @interface EntitlementRecommendationAssignResult */ export interface EntitlementRecommendationAssignResult { /** * The unique identifier of the assignment batch created by this request. * @type {string} * @memberof EntitlementRecommendationAssignResult */ 'batchId'?: string; } /** * @type EntitlementRecommendationAssignee * Describes the target assignee for entitlement recommendations. * @export */ export type EntitlementRecommendationAssignee = EntitlementRecommendationAssigneeOneOf | EntitlementRecommendationAssigneeOneOf1; /** * Assign to a specific identity or governance group. The value field is required and must be the ID of the identity or governance group. * @export * @interface EntitlementRecommendationAssigneeOneOf */ export interface EntitlementRecommendationAssigneeOneOf { /** * The type of assignee. * @type {string} * @memberof EntitlementRecommendationAssigneeOneOf */ 'type': EntitlementRecommendationAssigneeOneOfTypeEnum; /** * The ID of the identity or governance group to assign to. * @type {string} * @memberof EntitlementRecommendationAssigneeOneOf */ 'value': string; } export const EntitlementRecommendationAssigneeOneOfTypeEnum = { Identity: 'IDENTITY', GovernanceGroup: 'GOVERNANCE_GROUP' } as const; export type EntitlementRecommendationAssigneeOneOfTypeEnum = typeof EntitlementRecommendationAssigneeOneOfTypeEnum[keyof typeof EntitlementRecommendationAssigneeOneOfTypeEnum]; /** * Assign to the source owner or entitlement owner role. No value field is required. * @export * @interface EntitlementRecommendationAssigneeOneOf1 */ export interface EntitlementRecommendationAssigneeOneOf1 { /** * The type of assignee. * @type {string} * @memberof EntitlementRecommendationAssigneeOneOf1 */ 'type': EntitlementRecommendationAssigneeOneOf1TypeEnum; } export const EntitlementRecommendationAssigneeOneOf1TypeEnum = { SourceOwner: 'SOURCE_OWNER', EntitlementOwner: 'ENTITLEMENT_OWNER' } as const; export type EntitlementRecommendationAssigneeOneOf1TypeEnum = typeof EntitlementRecommendationAssigneeOneOf1TypeEnum[keyof typeof EntitlementRecommendationAssigneeOneOf1TypeEnum]; /** * A unified entitlement recommendation record representing either a SED (Suggested Entitlement Description) or a privilege recommendation. * @export * @interface EntitlementRecommendationRecord */ export interface EntitlementRecommendationRecord { /** * The type of recommendation. \"SED\" indicates a suggested description recommendation; \"privilege\" indicates a privilege-level recommendation. * @type {string} * @memberof EntitlementRecommendationRecord */ 'recordType'?: EntitlementRecommendationRecordRecordTypeEnum; /** * The unique identifier for this recommendation record. * @type {string} * @memberof EntitlementRecommendationRecord */ 'id'?: string; /** * The entitlement attribute name (e.g. \"groups\"). * @type {string} * @memberof EntitlementRecommendationRecord */ 'attribute'?: string | null; /** * The human-readable display name of the entitlement. * @type {string} * @memberof EntitlementRecommendationRecord */ 'displayName'?: string | null; /** * The internal name of the entitlement. * @type {string} * @memberof EntitlementRecommendationRecord */ 'name'?: string | null; /** * The ID of the source that owns this entitlement. * @type {string} * @memberof EntitlementRecommendationRecord */ 'sourceId'?: string; /** * The display name of the source that owns this entitlement. * @type {string} * @memberof EntitlementRecommendationRecord */ 'sourceName'?: string; /** * The current review status of the recommendation. * @type {string} * @memberof EntitlementRecommendationRecord */ 'status'?: string; /** * The entitlement type (e.g. \"group\"). * @type {string} * @memberof EntitlementRecommendationRecord */ 'type'?: string | null; /** * The entitlement value or identifier. * @type {string} * @memberof EntitlementRecommendationRecord */ 'value'?: string; /** * The current description of the entitlement, if one exists. * @type {string} * @memberof EntitlementRecommendationRecord */ 'description'?: string | null; /** * The AI-generated suggested description for the entitlement (SED records only). * @type {string} * @memberof EntitlementRecommendationRecord */ 'suggestedDescription'?: string | null; /** * The current privilege level assigned to the entitlement. * @type {string} * @memberof EntitlementRecommendationRecord */ 'privilege'?: string | null; /** * The AI-suggested privilege level for the entitlement (privilege records only). * @type {string} * @memberof EntitlementRecommendationRecord */ 'suggestedPrivilege'?: string | null; /** * The ID of the identity who approved this recommendation. * @type {string} * @memberof EntitlementRecommendationRecord */ 'approvedBy'?: string | null; /** * How the recommendation was approved (e.g. \"direct\"). * @type {string} * @memberof EntitlementRecommendationRecord */ 'approvedType'?: string | null; /** * The timestamp when the recommendation was approved. * @type {string} * @memberof EntitlementRecommendationRecord */ 'approvedWhen'?: string | null; /** * The timestamp when the LLM batch that generated this recommendation was created. * @type {string} * @memberof EntitlementRecommendationRecord */ 'llmBatchCreatedAt'?: string | null; } export const EntitlementRecommendationRecordRecordTypeEnum = { Sed: 'SED', Privilege: 'privilege' } as const; export type EntitlementRecommendationRecordRecordTypeEnum = typeof EntitlementRecommendationRecordRecordTypeEnum[keyof typeof EntitlementRecommendationRecordRecordTypeEnum]; /** * * @export * @interface ErrorMessageDto */ export interface ErrorMessageDto { /** * The locale for the message text, a BCP 47 language tag. * @type {string} * @memberof ErrorMessageDto */ 'locale'?: string | null; /** * * @type {LocaleOrigin} * @memberof ErrorMessageDto */ 'localeOrigin'?: LocaleOrigin | null; /** * Actual text of the error message in the indicated locale. * @type {string} * @memberof ErrorMessageDto */ 'text'?: string; } /** * * @export * @interface ErrorResponseDto */ export interface ErrorResponseDto { /** * Fine-grained error code providing more detail of the error. * @type {string} * @memberof ErrorResponseDto */ 'detailCode'?: string; /** * Unique tracking id for the error. * @type {string} * @memberof ErrorResponseDto */ 'trackingId'?: string; /** * Generic localized reason for error * @type {Array} * @memberof ErrorResponseDto */ 'messages'?: Array; /** * Plain-text descriptive reasons to provide additional detail to the text provided in the messages field * @type {Array} * @memberof ErrorResponseDto */ 'causes'?: Array; } /** * * @export * @interface GetAutoWriteSettingsV1401Response */ export interface GetAutoWriteSettingsV1401Response { /** * A message describing the error * @type {any} * @memberof GetAutoWriteSettingsV1401Response */ 'error'?: any; } /** * * @export * @interface GetAutoWriteSettingsV1429Response */ export interface GetAutoWriteSettingsV1429Response { /** * A message describing the error * @type {any} * @memberof GetAutoWriteSettingsV1429Response */ 'message'?: any; } /** * A JSONPatch Operation as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902) * @export * @interface JsonPatchOperation */ export interface JsonPatchOperation { /** * The operation to be performed * @type {string} * @memberof JsonPatchOperation */ 'op': JsonPatchOperationOpEnum; /** * A string JSON Pointer representing the target path to an element to be affected by the operation * @type {string} * @memberof JsonPatchOperation */ 'path': string; /** * * @type {JsonPatchOperationValue} * @memberof JsonPatchOperation */ 'value'?: JsonPatchOperationValue; } export const JsonPatchOperationOpEnum = { Add: 'add', Remove: 'remove', Replace: 'replace', Move: 'move', Copy: 'copy', Test: 'test' } as const; export type JsonPatchOperationOpEnum = typeof JsonPatchOperationOpEnum[keyof typeof JsonPatchOperationOpEnum]; /** * @type JsonPatchOperationValue * The value to be used for the operation, required for \"add\" and \"replace\" operations * @export */ export type JsonPatchOperationValue = Array | boolean | number | object | string; /** * An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice. * @export * @enum {string} */ export const LocaleOrigin = { Default: 'DEFAULT', Request: 'REQUEST' } as const; export type LocaleOrigin = typeof LocaleOrigin[keyof typeof LocaleOrigin]; /** * A group of entitlement instances that share the same entitlement name and connector type, aggregated for privileged-access review. * @export * @interface PrivilegedRecommendationGroup */ export interface PrivilegedRecommendationGroup { /** * The name of the entitlement shared across all instances in this group. * @type {string} * @memberof PrivilegedRecommendationGroup */ 'entitlementName'?: string; /** * The connector type associated with all instances in this group. * @type {string} * @memberof PrivilegedRecommendationGroup */ 'connectorType'?: string; /** * A decimal string representing the confidence score of the privilege recommendation (0.0-1.0). * @type {string} * @memberof PrivilegedRecommendationGroup */ 'recommendationScore'?: string; /** * The number of organizations in which this entitlement appears as privileged. * @type {number} * @memberof PrivilegedRecommendationGroup */ 'orgCount'?: number; /** * The total number of individual entitlement instances in this group. * @type {number} * @memberof PrivilegedRecommendationGroup */ 'instanceCount'?: number; /** * The individual entitlement instances belonging to this group. * @type {Array} * @memberof PrivilegedRecommendationGroup */ 'instances'?: Array; } /** * An individual entitlement instance within a privileged recommendation group. * @export * @interface PrivilegedRecommendationInstance */ export interface PrivilegedRecommendationInstance { /** * The unique identifier for this entitlement instance. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'id'?: string; /** * The entitlement attribute name. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'attribute'?: string; /** * The ID of the source that owns this entitlement. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'sourceId'?: string; /** * The display name of the source. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'sourceName'?: string; /** * The entitlement type. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'type'?: string; /** * The entitlement value or distinguished name. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'value'?: string; /** * The current review status of this instance. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'status'?: string; /** * The currently assigned privilege level, if any. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'privilegeLevel'?: string | null; /** * The current description of the entitlement, if one exists. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'description'?: string | null; /** * The timestamp when this instance was recommended. * @type {string} * @memberof PrivilegedRecommendationInstance */ 'recommendedAt'?: string; } /** * Represents the search criteria for querying entitlements. * @export * @interface SearchCriteria */ export interface SearchCriteria { /** * A list of indices to search within. Must contain exactly one item, typically \"entitlements\". * @type {Array} * @memberof SearchCriteria */ 'indices': Array; /** * A map of filters applied to the search. Keys are filter names, and values are filter definitions. * @type {{ [key: string]: SearchCriteriaFiltersValue; }} * @memberof SearchCriteria */ 'filters'?: { [key: string]: SearchCriteriaFiltersValue; }; /** * * @type {SearchCriteriaQuery} * @memberof SearchCriteria */ 'query'?: SearchCriteriaQuery; /** * Specifies the type of query. Must be \"TEXT\" if `textQuery` is used. * @type {string} * @memberof SearchCriteria */ 'queryType'?: string; /** * * @type {SearchCriteriaTextQuery} * @memberof SearchCriteria */ 'textQuery'?: SearchCriteriaTextQuery; /** * Whether to include nested objects in the search results. * @type {boolean} * @memberof SearchCriteria */ 'includeNested'?: boolean; /** * Specifies the sorting order for the results. * @type {Array} * @memberof SearchCriteria */ 'sort'?: Array; /** * Used for pagination to fetch results after a specific point. * @type {Array} * @memberof SearchCriteria */ 'searchAfter'?: Array; } /** * * @export * @interface SearchCriteriaFiltersValue */ export interface SearchCriteriaFiltersValue { /** * The type of filter, e.g., \"TERMS\" or \"RANGE\". * @type {string} * @memberof SearchCriteriaFiltersValue */ 'type'?: string; /** * Terms to filter by (for \"TERMS\" type). * @type {Array} * @memberof SearchCriteriaFiltersValue */ 'terms'?: Array; /** * * @type {SearchCriteriaFiltersValueRange} * @memberof SearchCriteriaFiltersValue */ 'range'?: SearchCriteriaFiltersValueRange; } /** * * @export * @interface SearchCriteriaFiltersValueRange */ export interface SearchCriteriaFiltersValueRange { /** * * @type {SearchCriteriaFiltersValueRangeLower} * @memberof SearchCriteriaFiltersValueRange */ 'lower'?: SearchCriteriaFiltersValueRangeLower; /** * * @type {SearchCriteriaFiltersValueRangeUpper} * @memberof SearchCriteriaFiltersValueRange */ 'upper'?: SearchCriteriaFiltersValueRangeUpper; } /** * * @export * @interface SearchCriteriaFiltersValueRangeLower */ export interface SearchCriteriaFiltersValueRangeLower { /** * The lower bound value. * @type {string} * @memberof SearchCriteriaFiltersValueRangeLower */ 'value'?: string; /** * Whether the lower bound is inclusive. * @type {boolean} * @memberof SearchCriteriaFiltersValueRangeLower */ 'inclusive'?: boolean; } /** * * @export * @interface SearchCriteriaFiltersValueRangeUpper */ export interface SearchCriteriaFiltersValueRangeUpper { /** * The upper bound value. * @type {string} * @memberof SearchCriteriaFiltersValueRangeUpper */ 'value'?: string; /** * Whether the upper bound is inclusive. * @type {boolean} * @memberof SearchCriteriaFiltersValueRangeUpper */ 'inclusive'?: boolean; } /** * * @export * @interface SearchCriteriaQuery */ export interface SearchCriteriaQuery { /** * A structured query for advanced search. * @type {string} * @memberof SearchCriteriaQuery */ 'query'?: string; } /** * * @export * @interface SearchCriteriaTextQuery */ export interface SearchCriteriaTextQuery { /** * Terms to search for. * @type {Array} * @memberof SearchCriteriaTextQuery */ 'terms'?: Array; /** * Fields to search within. * @type {Array} * @memberof SearchCriteriaTextQuery */ 'fields'?: Array; /** * Whether to match any of the terms. * @type {boolean} * @memberof SearchCriteriaTextQuery */ 'matchAny'?: boolean; } /** * Suggested Entitlement Description * @export * @interface Sed */ export interface Sed { /** * name of the entitlement * @type {string} * @memberof Sed */ 'Name'?: string; /** * entitlement approved by * @type {string} * @memberof Sed */ 'approved_by'?: string; /** * entitlement approved type * @type {string} * @memberof Sed */ 'approved_type'?: string; /** * entitlement approved then * @type {string} * @memberof Sed */ 'approved_when'?: string; /** * entitlement attribute * @type {string} * @memberof Sed */ 'attribute'?: string; /** * description of entitlement * @type {string} * @memberof Sed */ 'description'?: string; /** * entitlement display name * @type {string} * @memberof Sed */ 'displayName'?: string; /** * sed id * @type {string} * @memberof Sed */ 'id'?: string; /** * entitlement source id * @type {string} * @memberof Sed */ 'sourceId'?: string; /** * entitlement source name * @type {string} * @memberof Sed */ 'sourceName'?: string; /** * entitlement status * @type {string} * @memberof Sed */ 'status'?: string; /** * llm suggested entitlement description * @type {string} * @memberof Sed */ 'suggestedDescription'?: string; /** * entitlement type * @type {string} * @memberof Sed */ 'type'?: string; /** * entitlement value * @type {string} * @memberof Sed */ 'value'?: string; } /** * Sed Approval Request Body * @export * @interface SedApproval */ export interface SedApproval { /** * List of SED id\'s * @type {Array} * @memberof SedApproval */ 'items'?: Array; } /** * SED Approval Status * @export * @interface SedApprovalStatus */ export interface SedApprovalStatus { /** * failed reason will be display if status is failed * @type {string} * @memberof SedApprovalStatus */ 'failedReason'?: string; /** * Sed id * @type {string} * @memberof SedApprovalStatus */ 'id'?: string; /** * SUCCESS | FAILED * @type {string} * @memberof SedApprovalStatus */ 'status'?: string; } /** * Sed Assignee * @export * @interface SedAssignee */ export interface SedAssignee { /** * Type of assignment When value is PERSONA, the value MUST be SOURCE_OWNER or ENTITLEMENT_OWNER IDENTITY SED_ASSIGNEE_IDENTITY_TYPE GROUP SED_ASSIGNEE_GROUP_TYPE SOURCE_OWNER SED_ASSIGNEE_SOURCE_OWNER_TYPE ENTITLEMENT_OWNER SED_ASSIGNEE_ENTITLEMENT_OWNER_TYPE * @type {string} * @memberof SedAssignee */ 'type': SedAssigneeTypeEnum; /** * Identity or Group identifier Empty when using source/entitlement owner personas * @type {string} * @memberof SedAssignee */ 'value'?: string; } export const SedAssigneeTypeEnum = { Identity: 'IDENTITY', Group: 'GROUP', SourceOwner: 'SOURCE_OWNER', EntitlementOwner: 'ENTITLEMENT_OWNER' } as const; export type SedAssigneeTypeEnum = typeof SedAssigneeTypeEnum[keyof typeof SedAssigneeTypeEnum]; /** * Sed Assignment * @export * @interface SedAssignment */ export interface SedAssignment { /** * * @type {SedAssignee} * @memberof SedAssignment */ 'assignee'?: SedAssignee; /** * List of SED id\'s * @type {Array} * @memberof SedAssignment */ 'items'?: Array; } /** * Sed Assignment Response * @export * @interface SedAssignmentResponse */ export interface SedAssignmentResponse { /** * BatchId that groups all the ids together * @type {string} * @memberof SedAssignmentResponse */ 'batchId'?: string; } /** * Sed Batch Record * @export * @interface SedBatchRecord */ export interface SedBatchRecord { /** * The tenant ID associated with the batch. * @type {string} * @memberof SedBatchRecord */ 'tenantId'?: string; /** * The unique ID of the batch. * @type {string} * @memberof SedBatchRecord */ 'batchId'?: string; /** * The name of the batch. * @type {string} * @memberof SedBatchRecord */ 'name'?: string | null; /** * The current state of the batch (e.g., submitted, materialized, completed). * @type {string} * @memberof SedBatchRecord */ 'processedState'?: string | null; /** * The ID of the user who requested the batch. * @type {string} * @memberof SedBatchRecord */ 'requestedBy'?: string; /** * The number of items materialized in the batch. * @type {number} * @memberof SedBatchRecord */ 'materializedCount'?: number; /** * The number of items processed in the batch. * @type {number} * @memberof SedBatchRecord */ 'processedCount'?: number; /** * The timestamp when the batch was created. * @type {string} * @memberof SedBatchRecord */ 'createdAt'?: string; /** * The timestamp when the batch was last updated. * @type {string} * @memberof SedBatchRecord */ 'updatedAt'?: string | null; } /** * Sed Batch Request * @export * @interface SedBatchRequest */ export interface SedBatchRequest { /** * list of entitlement ids * @type {Array} * @memberof SedBatchRequest */ 'entitlements'?: Array | null; /** * list of sed ids * @type {Array} * @memberof SedBatchRequest */ 'seds'?: Array | null; /** * Search criteria for the batch request. * @type {{ [key: string]: SearchCriteria; }} * @memberof SedBatchRequest */ 'searchCriteria'?: { [key: string]: SearchCriteria; } | null; } /** * Sed Batch Response * @export * @interface SedBatchResponse */ export interface SedBatchResponse { /** * BatchId that groups all the ids together * @type {string} * @memberof SedBatchResponse */ 'batchId'?: string; } /** * Sed Batch Stats * @export * @interface SedBatchStats */ export interface SedBatchStats { /** * batch complete * @type {boolean} * @memberof SedBatchStats */ 'batchComplete'?: boolean; /** * batch Id * @type {string} * @memberof SedBatchStats */ 'batchId'?: string; /** * discovered count * @type {number} * @memberof SedBatchStats */ 'discoveredCount'?: number; /** * discovery complete * @type {boolean} * @memberof SedBatchStats */ 'discoveryComplete'?: boolean; /** * processed count * @type {number} * @memberof SedBatchStats */ 'processedCount'?: number; } /** * Patch for Suggested Entitlement Description * @export * @interface SedPatch */ export interface SedPatch { /** * desired operation * @type {string} * @memberof SedPatch */ 'op'?: string; /** * field to be patched * @type {string} * @memberof SedPatch */ 'path'?: string; /** * value to replace with * @type {any} * @memberof SedPatch */ 'value'?: any; } /** * SuggestedEntitlementDescriptionApi - axios parameter creator * @export */ export const SuggestedEntitlementDescriptionApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Approve multiple entitlement recommendations in a single request. Each item in the request must include the recommendation ID and, depending on the record type, either an approved description (SED items) or an approved privilege level (privilege items). Returns a per-item result indicating success or failure. * @summary Bulk approve entitlement recommendations * @param {BulkApproveEntitlementRecommendationRequest} bulkApproveEntitlementRecommendationRequest The list of recommendation items to approve. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ approveBulkEntitlementRecommendationsV1: async (bulkApproveEntitlementRecommendationRequest: BulkApproveEntitlementRecommendationRequest, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'bulkApproveEntitlementRecommendationRequest' is not null or undefined assertParamExists('approveBulkEntitlementRecommendationsV1', 'bulkApproveEntitlementRecommendationRequest', bulkApproveEntitlementRecommendationRequest) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/entitlement-recommendations/v1/bulk-approve`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json'; if (xSailPointExperimental != null) { localVarHeaderParameter['X-SailPoint-Experimental'] = String(xSailPointExperimental); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(bulkApproveEntitlementRecommendationRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Create the initial auto-write settings for a tenant. Returns 409 Conflict if settings already exist. Use PATCH to update existing settings. * @summary Create auto-write settings for SED * @param {AutoWriteSetting} autoWriteSetting Auto-write settings to create * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAutoWriteSettingsV1: async (autoWriteSetting: AutoWriteSetting, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'autoWriteSetting' is not null or undefined assertParamExists('createAutoWriteSettingsV1', 'autoWriteSetting', autoWriteSetting) const localVarPath = `/suggested-entitlement-descriptions/v1/auto-write-settings`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(autoWriteSetting, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Get the current auto-write configuration for the tenant, including the enabled state and source include/exclude lists. * @summary Get auto-write settings for SED * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAutoWriteSettingsV1: async (axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/suggested-entitlement-descriptions/v1/auto-write-settings`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * \'Submit Sed Batch Stats Request. Submits batchId in the path param `(e.g. {batchId}/stats)`. API responses with stats of the batchId.\' * @summary Submit sed batch stats request * @param {string} batchId Batch Id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getSedBatchStatsV1: async (batchId: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'batchId' is not null or undefined assertParamExists('getSedBatchStatsV1', 'batchId', batchId) const localVarPath = `/suggested-entitlement-description-batches/v1/{batchId}/stats` .replace(`{${"batchId"}}`, encodeURIComponent(String(batchId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * List Sed Batches. API responses with Sed Batch Records * @summary List Sed Batch Record * @param {number} [offset] Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. * @param {number} [limit] Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. * @param {boolean} [count] If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). Since requesting a total count can have a performance impact, it is recommended not to send `count=true` if that value will not be used. * @param {boolean} [countOnly] If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. * @param {string} [status] Batch Status * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getSedBatchesV1: async (offset?: number, limit?: number, count?: boolean, countOnly?: boolean, status?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/suggested-entitlement-description-batches/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (countOnly !== undefined) { localVarQueryParameter['count-only'] = countOnly; } if (status !== undefined) { localVarQueryParameter['status'] = status; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Returns a list of entitlement recommendations (SED and/or privilege) that are currently awaiting review or approval. Each record includes the recommendation type, entitlement details, and any AI-generated suggestions. * @summary List pending entitlement recommendation approvals * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listPendingEntitlementRecommendationApprovalsV1: async (offset?: number, limit?: number, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/entitlement-recommendations/v1/pending-approvals`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (xSailPointExperimental != null) { localVarHeaderParameter['X-SailPoint-Experimental'] = String(xSailPointExperimental); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Returns a list of privileged entitlement recommendation groups. Each group aggregates individual entitlement instances that share the same entitlement name and connector type, along with a recommendation score and instance count. * @summary List privileged entitlement recommendations * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listPrivilegedEntitlementRecommendationsV1: async (offset?: number, limit?: number, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/privileged-recommendations/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (xSailPointExperimental != null) { localVarHeaderParameter['X-SailPoint-Experimental'] = String(xSailPointExperimental); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * List of Suggested Entitlement Descriptions (SED) SED field descriptions: **batchId**: the ID of the batch of entitlements that are submitted for description generation **displayName**: the display name of the entitlement that we are generating a description for **sourceName**: the name of the source associated with the entitlement that we are generating the description for **sourceId**: the ID of the source associated with the entitlement that we are generating the description for **status**: the status of the suggested entitlement description, valid status options: \"requested\", \"suggested\", \"not_suggested\", \"failed\", \"assigned\", \"approved\", \"denied\" **fullText**: will filter suggested entitlement description records by text found in any of the following fields: entitlement name, entitlement display name, suggested description, source name * @summary List suggested entitlement descriptions * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [filters] Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **batchId**: *eq, ne* **displayName**: *eq, ne, co* **sourceName**: *eq, ne, co* **sourceId**: *eq, ne* **status**: *eq, ne* **fullText**: *co* * @param {string} [sorters] Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **displayName, sourceName, status** * @param {boolean} [countOnly] If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. * @param {boolean} [requestedByAnyone] By default, the ListSeds API will only return items that you have requested to be generated. This option will allow you to see all items that have been requested * @param {boolean} [showPendingStatusOnly] Will limit records to items that are in \"suggested\" or \"approved\" status * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listSedsV1: async (limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, countOnly?: boolean, requestedByAnyone?: boolean, showPendingStatusOnly?: boolean, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/suggested-entitlement-descriptions/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } if (countOnly !== undefined) { localVarQueryParameter['count-only'] = countOnly; } if (requestedByAnyone !== undefined) { localVarQueryParameter['requested-by-anyone'] = requestedByAnyone; } if (showPendingStatusOnly !== undefined) { localVarQueryParameter['show-pending-status-only'] = showPendingStatusOnly; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Partially update a single entitlement recommendation record by its ID. Use this endpoint to update the status, description, or privilege level of a specific SED or privilege recommendation. * @summary Update an entitlement recommendation * @param {string} id The unique identifier of the entitlement recommendation to update. * @param {Array} jsonPatchOperation The patch operations to apply to the entitlement recommendation record. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchEntitlementRecommendationV1: async (id: string, jsonPatchOperation: Array, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('patchEntitlementRecommendationV1', 'id', id) // verify required parameter 'jsonPatchOperation' is not null or undefined assertParamExists('patchEntitlementRecommendationV1', 'jsonPatchOperation', jsonPatchOperation) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/entitlement-recommendations/v1/{id}` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; if (xSailPointExperimental != null) { localVarHeaderParameter['X-SailPoint-Experimental'] = String(xSailPointExperimental); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(jsonPatchOperation, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Patch Suggested Entitlement Description * @summary Patch suggested entitlement description * @param {string} id id is sed id * @param {Array} sedPatch Sed Patch Request * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchSedV1: async (id: string, sedPatch: Array, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('patchSedV1', 'id', id) // verify required parameter 'sedPatch' is not null or undefined assertParamExists('patchSedV1', 'sedPatch', sedPatch) const localVarPath = `/suggested-entitlement-descriptions/v1` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(sedPatch, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Assign a set of entitlement recommendation records to a reviewer. The assignee can be a specific identity, a governance group, or a role-based assignee such as source owner or entitlement owner. Returns a batch ID that can be used to track the assignment. * @summary Assign entitlement recommendations for review * @param {EntitlementRecommendationAssignRequest} entitlementRecommendationAssignRequest The recommendation IDs and the target assignee. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitEntitlementRecommendationsAssignmentV1: async (entitlementRecommendationAssignRequest: EntitlementRecommendationAssignRequest, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'entitlementRecommendationAssignRequest' is not null or undefined assertParamExists('submitEntitlementRecommendationsAssignmentV1', 'entitlementRecommendationAssignRequest', entitlementRecommendationAssignRequest) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/entitlement-recommendations/v1/assign`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json'; if (xSailPointExperimental != null) { localVarHeaderParameter['X-SailPoint-Experimental'] = String(xSailPointExperimental); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(entitlementRecommendationAssignRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Submit Bulk Approval Request for SED. Request body takes list of SED Ids. API responses with list of SED Approval Status * @summary Submit bulk approval request * @param {Array} sedApproval Sed Approval * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitSedApprovalV1: async (sedApproval: Array, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'sedApproval' is not null or undefined assertParamExists('submitSedApprovalV1', 'sedApproval', sedApproval) const localVarPath = `/suggested-entitlement-description-approvals/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(sedApproval, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Submit Assignment Request. Request body has an assignee, and list of SED Ids that are assigned to that assignee API responses with batchId that groups all approval requests together * @summary Submit sed assignment request * @param {SedAssignment} sedAssignment Sed Assignment Request * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitSedAssignmentV1: async (sedAssignment: SedAssignment, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'sedAssignment' is not null or undefined assertParamExists('submitSedAssignmentV1', 'sedAssignment', sedAssignment) const localVarPath = `/suggested-entitlement-description-assignments/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(sedAssignment, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Submit Sed Batch Request. Request body has one of the following: - a list of entitlement Ids - a list of SED Ids that user wants to have description generated by LLM. API responses with batchId that groups Ids together * @summary Submit sed batch request * @param {SedBatchRequest} [sedBatchRequest] Sed Batch Request * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitSedBatchRequestV1: async (sedBatchRequest?: SedBatchRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/suggested-entitlement-description-batches/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(sedBatchRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Partially update the auto-write settings for a tenant using JSON Patch operations. Only the \"replace\" operation is supported. Returns 404 if no settings exist yet - use POST to create them first. * @summary Update auto-write settings for SED * @param {Array} autoWriteSettingPatch Patch operations for auto-write settings * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateAutoWriteSettingsV1: async (autoWriteSettingPatch: Array, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'autoWriteSettingPatch' is not null or undefined assertParamExists('updateAutoWriteSettingsV1', 'autoWriteSettingPatch', autoWriteSettingPatch) const localVarPath = `/suggested-entitlement-descriptions/v1/auto-write-settings`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(autoWriteSettingPatch, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, } }; /** * SuggestedEntitlementDescriptionApi - functional programming interface * @export */ export const SuggestedEntitlementDescriptionApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = SuggestedEntitlementDescriptionApiAxiosParamCreator(configuration) return { /** * Approve multiple entitlement recommendations in a single request. Each item in the request must include the recommendation ID and, depending on the record type, either an approved description (SED items) or an approved privilege level (privilege items). Returns a per-item result indicating success or failure. * @summary Bulk approve entitlement recommendations * @param {BulkApproveEntitlementRecommendationRequest} bulkApproveEntitlementRecommendationRequest The list of recommendation items to approve. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async approveBulkEntitlementRecommendationsV1(bulkApproveEntitlementRecommendationRequest: BulkApproveEntitlementRecommendationRequest, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.approveBulkEntitlementRecommendationsV1(bulkApproveEntitlementRecommendationRequest, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.approveBulkEntitlementRecommendationsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Create the initial auto-write settings for a tenant. Returns 409 Conflict if settings already exist. Use PATCH to update existing settings. * @summary Create auto-write settings for SED * @param {AutoWriteSetting} autoWriteSetting Auto-write settings to create * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async createAutoWriteSettingsV1(autoWriteSetting: AutoWriteSetting, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createAutoWriteSettingsV1(autoWriteSetting, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.createAutoWriteSettingsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Get the current auto-write configuration for the tenant, including the enabled state and source include/exclude lists. * @summary Get auto-write settings for SED * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getAutoWriteSettingsV1(axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAutoWriteSettingsV1(axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.getAutoWriteSettingsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * \'Submit Sed Batch Stats Request. Submits batchId in the path param `(e.g. {batchId}/stats)`. API responses with stats of the batchId.\' * @summary Submit sed batch stats request * @param {string} batchId Batch Id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getSedBatchStatsV1(batchId: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getSedBatchStatsV1(batchId, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.getSedBatchStatsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * List Sed Batches. API responses with Sed Batch Records * @summary List Sed Batch Record * @param {number} [offset] Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. * @param {number} [limit] Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. * @param {boolean} [count] If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). Since requesting a total count can have a performance impact, it is recommended not to send `count=true` if that value will not be used. * @param {boolean} [countOnly] If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. * @param {string} [status] Batch Status * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getSedBatchesV1(offset?: number, limit?: number, count?: boolean, countOnly?: boolean, status?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.getSedBatchesV1(offset, limit, count, countOnly, status, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.getSedBatchesV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Returns a list of entitlement recommendations (SED and/or privilege) that are currently awaiting review or approval. Each record includes the recommendation type, entitlement details, and any AI-generated suggestions. * @summary List pending entitlement recommendation approvals * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listPendingEntitlementRecommendationApprovalsV1(offset?: number, limit?: number, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listPendingEntitlementRecommendationApprovalsV1(offset, limit, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.listPendingEntitlementRecommendationApprovalsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Returns a list of privileged entitlement recommendation groups. Each group aggregates individual entitlement instances that share the same entitlement name and connector type, along with a recommendation score and instance count. * @summary List privileged entitlement recommendations * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listPrivilegedEntitlementRecommendationsV1(offset?: number, limit?: number, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listPrivilegedEntitlementRecommendationsV1(offset, limit, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.listPrivilegedEntitlementRecommendationsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * List of Suggested Entitlement Descriptions (SED) SED field descriptions: **batchId**: the ID of the batch of entitlements that are submitted for description generation **displayName**: the display name of the entitlement that we are generating a description for **sourceName**: the name of the source associated with the entitlement that we are generating the description for **sourceId**: the ID of the source associated with the entitlement that we are generating the description for **status**: the status of the suggested entitlement description, valid status options: \"requested\", \"suggested\", \"not_suggested\", \"failed\", \"assigned\", \"approved\", \"denied\" **fullText**: will filter suggested entitlement description records by text found in any of the following fields: entitlement name, entitlement display name, suggested description, source name * @summary List suggested entitlement descriptions * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [filters] Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **batchId**: *eq, ne* **displayName**: *eq, ne, co* **sourceName**: *eq, ne, co* **sourceId**: *eq, ne* **status**: *eq, ne* **fullText**: *co* * @param {string} [sorters] Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **displayName, sourceName, status** * @param {boolean} [countOnly] If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. * @param {boolean} [requestedByAnyone] By default, the ListSeds API will only return items that you have requested to be generated. This option will allow you to see all items that have been requested * @param {boolean} [showPendingStatusOnly] Will limit records to items that are in \"suggested\" or \"approved\" status * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listSedsV1(limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, countOnly?: boolean, requestedByAnyone?: boolean, showPendingStatusOnly?: boolean, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listSedsV1(limit, offset, count, filters, sorters, countOnly, requestedByAnyone, showPendingStatusOnly, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.listSedsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Partially update a single entitlement recommendation record by its ID. Use this endpoint to update the status, description, or privilege level of a specific SED or privilege recommendation. * @summary Update an entitlement recommendation * @param {string} id The unique identifier of the entitlement recommendation to update. * @param {Array} jsonPatchOperation The patch operations to apply to the entitlement recommendation record. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async patchEntitlementRecommendationV1(id: string, jsonPatchOperation: Array, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.patchEntitlementRecommendationV1(id, jsonPatchOperation, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.patchEntitlementRecommendationV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Patch Suggested Entitlement Description * @summary Patch suggested entitlement description * @param {string} id id is sed id * @param {Array} sedPatch Sed Patch Request * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async patchSedV1(id: string, sedPatch: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.patchSedV1(id, sedPatch, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.patchSedV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Assign a set of entitlement recommendation records to a reviewer. The assignee can be a specific identity, a governance group, or a role-based assignee such as source owner or entitlement owner. Returns a batch ID that can be used to track the assignment. * @summary Assign entitlement recommendations for review * @param {EntitlementRecommendationAssignRequest} entitlementRecommendationAssignRequest The recommendation IDs and the target assignee. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async submitEntitlementRecommendationsAssignmentV1(entitlementRecommendationAssignRequest: EntitlementRecommendationAssignRequest, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.submitEntitlementRecommendationsAssignmentV1(entitlementRecommendationAssignRequest, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.submitEntitlementRecommendationsAssignmentV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Submit Bulk Approval Request for SED. Request body takes list of SED Ids. API responses with list of SED Approval Status * @summary Submit bulk approval request * @param {Array} sedApproval Sed Approval * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async submitSedApprovalV1(sedApproval: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.submitSedApprovalV1(sedApproval, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.submitSedApprovalV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Submit Assignment Request. Request body has an assignee, and list of SED Ids that are assigned to that assignee API responses with batchId that groups all approval requests together * @summary Submit sed assignment request * @param {SedAssignment} sedAssignment Sed Assignment Request * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async submitSedAssignmentV1(sedAssignment: SedAssignment, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.submitSedAssignmentV1(sedAssignment, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.submitSedAssignmentV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Submit Sed Batch Request. Request body has one of the following: - a list of entitlement Ids - a list of SED Ids that user wants to have description generated by LLM. API responses with batchId that groups Ids together * @summary Submit sed batch request * @param {SedBatchRequest} [sedBatchRequest] Sed Batch Request * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async submitSedBatchRequestV1(sedBatchRequest?: SedBatchRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.submitSedBatchRequestV1(sedBatchRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.submitSedBatchRequestV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Partially update the auto-write settings for a tenant using JSON Patch operations. Only the \"replace\" operation is supported. Returns 404 if no settings exist yet - use POST to create them first. * @summary Update auto-write settings for SED * @param {Array} autoWriteSettingPatch Patch operations for auto-write settings * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async updateAutoWriteSettingsV1(autoWriteSettingPatch: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateAutoWriteSettingsV1(autoWriteSettingPatch, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['SuggestedEntitlementDescriptionApi.updateAutoWriteSettingsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * SuggestedEntitlementDescriptionApi - factory interface * @export */ export const SuggestedEntitlementDescriptionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = SuggestedEntitlementDescriptionApiFp(configuration) return { /** * Approve multiple entitlement recommendations in a single request. Each item in the request must include the recommendation ID and, depending on the record type, either an approved description (SED items) or an approved privilege level (privilege items). Returns a per-item result indicating success or failure. * @summary Bulk approve entitlement recommendations * @param {SuggestedEntitlementDescriptionApiApproveBulkEntitlementRecommendationsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ approveBulkEntitlementRecommendationsV1(requestParameters: SuggestedEntitlementDescriptionApiApproveBulkEntitlementRecommendationsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.approveBulkEntitlementRecommendationsV1(requestParameters.bulkApproveEntitlementRecommendationRequest, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * Create the initial auto-write settings for a tenant. Returns 409 Conflict if settings already exist. Use PATCH to update existing settings. * @summary Create auto-write settings for SED * @param {SuggestedEntitlementDescriptionApiCreateAutoWriteSettingsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAutoWriteSettingsV1(requestParameters: SuggestedEntitlementDescriptionApiCreateAutoWriteSettingsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createAutoWriteSettingsV1(requestParameters.autoWriteSetting, axiosOptions).then((request) => request(axios, basePath)); }, /** * Get the current auto-write configuration for the tenant, including the enabled state and source include/exclude lists. * @summary Get auto-write settings for SED * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAutoWriteSettingsV1(axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getAutoWriteSettingsV1(axiosOptions).then((request) => request(axios, basePath)); }, /** * \'Submit Sed Batch Stats Request. Submits batchId in the path param `(e.g. {batchId}/stats)`. API responses with stats of the batchId.\' * @summary Submit sed batch stats request * @param {SuggestedEntitlementDescriptionApiGetSedBatchStatsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getSedBatchStatsV1(requestParameters: SuggestedEntitlementDescriptionApiGetSedBatchStatsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getSedBatchStatsV1(requestParameters.batchId, axiosOptions).then((request) => request(axios, basePath)); }, /** * List Sed Batches. API responses with Sed Batch Records * @summary List Sed Batch Record * @param {SuggestedEntitlementDescriptionApiGetSedBatchesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getSedBatchesV1(requestParameters: SuggestedEntitlementDescriptionApiGetSedBatchesV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.getSedBatchesV1(requestParameters.offset, requestParameters.limit, requestParameters.count, requestParameters.countOnly, requestParameters.status, axiosOptions).then((request) => request(axios, basePath)); }, /** * Returns a list of entitlement recommendations (SED and/or privilege) that are currently awaiting review or approval. Each record includes the recommendation type, entitlement details, and any AI-generated suggestions. * @summary List pending entitlement recommendation approvals * @param {SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listPendingEntitlementRecommendationApprovalsV1(requestParameters: SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listPendingEntitlementRecommendationApprovalsV1(requestParameters.offset, requestParameters.limit, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * Returns a list of privileged entitlement recommendation groups. Each group aggregates individual entitlement instances that share the same entitlement name and connector type, along with a recommendation score and instance count. * @summary List privileged entitlement recommendations * @param {SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listPrivilegedEntitlementRecommendationsV1(requestParameters: SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listPrivilegedEntitlementRecommendationsV1(requestParameters.offset, requestParameters.limit, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * List of Suggested Entitlement Descriptions (SED) SED field descriptions: **batchId**: the ID of the batch of entitlements that are submitted for description generation **displayName**: the display name of the entitlement that we are generating a description for **sourceName**: the name of the source associated with the entitlement that we are generating the description for **sourceId**: the ID of the source associated with the entitlement that we are generating the description for **status**: the status of the suggested entitlement description, valid status options: \"requested\", \"suggested\", \"not_suggested\", \"failed\", \"assigned\", \"approved\", \"denied\" **fullText**: will filter suggested entitlement description records by text found in any of the following fields: entitlement name, entitlement display name, suggested description, source name * @summary List suggested entitlement descriptions * @param {SuggestedEntitlementDescriptionApiListSedsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listSedsV1(requestParameters: SuggestedEntitlementDescriptionApiListSedsV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listSedsV1(requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.filters, requestParameters.sorters, requestParameters.countOnly, requestParameters.requestedByAnyone, requestParameters.showPendingStatusOnly, axiosOptions).then((request) => request(axios, basePath)); }, /** * Partially update a single entitlement recommendation record by its ID. Use this endpoint to update the status, description, or privilege level of a specific SED or privilege recommendation. * @summary Update an entitlement recommendation * @param {SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchEntitlementRecommendationV1(requestParameters: SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.patchEntitlementRecommendationV1(requestParameters.id, requestParameters.jsonPatchOperation, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * Patch Suggested Entitlement Description * @summary Patch suggested entitlement description * @param {SuggestedEntitlementDescriptionApiPatchSedV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchSedV1(requestParameters: SuggestedEntitlementDescriptionApiPatchSedV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.patchSedV1(requestParameters.id, requestParameters.sedPatch, axiosOptions).then((request) => request(axios, basePath)); }, /** * Assign a set of entitlement recommendation records to a reviewer. The assignee can be a specific identity, a governance group, or a role-based assignee such as source owner or entitlement owner. Returns a batch ID that can be used to track the assignment. * @summary Assign entitlement recommendations for review * @param {SuggestedEntitlementDescriptionApiSubmitEntitlementRecommendationsAssignmentV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitEntitlementRecommendationsAssignmentV1(requestParameters: SuggestedEntitlementDescriptionApiSubmitEntitlementRecommendationsAssignmentV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.submitEntitlementRecommendationsAssignmentV1(requestParameters.entitlementRecommendationAssignRequest, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * Submit Bulk Approval Request for SED. Request body takes list of SED Ids. API responses with list of SED Approval Status * @summary Submit bulk approval request * @param {SuggestedEntitlementDescriptionApiSubmitSedApprovalV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitSedApprovalV1(requestParameters: SuggestedEntitlementDescriptionApiSubmitSedApprovalV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.submitSedApprovalV1(requestParameters.sedApproval, axiosOptions).then((request) => request(axios, basePath)); }, /** * Submit Assignment Request. Request body has an assignee, and list of SED Ids that are assigned to that assignee API responses with batchId that groups all approval requests together * @summary Submit sed assignment request * @param {SuggestedEntitlementDescriptionApiSubmitSedAssignmentV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitSedAssignmentV1(requestParameters: SuggestedEntitlementDescriptionApiSubmitSedAssignmentV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.submitSedAssignmentV1(requestParameters.sedAssignment, axiosOptions).then((request) => request(axios, basePath)); }, /** * Submit Sed Batch Request. Request body has one of the following: - a list of entitlement Ids - a list of SED Ids that user wants to have description generated by LLM. API responses with batchId that groups Ids together * @summary Submit sed batch request * @param {SuggestedEntitlementDescriptionApiSubmitSedBatchRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitSedBatchRequestV1(requestParameters: SuggestedEntitlementDescriptionApiSubmitSedBatchRequestV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.submitSedBatchRequestV1(requestParameters.sedBatchRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * Partially update the auto-write settings for a tenant using JSON Patch operations. Only the \"replace\" operation is supported. Returns 404 if no settings exist yet - use POST to create them first. * @summary Update auto-write settings for SED * @param {SuggestedEntitlementDescriptionApiUpdateAutoWriteSettingsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateAutoWriteSettingsV1(requestParameters: SuggestedEntitlementDescriptionApiUpdateAutoWriteSettingsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateAutoWriteSettingsV1(requestParameters.autoWriteSettingPatch, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for approveBulkEntitlementRecommendationsV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiApproveBulkEntitlementRecommendationsV1Request */ export interface SuggestedEntitlementDescriptionApiApproveBulkEntitlementRecommendationsV1Request { /** * The list of recommendation items to approve. * @type {BulkApproveEntitlementRecommendationRequest} * @memberof SuggestedEntitlementDescriptionApiApproveBulkEntitlementRecommendationsV1 */ readonly bulkApproveEntitlementRecommendationRequest: BulkApproveEntitlementRecommendationRequest /** * Use this header to enable this experimental API. * @type {string} * @memberof SuggestedEntitlementDescriptionApiApproveBulkEntitlementRecommendationsV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for createAutoWriteSettingsV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiCreateAutoWriteSettingsV1Request */ export interface SuggestedEntitlementDescriptionApiCreateAutoWriteSettingsV1Request { /** * Auto-write settings to create * @type {AutoWriteSetting} * @memberof SuggestedEntitlementDescriptionApiCreateAutoWriteSettingsV1 */ readonly autoWriteSetting: AutoWriteSetting } /** * Request parameters for getSedBatchStatsV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiGetSedBatchStatsV1Request */ export interface SuggestedEntitlementDescriptionApiGetSedBatchStatsV1Request { /** * Batch Id * @type {string} * @memberof SuggestedEntitlementDescriptionApiGetSedBatchStatsV1 */ readonly batchId: string } /** * Request parameters for getSedBatchesV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiGetSedBatchesV1Request */ export interface SuggestedEntitlementDescriptionApiGetSedBatchesV1Request { /** * Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. * @type {number} * @memberof SuggestedEntitlementDescriptionApiGetSedBatchesV1 */ readonly offset?: number /** * Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. * @type {number} * @memberof SuggestedEntitlementDescriptionApiGetSedBatchesV1 */ readonly limit?: number /** * If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). Since requesting a total count can have a performance impact, it is recommended not to send `count=true` if that value will not be used. * @type {boolean} * @memberof SuggestedEntitlementDescriptionApiGetSedBatchesV1 */ readonly count?: boolean /** * If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. * @type {boolean} * @memberof SuggestedEntitlementDescriptionApiGetSedBatchesV1 */ readonly countOnly?: boolean /** * Batch Status * @type {string} * @memberof SuggestedEntitlementDescriptionApiGetSedBatchesV1 */ readonly status?: string } /** * Request parameters for listPendingEntitlementRecommendationApprovalsV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1Request */ export interface SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1Request { /** * Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1 */ readonly offset?: number /** * Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1 */ readonly limit?: number /** * Use this header to enable this experimental API. * @type {string} * @memberof SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for listPrivilegedEntitlementRecommendationsV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1Request */ export interface SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1Request { /** * Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1 */ readonly offset?: number /** * Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1 */ readonly limit?: number /** * Use this header to enable this experimental API. * @type {string} * @memberof SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for listSedsV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiListSedsV1Request */ export interface SuggestedEntitlementDescriptionApiListSedsV1Request { /** * Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof SuggestedEntitlementDescriptionApiListSedsV1 */ readonly limit?: number /** * Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof SuggestedEntitlementDescriptionApiListSedsV1 */ readonly offset?: number /** * If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {boolean} * @memberof SuggestedEntitlementDescriptionApiListSedsV1 */ readonly count?: boolean /** * Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **batchId**: *eq, ne* **displayName**: *eq, ne, co* **sourceName**: *eq, ne, co* **sourceId**: *eq, ne* **status**: *eq, ne* **fullText**: *co* * @type {string} * @memberof SuggestedEntitlementDescriptionApiListSedsV1 */ readonly filters?: string /** * Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **displayName, sourceName, status** * @type {string} * @memberof SuggestedEntitlementDescriptionApiListSedsV1 */ readonly sorters?: string /** * If `true` it will populate the `X-Total-Count` response header with the number of results that would be returned if `limit` and `offset` were ignored. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. * @type {boolean} * @memberof SuggestedEntitlementDescriptionApiListSedsV1 */ readonly countOnly?: boolean /** * By default, the ListSeds API will only return items that you have requested to be generated. This option will allow you to see all items that have been requested * @type {boolean} * @memberof SuggestedEntitlementDescriptionApiListSedsV1 */ readonly requestedByAnyone?: boolean /** * Will limit records to items that are in \"suggested\" or \"approved\" status * @type {boolean} * @memberof SuggestedEntitlementDescriptionApiListSedsV1 */ readonly showPendingStatusOnly?: boolean } /** * Request parameters for patchEntitlementRecommendationV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1Request */ export interface SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1Request { /** * The unique identifier of the entitlement recommendation to update. * @type {string} * @memberof SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1 */ readonly id: string /** * The patch operations to apply to the entitlement recommendation record. * @type {Array} * @memberof SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1 */ readonly jsonPatchOperation: Array /** * Use this header to enable this experimental API. * @type {string} * @memberof SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for patchSedV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiPatchSedV1Request */ export interface SuggestedEntitlementDescriptionApiPatchSedV1Request { /** * id is sed id * @type {string} * @memberof SuggestedEntitlementDescriptionApiPatchSedV1 */ readonly id: string /** * Sed Patch Request * @type {Array} * @memberof SuggestedEntitlementDescriptionApiPatchSedV1 */ readonly sedPatch: Array } /** * Request parameters for submitEntitlementRecommendationsAssignmentV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiSubmitEntitlementRecommendationsAssignmentV1Request */ export interface SuggestedEntitlementDescriptionApiSubmitEntitlementRecommendationsAssignmentV1Request { /** * The recommendation IDs and the target assignee. * @type {EntitlementRecommendationAssignRequest} * @memberof SuggestedEntitlementDescriptionApiSubmitEntitlementRecommendationsAssignmentV1 */ readonly entitlementRecommendationAssignRequest: EntitlementRecommendationAssignRequest /** * Use this header to enable this experimental API. * @type {string} * @memberof SuggestedEntitlementDescriptionApiSubmitEntitlementRecommendationsAssignmentV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for submitSedApprovalV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiSubmitSedApprovalV1Request */ export interface SuggestedEntitlementDescriptionApiSubmitSedApprovalV1Request { /** * Sed Approval * @type {Array} * @memberof SuggestedEntitlementDescriptionApiSubmitSedApprovalV1 */ readonly sedApproval: Array } /** * Request parameters for submitSedAssignmentV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiSubmitSedAssignmentV1Request */ export interface SuggestedEntitlementDescriptionApiSubmitSedAssignmentV1Request { /** * Sed Assignment Request * @type {SedAssignment} * @memberof SuggestedEntitlementDescriptionApiSubmitSedAssignmentV1 */ readonly sedAssignment: SedAssignment } /** * Request parameters for submitSedBatchRequestV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiSubmitSedBatchRequestV1Request */ export interface SuggestedEntitlementDescriptionApiSubmitSedBatchRequestV1Request { /** * Sed Batch Request * @type {SedBatchRequest} * @memberof SuggestedEntitlementDescriptionApiSubmitSedBatchRequestV1 */ readonly sedBatchRequest?: SedBatchRequest } /** * Request parameters for updateAutoWriteSettingsV1 operation in SuggestedEntitlementDescriptionApi. * @export * @interface SuggestedEntitlementDescriptionApiUpdateAutoWriteSettingsV1Request */ export interface SuggestedEntitlementDescriptionApiUpdateAutoWriteSettingsV1Request { /** * Patch operations for auto-write settings * @type {Array} * @memberof SuggestedEntitlementDescriptionApiUpdateAutoWriteSettingsV1 */ readonly autoWriteSettingPatch: Array } /** * SuggestedEntitlementDescriptionApi - object-oriented interface * @export * @class SuggestedEntitlementDescriptionApi * @extends {BaseAPI} */ export class SuggestedEntitlementDescriptionApi extends BaseAPI { /** * Approve multiple entitlement recommendations in a single request. Each item in the request must include the recommendation ID and, depending on the record type, either an approved description (SED items) or an approved privilege level (privilege items). Returns a per-item result indicating success or failure. * @summary Bulk approve entitlement recommendations * @param {SuggestedEntitlementDescriptionApiApproveBulkEntitlementRecommendationsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public approveBulkEntitlementRecommendationsV1(requestParameters: SuggestedEntitlementDescriptionApiApproveBulkEntitlementRecommendationsV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).approveBulkEntitlementRecommendationsV1(requestParameters.bulkApproveEntitlementRecommendationRequest, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Create the initial auto-write settings for a tenant. Returns 409 Conflict if settings already exist. Use PATCH to update existing settings. * @summary Create auto-write settings for SED * @param {SuggestedEntitlementDescriptionApiCreateAutoWriteSettingsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public createAutoWriteSettingsV1(requestParameters: SuggestedEntitlementDescriptionApiCreateAutoWriteSettingsV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).createAutoWriteSettingsV1(requestParameters.autoWriteSetting, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Get the current auto-write configuration for the tenant, including the enabled state and source include/exclude lists. * @summary Get auto-write settings for SED * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public getAutoWriteSettingsV1(axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).getAutoWriteSettingsV1(axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * \'Submit Sed Batch Stats Request. Submits batchId in the path param `(e.g. {batchId}/stats)`. API responses with stats of the batchId.\' * @summary Submit sed batch stats request * @param {SuggestedEntitlementDescriptionApiGetSedBatchStatsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public getSedBatchStatsV1(requestParameters: SuggestedEntitlementDescriptionApiGetSedBatchStatsV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).getSedBatchStatsV1(requestParameters.batchId, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * List Sed Batches. API responses with Sed Batch Records * @summary List Sed Batch Record * @param {SuggestedEntitlementDescriptionApiGetSedBatchesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public getSedBatchesV1(requestParameters: SuggestedEntitlementDescriptionApiGetSedBatchesV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).getSedBatchesV1(requestParameters.offset, requestParameters.limit, requestParameters.count, requestParameters.countOnly, requestParameters.status, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Returns a list of entitlement recommendations (SED and/or privilege) that are currently awaiting review or approval. Each record includes the recommendation type, entitlement details, and any AI-generated suggestions. * @summary List pending entitlement recommendation approvals * @param {SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public listPendingEntitlementRecommendationApprovalsV1(requestParameters: SuggestedEntitlementDescriptionApiListPendingEntitlementRecommendationApprovalsV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).listPendingEntitlementRecommendationApprovalsV1(requestParameters.offset, requestParameters.limit, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Returns a list of privileged entitlement recommendation groups. Each group aggregates individual entitlement instances that share the same entitlement name and connector type, along with a recommendation score and instance count. * @summary List privileged entitlement recommendations * @param {SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public listPrivilegedEntitlementRecommendationsV1(requestParameters: SuggestedEntitlementDescriptionApiListPrivilegedEntitlementRecommendationsV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).listPrivilegedEntitlementRecommendationsV1(requestParameters.offset, requestParameters.limit, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * List of Suggested Entitlement Descriptions (SED) SED field descriptions: **batchId**: the ID of the batch of entitlements that are submitted for description generation **displayName**: the display name of the entitlement that we are generating a description for **sourceName**: the name of the source associated with the entitlement that we are generating the description for **sourceId**: the ID of the source associated with the entitlement that we are generating the description for **status**: the status of the suggested entitlement description, valid status options: \"requested\", \"suggested\", \"not_suggested\", \"failed\", \"assigned\", \"approved\", \"denied\" **fullText**: will filter suggested entitlement description records by text found in any of the following fields: entitlement name, entitlement display name, suggested description, source name * @summary List suggested entitlement descriptions * @param {SuggestedEntitlementDescriptionApiListSedsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public listSedsV1(requestParameters: SuggestedEntitlementDescriptionApiListSedsV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).listSedsV1(requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.filters, requestParameters.sorters, requestParameters.countOnly, requestParameters.requestedByAnyone, requestParameters.showPendingStatusOnly, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Partially update a single entitlement recommendation record by its ID. Use this endpoint to update the status, description, or privilege level of a specific SED or privilege recommendation. * @summary Update an entitlement recommendation * @param {SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public patchEntitlementRecommendationV1(requestParameters: SuggestedEntitlementDescriptionApiPatchEntitlementRecommendationV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).patchEntitlementRecommendationV1(requestParameters.id, requestParameters.jsonPatchOperation, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Patch Suggested Entitlement Description * @summary Patch suggested entitlement description * @param {SuggestedEntitlementDescriptionApiPatchSedV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public patchSedV1(requestParameters: SuggestedEntitlementDescriptionApiPatchSedV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).patchSedV1(requestParameters.id, requestParameters.sedPatch, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Assign a set of entitlement recommendation records to a reviewer. The assignee can be a specific identity, a governance group, or a role-based assignee such as source owner or entitlement owner. Returns a batch ID that can be used to track the assignment. * @summary Assign entitlement recommendations for review * @param {SuggestedEntitlementDescriptionApiSubmitEntitlementRecommendationsAssignmentV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public submitEntitlementRecommendationsAssignmentV1(requestParameters: SuggestedEntitlementDescriptionApiSubmitEntitlementRecommendationsAssignmentV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).submitEntitlementRecommendationsAssignmentV1(requestParameters.entitlementRecommendationAssignRequest, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Submit Bulk Approval Request for SED. Request body takes list of SED Ids. API responses with list of SED Approval Status * @summary Submit bulk approval request * @param {SuggestedEntitlementDescriptionApiSubmitSedApprovalV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public submitSedApprovalV1(requestParameters: SuggestedEntitlementDescriptionApiSubmitSedApprovalV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).submitSedApprovalV1(requestParameters.sedApproval, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Submit Assignment Request. Request body has an assignee, and list of SED Ids that are assigned to that assignee API responses with batchId that groups all approval requests together * @summary Submit sed assignment request * @param {SuggestedEntitlementDescriptionApiSubmitSedAssignmentV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public submitSedAssignmentV1(requestParameters: SuggestedEntitlementDescriptionApiSubmitSedAssignmentV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).submitSedAssignmentV1(requestParameters.sedAssignment, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Submit Sed Batch Request. Request body has one of the following: - a list of entitlement Ids - a list of SED Ids that user wants to have description generated by LLM. API responses with batchId that groups Ids together * @summary Submit sed batch request * @param {SuggestedEntitlementDescriptionApiSubmitSedBatchRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public submitSedBatchRequestV1(requestParameters: SuggestedEntitlementDescriptionApiSubmitSedBatchRequestV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).submitSedBatchRequestV1(requestParameters.sedBatchRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Partially update the auto-write settings for a tenant using JSON Patch operations. Only the \"replace\" operation is supported. Returns 404 if no settings exist yet - use POST to create them first. * @summary Update auto-write settings for SED * @param {SuggestedEntitlementDescriptionApiUpdateAutoWriteSettingsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof SuggestedEntitlementDescriptionApi */ public updateAutoWriteSettingsV1(requestParameters: SuggestedEntitlementDescriptionApiUpdateAutoWriteSettingsV1Request, axiosOptions?: RawAxiosRequestConfig) { return SuggestedEntitlementDescriptionApiFp(this.configuration).updateAutoWriteSettingsV1(requestParameters.autoWriteSettingPatch, axiosOptions).then((request) => request(this.axios, this.basePath)); } }