/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Access Requests * 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'; /** * Access item requester\'s identity. * @export * @interface AccessItemRequester */ export interface AccessItemRequester { /** * Access item requester\'s DTO type. * @type {string} * @memberof AccessItemRequester */ 'type'?: AccessItemRequesterTypeEnum; /** * Access item requester\'s identity ID. * @type {string} * @memberof AccessItemRequester */ 'id'?: string; /** * Access item owner\'s human-readable display name. * @type {string} * @memberof AccessItemRequester */ 'name'?: string; } export const AccessItemRequesterTypeEnum = { Identity: 'IDENTITY' } as const; export type AccessItemRequesterTypeEnum = typeof AccessItemRequesterTypeEnum[keyof typeof AccessItemRequesterTypeEnum]; /** * Identity who reviewed the access item request. * @export * @interface AccessItemReviewedBy */ export interface AccessItemReviewedBy { /** * DTO type of identity who reviewed the access item request. * @type {string} * @memberof AccessItemReviewedBy */ 'type'?: AccessItemReviewedByTypeEnum; /** * ID of identity who reviewed the access item request. * @type {string} * @memberof AccessItemReviewedBy */ 'id'?: string; /** * Human-readable display name of identity who reviewed the access item request. * @type {string} * @memberof AccessItemReviewedBy */ 'name'?: string; } export const AccessItemReviewedByTypeEnum = { Identity: 'IDENTITY' } as const; export type AccessItemReviewedByTypeEnum = typeof AccessItemReviewedByTypeEnum[keyof typeof AccessItemReviewedByTypeEnum]; /** * * @export * @interface AccessRequest */ export interface AccessRequest { /** * A list of Identity IDs for whom the Access is requested. If it\'s a Revoke request, there can only be one Identity ID. * @type {Array} * @memberof AccessRequest */ 'requestedFor': Array; /** * * @type {AccessRequestType} * @memberof AccessRequest */ 'requestType'?: AccessRequestType | null; /** * * @type {Array} * @memberof AccessRequest */ 'requestedItems': Array; /** * Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities. * @type {{ [key: string]: string; }} * @memberof AccessRequest */ 'clientMetadata'?: { [key: string]: string; }; /** * Additional submit data structure with requestedFor containing requestedItems allowing distinction for each request item and Identity. * Can only be used when \'requestedFor\' and \'requestedItems\' are not separately provided * Adds ability to specify which account the user wants the access on, in case they have multiple accounts on a source * Allows the ability to request items with different start dates * Allows the ability to request items with different remove dates * Also allows different combinations of request items and identities in the same request * Only for use in GRANT_ACCESS type requests * @type {Array} * @memberof AccessRequest */ 'requestedForWithRequestedItems'?: Array | null; } /** * * @export * @interface AccessRequestAdminItemStatus */ export interface AccessRequestAdminItemStatus { /** * ID of the access request. This is a new property as of 2025. Older access requests may not have an ID. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'id'?: string | null; /** * Human-readable display name of the item being requested. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'name'?: string | null; /** * Type of requested object. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'type'?: AccessRequestAdminItemStatusTypeEnum | null; /** * * @type {RequestedItemStatusCancelledRequestDetails} * @memberof AccessRequestAdminItemStatus */ 'cancelledRequestDetails'?: RequestedItemStatusCancelledRequestDetails; /** * List of localized error messages, if any, encountered during the approval/provisioning process. * @type {Array>} * @memberof AccessRequestAdminItemStatus */ 'errorMessages'?: Array> | null; /** * * @type {RequestedItemStatusRequestState} * @memberof AccessRequestAdminItemStatus */ 'state'?: RequestedItemStatusRequestState; /** * Approval details for each item. * @type {Array} * @memberof AccessRequestAdminItemStatus */ 'approvalDetails'?: Array; /** * Manual work items created for provisioning the item. * @type {Array} * @memberof AccessRequestAdminItemStatus */ 'manualWorkItemDetails'?: Array | null; /** * Id of associated account activity item. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'accountActivityItemId'?: string; /** * * @type {AccessRequestType} * @memberof AccessRequestAdminItemStatus */ 'requestType'?: AccessRequestType | null; /** * When the request was last modified. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'modified'?: string | null; /** * When the request was created. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'created'?: string; /** * * @type {AccessItemRequester} * @memberof AccessRequestAdminItemStatus */ 'requester'?: AccessItemRequester; /** * * @type {RequestedItemStatusRequestedFor} * @memberof AccessRequestAdminItemStatus */ 'requestedFor'?: RequestedItemStatusRequestedFor; /** * * @type {RequestedItemStatusRequesterComment} * @memberof AccessRequestAdminItemStatus */ 'requesterComment'?: RequestedItemStatusRequesterComment; /** * * @type {RequestedItemStatusSodViolationContext} * @memberof AccessRequestAdminItemStatus */ 'sodViolationContext'?: RequestedItemStatusSodViolationContext; /** * * @type {RequestedItemStatusProvisioningDetails} * @memberof AccessRequestAdminItemStatus */ 'provisioningDetails'?: RequestedItemStatusProvisioningDetails; /** * * @type {RequestedItemStatusPreApprovalTriggerDetails} * @memberof AccessRequestAdminItemStatus */ 'preApprovalTriggerDetails'?: RequestedItemStatusPreApprovalTriggerDetails; /** * A list of Phases that the Access Request has gone through in order, to help determine the status of the request. * @type {Array} * @memberof AccessRequestAdminItemStatus */ 'accessRequestPhases'?: Array | null; /** * Description associated to the requested object. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'description'?: string | null; /** * When the role access is scheduled for provisioning. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'startDate'?: string | null; /** * When the role access is scheduled for removal. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'removeDate'?: string | null; /** * True if the request can be canceled. * @type {boolean} * @memberof AccessRequestAdminItemStatus */ 'cancelable'?: boolean; /** * True if re-auth is required. * @type {boolean} * @memberof AccessRequestAdminItemStatus */ 'reauthorizationRequired'?: boolean; /** * This is the account activity id. * @type {string} * @memberof AccessRequestAdminItemStatus */ 'accessRequestId'?: string; /** * Arbitrary key-value pairs, if any were included in the corresponding access request * @type {{ [key: string]: string; }} * @memberof AccessRequestAdminItemStatus */ 'clientMetadata'?: { [key: string]: string; } | null; } export const AccessRequestAdminItemStatusTypeEnum = { AccessProfile: 'ACCESS_PROFILE', Role: 'ROLE', Entitlement: 'ENTITLEMENT' } as const; export type AccessRequestAdminItemStatusTypeEnum = typeof AccessRequestAdminItemStatusTypeEnum[keyof typeof AccessRequestAdminItemStatusTypeEnum]; /** * * @export * @interface AccessRequestConfig */ export interface AccessRequestConfig { /** * If this is true, approvals must be processed by an external system. Also, if this is true, it blocks Request Center access requests and returns an error for any user who isn\'t an org admin. * @type {boolean} * @memberof AccessRequestConfig */ 'approvalsMustBeExternal'?: boolean; /** * If this is true and the requester and reviewer are the same, the request is automatically approved. * @type {boolean} * @memberof AccessRequestConfig */ 'autoApprovalEnabled'?: boolean; /** * If this is true, reauthorization will be enforced for appropriately configured access items. Enablement of this feature is currently in a limited state. * @type {boolean} * @memberof AccessRequestConfig */ 'reauthorizationEnabled'?: boolean; /** * * @type {RequestOnBehalfOfConfig} * @memberof AccessRequestConfig */ 'requestOnBehalfOfConfig'?: RequestOnBehalfOfConfig; /** * * @type {ApprovalReminderAndEscalationConfig} * @memberof AccessRequestConfig */ 'approvalReminderAndEscalationConfig'?: ApprovalReminderAndEscalationConfig; /** * * @type {EntitlementRequestConfig} * @memberof AccessRequestConfig */ 'entitlementRequestConfig'?: EntitlementRequestConfig; } /** * * @export * @interface AccessRequestConfig2 */ export interface AccessRequestConfig2 { /** * If this is true, approvals must be processed by an external system. Also, if this is true, it blocks Request Center access requests and returns an error for any user who isn\'t an org admin. * @type {boolean} * @memberof AccessRequestConfig2 */ 'approvalsMustBeExternal'?: boolean; /** * If this is true, reauthorization will be enforced for appropriately configured access items. Enablement of this feature is currently in a limited state. * @type {boolean} * @memberof AccessRequestConfig2 */ 'reauthorizationEnabled'?: boolean; /** * * @type {RequestOnBehalfOfConfig2} * @memberof AccessRequestConfig2 */ 'requestOnBehalfOfConfig'?: RequestOnBehalfOfConfig2; /** * * @type {EntitlementRequestConfig2} * @memberof AccessRequestConfig2 */ 'entitlementRequestConfig'?: EntitlementRequestConfig2; /** * If this is true, requesters and requested-for users will be able to see the names of governance group members when a request is awaiting the group\'s approval. Up to the first 10 members of the group will be listed. * @type {boolean} * @memberof AccessRequestConfig2 */ 'govGroupVisibilityEnabled'?: boolean; } /** * * @export * @interface AccessRequestItem */ export interface AccessRequestItem { /** * The type of the item being requested. * @type {string} * @memberof AccessRequestItem */ 'type': AccessRequestItemTypeEnum; /** * ID of Role, Access Profile or Entitlement being requested. * @type {string} * @memberof AccessRequestItem */ 'id': string; /** * Comment provided by requester. * Comment is required when the request is of type Revoke Access. * @type {string} * @memberof AccessRequestItem */ 'comment'?: string; /** * Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities and /access-request-status. * @type {{ [key: string]: string; }} * @memberof AccessRequestItem */ 'clientMetadata'?: { [key: string]: string; }; /** * The date and time the role or access profile or entitlement is/will be provisioned to the specified identity. Also known as the sunrise date. * Specify a date-time in the future. * This date-time can be used to indicate date-time when access item will be provisioned on the identity account. A GRANT_ACCESS request can use startDate to specify when to schedule provisioning of access item for an identity/account & a MODIFY_ACCESS request can use startDate to change the provisioning date-time of already assigned access item. But REVOKE_ACCESS request can not have startDate field. You can change the sunrise date in requests for yourself or others you are authorized to request for. * If the startDate is in the past, then the provisioning will be processed as soon as possible, but no guarantees can be made about when the provisioning will occur. If the startDate is in the future, then the provisioning will be scheduled to occur on that date and time. If no startDate is provided, then the provisioning will be processed as soon as possible. * @type {string} * @memberof AccessRequestItem */ 'startDate'?: string; /** * The date and time the role or access profile or entitlement is no longer assigned to the specified identity. Also known as the expiration date. * Specify a date-time in the future. * The current SLA for the deprovisioning is 24 hours. * This date-time can be used to change the duration of an existing access item assignment for the specified identity. A GRANT_ACCESS request can extend duration or even remove an expiration date, and either a GRANT_ACCESS or REVOKE_ACCESS request can reduce duration or add an expiration date where one has not previously been present. You can change the expiration date in requests for yourself or others you are authorized to request for. * @type {string} * @memberof AccessRequestItem */ 'removeDate'?: string; /** * The assignmentId for a specific role assignment on the identity. This id is used to revoke that specific roleAssignment on that identity. * For use with REVOKE_ACCESS requests for roles for identities with multiple accounts on a single source. * @type {string} * @memberof AccessRequestItem */ 'assignmentId'?: string | null; /** * The unique identifier for an account on the identity, designated as the account ID attribute in the source\'s account schema. This is used to revoke a specific attributeAssignment on the identity. * For use with REVOKE_ACCESS requests for entitlements for identities with multiple accounts on a single source. * @type {string} * @memberof AccessRequestItem */ 'nativeIdentity'?: string | null; } export const AccessRequestItemTypeEnum = { AccessProfile: 'ACCESS_PROFILE', Role: 'ROLE', Entitlement: 'ENTITLEMENT' } as const; export type AccessRequestItemTypeEnum = typeof AccessRequestItemTypeEnum[keyof typeof AccessRequestItemTypeEnum]; /** * Provides additional details about this access request phase. * @export * @interface AccessRequestPhases */ export interface AccessRequestPhases { /** * The time that this phase started. * @type {string} * @memberof AccessRequestPhases */ 'started'?: string; /** * The time that this phase finished. * @type {string} * @memberof AccessRequestPhases */ 'finished'?: string | null; /** * The name of this phase. * @type {string} * @memberof AccessRequestPhases */ 'name'?: string; /** * The state of this phase. * @type {string} * @memberof AccessRequestPhases */ 'state'?: AccessRequestPhasesStateEnum; /** * The state of this phase. * @type {string} * @memberof AccessRequestPhases */ 'result'?: AccessRequestPhasesResultEnum | null; /** * A reference to another object on the RequestedItemStatus that contains more details about the phase. Note that for the Provisioning phase, this will be empty if there are no manual work items. * @type {string} * @memberof AccessRequestPhases */ 'phaseReference'?: string | null; } export const AccessRequestPhasesStateEnum = { Pending: 'PENDING', Executing: 'EXECUTING', Completed: 'COMPLETED', Cancelled: 'CANCELLED', NotExecuted: 'NOT_EXECUTED' } as const; export type AccessRequestPhasesStateEnum = typeof AccessRequestPhasesStateEnum[keyof typeof AccessRequestPhasesStateEnum]; export const AccessRequestPhasesResultEnum = { Successful: 'SUCCESSFUL', Failed: 'FAILED' } as const; export type AccessRequestPhasesResultEnum = typeof AccessRequestPhasesResultEnum[keyof typeof AccessRequestPhasesResultEnum]; /** * * @export * @interface AccessRequestResponse */ export interface AccessRequestResponse { /** * A list of new access request tracking data mapped to the values requested. * @type {Array} * @memberof AccessRequestResponse */ 'newRequests'?: Array; /** * A list of existing access request tracking data mapped to the values requested. This indicates access has already been requested for this item. * @type {Array} * @memberof AccessRequestResponse */ 'existingRequests'?: Array; } /** * * @export * @interface AccessRequestTracking */ export interface AccessRequestTracking { /** * The identity id in which the access request is for. * @type {string} * @memberof AccessRequestTracking */ 'requestedFor'?: string; /** * The details of the item requested. * @type {Array} * @memberof AccessRequestTracking */ 'requestedItemsDetails'?: Array; /** * a hash representation of the access requested, useful for longer term tracking client side. * @type {number} * @memberof AccessRequestTracking */ 'attributesHash'?: number; /** * a list of access request identifiers, generally only one will be populated, but high volume requested may result in multiple ids. * @type {Array} * @memberof AccessRequestTracking */ 'accessRequestIds'?: Array; } /** * Access request type. Defaults to GRANT_ACCESS. REVOKE_ACCESS type can only have a single Identity ID in the requestedFor field. MODIFY_ACCESS type is used for updating access expiration dates or other access modifications. * @export * @enum {string} */ export const AccessRequestType = { GrantAccess: 'GRANT_ACCESS', RevokeAccess: 'REVOKE_ACCESS', ModifyAccess: 'MODIFY_ACCESS' } as const; export type AccessRequestType = typeof AccessRequestType[keyof typeof AccessRequestType]; /** * * @export * @interface AccountInfoRef */ export interface AccountInfoRef { /** * The uuid for the account, available under the \'objectguid\' attribute * @type {string} * @memberof AccountInfoRef */ 'uuid'?: string; /** * The \'distinguishedName\' attribute for the account * @type {string} * @memberof AccountInfoRef */ 'nativeIdentity'?: string; /** * * @type {DtoType} * @memberof AccountInfoRef */ 'type'?: DtoType; /** * The account id * @type {string} * @memberof AccountInfoRef */ 'id'?: string; /** * The account display name * @type {string} * @memberof AccountInfoRef */ 'name'?: string; } /** * * @export * @interface AccountItemRef */ export interface AccountItemRef { /** * The uuid for the account, available under the \'objectguid\' attribute * @type {string} * @memberof AccountItemRef */ 'accountUuid'?: string | null; /** * The \'distinguishedName\' attribute for the account * @type {string} * @memberof AccountItemRef */ 'nativeIdentity'?: string; } /** * * @export * @interface AccountsSelectionRequest */ export interface AccountsSelectionRequest { /** * A list of Identity IDs for whom the Access is requested. * @type {Array} * @memberof AccountsSelectionRequest */ 'requestedFor': Array; /** * * @type {AccessRequestType} * @memberof AccountsSelectionRequest */ 'requestType'?: AccessRequestType | null; /** * * @type {Array} * @memberof AccountsSelectionRequest */ 'requestedItems': Array; /** * Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities. * @type {{ [key: string]: string; }} * @memberof AccountsSelectionRequest */ 'clientMetadata'?: { [key: string]: string; }; } /** * * @export * @interface AccountsSelectionResponse */ export interface AccountsSelectionResponse { /** * A list of available account selections per identity in the request, for all the requested items * @type {Array} * @memberof AccountsSelectionResponse */ 'identities'?: Array; } /** * * @export * @interface ApprovalForwardHistory */ export interface ApprovalForwardHistory { /** * Display name of approver from whom the approval was forwarded. * @type {string} * @memberof ApprovalForwardHistory */ 'oldApproverName'?: string; /** * Display name of approver to whom the approval was forwarded. * @type {string} * @memberof ApprovalForwardHistory */ 'newApproverName'?: string; /** * Comment made while forwarding. * @type {string} * @memberof ApprovalForwardHistory */ 'comment'?: string | null; /** * Time at which approval was forwarded. * @type {string} * @memberof ApprovalForwardHistory */ 'modified'?: string; /** * Display name of forwarder who forwarded the approval. * @type {string} * @memberof ApprovalForwardHistory */ 'forwarderName'?: string | null; /** * * @type {ReassignmentType} * @memberof ApprovalForwardHistory */ 'reassignmentType'?: ReassignmentType; } /** * Configuration for approval reminder and escalation behavior. Important: Modifying this object will override the sp-approval service\'s reminderConfig and escalationConfig settings. Changes made here take precedence over any configuration set directly in the sp-approval service. * @export * @interface ApprovalReminderAndEscalationConfig */ export interface ApprovalReminderAndEscalationConfig { /** * Number of days to wait before the first reminder. If no reminders are configured, then this is the number of days to wait before escalation. * @type {number} * @memberof ApprovalReminderAndEscalationConfig */ 'daysUntilEscalation'?: number | null; /** * Number of days to wait between reminder notifications. * @type {number} * @memberof ApprovalReminderAndEscalationConfig */ 'daysBetweenReminders'?: number | null; /** * Maximum number of reminder notifications to send to the reviewer before approval escalation. The maximum allowed value is 20. * @type {number} * @memberof ApprovalReminderAndEscalationConfig */ 'maxReminders'?: number | null; /** * * @type {IdentityReferenceWithNameAndEmail} * @memberof ApprovalReminderAndEscalationConfig */ 'fallbackApproverRef'?: IdentityReferenceWithNameAndEmail | null; } /** * Describes the individual or group that is responsible for an approval step. * @export * @enum {string} */ export const ApprovalScheme = { AppOwner: 'APP_OWNER', SourceOwner: 'SOURCE_OWNER', Manager: 'MANAGER', RoleOwner: 'ROLE_OWNER', AccessProfileOwner: 'ACCESS_PROFILE_OWNER', EntitlementOwner: 'ENTITLEMENT_OWNER', GovernanceGroup: 'GOVERNANCE_GROUP' } as const; export type ApprovalScheme = typeof ApprovalScheme[keyof typeof ApprovalScheme]; /** * * @export * @interface ApprovalStatusDto */ export interface ApprovalStatusDto { /** * True if the request for this item was forwarded from one owner to another. * @type {boolean} * @memberof ApprovalStatusDto */ 'forwarded'?: boolean; /** * * @type {ApprovalStatusDtoOriginalOwner} * @memberof ApprovalStatusDto */ 'originalOwner'?: ApprovalStatusDtoOriginalOwner; /** * * @type {ApprovalStatusDtoCurrentOwner} * @memberof ApprovalStatusDto */ 'currentOwner'?: ApprovalStatusDtoCurrentOwner; /** * Time at which item was modified. * @type {string} * @memberof ApprovalStatusDto */ 'modified'?: string | null; /** * * @type {ManualWorkItemState} * @memberof ApprovalStatusDto */ 'status'?: ManualWorkItemState; /** * * @type {ApprovalScheme} * @memberof ApprovalStatusDto */ 'scheme'?: ApprovalScheme; /** * If the request failed, includes any error messages that were generated. * @type {Array} * @memberof ApprovalStatusDto */ 'errorMessages'?: Array | null; /** * Comment, if any, provided by the approver. * @type {string} * @memberof ApprovalStatusDto */ 'comment'?: string | null; /** * The date the role or access profile or entitlement is no longer assigned to the specified identity. * @type {string} * @memberof ApprovalStatusDto */ 'removeDate'?: string | null; } /** * * @export * @interface ApprovalStatusDtoCurrentOwner */ export interface ApprovalStatusDtoCurrentOwner { /** * DTO type of identity who reviewed the access item request. * @type {string} * @memberof ApprovalStatusDtoCurrentOwner */ 'type'?: ApprovalStatusDtoCurrentOwnerTypeEnum; /** * ID of identity who reviewed the access item request. * @type {string} * @memberof ApprovalStatusDtoCurrentOwner */ 'id'?: string; /** * Human-readable display name of identity who reviewed the access item request. * @type {string} * @memberof ApprovalStatusDtoCurrentOwner */ 'name'?: string; } export const ApprovalStatusDtoCurrentOwnerTypeEnum = { Identity: 'IDENTITY' } as const; export type ApprovalStatusDtoCurrentOwnerTypeEnum = typeof ApprovalStatusDtoCurrentOwnerTypeEnum[keyof typeof ApprovalStatusDtoCurrentOwnerTypeEnum]; /** * Identity of orginal approval owner. * @export * @interface ApprovalStatusDtoOriginalOwner */ export interface ApprovalStatusDtoOriginalOwner { /** * DTO type of original approval owner\'s identity. * @type {string} * @memberof ApprovalStatusDtoOriginalOwner */ 'type'?: ApprovalStatusDtoOriginalOwnerTypeEnum; /** * ID of original approval owner\'s identity. * @type {string} * @memberof ApprovalStatusDtoOriginalOwner */ 'id'?: string; /** * Display name of original approval owner. * @type {string} * @memberof ApprovalStatusDtoOriginalOwner */ 'name'?: string; } export const ApprovalStatusDtoOriginalOwnerTypeEnum = { GovernanceGroup: 'GOVERNANCE_GROUP', Identity: 'IDENTITY' } as const; export type ApprovalStatusDtoOriginalOwnerTypeEnum = typeof ApprovalStatusDtoOriginalOwnerTypeEnum[keyof typeof ApprovalStatusDtoOriginalOwnerTypeEnum]; /** * Request body payload for bulk approve access request endpoint. * @export * @interface BulkApproveAccessRequest */ export interface BulkApproveAccessRequest { /** * List of approval ids to approve the pending requests * @type {Array} * @memberof BulkApproveAccessRequest */ 'approvalIds': Array; /** * Reason for approving the pending access request. * @type {string} * @memberof BulkApproveAccessRequest */ 'comment': string; } /** * Request body payload for bulk cancel access request endpoint. * @export * @interface BulkCancelAccessRequest */ export interface BulkCancelAccessRequest { /** * List of access requests ids to cancel the pending requests * @type {Array} * @memberof BulkCancelAccessRequest */ 'accessRequestIds': Array; /** * Reason for cancelling the pending access request. * @type {string} * @memberof BulkCancelAccessRequest */ 'comment': string; } /** * Request body payload for cancel access request endpoint. * @export * @interface CancelAccessRequest */ export interface CancelAccessRequest { /** * This refers to the identityRequestId. To successfully cancel an access request, you must provide the identityRequestId. * @type {string} * @memberof CancelAccessRequest */ 'accountActivityId': string; /** * Reason for cancelling the pending access request. * @type {string} * @memberof CancelAccessRequest */ 'comment': string; } /** * Provides additional details for a request that has been cancelled. * @export * @interface CancelledRequestDetails */ export interface CancelledRequestDetails { /** * Comment made by the owner when cancelling the associated request. * @type {string} * @memberof CancelledRequestDetails */ 'comment'?: string; /** * * @type {OwnerDto} * @memberof CancelledRequestDetails */ 'owner'?: OwnerDto; /** * Date comment was added by the owner when cancelling the associated request. * @type {string} * @memberof CancelledRequestDetails */ 'modified'?: string; } /** * Request body payload for close access requests endpoint. * @export * @interface CloseAccessRequest */ export interface CloseAccessRequest { /** * Access Request IDs for the requests to be closed. Accepts 1-500 Identity Request IDs per request. * @type {Array} * @memberof CloseAccessRequest */ 'accessRequestIds': Array; /** * Reason for closing the access request. Displayed under Warnings in IdentityNow. * @type {string} * @memberof CloseAccessRequest */ 'message'?: string; /** * The request\'s provisioning status. Displayed as Stage in IdentityNow. * @type {string} * @memberof CloseAccessRequest */ 'executionStatus'?: CloseAccessRequestExecutionStatusEnum; /** * The request\'s overall status. Displayed as Status in IdentityNow. * @type {string} * @memberof CloseAccessRequest */ 'completionStatus'?: CloseAccessRequestCompletionStatusEnum; } export const CloseAccessRequestExecutionStatusEnum = { Terminated: 'Terminated', Completed: 'Completed' } as const; export type CloseAccessRequestExecutionStatusEnum = typeof CloseAccessRequestExecutionStatusEnum[keyof typeof CloseAccessRequestExecutionStatusEnum]; export const CloseAccessRequestCompletionStatusEnum = { Success: 'Success', Incomplete: 'Incomplete', Failure: 'Failure' } as const; export type CloseAccessRequestCompletionStatusEnum = typeof CloseAccessRequestCompletionStatusEnum[keyof typeof CloseAccessRequestCompletionStatusEnum]; /** * * @export * @interface CommentDto */ export interface CommentDto { /** * Comment content. * @type {string} * @memberof CommentDto */ 'comment'?: string | null; /** * Date and time comment was created. * @type {string} * @memberof CommentDto */ 'created'?: string; /** * * @type {CommentDtoAuthor} * @memberof CommentDto */ 'author'?: CommentDtoAuthor; } /** * Author of the comment * @export * @interface CommentDtoAuthor */ export interface CommentDtoAuthor { /** * The type of object * @type {string} * @memberof CommentDtoAuthor */ 'type'?: CommentDtoAuthorTypeEnum; /** * The unique ID of the object * @type {string} * @memberof CommentDtoAuthor */ 'id'?: string; /** * The display name of the object * @type {string} * @memberof CommentDtoAuthor */ 'name'?: string; } export const CommentDtoAuthorTypeEnum = { Identity: 'IDENTITY' } as const; export type CommentDtoAuthorTypeEnum = typeof CommentDtoAuthorTypeEnum[keyof typeof CommentDtoAuthorTypeEnum]; /** * An enumeration of the types of DTOs supported within the IdentityNow infrastructure. * @export * @enum {string} */ export const DtoType = { AccountCorrelationConfig: 'ACCOUNT_CORRELATION_CONFIG', AccessProfile: 'ACCESS_PROFILE', AccessRequestApproval: 'ACCESS_REQUEST_APPROVAL', Account: 'ACCOUNT', Application: 'APPLICATION', Campaign: 'CAMPAIGN', CampaignFilter: 'CAMPAIGN_FILTER', Certification: 'CERTIFICATION', Cluster: 'CLUSTER', ConnectorSchema: 'CONNECTOR_SCHEMA', Entitlement: 'ENTITLEMENT', GovernanceGroup: 'GOVERNANCE_GROUP', Identity: 'IDENTITY', IdentityProfile: 'IDENTITY_PROFILE', IdentityRequest: 'IDENTITY_REQUEST', MachineIdentity: 'MACHINE_IDENTITY', LifecycleState: 'LIFECYCLE_STATE', PasswordPolicy: 'PASSWORD_POLICY', Role: 'ROLE', Rule: 'RULE', SodPolicy: 'SOD_POLICY', Source: 'SOURCE', Tag: 'TAG', TagCategory: 'TAG_CATEGORY', TaskResult: 'TASK_RESULT', ReportResult: 'REPORT_RESULT', SodViolation: 'SOD_VIOLATION', AccountActivity: 'ACCOUNT_ACTIVITY', Workgroup: 'WORKGROUP' } as const; export type DtoType = typeof DtoType[keyof typeof DtoType]; /** * * @export * @interface EntitlementAccessRequestConfig */ export interface EntitlementAccessRequestConfig { /** * Ordered list of approval steps for the access request. Empty when no approval is required. * @type {Array} * @memberof EntitlementAccessRequestConfig */ 'approvalSchemes'?: Array; /** * If the requester must provide a comment during access request. * @type {boolean} * @memberof EntitlementAccessRequestConfig */ 'requestCommentRequired'?: boolean; /** * If the reviewer must provide a comment when denying the access request. * @type {boolean} * @memberof EntitlementAccessRequestConfig */ 'denialCommentRequired'?: boolean; /** * Is Reauthorization Required * @type {boolean} * @memberof EntitlementAccessRequestConfig */ 'reauthorizationRequired'?: boolean; /** * If true, then remove date or sunset date is required in access request of the entitlement. * @type {boolean} * @memberof EntitlementAccessRequestConfig */ 'requireEndDate'?: boolean; /** * * @type {EntitlementAccessRequestConfigMaxPermittedAccessDuration} * @memberof EntitlementAccessRequestConfig */ 'maxPermittedAccessDuration'?: EntitlementAccessRequestConfigMaxPermittedAccessDuration | null; } /** * The maximum duration for which the access is permitted. * @export * @interface EntitlementAccessRequestConfigMaxPermittedAccessDuration */ export interface EntitlementAccessRequestConfigMaxPermittedAccessDuration { /** * The numeric value of the duration. * @type {number} * @memberof EntitlementAccessRequestConfigMaxPermittedAccessDuration */ 'value'?: number; /** * The time unit for the duration. * @type {string} * @memberof EntitlementAccessRequestConfigMaxPermittedAccessDuration */ 'timeUnit'?: EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum; } export const EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum = { Hours: 'HOURS', Days: 'DAYS', Weeks: 'WEEKS', Months: 'MONTHS' } as const; export type EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum = typeof EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum[keyof typeof EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum]; /** * * @export * @interface EntitlementApprovalScheme */ export interface EntitlementApprovalScheme { /** * Describes the individual or group that is responsible for an approval step. Values are as follows. **ENTITLEMENT_OWNER**: Owner of the associated Entitlement **SOURCE_OWNER**: Owner of the associated Source **MANAGER**: Manager of the Identity for whom the request is being made **GOVERNANCE_GROUP**: A Governance Group, the ID of which is specified by the **approverId** field **WORKFLOW**: A Workflow, the ID of which is specified by the **approverId** field, Workflows are exclusive to other types of approvals and License required. * @type {string} * @memberof EntitlementApprovalScheme */ 'approverType'?: EntitlementApprovalSchemeApproverTypeEnum; /** * Id of the specific approver, used only when approverType is GOVERNANCE_GROUP or WORKFLOW * @type {string} * @memberof EntitlementApprovalScheme */ 'approverId'?: string | null; } export const EntitlementApprovalSchemeApproverTypeEnum = { EntitlementOwner: 'ENTITLEMENT_OWNER', SourceOwner: 'SOURCE_OWNER', Manager: 'MANAGER', GovernanceGroup: 'GOVERNANCE_GROUP', Workflow: 'WORKFLOW' } as const; export type EntitlementApprovalSchemeApproverTypeEnum = typeof EntitlementApprovalSchemeApproverTypeEnum[keyof typeof EntitlementApprovalSchemeApproverTypeEnum]; /** * * @export * @interface EntitlementRequestConfig */ export interface EntitlementRequestConfig { /** * * @type {EntitlementAccessRequestConfig} * @memberof EntitlementRequestConfig */ 'accessRequestConfig'?: EntitlementAccessRequestConfig; /** * * @type {EntitlementRevocationRequestConfig} * @memberof EntitlementRequestConfig */ 'revocationRequestConfig'?: EntitlementRevocationRequestConfig; } /** * * @export * @interface EntitlementRequestConfig2 */ export interface EntitlementRequestConfig2 { /** * * @type {EntitlementAccessRequestConfig} * @memberof EntitlementRequestConfig2 */ 'accessRequestConfig'?: EntitlementAccessRequestConfig; /** * * @type {EntitlementRevocationRequestConfig} * @memberof EntitlementRequestConfig2 */ 'revocationRequestConfig'?: EntitlementRevocationRequestConfig; } /** * * @export * @interface EntitlementRevocationRequestConfig */ export interface EntitlementRevocationRequestConfig { /** * Ordered list of approval steps for the access request. Empty when no approval is required. * @type {Array} * @memberof EntitlementRevocationRequestConfig */ 'approvalSchemes'?: Array; } /** * A single JIT entitlement snapshot entry from the provisioning plan. * @export * @interface EntitlementStateSnapshotJitDetail */ export interface EntitlementStateSnapshotJitDetail { [key: string]: any; /** * Application id for the entitlement attribute (same as EntitlementStateSnapshot.applicationId). * @type {string} * @memberof EntitlementStateSnapshotJitDetail */ 'applicationId'?: string; /** * Account attribute name for the entitlement (EntitlementStateSnapshot.attributeName). * @type {string} * @memberof EntitlementStateSnapshotJitDetail */ 'attributeName'?: string; /** * Entitlement values for that attribute (EntitlementStateSnapshot.attributeValues). * @type {Array} * @memberof EntitlementStateSnapshotJitDetail */ 'attributeValues'?: Array; } /** * * @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 GetAccessRequestConfigV1401Response */ export interface GetAccessRequestConfigV1401Response { /** * A message describing the error * @type {any} * @memberof GetAccessRequestConfigV1401Response */ 'error'?: any; } /** * * @export * @interface GetAccessRequestConfigV1429Response */ export interface GetAccessRequestConfigV1429Response { /** * A message describing the error * @type {any} * @memberof GetAccessRequestConfigV1429Response */ 'message'?: any; } /** * * @export * @interface IdentityAccountSelections */ export interface IdentityAccountSelections { /** * Available account selections for the identity, per requested item * @type {Array} * @memberof IdentityAccountSelections */ 'requestedItems'?: Array; /** * A boolean indicating whether any account selections will be required for the user to raise an access request * @type {boolean} * @memberof IdentityAccountSelections */ 'accountsSelectionRequired'?: boolean; /** * * @type {DtoType} * @memberof IdentityAccountSelections */ 'type'?: DtoType; /** * The identity id for the user * @type {string} * @memberof IdentityAccountSelections */ 'id'?: string; /** * The name of the identity * @type {string} * @memberof IdentityAccountSelections */ 'name'?: string; } /** * * @export * @interface IdentityEntitlementDetails */ export interface IdentityEntitlementDetails { /** * Id of Identity * @type {string} * @memberof IdentityEntitlementDetails */ 'identityId'?: string; /** * * @type {IdentityEntitlementDetailsEntitlementDto} * @memberof IdentityEntitlementDetails */ 'entitlement'?: IdentityEntitlementDetailsEntitlementDto; /** * Id of Source * @type {string} * @memberof IdentityEntitlementDetails */ 'sourceId'?: string; /** * A list of account targets on the identity provisioned with the requested entitlement. * @type {Array} * @memberof IdentityEntitlementDetails */ 'accountTargets'?: Array; } /** * * @export * @interface IdentityEntitlementDetailsAccountTarget */ export interface IdentityEntitlementDetailsAccountTarget { /** * The id of account * @type {string} * @memberof IdentityEntitlementDetailsAccountTarget */ 'accountId'?: string; /** * The name of account * @type {string} * @memberof IdentityEntitlementDetailsAccountTarget */ 'accountName'?: string; /** * The UUID representation of the account if available * @type {string} * @memberof IdentityEntitlementDetailsAccountTarget */ 'accountUUID'?: string | null; /** * The id of Source * @type {string} * @memberof IdentityEntitlementDetailsAccountTarget */ 'sourceId'?: string; /** * The name of Source * @type {string} * @memberof IdentityEntitlementDetailsAccountTarget */ 'sourceName'?: string; /** * The removal date scheduled for the entitlement on the Identity * @type {string} * @memberof IdentityEntitlementDetailsAccountTarget */ 'removeDate'?: string | null; /** * The assignmentId of the entitlement on the Identity * @type {string} * @memberof IdentityEntitlementDetailsAccountTarget */ 'assignmentId'?: string | null; /** * If the entitlement can be revoked * @type {boolean} * @memberof IdentityEntitlementDetailsAccountTarget */ 'revocable'?: boolean; } /** * * @export * @interface IdentityEntitlementDetailsEntitlementDto */ export interface IdentityEntitlementDetailsEntitlementDto { /** * The entitlement id * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'id'?: string; /** * The entitlement name * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'name'?: string; /** * Time when the entitlement was last modified * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'created'?: string; /** * Time when the entitlement was last modified * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'modified'?: string; /** * The description of the entitlement * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'description'?: string | null; /** * The type of the object, will always be \"ENTITLEMENT\" * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'type'?: string; /** * The source ID * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'sourceId'?: string; /** * The source name * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'sourceName'?: string; /** * * @type {OwnerDto} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'owner'?: OwnerDto; /** * The value of the entitlement * @type {string} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'value'?: string; /** * a list of properties informing the viewer about the entitlement * @type {Array} * @memberof IdentityEntitlementDetailsEntitlementDto */ 'flags'?: Array; } /** * * @export * @interface IdentityReferenceWithNameAndEmail */ export interface IdentityReferenceWithNameAndEmail { /** * The type can only be IDENTITY. This is read-only. * @type {string} * @memberof IdentityReferenceWithNameAndEmail */ 'type'?: string; /** * Identity ID. * @type {string} * @memberof IdentityReferenceWithNameAndEmail */ 'id'?: string; /** * Identity\'s human-readable display name. This is read-only. * @type {string} * @memberof IdentityReferenceWithNameAndEmail */ 'name'?: string; /** * Identity\'s email address. This is read-only. * @type {string} * @memberof IdentityReferenceWithNameAndEmail */ 'email'?: string | null; } /** * 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]; /** * * @export * @interface ManualWorkItemDetails */ export interface ManualWorkItemDetails { /** * True if the request for this item was forwarded from one owner to another. * @type {boolean} * @memberof ManualWorkItemDetails */ 'forwarded'?: boolean; /** * * @type {ManualWorkItemDetailsOriginalOwner} * @memberof ManualWorkItemDetails */ 'originalOwner'?: ManualWorkItemDetailsOriginalOwner | null; /** * * @type {ManualWorkItemDetailsCurrentOwner} * @memberof ManualWorkItemDetails */ 'currentOwner'?: ManualWorkItemDetailsCurrentOwner | null; /** * Time at which item was modified. * @type {string} * @memberof ManualWorkItemDetails */ 'modified'?: string; /** * * @type {ManualWorkItemState} * @memberof ManualWorkItemDetails */ 'status'?: ManualWorkItemState; /** * The history of approval forward action. * @type {Array} * @memberof ManualWorkItemDetails */ 'forwardHistory'?: Array | null; } /** * Identity of current work item owner. * @export * @interface ManualWorkItemDetailsCurrentOwner */ export interface ManualWorkItemDetailsCurrentOwner { /** * DTO type of current work item owner\'s identity. * @type {string} * @memberof ManualWorkItemDetailsCurrentOwner */ 'type'?: ManualWorkItemDetailsCurrentOwnerTypeEnum; /** * ID of current work item owner\'s identity. * @type {string} * @memberof ManualWorkItemDetailsCurrentOwner */ 'id'?: string; /** * Display name of current work item owner. * @type {string} * @memberof ManualWorkItemDetailsCurrentOwner */ 'name'?: string; } export const ManualWorkItemDetailsCurrentOwnerTypeEnum = { GovernanceGroup: 'GOVERNANCE_GROUP', Identity: 'IDENTITY' } as const; export type ManualWorkItemDetailsCurrentOwnerTypeEnum = typeof ManualWorkItemDetailsCurrentOwnerTypeEnum[keyof typeof ManualWorkItemDetailsCurrentOwnerTypeEnum]; /** * Identity of original work item owner, if the work item has been forwarded. * @export * @interface ManualWorkItemDetailsOriginalOwner */ export interface ManualWorkItemDetailsOriginalOwner { /** * DTO type of original work item owner\'s identity. * @type {string} * @memberof ManualWorkItemDetailsOriginalOwner */ 'type'?: ManualWorkItemDetailsOriginalOwnerTypeEnum; /** * ID of original work item owner\'s identity. * @type {string} * @memberof ManualWorkItemDetailsOriginalOwner */ 'id'?: string; /** * Display name of original work item owner. * @type {string} * @memberof ManualWorkItemDetailsOriginalOwner */ 'name'?: string; } export const ManualWorkItemDetailsOriginalOwnerTypeEnum = { GovernanceGroup: 'GOVERNANCE_GROUP', Identity: 'IDENTITY' } as const; export type ManualWorkItemDetailsOriginalOwnerTypeEnum = typeof ManualWorkItemDetailsOriginalOwnerTypeEnum[keyof typeof ManualWorkItemDetailsOriginalOwnerTypeEnum]; /** * Indicates the state of the request processing for this item: * PENDING: The request for this item is awaiting processing. * APPROVED: The request for this item has been approved. * REJECTED: The request for this item was rejected. * EXPIRED: The request for this item expired with no action taken. * CANCELLED: The request for this item was cancelled with no user action. * ARCHIVED: The request for this item has been archived after completion. * @export * @enum {string} */ export const ManualWorkItemState = { Pending: 'PENDING', Approved: 'APPROVED', Rejected: 'REJECTED', Expired: 'EXPIRED', Cancelled: 'CANCELLED', Archived: 'ARCHIVED' } as const; export type ManualWorkItemState = typeof ManualWorkItemState[keyof typeof ManualWorkItemState]; /** * Owner\'s identity. * @export * @interface OwnerDto */ export interface OwnerDto { /** * Owner\'s DTO type. * @type {string} * @memberof OwnerDto */ 'type'?: OwnerDtoTypeEnum; /** * Owner\'s identity ID. * @type {string} * @memberof OwnerDto */ 'id'?: string; /** * Owner\'s name. * @type {string} * @memberof OwnerDto */ 'name'?: string; } export const OwnerDtoTypeEnum = { Identity: 'IDENTITY' } as const; export type OwnerDtoTypeEnum = typeof OwnerDtoTypeEnum[keyof typeof OwnerDtoTypeEnum]; /** * Provides additional details about the pre-approval trigger for this request. * @export * @interface PreApprovalTriggerDetails */ export interface PreApprovalTriggerDetails { /** * Comment left for the pre-approval decision * @type {string} * @memberof PreApprovalTriggerDetails */ 'comment'?: string; /** * The reviewer of the pre-approval decision * @type {string} * @memberof PreApprovalTriggerDetails */ 'reviewer'?: string; /** * The decision of the pre-approval trigger * @type {string} * @memberof PreApprovalTriggerDetails */ 'decision'?: PreApprovalTriggerDetailsDecisionEnum; } export const PreApprovalTriggerDetailsDecisionEnum = { Approved: 'APPROVED', Rejected: 'REJECTED' } as const; export type PreApprovalTriggerDetailsDecisionEnum = typeof PreApprovalTriggerDetailsDecisionEnum[keyof typeof PreApprovalTriggerDetailsDecisionEnum]; /** * Provides additional details about provisioning for this request. * @export * @interface ProvisioningDetails */ export interface ProvisioningDetails { /** * Ordered CSV of sub phase references to objects that contain more information about provisioning. For example, this can contain \"manualWorkItemDetails\" which indicate that there is further information in that object for this phase. * @type {string} * @memberof ProvisioningDetails */ 'orderedSubPhaseReferences'?: string; } /** * The approval reassignment type. * MANUAL_REASSIGNMENT: An approval with this reassignment type has been specifically reassigned by the approval task\'s owner, from their queue to someone else\'s. * AUTOMATIC_REASSIGNMENT: An approval with this reassignment type has been automatically reassigned from another approver\'s queue, according to that approver\'s reassignment configuration. The approver\'s reassignment configuration may be set up to automatically reassign approval tasks for a defined (or possibly open-ended) period of time. * AUTO_ESCALATION: An approval with this reassignment type has been automatically reassigned from another approver\'s queue, according to the request\'s escalation configuration. For more information about escalation configuration, refer to [Setting Global Reminders and Escalation Policies](https://documentation.sailpoint.com/saas/help/requests/config_emails.html). * SELF_REVIEW_DELEGATION: An approval with this reassignment type has been automatically reassigned by the system to prevent self-review. This helps prevent situations like a requester being tasked with approving their own request. For more information about preventing self-review, refer to [Self-review Prevention](https://documentation.sailpoint.com/saas/help/users/work_reassignment.html#self-review-prevention) and [Preventing Self-approval](https://documentation.sailpoint.com/saas/help/requests/config_ap_roles.html#preventing-self-approval). * @export * @enum {string} */ export const ReassignmentType = { ManualReassignment: 'MANUAL_REASSIGNMENT', AutomaticReassignment: 'AUTOMATIC_REASSIGNMENT', AutoEscalation: 'AUTO_ESCALATION', SelfReviewDelegation: 'SELF_REVIEW_DELEGATION' } as const; export type ReassignmentType = typeof ReassignmentType[keyof typeof ReassignmentType]; /** * * @export * @interface RequestOnBehalfOfConfig */ export interface RequestOnBehalfOfConfig { /** * If this is true, anyone can request access for anyone. * @type {boolean} * @memberof RequestOnBehalfOfConfig */ 'allowRequestOnBehalfOfAnyoneByAnyone'?: boolean; /** * If this is true, a manager can request access for his or her direct reports. * @type {boolean} * @memberof RequestOnBehalfOfConfig */ 'allowRequestOnBehalfOfEmployeeByManager'?: boolean; } /** * * @export * @interface RequestOnBehalfOfConfig2 */ export interface RequestOnBehalfOfConfig2 { /** * If this is true, anyone can request access for anyone. * @type {boolean} * @memberof RequestOnBehalfOfConfig2 */ 'allowRequestOnBehalfOfAnyoneByAnyone'?: boolean; /** * If this is true, a manager can request access for his or her direct reports. * @type {boolean} * @memberof RequestOnBehalfOfConfig2 */ 'allowRequestOnBehalfOfEmployeeByManager'?: boolean; } /** * * @export * @interface RequestedAccountRef */ export interface RequestedAccountRef { /** * Display name of the account for the user * @type {string} * @memberof RequestedAccountRef */ 'name'?: string; /** * * @type {DtoType} * @memberof RequestedAccountRef */ 'type'?: DtoType; /** * The uuid for the account * @type {string} * @memberof RequestedAccountRef */ 'accountUuid'?: string | null; /** * The native identity for the account * @type {string} * @memberof RequestedAccountRef */ 'accountId'?: string | null; /** * Display name of the source for the account * @type {string} * @memberof RequestedAccountRef */ 'sourceName'?: string; } /** * * @export * @interface RequestedForDtoRef */ export interface RequestedForDtoRef { /** * The identity id for which the access is requested * @type {string} * @memberof RequestedForDtoRef */ 'identityId': string; /** * the details for the access items that are requested for the identity * @type {Array} * @memberof RequestedForDtoRef */ 'requestedItems': Array; } /** * * @export * @interface RequestedItemAccountSelections */ export interface RequestedItemAccountSelections { /** * The description for this requested item * @type {string} * @memberof RequestedItemAccountSelections */ 'description'?: string; /** * This field indicates if account selections are not allowed for this requested item. * If true, this field indicates that account selections will not be available for this item and user combination. In this case, no account selections should be provided in the access request for this item and user combination, irrespective of whether the user has single or multiple accounts on a source. * An example is where a user is requesting an access profile that is already assigned to one of their accounts. * @type {boolean} * @memberof RequestedItemAccountSelections */ 'accountsSelectionBlocked'?: boolean; /** * If account selections are not allowed for an item, this field will denote the reason. * @type {string} * @memberof RequestedItemAccountSelections */ 'accountsSelectionBlockedReason'?: string | null; /** * The type of the item being requested. * @type {string} * @memberof RequestedItemAccountSelections */ 'type'?: RequestedItemAccountSelectionsTypeEnum; /** * The id of the requested item * @type {string} * @memberof RequestedItemAccountSelections */ 'id'?: string; /** * The name of the requested item * @type {string} * @memberof RequestedItemAccountSelections */ 'name'?: string; /** * The details for the sources and accounts for the requested item and identity combination * @type {Array} * @memberof RequestedItemAccountSelections */ 'sources'?: Array; } export const RequestedItemAccountSelectionsTypeEnum = { AccessProfile: 'ACCESS_PROFILE', Role: 'ROLE', Entitlement: 'ENTITLEMENT' } as const; export type RequestedItemAccountSelectionsTypeEnum = typeof RequestedItemAccountSelectionsTypeEnum[keyof typeof RequestedItemAccountSelectionsTypeEnum]; /** * * @export * @interface RequestedItemDetails */ export interface RequestedItemDetails { /** * The type of access item requested. * @type {string} * @memberof RequestedItemDetails */ 'type'?: RequestedItemDetailsTypeEnum; /** * The id of the access item requested. * @type {string} * @memberof RequestedItemDetails */ 'id'?: string; } export const RequestedItemDetailsTypeEnum = { AccessProfile: 'ACCESS_PROFILE', Entitlement: 'ENTITLEMENT', Role: 'ROLE' } as const; export type RequestedItemDetailsTypeEnum = typeof RequestedItemDetailsTypeEnum[keyof typeof RequestedItemDetailsTypeEnum]; /** * * @export * @interface RequestedItemDtoRef */ export interface RequestedItemDtoRef { /** * The type of the item being requested. * @type {string} * @memberof RequestedItemDtoRef */ 'type': RequestedItemDtoRefTypeEnum; /** * ID of Role, Access Profile or Entitlement being requested. * @type {string} * @memberof RequestedItemDtoRef */ 'id': string; /** * Comment provided by requester. * Comment is required when the request is of type Revoke Access. * @type {string} * @memberof RequestedItemDtoRef */ 'comment'?: string; /** * Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities and /access-request-status. * @type {{ [key: string]: string; }} * @memberof RequestedItemDtoRef */ 'clientMetadata'?: { [key: string]: string; }; /** * The date and time the role or access profile or entitlement is/will be provisioned to the specified identity. Also known as the sunrise date. * Specify a date-time in the future. * This date-time can be used to indicate date-time when access item will be provisioned on the identity account. A GRANT_ACCESS request can use startDate to specify when to schedule provisioning of access item for an identity/account & a MODIFY_ACCESS request can use startDate to change the provisioning date-time of already assigned access item. But REVOKE_ACCESS request can not have startDate field. You can change the sunrise date in requests for yourself or others you are authorized to request for. * If the startDate is in the past, then the provisioning will be processed as soon as possible, but no guarantees can be made about when the provisioning will occur. If the startDate is in the future, then the provisioning will be scheduled to occur on that date and time. If no startDate is provided, then the provisioning will be processed as soon as possible. * @type {string} * @memberof RequestedItemDtoRef */ 'startDate'?: string; /** * The date and time the role or access profile or entitlement is no longer assigned to the specified identity. Also known as the expiration date. * Specify a date-time in the future. * The current SLA for the deprovisioning is 24 hours. * This date-time can be used to change the duration of an existing access item assignment for the specified identity. A GRANT_ACCESS request can extend duration or even remove an expiration date, and either a GRANT_ACCESS or REVOKE_ACCESS request can reduce duration or add an expiration date where one has not previously been present. You can change the expiration date in requests for yourself or others you are authorized to request for. * @type {string} * @memberof RequestedItemDtoRef */ 'removeDate'?: string; /** * The accounts where the access item will be provisioned to * Includes selections performed by the user in the event of multiple accounts existing on the same source * Also includes details for sources where user only has one account * @type {Array} * @memberof RequestedItemDtoRef */ 'accountSelection'?: Array | null; } export const RequestedItemDtoRefTypeEnum = { AccessProfile: 'ACCESS_PROFILE', Role: 'ROLE', Entitlement: 'ENTITLEMENT' } as const; export type RequestedItemDtoRefTypeEnum = typeof RequestedItemDtoRefTypeEnum[keyof typeof RequestedItemDtoRefTypeEnum]; /** * * @export * @interface RequestedItemStatus */ export interface RequestedItemStatus { /** * The ID of the access request. As of 2025, this is a new property. Older access requests might not have an ID. * @type {string} * @memberof RequestedItemStatus */ 'id'?: string | null; /** * Human-readable display name of the item being requested. * @type {string} * @memberof RequestedItemStatus */ 'name'?: string | null; /** * Type of requested object. * @type {string} * @memberof RequestedItemStatus */ 'type'?: RequestedItemStatusTypeEnum | null; /** * * @type {RequestedItemStatusCancelledRequestDetails} * @memberof RequestedItemStatus */ 'cancelledRequestDetails'?: RequestedItemStatusCancelledRequestDetails; /** * List of list of localized error messages, if any, encountered during the approval/provisioning process. * @type {Array>} * @memberof RequestedItemStatus */ 'errorMessages'?: Array> | null; /** * * @type {RequestedItemStatusRequestState} * @memberof RequestedItemStatus */ 'state'?: RequestedItemStatusRequestState; /** * Approval details for each item. * @type {Array} * @memberof RequestedItemStatus */ 'approvalDetails'?: Array; /** * List of approval IDs associated with the request. * @type {Array} * @memberof RequestedItemStatus */ 'approvalIds'?: Array | null; /** * Manual work items created for provisioning the item. * @type {Array} * @memberof RequestedItemStatus */ 'manualWorkItemDetails'?: Array | null; /** * Id of associated account activity item. * @type {string} * @memberof RequestedItemStatus */ 'accountActivityItemId'?: string; /** * * @type {AccessRequestType} * @memberof RequestedItemStatus */ 'requestType'?: AccessRequestType | null; /** * When the request was last modified. * @type {string} * @memberof RequestedItemStatus */ 'modified'?: string | null; /** * When the request was created. * @type {string} * @memberof RequestedItemStatus */ 'created'?: string; /** * * @type {AccessItemRequester} * @memberof RequestedItemStatus */ 'requester'?: AccessItemRequester; /** * * @type {RequestedItemStatusRequestedFor} * @memberof RequestedItemStatus */ 'requestedFor'?: RequestedItemStatusRequestedFor; /** * * @type {RequestedItemStatusRequesterComment} * @memberof RequestedItemStatus */ 'requesterComment'?: RequestedItemStatusRequesterComment; /** * * @type {RequestedItemStatusSodViolationContext} * @memberof RequestedItemStatus */ 'sodViolationContext'?: RequestedItemStatusSodViolationContext; /** * * @type {RequestedItemStatusProvisioningDetails} * @memberof RequestedItemStatus */ 'provisioningDetails'?: RequestedItemStatusProvisioningDetails; /** * * @type {RequestedItemStatusPreApprovalTriggerDetails} * @memberof RequestedItemStatus */ 'preApprovalTriggerDetails'?: RequestedItemStatusPreApprovalTriggerDetails; /** * A list of Phases that the Access Request has gone through in order, to help determine the status of the request. * @type {Array} * @memberof RequestedItemStatus */ 'accessRequestPhases'?: Array | null; /** * Description associated to the requested object. * @type {string} * @memberof RequestedItemStatus */ 'description'?: string | null; /** * When the role access is scheduled for provisioning. * @type {string} * @memberof RequestedItemStatus */ 'startDate'?: string | null; /** * When the role access is scheduled for removal. * @type {string} * @memberof RequestedItemStatus */ 'removeDate'?: string | null; /** * True if the request can be canceled. * @type {boolean} * @memberof RequestedItemStatus */ 'cancelable'?: boolean; /** * This is the account activity id. * @type {string} * @memberof RequestedItemStatus */ 'accessRequestId'?: string; /** * Arbitrary key-value pairs, if any were included in the corresponding access request * @type {{ [key: string]: string; }} * @memberof RequestedItemStatus */ 'clientMetadata'?: { [key: string]: string; } | null; /** * The accounts selected by the user for the access to be provisioned on, in case they have multiple accounts on one or more sources. * @type {Array} * @memberof RequestedItemStatus */ 'requestedAccounts'?: Array | null; /** * The privilege level of the requested access item, if applicable. * @type {string} * @memberof RequestedItemStatus */ 'privilegeLevel'?: string | null; /** * JIT (Just-In-Time) details for the requested access item, if applicable. * @type {Array} * @memberof RequestedItemStatus */ 'jitDetails'?: Array | null; } export const RequestedItemStatusTypeEnum = { AccessProfile: 'ACCESS_PROFILE', Role: 'ROLE', Entitlement: 'ENTITLEMENT' } as const; export type RequestedItemStatusTypeEnum = typeof RequestedItemStatusTypeEnum[keyof typeof RequestedItemStatusTypeEnum]; /** * * @export * @interface RequestedItemStatusCancelledRequestDetails */ export interface RequestedItemStatusCancelledRequestDetails { /** * Comment made by the owner when cancelling the associated request. * @type {string} * @memberof RequestedItemStatusCancelledRequestDetails */ 'comment'?: string; /** * * @type {OwnerDto} * @memberof RequestedItemStatusCancelledRequestDetails */ 'owner'?: OwnerDto; /** * Date comment was added by the owner when cancelling the associated request. * @type {string} * @memberof RequestedItemStatusCancelledRequestDetails */ 'modified'?: string; } /** * * @export * @interface RequestedItemStatusPreApprovalTriggerDetails */ export interface RequestedItemStatusPreApprovalTriggerDetails { /** * Comment left for the pre-approval decision * @type {string} * @memberof RequestedItemStatusPreApprovalTriggerDetails */ 'comment'?: string; /** * The reviewer of the pre-approval decision * @type {string} * @memberof RequestedItemStatusPreApprovalTriggerDetails */ 'reviewer'?: string; /** * The decision of the pre-approval trigger * @type {string} * @memberof RequestedItemStatusPreApprovalTriggerDetails */ 'decision'?: RequestedItemStatusPreApprovalTriggerDetailsDecisionEnum; } export const RequestedItemStatusPreApprovalTriggerDetailsDecisionEnum = { Approved: 'APPROVED', Rejected: 'REJECTED' } as const; export type RequestedItemStatusPreApprovalTriggerDetailsDecisionEnum = typeof RequestedItemStatusPreApprovalTriggerDetailsDecisionEnum[keyof typeof RequestedItemStatusPreApprovalTriggerDetailsDecisionEnum]; /** * * @export * @interface RequestedItemStatusProvisioningDetails */ export interface RequestedItemStatusProvisioningDetails { /** * Ordered CSV of sub phase references to objects that contain more information about provisioning. For example, this can contain \"manualWorkItemDetails\" which indicate that there is further information in that object for this phase. * @type {string} * @memberof RequestedItemStatusProvisioningDetails */ 'orderedSubPhaseReferences'?: string; } /** * Indicates the state of an access request: * EXECUTING: The request is executing, which indicates the system is doing some processing. * REQUEST_COMPLETED: Indicates the request has been completed. * CANCELLED: The request was cancelled with no user input. * TERMINATED: The request has been terminated before it was able to complete. * PROVISIONING_VERIFICATION_PENDING: The request has finished any approval steps and provisioning is waiting to be verified. * REJECTED: The request was rejected. * PROVISIONING_FAILED: The request has failed to complete. * NOT_ALL_ITEMS_PROVISIONED: One or more of the requested items failed to complete, but there were one or more successes. * ERROR: An error occurred during request processing. * @export * @enum {string} */ export const RequestedItemStatusRequestState = { Executing: 'EXECUTING', RequestCompleted: 'REQUEST_COMPLETED', Cancelled: 'CANCELLED', Terminated: 'TERMINATED', ProvisioningVerificationPending: 'PROVISIONING_VERIFICATION_PENDING', Rejected: 'REJECTED', ProvisioningFailed: 'PROVISIONING_FAILED', NotAllItemsProvisioned: 'NOT_ALL_ITEMS_PROVISIONED', Error: 'ERROR' } as const; export type RequestedItemStatusRequestState = typeof RequestedItemStatusRequestState[keyof typeof RequestedItemStatusRequestState]; /** * Identity access was requested for. * @export * @interface RequestedItemStatusRequestedFor */ export interface RequestedItemStatusRequestedFor { /** * Type of the object to which this reference applies * @type {string} * @memberof RequestedItemStatusRequestedFor */ 'type'?: RequestedItemStatusRequestedForTypeEnum; /** * ID of the object to which this reference applies * @type {string} * @memberof RequestedItemStatusRequestedFor */ 'id'?: string; /** * Human-readable display name of the object to which this reference applies * @type {string} * @memberof RequestedItemStatusRequestedFor */ 'name'?: string; } export const RequestedItemStatusRequestedForTypeEnum = { Identity: 'IDENTITY' } as const; export type RequestedItemStatusRequestedForTypeEnum = typeof RequestedItemStatusRequestedForTypeEnum[keyof typeof RequestedItemStatusRequestedForTypeEnum]; /** * * @export * @interface RequestedItemStatusRequesterComment */ export interface RequestedItemStatusRequesterComment { /** * Comment content. * @type {string} * @memberof RequestedItemStatusRequesterComment */ 'comment'?: string | null; /** * Date and time comment was created. * @type {string} * @memberof RequestedItemStatusRequesterComment */ 'created'?: string; /** * * @type {CommentDtoAuthor} * @memberof RequestedItemStatusRequesterComment */ 'author'?: CommentDtoAuthor; } /** * * @export * @interface RequestedItemStatusSodViolationContext */ export interface RequestedItemStatusSodViolationContext { /** * The status of SOD violation check * @type {string} * @memberof RequestedItemStatusSodViolationContext */ 'state'?: RequestedItemStatusSodViolationContextStateEnum | null; /** * The id of the Violation check event * @type {string} * @memberof RequestedItemStatusSodViolationContext */ 'uuid'?: string | null; /** * * @type {SodViolationCheckResult} * @memberof RequestedItemStatusSodViolationContext */ 'violationCheckResult'?: SodViolationCheckResult; } export const RequestedItemStatusSodViolationContextStateEnum = { Success: 'SUCCESS', Error: 'ERROR' } as const; export type RequestedItemStatusSodViolationContextStateEnum = typeof RequestedItemStatusSodViolationContextStateEnum[keyof typeof RequestedItemStatusSodViolationContextStateEnum]; /** * Details of the Entitlement criteria * @export * @interface SodExemptCriteria */ export interface SodExemptCriteria { /** * If the entitlement already belonged to the user or not. * @type {boolean} * @memberof SodExemptCriteria */ 'existing'?: boolean; /** * * @type {DtoType} * @memberof SodExemptCriteria */ 'type'?: DtoType; /** * Entitlement ID * @type {string} * @memberof SodExemptCriteria */ 'id'?: string; /** * Entitlement name * @type {string} * @memberof SodExemptCriteria */ 'name'?: string; } /** * SOD policy. * @export * @interface SodPolicyDto */ export interface SodPolicyDto { /** * SOD policy DTO type. * @type {string} * @memberof SodPolicyDto */ 'type'?: SodPolicyDtoTypeEnum; /** * SOD policy ID. * @type {string} * @memberof SodPolicyDto */ 'id'?: string; /** * SOD policy display name. * @type {string} * @memberof SodPolicyDto */ 'name'?: string; } export const SodPolicyDtoTypeEnum = { SodPolicy: 'SOD_POLICY' } as const; export type SodPolicyDtoTypeEnum = typeof SodPolicyDtoTypeEnum[keyof typeof SodPolicyDtoTypeEnum]; /** * The inner object representing the completed SOD Violation check * @export * @interface SodViolationCheckResult */ export interface SodViolationCheckResult { /** * * @type {ErrorMessageDto} * @memberof SodViolationCheckResult */ 'message'?: ErrorMessageDto; /** * Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on completion of the violation check. * @type {{ [key: string]: string; }} * @memberof SodViolationCheckResult */ 'clientMetadata'?: { [key: string]: string; } | null; /** * * @type {Array} * @memberof SodViolationCheckResult */ 'violationContexts'?: Array | null; /** * A list of the SOD policies that were violated. * @type {Array} * @memberof SodViolationCheckResult */ 'violatedPolicies'?: Array | null; } /** * The contextual information of the violated criteria * @export * @interface SodViolationContext */ export interface SodViolationContext { /** * * @type {SodPolicyDto} * @memberof SodViolationContext */ 'policy'?: SodPolicyDto; /** * * @type {SodViolationContextConflictingAccessCriteria} * @memberof SodViolationContext */ 'conflictingAccessCriteria'?: SodViolationContextConflictingAccessCriteria; } /** * An object referencing a completed SOD violation check * @export * @interface SodViolationContextCheckCompleted */ export interface SodViolationContextCheckCompleted { /** * The status of SOD violation check * @type {string} * @memberof SodViolationContextCheckCompleted */ 'state'?: SodViolationContextCheckCompletedStateEnum | null; /** * The id of the Violation check event * @type {string} * @memberof SodViolationContextCheckCompleted */ 'uuid'?: string | null; /** * * @type {SodViolationCheckResult} * @memberof SodViolationContextCheckCompleted */ 'violationCheckResult'?: SodViolationCheckResult; } export const SodViolationContextCheckCompletedStateEnum = { Success: 'SUCCESS', Error: 'ERROR' } as const; export type SodViolationContextCheckCompletedStateEnum = typeof SodViolationContextCheckCompletedStateEnum[keyof typeof SodViolationContextCheckCompletedStateEnum]; /** * The object which contains the left and right hand side of the entitlements that got violated according to the policy. * @export * @interface SodViolationContextConflictingAccessCriteria */ export interface SodViolationContextConflictingAccessCriteria { /** * * @type {SodViolationContextConflictingAccessCriteriaLeftCriteria} * @memberof SodViolationContextConflictingAccessCriteria */ 'leftCriteria'?: SodViolationContextConflictingAccessCriteriaLeftCriteria; /** * * @type {SodViolationContextConflictingAccessCriteriaLeftCriteria} * @memberof SodViolationContextConflictingAccessCriteria */ 'rightCriteria'?: SodViolationContextConflictingAccessCriteriaLeftCriteria; } /** * * @export * @interface SodViolationContextConflictingAccessCriteriaLeftCriteria */ export interface SodViolationContextConflictingAccessCriteriaLeftCriteria { /** * * @type {Array} * @memberof SodViolationContextConflictingAccessCriteriaLeftCriteria */ 'criteriaList'?: Array; } /** * * @export * @interface SourceAccountSelections */ export interface SourceAccountSelections { /** * * @type {DtoType} * @memberof SourceAccountSelections */ 'type'?: DtoType; /** * The source id * @type {string} * @memberof SourceAccountSelections */ 'id'?: string; /** * The source name * @type {string} * @memberof SourceAccountSelections */ 'name'?: string; /** * The accounts information for a particular source in the requested item * @type {Array} * @memberof SourceAccountSelections */ 'accounts'?: Array; } /** * * @export * @interface SourceItemRef */ export interface SourceItemRef { /** * The id for the source on which account selections are made * @type {string} * @memberof SourceItemRef */ 'sourceId'?: string | null; /** * A list of account selections on the source. Currently, only one selection per source is supported. * @type {Array} * @memberof SourceItemRef */ 'accounts'?: Array | null; } /** * AccessRequestsApi - axios parameter creator * @export */ export const AccessRequestsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * This API endpoint allows approving pending access requests in bulk. Maximum of 50 approval ids can be provided in the request for one single invocation. ORG_ADMIN or users with rights \"idn:access-request-administration:write\" can approve the access requests in bulk. * @summary Bulk approve access request * @param {BulkApproveAccessRequest} bulkApproveAccessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ approveBulkAccessRequestV1: async (bulkApproveAccessRequest: BulkApproveAccessRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'bulkApproveAccessRequest' is not null or undefined assertParamExists('approveBulkAccessRequestV1', 'bulkApproveAccessRequest', bulkApproveAccessRequest) const localVarPath = `/access-request-approvals/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'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(bulkApproveAccessRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API endpoint allows cancelling pending access requests in bulk. Maximum of 50 access request ids can be provided in the request for one single invocation. Only ORG_ADMIN or users with rights \"idn:access-request-administration:write\" can cancel the access requests in bulk. * @summary Bulk cancel access request * @param {BulkCancelAccessRequest} bulkCancelAccessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ cancelAccessRequestInBulkV1: async (bulkCancelAccessRequest: BulkCancelAccessRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'bulkCancelAccessRequest' is not null or undefined assertParamExists('cancelAccessRequestInBulkV1', 'bulkCancelAccessRequest', bulkCancelAccessRequest) const localVarPath = `/access-requests/v1/bulk-cancel`; // 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(bulkCancelAccessRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API endpoint cancels a pending access request. An access request can be cancelled only if it has not passed the approval step. In addition to users with ORG_ADMIN, any user who originally submitted the access request may cancel it. * @summary Cancel access request * @param {CancelAccessRequest} cancelAccessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ cancelAccessRequestV1: async (cancelAccessRequest: CancelAccessRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'cancelAccessRequest' is not null or undefined assertParamExists('cancelAccessRequestV1', 'cancelAccessRequest', cancelAccessRequest) const localVarPath = `/access-requests/v1/cancel`; // 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(cancelAccessRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This endpoint closes access requests that are stuck in a pending state. It can be used throughout a request\'s lifecycle even after the approval state, unlike the [Cancel Access Request endpoint](https://developer.sailpoint.com/docs/api/cancel-access-request-v-1). To find pending access requests with the UI, navigate to Search and use this query: status: Pending AND \"Access Request\". Use the Column Chooser to select \'Tracking Number\', and use the \'Download\' button to export a CSV containing the tracking numbers. To find pending access requests with the API, use the [List Account Activities endpoint](https://developer.sailpoint.com/docs/api/list-account-activities-v-1). Input the IDs from either source. To track the status of endpoint requests, navigate to Search and use this query: name:\"Close Identity Requests\". Search will include \"Close Identity Requests Started\" audits when requests are initiated and \"Close Identity Requests Completed\" audits when requests are completed. The completion audit will list the identity request IDs that finished in error. This API triggers the [Provisioning Completed event trigger](https://developer.sailpoint.com/docs/extensibility/event-triggers/triggers/provisioning-completed/) for each access request that is closed. * @summary Close access request * @param {CloseAccessRequest} closeAccessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ closeAccessRequestV1: async (closeAccessRequest: CloseAccessRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'closeAccessRequest' is not null or undefined assertParamExists('closeAccessRequestV1', 'closeAccessRequest', closeAccessRequest) const localVarPath = `/access-requests/v1/close`; // 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(closeAccessRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Use this API to submit an access request in Identity Security Cloud (ISC), where it follows any ISC approval processes. >**Security:** idn:access-request:manage is for ORG_ADMIN level. idn:access-request-self:manage is for USER level. :::info The ability to request access using this API is constrained by the Access Request Segments defined in the API token\'s user context. ::: Access requests are processed asynchronously by ISC. A successful response from this endpoint means that the request has been submitted to ISC and is queued for processing. Because this endpoint is asynchronous, it does not return an error if you submit duplicate access requests in quick succession or submit an access request for access that is already in progress, approved, or rejected. It is best practice to check for any existing access requests that reference the same access items before submitting a new access request. This can be accomplished by using the [List Access Request Status](https://developer.sailpoint.com/docs/api/list-access-request-status-v-1) or the [Pending Access Request Approvals](https://developer.sailpoint.com/docs/api/list-pending-approvals-v-1) APIs. You can also use the [Search API](https://developer.sailpoint.com/docs/api/search) to check the existing access items an identity has before submitting an access request to ensure that you aren\'t requesting access that is already granted. If you use this API to request access that an identity already has, without changing the account details or end date information from the existing assignment, the API will cancel the request as a duplicate. There are two types of access request: __GRANT_ACCESS__ * Can be requested for multiple identities in a single request. * Supports self request and request on behalf of other users. Refer to the [Get Access Request Configuration](https://developer.sailpoint.com/docs/api/get-access-request-config-v-2) endpoint for request configuration options. * Allows any authenticated token (except API) to call this endpoint to request to grant access to themselves. Depending on the configuration, a user can request access for others. * Roles, access profiles and entitlements can be requested. * You can specify a `startDate` to set or alter a sunrise date-time on an assignment. The startDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunrise date and its yet to be provisioned, you can also submit a request without a `startDate` to request immediate provisioning after approval. * If a `startDate` is specified, then the requested role, access profile, or entitlement will be provisioned on that date and time. * You can specify a `removeDate` to set or alter a sunset date-time on an assignment. The removeDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunset date, you can also submit a request without a `removeDate` to request removal of the sunset date and time. * If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time. * Now supports an alternate field \'requestedForWithRequestedItems\' for users to specify account selections while requesting items where they have more than one account on the source. :::caution If any entitlements are being requested, then the maximum number of entitlements that can be requested is 25, and the maximum number of identities that can be requested for is 10. If you exceed these limits, the request will fail with a 400 error. If you are not requesting any entitlements, then there are no limits. ::: __REVOKE_ACCESS__ * Can only be requested for a single identity at a time. * You cannot use an access request to revoke access from an identity if that access has been granted by role membership or by birthright provisioning. * Does not support self request. Only manager can request to revoke access for their directly managed employees. * If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time. * Roles, access profiles, and entitlements can be requested for revocation. * Revoke requests for entitlements are limited to 1 entitlement per access request currently. * You cannot specify a \'startDate\' in a REVOKE_ACCESS request, as startDate is only applicable for GRANT_ACCESS requests to indicate when the access should be provisioned, and it does not make sense in the context of revoking access. * You can specify a `removeDate` to add or alter a sunset date and time on an assignment. The `removeDate` must be a future date-time, in the UTC timezone. If the user already has the access assigned with a sunset date and time, the removeDate must be a date-time earlier than the existing sunset date and time. * Allows a manager to request to revoke access for direct employees. A user with ORG_ADMIN authority can also request to revoke access from anyone. * Now supports REVOKE_ACCESS requests for identities with multiple accounts on a single source, with the help of \'assignmentId\' and \'nativeIdentity\' fields. These fields should be used within the \'requestedItems\' section for the revoke requests. * Usage of \'requestedForWithRequestedItems\' field is not supported for revoke requests. * @summary Submit access request * @param {AccessRequest} accessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccessRequestV1: async (accessRequest: AccessRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accessRequest' is not null or undefined assertParamExists('createAccessRequestV1', 'accessRequest', accessRequest) const localVarPath = `/access-requests/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'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(accessRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This endpoint returns the current access-request configuration. * @summary Get access request configuration * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ getAccessRequestConfigV1: async (axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/access-request-config/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; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This endpoint returns the current access-request configuration. * @summary Get access request configuration * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessRequestConfigV2: async (axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/access-request-config/v2`; // 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, }; }, /** * Use this API to return the details for a entitlement on an identity including specific data relating to remove date and the ability to revoke the identity. * @summary Identity entitlement details * @param {string} identityId The identity ID. * @param {string} entitlementId The entitlement ID * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getEntitlementDetailsForIdentityV1: async (identityId: string, entitlementId: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'identityId' is not null or undefined assertParamExists('getEntitlementDetailsForIdentityV1', 'identityId', identityId) // verify required parameter 'entitlementId' is not null or undefined assertParamExists('getEntitlementDetailsForIdentityV1', 'entitlementId', entitlementId) const localVarPath = `/revocable-objects/v1` .replace(`{${"identityId"}}`, encodeURIComponent(String(identityId))) .replace(`{${"entitlementId"}}`, encodeURIComponent(String(entitlementId))); // 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, }; }, /** * Use this API to return a list of access request statuses based on the specified query parameters. If an access request was made for access that an identity already has, the API ignores the access request. These ignored requests do not display in the list of access request statuses. Any user with any user level can get the status of their own access requests. A user with ORG_ADMIN is required to call this API to get a list of statuses for other users. * @summary Access request status * @param {string} [requestedFor] Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @param {string} [requestedBy] Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @param {string} [regardingIdentity] Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. * @param {string} [assignedTo] Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. * @param {boolean} [count] If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. * @param {number} [limit] Max number of results to return. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. * @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: **accessRequestId**: *eq, ge, gt, le, lt, ne, sw* **accountActivityItemId**: *eq, in, ge, gt, le, ne, sw* **created**: *eq, ge, gt, le, lt, ne* * @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: **created, modified, accountActivityItemId, name** * @param {string} [requestState] Filter the results by the state of the request. The only valid value is *EXECUTING*. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAccessRequestStatusV1: async (requestedFor?: string, requestedBy?: string, regardingIdentity?: string, assignedTo?: string, count?: boolean, limit?: number, offset?: number, filters?: string, sorters?: string, requestState?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/access-request-status/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 (requestedFor !== undefined) { localVarQueryParameter['requested-for'] = requestedFor; } if (requestedBy !== undefined) { localVarQueryParameter['requested-by'] = requestedBy; } if (regardingIdentity !== undefined) { localVarQueryParameter['regarding-identity'] = regardingIdentity; } if (assignedTo !== undefined) { localVarQueryParameter['assigned-to'] = assignedTo; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } if (requestState !== undefined) { localVarQueryParameter['request-state'] = requestState; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Use this API to get access request statuses of all the access requests in the org based on the specified query parameters. Any user with user level ORG_ADMIN or scope idn:access-request-administration:read can access this endpoint to get the access request statuses * @summary Access request status for administrators * @param {string} xSailPointExperimental Use this header to enable this experimental API. * @param {string} [requestedFor] Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @param {string} [requestedBy] Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @param {string} [regardingIdentity] Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. * @param {string} [assignedTo] Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. * @param {boolean} [count] If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. * @param {number} [limit] Max number of results to return. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. * @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: **accountActivityItemId**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **accessRequestId**: *in, eq, ne, ge, gt, le, lt, sw* **status**: *in, eq, ne* **created**: *eq, in, ge, gt, le, lt, ne, isnull, sw* * @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: **created, modified, accountActivityItemId, name, accessRequestId** * @param {string} [requestState] Filter the results by the state of the request. The only valid value is *EXECUTING*. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAdministratorsAccessRequestStatusV1: async (xSailPointExperimental: string, requestedFor?: string, requestedBy?: string, regardingIdentity?: string, assignedTo?: string, count?: boolean, limit?: number, offset?: number, filters?: string, sorters?: string, requestState?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } // verify required parameter 'xSailPointExperimental' is not null or undefined assertParamExists('listAdministratorsAccessRequestStatusV1', 'xSailPointExperimental', xSailPointExperimental) const localVarPath = `/access-request-administration/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 (requestedFor !== undefined) { localVarQueryParameter['requested-for'] = requestedFor; } if (requestedBy !== undefined) { localVarQueryParameter['requested-by'] = requestedBy; } if (regardingIdentity !== undefined) { localVarQueryParameter['regarding-identity'] = regardingIdentity; } if (assignedTo !== undefined) { localVarQueryParameter['assigned-to'] = assignedTo; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } if (requestState !== undefined) { localVarQueryParameter['request-state'] = requestState; } 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, }; }, /** * Use this API to fetch account information for an identity against the items in an access request. Used to fetch accountSelection for the AccessRequest prior to submitting for async processing. * @summary Get accounts selections for identity * @param {AccountsSelectionRequest} accountsSelectionRequest * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ loadAccountSelectionsV1: async (accountsSelectionRequest: AccountsSelectionRequest, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountsSelectionRequest' is not null or undefined assertParamExists('loadAccountSelectionsV1', 'accountsSelectionRequest', accountsSelectionRequest) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/access-requests/v1/accounts-selection`; // 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(accountsSelectionRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This endpoint replaces the current access-request configuration. * @summary Update access request configuration * @param {AccessRequestConfig} accessRequestConfig * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ setAccessRequestConfigV1: async (accessRequestConfig: AccessRequestConfig, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accessRequestConfig' is not null or undefined assertParamExists('setAccessRequestConfigV1', 'accessRequestConfig', accessRequestConfig) const localVarPath = `/access-request-config/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: 'PUT', ...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(accessRequestConfig, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This endpoint replaces the current access-request configuration. * @summary Update access request configuration * @param {AccessRequestConfig2} accessRequestConfig2 * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ setAccessRequestConfigV2: async (accessRequestConfig2: AccessRequestConfig2, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accessRequestConfig2' is not null or undefined assertParamExists('setAccessRequestConfigV2', 'accessRequestConfig2', accessRequestConfig2) const localVarPath = `/access-request-config/v2`; // 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: 'PUT', ...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(accessRequestConfig2, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, } }; /** * AccessRequestsApi - functional programming interface * @export */ export const AccessRequestsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AccessRequestsApiAxiosParamCreator(configuration) return { /** * This API endpoint allows approving pending access requests in bulk. Maximum of 50 approval ids can be provided in the request for one single invocation. ORG_ADMIN or users with rights \"idn:access-request-administration:write\" can approve the access requests in bulk. * @summary Bulk approve access request * @param {BulkApproveAccessRequest} bulkApproveAccessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async approveBulkAccessRequestV1(bulkApproveAccessRequest: BulkApproveAccessRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.approveBulkAccessRequestV1(bulkApproveAccessRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.approveBulkAccessRequestV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API endpoint allows cancelling pending access requests in bulk. Maximum of 50 access request ids can be provided in the request for one single invocation. Only ORG_ADMIN or users with rights \"idn:access-request-administration:write\" can cancel the access requests in bulk. * @summary Bulk cancel access request * @param {BulkCancelAccessRequest} bulkCancelAccessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async cancelAccessRequestInBulkV1(bulkCancelAccessRequest: BulkCancelAccessRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.cancelAccessRequestInBulkV1(bulkCancelAccessRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.cancelAccessRequestInBulkV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API endpoint cancels a pending access request. An access request can be cancelled only if it has not passed the approval step. In addition to users with ORG_ADMIN, any user who originally submitted the access request may cancel it. * @summary Cancel access request * @param {CancelAccessRequest} cancelAccessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async cancelAccessRequestV1(cancelAccessRequest: CancelAccessRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.cancelAccessRequestV1(cancelAccessRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.cancelAccessRequestV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This endpoint closes access requests that are stuck in a pending state. It can be used throughout a request\'s lifecycle even after the approval state, unlike the [Cancel Access Request endpoint](https://developer.sailpoint.com/docs/api/cancel-access-request-v-1). To find pending access requests with the UI, navigate to Search and use this query: status: Pending AND \"Access Request\". Use the Column Chooser to select \'Tracking Number\', and use the \'Download\' button to export a CSV containing the tracking numbers. To find pending access requests with the API, use the [List Account Activities endpoint](https://developer.sailpoint.com/docs/api/list-account-activities-v-1). Input the IDs from either source. To track the status of endpoint requests, navigate to Search and use this query: name:\"Close Identity Requests\". Search will include \"Close Identity Requests Started\" audits when requests are initiated and \"Close Identity Requests Completed\" audits when requests are completed. The completion audit will list the identity request IDs that finished in error. This API triggers the [Provisioning Completed event trigger](https://developer.sailpoint.com/docs/extensibility/event-triggers/triggers/provisioning-completed/) for each access request that is closed. * @summary Close access request * @param {CloseAccessRequest} closeAccessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async closeAccessRequestV1(closeAccessRequest: CloseAccessRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.closeAccessRequestV1(closeAccessRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.closeAccessRequestV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to submit an access request in Identity Security Cloud (ISC), where it follows any ISC approval processes. >**Security:** idn:access-request:manage is for ORG_ADMIN level. idn:access-request-self:manage is for USER level. :::info The ability to request access using this API is constrained by the Access Request Segments defined in the API token\'s user context. ::: Access requests are processed asynchronously by ISC. A successful response from this endpoint means that the request has been submitted to ISC and is queued for processing. Because this endpoint is asynchronous, it does not return an error if you submit duplicate access requests in quick succession or submit an access request for access that is already in progress, approved, or rejected. It is best practice to check for any existing access requests that reference the same access items before submitting a new access request. This can be accomplished by using the [List Access Request Status](https://developer.sailpoint.com/docs/api/list-access-request-status-v-1) or the [Pending Access Request Approvals](https://developer.sailpoint.com/docs/api/list-pending-approvals-v-1) APIs. You can also use the [Search API](https://developer.sailpoint.com/docs/api/search) to check the existing access items an identity has before submitting an access request to ensure that you aren\'t requesting access that is already granted. If you use this API to request access that an identity already has, without changing the account details or end date information from the existing assignment, the API will cancel the request as a duplicate. There are two types of access request: __GRANT_ACCESS__ * Can be requested for multiple identities in a single request. * Supports self request and request on behalf of other users. Refer to the [Get Access Request Configuration](https://developer.sailpoint.com/docs/api/get-access-request-config-v-2) endpoint for request configuration options. * Allows any authenticated token (except API) to call this endpoint to request to grant access to themselves. Depending on the configuration, a user can request access for others. * Roles, access profiles and entitlements can be requested. * You can specify a `startDate` to set or alter a sunrise date-time on an assignment. The startDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunrise date and its yet to be provisioned, you can also submit a request without a `startDate` to request immediate provisioning after approval. * If a `startDate` is specified, then the requested role, access profile, or entitlement will be provisioned on that date and time. * You can specify a `removeDate` to set or alter a sunset date-time on an assignment. The removeDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunset date, you can also submit a request without a `removeDate` to request removal of the sunset date and time. * If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time. * Now supports an alternate field \'requestedForWithRequestedItems\' for users to specify account selections while requesting items where they have more than one account on the source. :::caution If any entitlements are being requested, then the maximum number of entitlements that can be requested is 25, and the maximum number of identities that can be requested for is 10. If you exceed these limits, the request will fail with a 400 error. If you are not requesting any entitlements, then there are no limits. ::: __REVOKE_ACCESS__ * Can only be requested for a single identity at a time. * You cannot use an access request to revoke access from an identity if that access has been granted by role membership or by birthright provisioning. * Does not support self request. Only manager can request to revoke access for their directly managed employees. * If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time. * Roles, access profiles, and entitlements can be requested for revocation. * Revoke requests for entitlements are limited to 1 entitlement per access request currently. * You cannot specify a \'startDate\' in a REVOKE_ACCESS request, as startDate is only applicable for GRANT_ACCESS requests to indicate when the access should be provisioned, and it does not make sense in the context of revoking access. * You can specify a `removeDate` to add or alter a sunset date and time on an assignment. The `removeDate` must be a future date-time, in the UTC timezone. If the user already has the access assigned with a sunset date and time, the removeDate must be a date-time earlier than the existing sunset date and time. * Allows a manager to request to revoke access for direct employees. A user with ORG_ADMIN authority can also request to revoke access from anyone. * Now supports REVOKE_ACCESS requests for identities with multiple accounts on a single source, with the help of \'assignmentId\' and \'nativeIdentity\' fields. These fields should be used within the \'requestedItems\' section for the revoke requests. * Usage of \'requestedForWithRequestedItems\' field is not supported for revoke requests. * @summary Submit access request * @param {AccessRequest} accessRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async createAccessRequestV1(accessRequest: AccessRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createAccessRequestV1(accessRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.createAccessRequestV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This endpoint returns the current access-request configuration. * @summary Get access request configuration * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ async getAccessRequestConfigV1(axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAccessRequestConfigV1(axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.getAccessRequestConfigV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This endpoint returns the current access-request configuration. * @summary Get access request configuration * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getAccessRequestConfigV2(axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAccessRequestConfigV2(axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.getAccessRequestConfigV2']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to return the details for a entitlement on an identity including specific data relating to remove date and the ability to revoke the identity. * @summary Identity entitlement details * @param {string} identityId The identity ID. * @param {string} entitlementId The entitlement ID * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getEntitlementDetailsForIdentityV1(identityId: string, entitlementId: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getEntitlementDetailsForIdentityV1(identityId, entitlementId, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.getEntitlementDetailsForIdentityV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to return a list of access request statuses based on the specified query parameters. If an access request was made for access that an identity already has, the API ignores the access request. These ignored requests do not display in the list of access request statuses. Any user with any user level can get the status of their own access requests. A user with ORG_ADMIN is required to call this API to get a list of statuses for other users. * @summary Access request status * @param {string} [requestedFor] Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @param {string} [requestedBy] Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @param {string} [regardingIdentity] Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. * @param {string} [assignedTo] Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. * @param {boolean} [count] If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. * @param {number} [limit] Max number of results to return. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. * @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: **accessRequestId**: *eq, ge, gt, le, lt, ne, sw* **accountActivityItemId**: *eq, in, ge, gt, le, ne, sw* **created**: *eq, ge, gt, le, lt, ne* * @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: **created, modified, accountActivityItemId, name** * @param {string} [requestState] Filter the results by the state of the request. The only valid value is *EXECUTING*. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listAccessRequestStatusV1(requestedFor?: string, requestedBy?: string, regardingIdentity?: string, assignedTo?: string, count?: boolean, limit?: number, offset?: number, filters?: string, sorters?: string, requestState?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listAccessRequestStatusV1(requestedFor, requestedBy, regardingIdentity, assignedTo, count, limit, offset, filters, sorters, requestState, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.listAccessRequestStatusV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to get access request statuses of all the access requests in the org based on the specified query parameters. Any user with user level ORG_ADMIN or scope idn:access-request-administration:read can access this endpoint to get the access request statuses * @summary Access request status for administrators * @param {string} xSailPointExperimental Use this header to enable this experimental API. * @param {string} [requestedFor] Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @param {string} [requestedBy] Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @param {string} [regardingIdentity] Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. * @param {string} [assignedTo] Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. * @param {boolean} [count] If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. * @param {number} [limit] Max number of results to return. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. * @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: **accountActivityItemId**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **accessRequestId**: *in, eq, ne, ge, gt, le, lt, sw* **status**: *in, eq, ne* **created**: *eq, in, ge, gt, le, lt, ne, isnull, sw* * @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: **created, modified, accountActivityItemId, name, accessRequestId** * @param {string} [requestState] Filter the results by the state of the request. The only valid value is *EXECUTING*. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listAdministratorsAccessRequestStatusV1(xSailPointExperimental: string, requestedFor?: string, requestedBy?: string, regardingIdentity?: string, assignedTo?: string, count?: boolean, limit?: number, offset?: number, filters?: string, sorters?: string, requestState?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listAdministratorsAccessRequestStatusV1(xSailPointExperimental, requestedFor, requestedBy, regardingIdentity, assignedTo, count, limit, offset, filters, sorters, requestState, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.listAdministratorsAccessRequestStatusV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to fetch account information for an identity against the items in an access request. Used to fetch accountSelection for the AccessRequest prior to submitting for async processing. * @summary Get accounts selections for identity * @param {AccountsSelectionRequest} accountsSelectionRequest * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async loadAccountSelectionsV1(accountsSelectionRequest: AccountsSelectionRequest, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.loadAccountSelectionsV1(accountsSelectionRequest, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.loadAccountSelectionsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This endpoint replaces the current access-request configuration. * @summary Update access request configuration * @param {AccessRequestConfig} accessRequestConfig * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ async setAccessRequestConfigV1(accessRequestConfig: AccessRequestConfig, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.setAccessRequestConfigV1(accessRequestConfig, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.setAccessRequestConfigV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This endpoint replaces the current access-request configuration. * @summary Update access request configuration * @param {AccessRequestConfig2} accessRequestConfig2 * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async setAccessRequestConfigV2(accessRequestConfig2: AccessRequestConfig2, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.setAccessRequestConfigV2(accessRequestConfig2, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestsApi.setAccessRequestConfigV2']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * AccessRequestsApi - factory interface * @export */ export const AccessRequestsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = AccessRequestsApiFp(configuration) return { /** * This API endpoint allows approving pending access requests in bulk. Maximum of 50 approval ids can be provided in the request for one single invocation. ORG_ADMIN or users with rights \"idn:access-request-administration:write\" can approve the access requests in bulk. * @summary Bulk approve access request * @param {AccessRequestsApiApproveBulkAccessRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ approveBulkAccessRequestV1(requestParameters: AccessRequestsApiApproveBulkAccessRequestV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.approveBulkAccessRequestV1(requestParameters.bulkApproveAccessRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API endpoint allows cancelling pending access requests in bulk. Maximum of 50 access request ids can be provided in the request for one single invocation. Only ORG_ADMIN or users with rights \"idn:access-request-administration:write\" can cancel the access requests in bulk. * @summary Bulk cancel access request * @param {AccessRequestsApiCancelAccessRequestInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ cancelAccessRequestInBulkV1(requestParameters: AccessRequestsApiCancelAccessRequestInBulkV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.cancelAccessRequestInBulkV1(requestParameters.bulkCancelAccessRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API endpoint cancels a pending access request. An access request can be cancelled only if it has not passed the approval step. In addition to users with ORG_ADMIN, any user who originally submitted the access request may cancel it. * @summary Cancel access request * @param {AccessRequestsApiCancelAccessRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ cancelAccessRequestV1(requestParameters: AccessRequestsApiCancelAccessRequestV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.cancelAccessRequestV1(requestParameters.cancelAccessRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This endpoint closes access requests that are stuck in a pending state. It can be used throughout a request\'s lifecycle even after the approval state, unlike the [Cancel Access Request endpoint](https://developer.sailpoint.com/docs/api/cancel-access-request-v-1). To find pending access requests with the UI, navigate to Search and use this query: status: Pending AND \"Access Request\". Use the Column Chooser to select \'Tracking Number\', and use the \'Download\' button to export a CSV containing the tracking numbers. To find pending access requests with the API, use the [List Account Activities endpoint](https://developer.sailpoint.com/docs/api/list-account-activities-v-1). Input the IDs from either source. To track the status of endpoint requests, navigate to Search and use this query: name:\"Close Identity Requests\". Search will include \"Close Identity Requests Started\" audits when requests are initiated and \"Close Identity Requests Completed\" audits when requests are completed. The completion audit will list the identity request IDs that finished in error. This API triggers the [Provisioning Completed event trigger](https://developer.sailpoint.com/docs/extensibility/event-triggers/triggers/provisioning-completed/) for each access request that is closed. * @summary Close access request * @param {AccessRequestsApiCloseAccessRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ closeAccessRequestV1(requestParameters: AccessRequestsApiCloseAccessRequestV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.closeAccessRequestV1(requestParameters.closeAccessRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to submit an access request in Identity Security Cloud (ISC), where it follows any ISC approval processes. >**Security:** idn:access-request:manage is for ORG_ADMIN level. idn:access-request-self:manage is for USER level. :::info The ability to request access using this API is constrained by the Access Request Segments defined in the API token\'s user context. ::: Access requests are processed asynchronously by ISC. A successful response from this endpoint means that the request has been submitted to ISC and is queued for processing. Because this endpoint is asynchronous, it does not return an error if you submit duplicate access requests in quick succession or submit an access request for access that is already in progress, approved, or rejected. It is best practice to check for any existing access requests that reference the same access items before submitting a new access request. This can be accomplished by using the [List Access Request Status](https://developer.sailpoint.com/docs/api/list-access-request-status-v-1) or the [Pending Access Request Approvals](https://developer.sailpoint.com/docs/api/list-pending-approvals-v-1) APIs. You can also use the [Search API](https://developer.sailpoint.com/docs/api/search) to check the existing access items an identity has before submitting an access request to ensure that you aren\'t requesting access that is already granted. If you use this API to request access that an identity already has, without changing the account details or end date information from the existing assignment, the API will cancel the request as a duplicate. There are two types of access request: __GRANT_ACCESS__ * Can be requested for multiple identities in a single request. * Supports self request and request on behalf of other users. Refer to the [Get Access Request Configuration](https://developer.sailpoint.com/docs/api/get-access-request-config-v-2) endpoint for request configuration options. * Allows any authenticated token (except API) to call this endpoint to request to grant access to themselves. Depending on the configuration, a user can request access for others. * Roles, access profiles and entitlements can be requested. * You can specify a `startDate` to set or alter a sunrise date-time on an assignment. The startDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunrise date and its yet to be provisioned, you can also submit a request without a `startDate` to request immediate provisioning after approval. * If a `startDate` is specified, then the requested role, access profile, or entitlement will be provisioned on that date and time. * You can specify a `removeDate` to set or alter a sunset date-time on an assignment. The removeDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunset date, you can also submit a request without a `removeDate` to request removal of the sunset date and time. * If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time. * Now supports an alternate field \'requestedForWithRequestedItems\' for users to specify account selections while requesting items where they have more than one account on the source. :::caution If any entitlements are being requested, then the maximum number of entitlements that can be requested is 25, and the maximum number of identities that can be requested for is 10. If you exceed these limits, the request will fail with a 400 error. If you are not requesting any entitlements, then there are no limits. ::: __REVOKE_ACCESS__ * Can only be requested for a single identity at a time. * You cannot use an access request to revoke access from an identity if that access has been granted by role membership or by birthright provisioning. * Does not support self request. Only manager can request to revoke access for their directly managed employees. * If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time. * Roles, access profiles, and entitlements can be requested for revocation. * Revoke requests for entitlements are limited to 1 entitlement per access request currently. * You cannot specify a \'startDate\' in a REVOKE_ACCESS request, as startDate is only applicable for GRANT_ACCESS requests to indicate when the access should be provisioned, and it does not make sense in the context of revoking access. * You can specify a `removeDate` to add or alter a sunset date and time on an assignment. The `removeDate` must be a future date-time, in the UTC timezone. If the user already has the access assigned with a sunset date and time, the removeDate must be a date-time earlier than the existing sunset date and time. * Allows a manager to request to revoke access for direct employees. A user with ORG_ADMIN authority can also request to revoke access from anyone. * Now supports REVOKE_ACCESS requests for identities with multiple accounts on a single source, with the help of \'assignmentId\' and \'nativeIdentity\' fields. These fields should be used within the \'requestedItems\' section for the revoke requests. * Usage of \'requestedForWithRequestedItems\' field is not supported for revoke requests. * @summary Submit access request * @param {AccessRequestsApiCreateAccessRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccessRequestV1(requestParameters: AccessRequestsApiCreateAccessRequestV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createAccessRequestV1(requestParameters.accessRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This endpoint returns the current access-request configuration. * @summary Get access request configuration * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ getAccessRequestConfigV1(axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getAccessRequestConfigV1(axiosOptions).then((request) => request(axios, basePath)); }, /** * This endpoint returns the current access-request configuration. * @summary Get access request configuration * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessRequestConfigV2(axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getAccessRequestConfigV2(axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to return the details for a entitlement on an identity including specific data relating to remove date and the ability to revoke the identity. * @summary Identity entitlement details * @param {AccessRequestsApiGetEntitlementDetailsForIdentityV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getEntitlementDetailsForIdentityV1(requestParameters: AccessRequestsApiGetEntitlementDetailsForIdentityV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getEntitlementDetailsForIdentityV1(requestParameters.identityId, requestParameters.entitlementId, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to return a list of access request statuses based on the specified query parameters. If an access request was made for access that an identity already has, the API ignores the access request. These ignored requests do not display in the list of access request statuses. Any user with any user level can get the status of their own access requests. A user with ORG_ADMIN is required to call this API to get a list of statuses for other users. * @summary Access request status * @param {AccessRequestsApiListAccessRequestStatusV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAccessRequestStatusV1(requestParameters: AccessRequestsApiListAccessRequestStatusV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listAccessRequestStatusV1(requestParameters.requestedFor, requestParameters.requestedBy, requestParameters.regardingIdentity, requestParameters.assignedTo, requestParameters.count, requestParameters.limit, requestParameters.offset, requestParameters.filters, requestParameters.sorters, requestParameters.requestState, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to get access request statuses of all the access requests in the org based on the specified query parameters. Any user with user level ORG_ADMIN or scope idn:access-request-administration:read can access this endpoint to get the access request statuses * @summary Access request status for administrators * @param {AccessRequestsApiListAdministratorsAccessRequestStatusV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAdministratorsAccessRequestStatusV1(requestParameters: AccessRequestsApiListAdministratorsAccessRequestStatusV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listAdministratorsAccessRequestStatusV1(requestParameters.xSailPointExperimental, requestParameters.requestedFor, requestParameters.requestedBy, requestParameters.regardingIdentity, requestParameters.assignedTo, requestParameters.count, requestParameters.limit, requestParameters.offset, requestParameters.filters, requestParameters.sorters, requestParameters.requestState, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to fetch account information for an identity against the items in an access request. Used to fetch accountSelection for the AccessRequest prior to submitting for async processing. * @summary Get accounts selections for identity * @param {AccessRequestsApiLoadAccountSelectionsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ loadAccountSelectionsV1(requestParameters: AccessRequestsApiLoadAccountSelectionsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.loadAccountSelectionsV1(requestParameters.accountsSelectionRequest, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * This endpoint replaces the current access-request configuration. * @summary Update access request configuration * @param {AccessRequestsApiSetAccessRequestConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ setAccessRequestConfigV1(requestParameters: AccessRequestsApiSetAccessRequestConfigV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.setAccessRequestConfigV1(requestParameters.accessRequestConfig, axiosOptions).then((request) => request(axios, basePath)); }, /** * This endpoint replaces the current access-request configuration. * @summary Update access request configuration * @param {AccessRequestsApiSetAccessRequestConfigV2Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ setAccessRequestConfigV2(requestParameters: AccessRequestsApiSetAccessRequestConfigV2Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.setAccessRequestConfigV2(requestParameters.accessRequestConfig2, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for approveBulkAccessRequestV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiApproveBulkAccessRequestV1Request */ export interface AccessRequestsApiApproveBulkAccessRequestV1Request { /** * * @type {BulkApproveAccessRequest} * @memberof AccessRequestsApiApproveBulkAccessRequestV1 */ readonly bulkApproveAccessRequest: BulkApproveAccessRequest } /** * Request parameters for cancelAccessRequestInBulkV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiCancelAccessRequestInBulkV1Request */ export interface AccessRequestsApiCancelAccessRequestInBulkV1Request { /** * * @type {BulkCancelAccessRequest} * @memberof AccessRequestsApiCancelAccessRequestInBulkV1 */ readonly bulkCancelAccessRequest: BulkCancelAccessRequest } /** * Request parameters for cancelAccessRequestV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiCancelAccessRequestV1Request */ export interface AccessRequestsApiCancelAccessRequestV1Request { /** * * @type {CancelAccessRequest} * @memberof AccessRequestsApiCancelAccessRequestV1 */ readonly cancelAccessRequest: CancelAccessRequest } /** * Request parameters for closeAccessRequestV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiCloseAccessRequestV1Request */ export interface AccessRequestsApiCloseAccessRequestV1Request { /** * * @type {CloseAccessRequest} * @memberof AccessRequestsApiCloseAccessRequestV1 */ readonly closeAccessRequest: CloseAccessRequest } /** * Request parameters for createAccessRequestV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiCreateAccessRequestV1Request */ export interface AccessRequestsApiCreateAccessRequestV1Request { /** * * @type {AccessRequest} * @memberof AccessRequestsApiCreateAccessRequestV1 */ readonly accessRequest: AccessRequest } /** * Request parameters for getEntitlementDetailsForIdentityV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiGetEntitlementDetailsForIdentityV1Request */ export interface AccessRequestsApiGetEntitlementDetailsForIdentityV1Request { /** * The identity ID. * @type {string} * @memberof AccessRequestsApiGetEntitlementDetailsForIdentityV1 */ readonly identityId: string /** * The entitlement ID * @type {string} * @memberof AccessRequestsApiGetEntitlementDetailsForIdentityV1 */ readonly entitlementId: string } /** * Request parameters for listAccessRequestStatusV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiListAccessRequestStatusV1Request */ export interface AccessRequestsApiListAccessRequestStatusV1Request { /** * Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @type {string} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly requestedFor?: string /** * Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @type {string} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly requestedBy?: string /** * Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. * @type {string} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly regardingIdentity?: string /** * Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. * @type {string} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly assignedTo?: string /** * If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. * @type {boolean} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly count?: boolean /** * Max number of results to return. * @type {number} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly limit?: number /** * Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. * @type {number} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly offset?: number /** * 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: **accessRequestId**: *eq, ge, gt, le, lt, ne, sw* **accountActivityItemId**: *eq, in, ge, gt, le, ne, sw* **created**: *eq, ge, gt, le, lt, ne* * @type {string} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ 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: **created, modified, accountActivityItemId, name** * @type {string} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly sorters?: string /** * Filter the results by the state of the request. The only valid value is *EXECUTING*. * @type {string} * @memberof AccessRequestsApiListAccessRequestStatusV1 */ readonly requestState?: string } /** * Request parameters for listAdministratorsAccessRequestStatusV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiListAdministratorsAccessRequestStatusV1Request */ export interface AccessRequestsApiListAdministratorsAccessRequestStatusV1Request { /** * Use this header to enable this experimental API. * @type {string} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly xSailPointExperimental: string /** * Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @type {string} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly requestedFor?: string /** * Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. * @type {string} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly requestedBy?: string /** * Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. * @type {string} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly regardingIdentity?: string /** * Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. * @type {string} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly assignedTo?: string /** * If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. * @type {boolean} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly count?: boolean /** * Max number of results to return. * @type {number} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly limit?: number /** * Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. * @type {number} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly offset?: number /** * 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: **accountActivityItemId**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **accessRequestId**: *in, eq, ne, ge, gt, le, lt, sw* **status**: *in, eq, ne* **created**: *eq, in, ge, gt, le, lt, ne, isnull, sw* * @type {string} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ 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: **created, modified, accountActivityItemId, name, accessRequestId** * @type {string} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly sorters?: string /** * Filter the results by the state of the request. The only valid value is *EXECUTING*. * @type {string} * @memberof AccessRequestsApiListAdministratorsAccessRequestStatusV1 */ readonly requestState?: string } /** * Request parameters for loadAccountSelectionsV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiLoadAccountSelectionsV1Request */ export interface AccessRequestsApiLoadAccountSelectionsV1Request { /** * * @type {AccountsSelectionRequest} * @memberof AccessRequestsApiLoadAccountSelectionsV1 */ readonly accountsSelectionRequest: AccountsSelectionRequest /** * Use this header to enable this experimental API. * @type {string} * @memberof AccessRequestsApiLoadAccountSelectionsV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for setAccessRequestConfigV1 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiSetAccessRequestConfigV1Request */ export interface AccessRequestsApiSetAccessRequestConfigV1Request { /** * * @type {AccessRequestConfig} * @memberof AccessRequestsApiSetAccessRequestConfigV1 */ readonly accessRequestConfig: AccessRequestConfig } /** * Request parameters for setAccessRequestConfigV2 operation in AccessRequestsApi. * @export * @interface AccessRequestsApiSetAccessRequestConfigV2Request */ export interface AccessRequestsApiSetAccessRequestConfigV2Request { /** * * @type {AccessRequestConfig2} * @memberof AccessRequestsApiSetAccessRequestConfigV2 */ readonly accessRequestConfig2: AccessRequestConfig2 } /** * AccessRequestsApi - object-oriented interface * @export * @class AccessRequestsApi * @extends {BaseAPI} */ export class AccessRequestsApi extends BaseAPI { /** * This API endpoint allows approving pending access requests in bulk. Maximum of 50 approval ids can be provided in the request for one single invocation. ORG_ADMIN or users with rights \"idn:access-request-administration:write\" can approve the access requests in bulk. * @summary Bulk approve access request * @param {AccessRequestsApiApproveBulkAccessRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public approveBulkAccessRequestV1(requestParameters: AccessRequestsApiApproveBulkAccessRequestV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).approveBulkAccessRequestV1(requestParameters.bulkApproveAccessRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API endpoint allows cancelling pending access requests in bulk. Maximum of 50 access request ids can be provided in the request for one single invocation. Only ORG_ADMIN or users with rights \"idn:access-request-administration:write\" can cancel the access requests in bulk. * @summary Bulk cancel access request * @param {AccessRequestsApiCancelAccessRequestInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public cancelAccessRequestInBulkV1(requestParameters: AccessRequestsApiCancelAccessRequestInBulkV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).cancelAccessRequestInBulkV1(requestParameters.bulkCancelAccessRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API endpoint cancels a pending access request. An access request can be cancelled only if it has not passed the approval step. In addition to users with ORG_ADMIN, any user who originally submitted the access request may cancel it. * @summary Cancel access request * @param {AccessRequestsApiCancelAccessRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public cancelAccessRequestV1(requestParameters: AccessRequestsApiCancelAccessRequestV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).cancelAccessRequestV1(requestParameters.cancelAccessRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This endpoint closes access requests that are stuck in a pending state. It can be used throughout a request\'s lifecycle even after the approval state, unlike the [Cancel Access Request endpoint](https://developer.sailpoint.com/docs/api/cancel-access-request-v-1). To find pending access requests with the UI, navigate to Search and use this query: status: Pending AND \"Access Request\". Use the Column Chooser to select \'Tracking Number\', and use the \'Download\' button to export a CSV containing the tracking numbers. To find pending access requests with the API, use the [List Account Activities endpoint](https://developer.sailpoint.com/docs/api/list-account-activities-v-1). Input the IDs from either source. To track the status of endpoint requests, navigate to Search and use this query: name:\"Close Identity Requests\". Search will include \"Close Identity Requests Started\" audits when requests are initiated and \"Close Identity Requests Completed\" audits when requests are completed. The completion audit will list the identity request IDs that finished in error. This API triggers the [Provisioning Completed event trigger](https://developer.sailpoint.com/docs/extensibility/event-triggers/triggers/provisioning-completed/) for each access request that is closed. * @summary Close access request * @param {AccessRequestsApiCloseAccessRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public closeAccessRequestV1(requestParameters: AccessRequestsApiCloseAccessRequestV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).closeAccessRequestV1(requestParameters.closeAccessRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to submit an access request in Identity Security Cloud (ISC), where it follows any ISC approval processes. >**Security:** idn:access-request:manage is for ORG_ADMIN level. idn:access-request-self:manage is for USER level. :::info The ability to request access using this API is constrained by the Access Request Segments defined in the API token\'s user context. ::: Access requests are processed asynchronously by ISC. A successful response from this endpoint means that the request has been submitted to ISC and is queued for processing. Because this endpoint is asynchronous, it does not return an error if you submit duplicate access requests in quick succession or submit an access request for access that is already in progress, approved, or rejected. It is best practice to check for any existing access requests that reference the same access items before submitting a new access request. This can be accomplished by using the [List Access Request Status](https://developer.sailpoint.com/docs/api/list-access-request-status-v-1) or the [Pending Access Request Approvals](https://developer.sailpoint.com/docs/api/list-pending-approvals-v-1) APIs. You can also use the [Search API](https://developer.sailpoint.com/docs/api/search) to check the existing access items an identity has before submitting an access request to ensure that you aren\'t requesting access that is already granted. If you use this API to request access that an identity already has, without changing the account details or end date information from the existing assignment, the API will cancel the request as a duplicate. There are two types of access request: __GRANT_ACCESS__ * Can be requested for multiple identities in a single request. * Supports self request and request on behalf of other users. Refer to the [Get Access Request Configuration](https://developer.sailpoint.com/docs/api/get-access-request-config-v-2) endpoint for request configuration options. * Allows any authenticated token (except API) to call this endpoint to request to grant access to themselves. Depending on the configuration, a user can request access for others. * Roles, access profiles and entitlements can be requested. * You can specify a `startDate` to set or alter a sunrise date-time on an assignment. The startDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunrise date and its yet to be provisioned, you can also submit a request without a `startDate` to request immediate provisioning after approval. * If a `startDate` is specified, then the requested role, access profile, or entitlement will be provisioned on that date and time. * You can specify a `removeDate` to set or alter a sunset date-time on an assignment. The removeDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunset date, you can also submit a request without a `removeDate` to request removal of the sunset date and time. * If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time. * Now supports an alternate field \'requestedForWithRequestedItems\' for users to specify account selections while requesting items where they have more than one account on the source. :::caution If any entitlements are being requested, then the maximum number of entitlements that can be requested is 25, and the maximum number of identities that can be requested for is 10. If you exceed these limits, the request will fail with a 400 error. If you are not requesting any entitlements, then there are no limits. ::: __REVOKE_ACCESS__ * Can only be requested for a single identity at a time. * You cannot use an access request to revoke access from an identity if that access has been granted by role membership or by birthright provisioning. * Does not support self request. Only manager can request to revoke access for their directly managed employees. * If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time. * Roles, access profiles, and entitlements can be requested for revocation. * Revoke requests for entitlements are limited to 1 entitlement per access request currently. * You cannot specify a \'startDate\' in a REVOKE_ACCESS request, as startDate is only applicable for GRANT_ACCESS requests to indicate when the access should be provisioned, and it does not make sense in the context of revoking access. * You can specify a `removeDate` to add or alter a sunset date and time on an assignment. The `removeDate` must be a future date-time, in the UTC timezone. If the user already has the access assigned with a sunset date and time, the removeDate must be a date-time earlier than the existing sunset date and time. * Allows a manager to request to revoke access for direct employees. A user with ORG_ADMIN authority can also request to revoke access from anyone. * Now supports REVOKE_ACCESS requests for identities with multiple accounts on a single source, with the help of \'assignmentId\' and \'nativeIdentity\' fields. These fields should be used within the \'requestedItems\' section for the revoke requests. * Usage of \'requestedForWithRequestedItems\' field is not supported for revoke requests. * @summary Submit access request * @param {AccessRequestsApiCreateAccessRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public createAccessRequestV1(requestParameters: AccessRequestsApiCreateAccessRequestV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).createAccessRequestV1(requestParameters.accessRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This endpoint returns the current access-request configuration. * @summary Get access request configuration * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} * @memberof AccessRequestsApi */ public getAccessRequestConfigV1(axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).getAccessRequestConfigV1(axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This endpoint returns the current access-request configuration. * @summary Get access request configuration * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public getAccessRequestConfigV2(axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).getAccessRequestConfigV2(axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to return the details for a entitlement on an identity including specific data relating to remove date and the ability to revoke the identity. * @summary Identity entitlement details * @param {AccessRequestsApiGetEntitlementDetailsForIdentityV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public getEntitlementDetailsForIdentityV1(requestParameters: AccessRequestsApiGetEntitlementDetailsForIdentityV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).getEntitlementDetailsForIdentityV1(requestParameters.identityId, requestParameters.entitlementId, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to return a list of access request statuses based on the specified query parameters. If an access request was made for access that an identity already has, the API ignores the access request. These ignored requests do not display in the list of access request statuses. Any user with any user level can get the status of their own access requests. A user with ORG_ADMIN is required to call this API to get a list of statuses for other users. * @summary Access request status * @param {AccessRequestsApiListAccessRequestStatusV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public listAccessRequestStatusV1(requestParameters: AccessRequestsApiListAccessRequestStatusV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).listAccessRequestStatusV1(requestParameters.requestedFor, requestParameters.requestedBy, requestParameters.regardingIdentity, requestParameters.assignedTo, requestParameters.count, requestParameters.limit, requestParameters.offset, requestParameters.filters, requestParameters.sorters, requestParameters.requestState, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to get access request statuses of all the access requests in the org based on the specified query parameters. Any user with user level ORG_ADMIN or scope idn:access-request-administration:read can access this endpoint to get the access request statuses * @summary Access request status for administrators * @param {AccessRequestsApiListAdministratorsAccessRequestStatusV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public listAdministratorsAccessRequestStatusV1(requestParameters: AccessRequestsApiListAdministratorsAccessRequestStatusV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).listAdministratorsAccessRequestStatusV1(requestParameters.xSailPointExperimental, requestParameters.requestedFor, requestParameters.requestedBy, requestParameters.regardingIdentity, requestParameters.assignedTo, requestParameters.count, requestParameters.limit, requestParameters.offset, requestParameters.filters, requestParameters.sorters, requestParameters.requestState, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to fetch account information for an identity against the items in an access request. Used to fetch accountSelection for the AccessRequest prior to submitting for async processing. * @summary Get accounts selections for identity * @param {AccessRequestsApiLoadAccountSelectionsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public loadAccountSelectionsV1(requestParameters: AccessRequestsApiLoadAccountSelectionsV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).loadAccountSelectionsV1(requestParameters.accountsSelectionRequest, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This endpoint replaces the current access-request configuration. * @summary Update access request configuration * @param {AccessRequestsApiSetAccessRequestConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} * @memberof AccessRequestsApi */ public setAccessRequestConfigV1(requestParameters: AccessRequestsApiSetAccessRequestConfigV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).setAccessRequestConfigV1(requestParameters.accessRequestConfig, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This endpoint replaces the current access-request configuration. * @summary Update access request configuration * @param {AccessRequestsApiSetAccessRequestConfigV2Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestsApi */ public setAccessRequestConfigV2(requestParameters: AccessRequestsApiSetAccessRequestConfigV2Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestsApiFp(this.configuration).setAccessRequestConfigV2(requestParameters.accessRequestConfig2, axiosOptions).then((request) => request(this.axios, this.basePath)); } }