/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Account Deletion 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'; /** * Represents a request to perform an action on an account, such as deletion or modification. * @export * @interface AccountActionRequestDto */ export interface AccountActionRequestDto { /** * Account requester ID. * @type {string} * @memberof AccountActionRequestDto */ 'accountRequestId'?: string; /** * Access item requester\'s identity ID. * @type {string} * @memberof AccountActionRequestDto */ 'requestType'?: string; /** * Creation date and time of account deletion request date. * @type {string} * @memberof AccountActionRequestDto */ 'createdAt'?: string; /** * Account deletion request completion date and time. * @type {string} * @memberof AccountActionRequestDto */ 'completedAt'?: string; /** * Overall status of deletion request. * @type {string} * @memberof AccountActionRequestDto */ 'overallStatus'?: string; /** * * @type {AccountActionRequestDtoRequester} * @memberof AccountActionRequestDto */ 'requester'?: AccountActionRequestDtoRequester; /** * Comments added by the requester while creating the account deletion request. * @type {string} * @memberof AccountActionRequestDto */ 'requesterComments'?: string; /** * * @type {AccountActionRequestDtoAccountDetails} * @memberof AccountActionRequestDto */ 'accountDetails'?: AccountActionRequestDtoAccountDetails; /** * * @type {AccountActionRequestDtoCorrelatedIdentity} * @memberof AccountActionRequestDto */ 'correlatedIdentity'?: AccountActionRequestDtoCorrelatedIdentity; /** * * @type {IdentityReference} * @memberof AccountActionRequestDto */ 'managerReference'?: IdentityReference | null; /** * ID of the approval request associated with the account deletion action. * @type {string} * @memberof AccountActionRequestDto */ 'approvalRequestId'?: string; /** * List of account request phases. * @type {Array} * @memberof AccountActionRequestDto */ 'accountRequestPhases'?: Array; /** * List approval details * @type {Array} * @memberof AccountActionRequestDto */ 'approvalDetails'?: Array; /** * Detailed error information. * @type {string} * @memberof AccountActionRequestDto */ 'errorDetails'?: string | null; } /** * * @export * @interface AccountActionRequestDtoAccountDetails */ export interface AccountActionRequestDtoAccountDetails { /** * unique id of this object * @type {string} * @memberof AccountActionRequestDtoAccountDetails */ 'id'?: string; /** * * @type {string} * @memberof AccountActionRequestDtoAccountDetails */ 'name'?: string; /** * * @type {string} * @memberof AccountActionRequestDtoAccountDetails */ 'accountId'?: string; /** * * @type {string} * @memberof AccountActionRequestDtoAccountDetails */ 'description'?: string; /** * * @type {string} * @memberof AccountActionRequestDtoAccountDetails */ 'nativeIdentity'?: string; /** * * @type {string} * @memberof AccountActionRequestDtoAccountDetails */ 'uuid'?: string; /** * * @type {string} * @memberof AccountActionRequestDtoAccountDetails */ 'displayName'?: string; /** * * @type {boolean} * @memberof AccountActionRequestDtoAccountDetails */ 'disabled'?: boolean; /** * * @type {boolean} * @memberof AccountActionRequestDtoAccountDetails */ 'locked'?: boolean; /** * * @type {boolean} * @memberof AccountActionRequestDtoAccountDetails */ 'uncorrelated'?: boolean; /** * * @type {boolean} * @memberof AccountActionRequestDtoAccountDetails */ 'systemAccount'?: boolean; /** * * @type {boolean} * @memberof AccountActionRequestDtoAccountDetails */ 'authoritative'?: boolean; /** * * @type {boolean} * @memberof AccountActionRequestDtoAccountDetails */ 'supportsPasswordChange'?: boolean; /** * * @type {object} * @memberof AccountActionRequestDtoAccountDetails */ 'attributes'?: object; /** * * @type {object} * @memberof AccountActionRequestDtoAccountDetails */ 'application'?: object; /** * * @type {object} * @memberof AccountActionRequestDtoAccountDetails */ 'identity'?: object; /** * * @type {object} * @memberof AccountActionRequestDtoAccountDetails */ 'schema'?: object; /** * * @type {Array} * @memberof AccountActionRequestDtoAccountDetails */ 'pendingAccessRequestIds'?: Array; /** * * @type {Array} * @memberof AccountActionRequestDtoAccountDetails */ 'features'?: Array; /** * * @type {object} * @memberof AccountActionRequestDtoAccountDetails */ 'meta'?: object; } export const AccountActionRequestDtoAccountDetailsFeaturesEnum = { Authenticate: 'AUTHENTICATE', Composite: 'COMPOSITE', DirectPermissions: 'DIRECT_PERMISSIONS', DiscoverSchema: 'DISCOVER_SCHEMA', Enable: 'ENABLE', ManagerLookup: 'MANAGER_LOOKUP', NoRandomAccess: 'NO_RANDOM_ACCESS', Proxy: 'PROXY', Search: 'SEARCH', Template: 'TEMPLATE', Unlock: 'UNLOCK', UnstructuredTargets: 'UNSTRUCTURED_TARGETS', SharepointTarget: 'SHAREPOINT_TARGET', Provisioning: 'PROVISIONING', GroupProvisioning: 'GROUP_PROVISIONING', SyncProvisioning: 'SYNC_PROVISIONING', Password: 'PASSWORD', CurrentPassword: 'CURRENT_PASSWORD', AccountOnlyRequest: 'ACCOUNT_ONLY_REQUEST', AdditionalAccountRequest: 'ADDITIONAL_ACCOUNT_REQUEST', NoAggregation: 'NO_AGGREGATION', GroupsHaveMembers: 'GROUPS_HAVE_MEMBERS', NoPermissionsProvisioning: 'NO_PERMISSIONS_PROVISIONING', NoGroupPermissionsProvisioning: 'NO_GROUP_PERMISSIONS_PROVISIONING', NoUnstructuredTargetsProvisioning: 'NO_UNSTRUCTURED_TARGETS_PROVISIONING', NoDirectPermissionsProvisioning: 'NO_DIRECT_PERMISSIONS_PROVISIONING' } as const; export type AccountActionRequestDtoAccountDetailsFeaturesEnum = typeof AccountActionRequestDtoAccountDetailsFeaturesEnum[keyof typeof AccountActionRequestDtoAccountDetailsFeaturesEnum]; /** * * @export * @interface AccountActionRequestDtoCorrelatedIdentity */ export interface AccountActionRequestDtoCorrelatedIdentity { /** * * @type {DtoType} * @memberof AccountActionRequestDtoCorrelatedIdentity */ 'type'?: DtoType; /** * Identity id * @type {string} * @memberof AccountActionRequestDtoCorrelatedIdentity */ 'id'?: string; /** * Human-readable display name of identity. * @type {string} * @memberof AccountActionRequestDtoCorrelatedIdentity */ 'name'?: string; } /** * * @export * @interface AccountActionRequestDtoRequester */ export interface AccountActionRequestDtoRequester { /** * * @type {DtoType} * @memberof AccountActionRequestDtoRequester */ 'type'?: DtoType; /** * ID of the object to which this reference applies * @type {string} * @memberof AccountActionRequestDtoRequester */ 'id'?: string; /** * Human-readable display name of the object to which this reference applies * @type {string} * @memberof AccountActionRequestDtoRequester */ 'name'?: string; } /** * Contains the required information for processing a user-initiated account deletion request, including the reason for deletion. * @export * @interface AccountDeleteRequestInput */ export interface AccountDeleteRequestInput { /** * Reason for deleting the account. * @type {string} * @memberof AccountDeleteRequestInput */ 'comments'?: string; } /** * Account Details * @export * @interface AccountDetails */ export interface AccountDetails { /** * unique id of this object * @type {string} * @memberof AccountDetails */ 'id'?: string; /** * * @type {string} * @memberof AccountDetails */ 'name'?: string; /** * * @type {string} * @memberof AccountDetails */ 'accountId'?: string; /** * * @type {string} * @memberof AccountDetails */ 'description'?: string; /** * * @type {string} * @memberof AccountDetails */ 'nativeIdentity'?: string; /** * * @type {string} * @memberof AccountDetails */ 'uuid'?: string; /** * * @type {string} * @memberof AccountDetails */ 'displayName'?: string; /** * * @type {boolean} * @memberof AccountDetails */ 'disabled'?: boolean; /** * * @type {boolean} * @memberof AccountDetails */ 'locked'?: boolean; /** * * @type {boolean} * @memberof AccountDetails */ 'uncorrelated'?: boolean; /** * * @type {boolean} * @memberof AccountDetails */ 'systemAccount'?: boolean; /** * * @type {boolean} * @memberof AccountDetails */ 'authoritative'?: boolean; /** * * @type {boolean} * @memberof AccountDetails */ 'supportsPasswordChange'?: boolean; /** * * @type {object} * @memberof AccountDetails */ 'attributes'?: object; /** * * @type {object} * @memberof AccountDetails */ 'application'?: object; /** * * @type {object} * @memberof AccountDetails */ 'identity'?: object; /** * * @type {object} * @memberof AccountDetails */ 'schema'?: object; /** * * @type {Array} * @memberof AccountDetails */ 'pendingAccessRequestIds'?: Array; /** * * @type {Array} * @memberof AccountDetails */ 'features'?: Array; /** * * @type {object} * @memberof AccountDetails */ 'meta'?: object; } export const AccountDetailsFeaturesEnum = { Authenticate: 'AUTHENTICATE', Composite: 'COMPOSITE', DirectPermissions: 'DIRECT_PERMISSIONS', DiscoverSchema: 'DISCOVER_SCHEMA', Enable: 'ENABLE', ManagerLookup: 'MANAGER_LOOKUP', NoRandomAccess: 'NO_RANDOM_ACCESS', Proxy: 'PROXY', Search: 'SEARCH', Template: 'TEMPLATE', Unlock: 'UNLOCK', UnstructuredTargets: 'UNSTRUCTURED_TARGETS', SharepointTarget: 'SHAREPOINT_TARGET', Provisioning: 'PROVISIONING', GroupProvisioning: 'GROUP_PROVISIONING', SyncProvisioning: 'SYNC_PROVISIONING', Password: 'PASSWORD', CurrentPassword: 'CURRENT_PASSWORD', AccountOnlyRequest: 'ACCOUNT_ONLY_REQUEST', AdditionalAccountRequest: 'ADDITIONAL_ACCOUNT_REQUEST', NoAggregation: 'NO_AGGREGATION', GroupsHaveMembers: 'GROUPS_HAVE_MEMBERS', NoPermissionsProvisioning: 'NO_PERMISSIONS_PROVISIONING', NoGroupPermissionsProvisioning: 'NO_GROUP_PERMISSIONS_PROVISIONING', NoUnstructuredTargetsProvisioning: 'NO_UNSTRUCTURED_TARGETS_PROVISIONING', NoDirectPermissionsProvisioning: 'NO_DIRECT_PERMISSIONS_PROVISIONING' } as const; export type AccountDetailsFeaturesEnum = typeof AccountDetailsFeaturesEnum[keyof typeof AccountDetailsFeaturesEnum]; /** * Asynchronous response containing a unique tracking ID for the account request * @export * @interface AccountRequestAsyncResult */ export interface AccountRequestAsyncResult { /** * Id of the account request * @type {string} * @memberof AccountRequestAsyncResult */ 'accountRequestId': string; } /** * Contains detailed information about each phase in the account request process, including its type, current state, and relevant timestamps. * @export * @interface AccountRequestPhase */ export interface AccountRequestPhase { /** * Enum of account request phase type * @type {string} * @memberof AccountRequestPhase */ 'name'?: AccountRequestPhaseNameEnum; /** * * @type {AccountRequestPhaseState} * @memberof AccountRequestPhase */ 'state'?: AccountRequestPhaseState; /** * Start date of account request phase. * @type {string} * @memberof AccountRequestPhase */ 'started'?: string; /** * Finish date of account request phase. * @type {string} * @memberof AccountRequestPhase */ 'finished'?: string; } export const AccountRequestPhaseNameEnum = { ApprovalPhase: 'APPROVAL_PHASE', ProvisioningPhase: 'PROVISIONING_PHASE' } as const; export type AccountRequestPhaseNameEnum = typeof AccountRequestPhaseNameEnum[keyof typeof AccountRequestPhaseNameEnum]; /** * The current phase state of the account request, indicating its progress or outcome in the approval workflow. * @export * @enum {string} */ export const AccountRequestPhaseState = { Pending: 'PENDING', Cancelled: 'CANCELLED', Approved: 'APPROVED', Rejected: 'REJECTED', Passed: 'PASSED', Failed: 'FAILED', NotStarted: 'NOT_STARTED' } as const; export type AccountRequestPhaseState = typeof AccountRequestPhaseState[keyof typeof AccountRequestPhaseState]; /** * Contains comprehensive details about the approval process, including the approver\'s information, comments, decision date, serial order, and the current status of the approval request. * @export * @interface ApprovalDetails */ export interface ApprovalDetails { /** * * @type {ApproverDto} * @memberof ApprovalDetails */ 'approver'?: ApproverDto; /** * Comments added by approver while rejecting or approving the account deletion request. * @type {string} * @memberof ApprovalDetails */ 'approverComments'?: string; /** * Decision date of approval rejected or approved. * @type {string} * @memberof ApprovalDetails */ 'decisionDate'?: string; /** * SerialOrder of approval details. * @type {number} * @memberof ApprovalDetails */ 'serialOrder'?: number; /** * * @type {AccountRequestPhaseState} * @memberof ApprovalDetails */ 'status'?: AccountRequestPhaseState; } /** * Contains detailed information about the approver, including their identity, contact details, type, and references to related identities such as owners, actioned identities, and members. * @export * @interface ApproverDto */ export interface ApproverDto { /** * Identity ID and it cannot be null. * @type {string} * @memberof ApproverDto */ 'identityID'?: string; /** * Optional id * @type {string} * @memberof ApproverDto */ 'id'?: string | null; /** * Identity display name * @type {string} * @memberof ApproverDto */ 'name'?: string; /** * Email address of identity * @type {string} * @memberof ApproverDto */ 'email'?: string; /** * Used to mention type of data transfer object in this case it is used to transfer IDENTITY data. * @type {string} * @memberof ApproverDto */ 'type'?: string; /** * List of reference of identity type dto for account owner identities * @type {Array} * @memberof ApproverDto */ 'ownerOf'?: Array | null; /** * List of reference of identity type dto who acted on behalf of other identities. * @type {Array} * @memberof ApproverDto */ 'actionedAs'?: Array | null; /** * List of reference of identity type dto for member identities. * @type {Array} * @memberof ApproverDto */ 'members'?: Array | null; } /** * * @export * @interface ApproverReference */ export interface ApproverReference { /** * Id of supported DtoType like IDENTITY, MACHINE_IDENTITY etc. * @type {string} * @memberof ApproverReference */ 'id'?: string; /** * Type of Dto * @type {string} * @memberof ApproverReference */ 'type'?: string; /** * Display name of DtoType like IDENTITY, MACHINE_IDENTITY etc * @type {string} * @memberof ApproverReference */ 'name'?: string; } /** * * @export * @interface BaseReferenceDto */ export interface BaseReferenceDto { /** * * @type {DtoType} * @memberof BaseReferenceDto */ 'type'?: DtoType; /** * ID of the object to which this reference applies * @type {string} * @memberof BaseReferenceDto */ 'id'?: string; /** * Human-readable display name of the object to which this reference applies * @type {string} * @memberof BaseReferenceDto */ 'name'?: string; } /** * 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 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 GetAccountDeletionRequestsV1401Response */ export interface GetAccountDeletionRequestsV1401Response { /** * A message describing the error * @type {any} * @memberof GetAccountDeletionRequestsV1401Response */ 'error'?: any; } /** * * @export * @interface GetAccountDeletionRequestsV1429Response */ export interface GetAccountDeletionRequestsV1429Response { /** * A message describing the error * @type {any} * @memberof GetAccountDeletionRequestsV1429Response */ 'message'?: any; } /** * The manager for the identity. * @export * @interface IdentityReference */ export interface IdentityReference { /** * * @type {DtoType} * @memberof IdentityReference */ 'type'?: DtoType; /** * Identity id * @type {string} * @memberof IdentityReference */ 'id'?: string; /** * Human-readable display name of identity. * @type {string} * @memberof IdentityReference */ 'name'?: string; } /** * An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice. * @export * @enum {string} */ export const LocaleOrigin = { Default: 'DEFAULT', Request: 'REQUEST' } as const; export type LocaleOrigin = typeof LocaleOrigin[keyof typeof LocaleOrigin]; /** * AccountDeletionRequestsApi - axios parameter creator * @export */ export const AccountDeletionRequestsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Initiates an account deletion request for the specified account. This method validates the input data, processes the deletion request, and generates an asynchronous result containing a tracking ID. >**NOTE: You can only delete accounts from sources of the \"Connected\" type. which supports account deletion** * @summary Delete account * @param {string} accountId Account ID. * @param {AccountDeleteRequestInput} [accountDeleteRequestInput] * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccountRequestV1: async (accountId: string, accountDeleteRequestInput?: AccountDeleteRequestInput, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('deleteAccountRequestV1', 'accountId', accountId) const localVarPath = `/account-requests/v1/account/{accountId}/delete` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))); // 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(accountDeleteRequestInput, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Retrieves a paginated list of account deletion requests filtered by the provided query parameters. When the \"mine\" parameter is set to true, the response includes only those deletion requests that were initiated by the currently authenticated user. If \"mine\" is false or not specified, the endpoint returns all account deletion requests associated with the current tenant, regardless of the initiator. This allows both users and administrators to view relevant deletion requests based on their access level and intent. * @summary List of Account Deletion Requests * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [mine] Determines whether to return only the account deletion requests initiated by the currently authenticated user. If set to true, the response includes only deletion requests created by the logged-in user. If set to false or not provided, the response includes all deletion requests for the tenant, regardless of the initiator. This parameter allows users to view their own requests, while administrators can view all requests within the tenant. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccountDeletionRequestsV1: async (limit?: number, offset?: number, count?: boolean, mine?: boolean, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/account-requests/v1/deletion`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (mine !== undefined) { localVarQueryParameter['mine'] = mine; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, } }; /** * AccountDeletionRequestsApi - functional programming interface * @export */ export const AccountDeletionRequestsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AccountDeletionRequestsApiAxiosParamCreator(configuration) return { /** * Initiates an account deletion request for the specified account. This method validates the input data, processes the deletion request, and generates an asynchronous result containing a tracking ID. >**NOTE: You can only delete accounts from sources of the \"Connected\" type. which supports account deletion** * @summary Delete account * @param {string} accountId Account ID. * @param {AccountDeleteRequestInput} [accountDeleteRequestInput] * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteAccountRequestV1(accountId: string, accountDeleteRequestInput?: AccountDeleteRequestInput, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAccountRequestV1(accountId, accountDeleteRequestInput, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountDeletionRequestsApi.deleteAccountRequestV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Retrieves a paginated list of account deletion requests filtered by the provided query parameters. When the \"mine\" parameter is set to true, the response includes only those deletion requests that were initiated by the currently authenticated user. If \"mine\" is false or not specified, the endpoint returns all account deletion requests associated with the current tenant, regardless of the initiator. This allows both users and administrators to view relevant deletion requests based on their access level and intent. * @summary List of Account Deletion Requests * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [mine] Determines whether to return only the account deletion requests initiated by the currently authenticated user. If set to true, the response includes only deletion requests created by the logged-in user. If set to false or not provided, the response includes all deletion requests for the tenant, regardless of the initiator. This parameter allows users to view their own requests, while administrators can view all requests within the tenant. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getAccountDeletionRequestsV1(limit?: number, offset?: number, count?: boolean, mine?: boolean, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAccountDeletionRequestsV1(limit, offset, count, mine, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountDeletionRequestsApi.getAccountDeletionRequestsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * AccountDeletionRequestsApi - factory interface * @export */ export const AccountDeletionRequestsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = AccountDeletionRequestsApiFp(configuration) return { /** * Initiates an account deletion request for the specified account. This method validates the input data, processes the deletion request, and generates an asynchronous result containing a tracking ID. >**NOTE: You can only delete accounts from sources of the \"Connected\" type. which supports account deletion** * @summary Delete account * @param {AccountDeletionRequestsApiDeleteAccountRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccountRequestV1(requestParameters: AccountDeletionRequestsApiDeleteAccountRequestV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteAccountRequestV1(requestParameters.accountId, requestParameters.accountDeleteRequestInput, axiosOptions).then((request) => request(axios, basePath)); }, /** * Retrieves a paginated list of account deletion requests filtered by the provided query parameters. When the \"mine\" parameter is set to true, the response includes only those deletion requests that were initiated by the currently authenticated user. If \"mine\" is false or not specified, the endpoint returns all account deletion requests associated with the current tenant, regardless of the initiator. This allows both users and administrators to view relevant deletion requests based on their access level and intent. * @summary List of Account Deletion Requests * @param {AccountDeletionRequestsApiGetAccountDeletionRequestsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccountDeletionRequestsV1(requestParameters: AccountDeletionRequestsApiGetAccountDeletionRequestsV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.getAccountDeletionRequestsV1(requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.mine, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for deleteAccountRequestV1 operation in AccountDeletionRequestsApi. * @export * @interface AccountDeletionRequestsApiDeleteAccountRequestV1Request */ export interface AccountDeletionRequestsApiDeleteAccountRequestV1Request { /** * Account ID. * @type {string} * @memberof AccountDeletionRequestsApiDeleteAccountRequestV1 */ readonly accountId: string /** * * @type {AccountDeleteRequestInput} * @memberof AccountDeletionRequestsApiDeleteAccountRequestV1 */ readonly accountDeleteRequestInput?: AccountDeleteRequestInput } /** * Request parameters for getAccountDeletionRequestsV1 operation in AccountDeletionRequestsApi. * @export * @interface AccountDeletionRequestsApiGetAccountDeletionRequestsV1Request */ export interface AccountDeletionRequestsApiGetAccountDeletionRequestsV1Request { /** * Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof AccountDeletionRequestsApiGetAccountDeletionRequestsV1 */ readonly limit?: number /** * Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof AccountDeletionRequestsApiGetAccountDeletionRequestsV1 */ readonly offset?: number /** * If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {boolean} * @memberof AccountDeletionRequestsApiGetAccountDeletionRequestsV1 */ readonly count?: boolean /** * Determines whether to return only the account deletion requests initiated by the currently authenticated user. If set to true, the response includes only deletion requests created by the logged-in user. If set to false or not provided, the response includes all deletion requests for the tenant, regardless of the initiator. This parameter allows users to view their own requests, while administrators can view all requests within the tenant. * @type {boolean} * @memberof AccountDeletionRequestsApiGetAccountDeletionRequestsV1 */ readonly mine?: boolean } /** * AccountDeletionRequestsApi - object-oriented interface * @export * @class AccountDeletionRequestsApi * @extends {BaseAPI} */ export class AccountDeletionRequestsApi extends BaseAPI { /** * Initiates an account deletion request for the specified account. This method validates the input data, processes the deletion request, and generates an asynchronous result containing a tracking ID. >**NOTE: You can only delete accounts from sources of the \"Connected\" type. which supports account deletion** * @summary Delete account * @param {AccountDeletionRequestsApiDeleteAccountRequestV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountDeletionRequestsApi */ public deleteAccountRequestV1(requestParameters: AccountDeletionRequestsApiDeleteAccountRequestV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountDeletionRequestsApiFp(this.configuration).deleteAccountRequestV1(requestParameters.accountId, requestParameters.accountDeleteRequestInput, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Retrieves a paginated list of account deletion requests filtered by the provided query parameters. When the \"mine\" parameter is set to true, the response includes only those deletion requests that were initiated by the currently authenticated user. If \"mine\" is false or not specified, the endpoint returns all account deletion requests associated with the current tenant, regardless of the initiator. This allows both users and administrators to view relevant deletion requests based on their access level and intent. * @summary List of Account Deletion Requests * @param {AccountDeletionRequestsApiGetAccountDeletionRequestsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountDeletionRequestsApi */ public getAccountDeletionRequestsV1(requestParameters: AccountDeletionRequestsApiGetAccountDeletionRequestsV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return AccountDeletionRequestsApiFp(this.configuration).getAccountDeletionRequestsV1(requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.mine, axiosOptions).then((request) => request(this.axios, this.basePath)); } }