/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Accounts * 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'; /** * Metadata that describes an access item * @export * @interface AccessModelMetadata */ export interface AccessModelMetadata { /** * Unique identifier for the metadata type * @type {string} * @memberof AccessModelMetadata */ 'key'?: string; /** * Human readable name of the metadata type * @type {string} * @memberof AccessModelMetadata */ 'name'?: string; /** * Allows selecting multiple values * @type {boolean} * @memberof AccessModelMetadata */ 'multiselect'?: boolean; /** * The state of the metadata item * @type {string} * @memberof AccessModelMetadata */ 'status'?: string; /** * The type of the metadata item * @type {string} * @memberof AccessModelMetadata */ 'type'?: string; /** * The types of objects * @type {Array} * @memberof AccessModelMetadata */ 'objectTypes'?: Array; /** * Describes the metadata item * @type {string} * @memberof AccessModelMetadata */ 'description'?: string; /** * The value to assign to the metadata item * @type {Array} * @memberof AccessModelMetadata */ 'values'?: Array; } /** * An individual value to assign to the metadata item * @export * @interface AccessModelMetadataValuesInner */ export interface AccessModelMetadataValuesInner { /** * The value to assign to the metdata item * @type {string} * @memberof AccessModelMetadataValuesInner */ 'value'?: string; /** * Display name of the value * @type {string} * @memberof AccessModelMetadataValuesInner */ 'name'?: string; /** * The status of the individual value * @type {string} * @memberof AccessModelMetadataValuesInner */ 'status'?: string; } /** * * @export * @interface Account */ export interface Account { /** * System-generated unique ID of the Object * @type {string} * @memberof Account */ 'id'?: string; /** * Name of the Object * @type {string} * @memberof Account */ 'name': string | null; /** * Creation date of the Object * @type {string} * @memberof Account */ 'created'?: string; /** * Last modification date of the Object * @type {string} * @memberof Account */ 'modified'?: string; /** * The unique ID of the source this account belongs to * @type {string} * @memberof Account */ 'sourceId': string; /** * The display name of the source this account belongs to * @type {string} * @memberof Account */ 'sourceName': string | null; /** * The unique ID of the identity this account is correlated to * @type {string} * @memberof Account */ 'identityId'?: string; /** * The lifecycle state of the identity this account is correlated to * @type {string} * @memberof Account */ 'cloudLifecycleState'?: string | null; /** * The identity state of the identity this account is correlated to * @type {string} * @memberof Account */ 'identityState'?: string | null; /** * The connection type of the source this account is from * @type {string} * @memberof Account */ 'connectionType'?: string | null; /** * Indicates if the account is of machine type * @type {boolean} * @memberof Account */ 'isMachine'?: boolean; /** * * @type {AccountAllOfRecommendation} * @memberof Account */ 'recommendation'?: AccountAllOfRecommendation; /** * The account attributes that are aggregated * @type {{ [key: string]: any; }} * @memberof Account */ 'attributes': { [key: string]: any; } | null; /** * Indicates if this account is from an authoritative source * @type {boolean} * @memberof Account */ 'authoritative': boolean; /** * A description of the account * @type {string} * @memberof Account */ 'description'?: string | null; /** * Indicates if the account is currently disabled * @type {boolean} * @memberof Account */ 'disabled': boolean; /** * Indicates if the account is currently locked * @type {boolean} * @memberof Account */ 'locked': boolean; /** * The unique ID of the account generated by the source system * @type {string} * @memberof Account */ 'nativeIdentity': string; /** * If true, this is a user account within IdentityNow. If false, this is an account from a source system. * @type {boolean} * @memberof Account */ 'systemAccount': boolean; /** * Indicates if this account is not correlated to an identity * @type {boolean} * @memberof Account */ 'uncorrelated': boolean; /** * The unique ID of the account as determined by the account schema * @type {string} * @memberof Account */ 'uuid'?: string | null; /** * Indicates if the account has been manually correlated to an identity * @type {boolean} * @memberof Account */ 'manuallyCorrelated': boolean; /** * Indicates if the account has entitlements * @type {boolean} * @memberof Account */ 'hasEntitlements': boolean; /** * * @type {AccountAllOfIdentity} * @memberof Account */ 'identity'?: AccountAllOfIdentity; /** * * @type {AccountAllOfSourceOwner} * @memberof Account */ 'sourceOwner'?: AccountAllOfSourceOwner | null; /** * A string list containing the owning source\'s features * @type {string} * @memberof Account */ 'features'?: string | null; /** * The origin of the account either aggregated or provisioned * @type {string} * @memberof Account */ 'origin'?: AccountOriginEnum | null; /** * * @type {AccountAllOfOwnerIdentity} * @memberof Account */ 'ownerIdentity'?: AccountAllOfOwnerIdentity; } export const AccountOriginEnum = { Aggregated: 'AGGREGATED', Provisioned: 'PROVISIONED' } as const; export type AccountOriginEnum = typeof AccountOriginEnum[keyof typeof AccountOriginEnum]; /** * The identity this account is correlated to * @export * @interface AccountAllOfIdentity */ export interface AccountAllOfIdentity { /** * The ID of the identity * @type {string} * @memberof AccountAllOfIdentity */ 'id'?: string; /** * The type of object being referenced * @type {string} * @memberof AccountAllOfIdentity */ 'type'?: AccountAllOfIdentityTypeEnum; /** * display name of identity * @type {string} * @memberof AccountAllOfIdentity */ 'name'?: string; } export const AccountAllOfIdentityTypeEnum = { Identity: 'IDENTITY' } as const; export type AccountAllOfIdentityTypeEnum = typeof AccountAllOfIdentityTypeEnum[keyof typeof AccountAllOfIdentityTypeEnum]; /** * * @export * @interface AccountAllOfOwnerIdentity */ export interface AccountAllOfOwnerIdentity { /** * * @type {DtoType} * @memberof AccountAllOfOwnerIdentity */ 'type'?: DtoType; /** * ID of the object to which this reference applies * @type {string} * @memberof AccountAllOfOwnerIdentity */ 'id'?: string; /** * Human-readable display name of the object to which this reference applies * @type {string} * @memberof AccountAllOfOwnerIdentity */ 'name'?: string; } /** * * @export * @interface AccountAllOfRecommendation */ export interface AccountAllOfRecommendation { /** * Recommended type of account. * @type {string} * @memberof AccountAllOfRecommendation */ 'type': AccountAllOfRecommendationTypeEnum; /** * Method used to produce the recommendation. DISCOVERY - suggested by AI, SOURCE - the account comes from a source flagged as containing machine accounts, CRITERIA - the account satisfies classification criteria. * @type {string} * @memberof AccountAllOfRecommendation */ 'method': AccountAllOfRecommendationMethodEnum; } export const AccountAllOfRecommendationTypeEnum = { Human: 'HUMAN', Machine: 'MACHINE' } as const; export type AccountAllOfRecommendationTypeEnum = typeof AccountAllOfRecommendationTypeEnum[keyof typeof AccountAllOfRecommendationTypeEnum]; export const AccountAllOfRecommendationMethodEnum = { Discovery: 'DISCOVERY', Source: 'SOURCE', Criteria: 'CRITERIA' } as const; export type AccountAllOfRecommendationMethodEnum = typeof AccountAllOfRecommendationMethodEnum[keyof typeof AccountAllOfRecommendationMethodEnum]; /** * The owner of the source this account belongs to. * @export * @interface AccountAllOfSourceOwner */ export interface AccountAllOfSourceOwner { /** * The ID of the identity * @type {string} * @memberof AccountAllOfSourceOwner */ 'id'?: string; /** * The type of object being referenced * @type {string} * @memberof AccountAllOfSourceOwner */ 'type'?: AccountAllOfSourceOwnerTypeEnum; /** * display name of identity * @type {string} * @memberof AccountAllOfSourceOwner */ 'name'?: string; } export const AccountAllOfSourceOwnerTypeEnum = { Identity: 'IDENTITY' } as const; export type AccountAllOfSourceOwnerTypeEnum = typeof AccountAllOfSourceOwnerTypeEnum[keyof typeof AccountAllOfSourceOwnerTypeEnum]; /** * * @export * @interface AccountAttributes */ export interface AccountAttributes { /** * The schema attribute values for the account * @type {{ [key: string]: any; }} * @memberof AccountAttributes */ 'attributes': { [key: string]: any; }; } /** * * @export * @interface AccountAttributesCreate */ export interface AccountAttributesCreate { /** * * @type {AccountAttributesCreateAttributes} * @memberof AccountAttributesCreate */ 'attributes': AccountAttributesCreateAttributes; } /** * The schema attribute values for the account * @export * @interface AccountAttributesCreateAttributes */ export interface AccountAttributesCreateAttributes { [key: string]: string | any; /** * Target source to create an account * @type {string} * @memberof AccountAttributesCreateAttributes */ 'sourceId': string; } /** * Request used for account enable/disable * @export * @interface AccountToggleRequest */ export interface AccountToggleRequest { /** * If set, an external process validates that the user wants to proceed with this request. * @type {string} * @memberof AccountToggleRequest */ 'externalVerificationId'?: string; /** * If set, provisioning updates the account attribute at the source. This option is used when the account is not synced to ensure the attribute is updated. Providing \'true\' for an unlocked account will add and process \'Unlock\' operation by the workflow. * @type {boolean} * @memberof AccountToggleRequest */ 'forceProvisioning'?: boolean; } /** * Request used for account unlock * @export * @interface AccountUnlockRequest */ export interface AccountUnlockRequest { /** * If set, an external process validates that the user wants to proceed with this request. * @type {string} * @memberof AccountUnlockRequest */ 'externalVerificationId'?: string; /** * If set, the IDN account is unlocked after the workflow completes. * @type {boolean} * @memberof AccountUnlockRequest */ 'unlockIDNAccount'?: boolean; /** * If set, provisioning updates the account attribute at the source. This option is used when the account is not synced to ensure the attribute is updated. * @type {boolean} * @memberof AccountUnlockRequest */ 'forceProvisioning'?: boolean; } /** * Accounts async response containing details on started async process * @export * @interface AccountsAsyncResult */ export interface AccountsAsyncResult { /** * id of the task * @type {string} * @memberof AccountsAsyncResult */ 'id': string; } /** * Reference to an additional owner (identity or governance group). * @export * @interface AdditionalOwnerRef */ export interface AdditionalOwnerRef { /** * Type of the additional owner; IDENTITY for an identity, GOVERNANCE_GROUP for a governance group. * @type {string} * @memberof AdditionalOwnerRef */ 'type'?: AdditionalOwnerRefTypeEnum; /** * ID of the identity or governance group. * @type {string} * @memberof AdditionalOwnerRef */ 'id'?: string; /** * Display name. It may be left null or omitted on input. If set, it must match the current display name of the identity or governance group, otherwise a 400 Bad Request error may result. * @type {string} * @memberof AdditionalOwnerRef */ 'name'?: string | null; } export const AdditionalOwnerRefTypeEnum = { Identity: 'IDENTITY', GovernanceGroup: 'GOVERNANCE_GROUP' } as const; export type AdditionalOwnerRefTypeEnum = typeof AdditionalOwnerRefTypeEnum[keyof typeof AdditionalOwnerRefTypeEnum]; /** * * @export * @interface BaseCommonDto */ export interface BaseCommonDto { /** * System-generated unique ID of the Object * @type {string} * @memberof BaseCommonDto */ 'id'?: string; /** * Name of the Object * @type {string} * @memberof BaseCommonDto */ 'name': string | null; /** * Creation date of the Object * @type {string} * @memberof BaseCommonDto */ 'created'?: string; /** * Last modification date of the Object * @type {string} * @memberof BaseCommonDto */ 'modified'?: 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; } /** * Bulk response object. * @export * @interface BulkIdentitiesAccountsResponse */ export interface BulkIdentitiesAccountsResponse { /** * Identifier of bulk request item. * @type {string} * @memberof BulkIdentitiesAccountsResponse */ 'id'?: string; /** * Response status value. * @type {number} * @memberof BulkIdentitiesAccountsResponse */ 'statusCode'?: number; /** * Status containing additional context information about failures. * @type {string} * @memberof BulkIdentitiesAccountsResponse */ 'message'?: 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 Entitlement */ export interface Entitlement { /** * The entitlement id * @type {string} * @memberof Entitlement */ 'id'?: string; /** * The entitlement name * @type {string} * @memberof Entitlement */ 'name'?: string; /** * The entitlement attribute name * @type {string} * @memberof Entitlement */ 'attribute'?: string; /** * The value of the entitlement * @type {string} * @memberof Entitlement */ 'value'?: string; /** * The object type of the entitlement from the source schema * @type {string} * @memberof Entitlement */ 'sourceSchemaObjectType'?: string; /** * The description of the entitlement * @type {string} * @memberof Entitlement */ 'description'?: string | null; /** * True if the entitlement is privileged * @type {boolean} * @memberof Entitlement */ 'privileged'?: boolean; /** * True if the entitlement is cloud governed * @type {boolean} * @memberof Entitlement */ 'cloudGoverned'?: boolean; /** * True if the entitlement is able to be directly requested * @type {boolean} * @memberof Entitlement */ 'requestable'?: boolean; /** * * @type {EntitlementOwner} * @memberof Entitlement */ 'owner'?: EntitlementOwner | null; /** * List of additional owner references beyond the primary owner. Each entry may be an identity (IDENTITY) or a governance group (GOVERNANCE_GROUP). * @type {Array} * @memberof Entitlement */ 'additionalOwners'?: Array | null; /** * A map of entitlement fields that have been manually updated. The key is the field name in UPPER_SNAKE_CASE format, and the value is true or false to indicate if the field has been updated. * @type {{ [key: string]: any; }} * @memberof Entitlement */ 'manuallyUpdatedFields'?: { [key: string]: any; } | null; /** * * @type {EntitlementAccessModelMetadata} * @memberof Entitlement */ 'accessModelMetadata'?: EntitlementAccessModelMetadata; /** * Time when the entitlement was created * @type {string} * @memberof Entitlement */ 'created'?: string; /** * Time when the entitlement was last modified * @type {string} * @memberof Entitlement */ 'modified'?: string; /** * * @type {EntitlementSource} * @memberof Entitlement */ 'source'?: EntitlementSource; /** * A map of free-form key-value pairs from the source system * @type {{ [key: string]: any; }} * @memberof Entitlement */ 'attributes'?: { [key: string]: any; }; /** * List of IDs of segments, if any, to which this Entitlement is assigned. * @type {Array} * @memberof Entitlement */ 'segments'?: Array | null; /** * * @type {Array} * @memberof Entitlement */ 'directPermissions'?: Array; } /** * Additional data to classify the entitlement * @export * @interface EntitlementAccessModelMetadata */ export interface EntitlementAccessModelMetadata { /** * * @type {Array} * @memberof EntitlementAccessModelMetadata */ 'attributes'?: Array; } /** * The identity that owns the entitlement * @export * @interface EntitlementOwner */ export interface EntitlementOwner { /** * The identity ID * @type {string} * @memberof EntitlementOwner */ 'id'?: string; /** * The type of object * @type {string} * @memberof EntitlementOwner */ 'type'?: EntitlementOwnerTypeEnum; /** * The display name of the identity * @type {string} * @memberof EntitlementOwner */ 'name'?: string; } export const EntitlementOwnerTypeEnum = { Identity: 'IDENTITY' } as const; export type EntitlementOwnerTypeEnum = typeof EntitlementOwnerTypeEnum[keyof typeof EntitlementOwnerTypeEnum]; /** * * @export * @interface EntitlementSource */ export interface EntitlementSource { /** * The source ID * @type {string} * @memberof EntitlementSource */ 'id'?: string; /** * The source type, will always be \"SOURCE\" * @type {string} * @memberof EntitlementSource */ 'type'?: string; /** * The source name * @type {string} * @memberof EntitlementSource */ 'name'?: string; } /** * * @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 IdentitiesAccountsBulkRequest */ export interface IdentitiesAccountsBulkRequest { /** * The ids of the identities for which enable/disable accounts. * @type {Array} * @memberof IdentitiesAccountsBulkRequest */ 'identityIds'?: Array; } /** * * @export * @interface ListAccountsV1401Response */ export interface ListAccountsV1401Response { /** * A message describing the error * @type {any} * @memberof ListAccountsV1401Response */ 'error'?: any; } /** * * @export * @interface ListAccountsV1429Response */ export interface ListAccountsV1429Response { /** * A message describing the error * @type {any} * @memberof ListAccountsV1429Response */ 'message'?: any; } /** * 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]; /** * Simplified DTO for the Permission objects stored in SailPoint\'s database. The data is aggregated from customer systems and is free-form, so its appearance can vary largely between different clients/customers. * @export * @interface PermissionDTO */ export interface PermissionDTO { /** * All the rights (e.g. actions) that this permission allows on the target * @type {Array} * @memberof PermissionDTO */ 'rights'?: Array; /** * The target the permission would grants rights on. * @type {string} * @memberof PermissionDTO */ 'target'?: string; } /** * * @export * @interface Recommendation */ export interface Recommendation { /** * Recommended type of account. * @type {string} * @memberof Recommendation */ 'type': RecommendationTypeEnum; /** * Method used to produce the recommendation. DISCOVERY - suggested by AI, SOURCE - the account comes from a source flagged as containing machine accounts, CRITERIA - the account satisfies classification criteria. * @type {string} * @memberof Recommendation */ 'method': RecommendationMethodEnum; } export const RecommendationTypeEnum = { Human: 'HUMAN', Machine: 'MACHINE' } as const; export type RecommendationTypeEnum = typeof RecommendationTypeEnum[keyof typeof RecommendationTypeEnum]; export const RecommendationMethodEnum = { Discovery: 'DISCOVERY', Source: 'SOURCE', Criteria: 'CRITERIA' } as const; export type RecommendationMethodEnum = typeof RecommendationMethodEnum[keyof typeof RecommendationMethodEnum]; /** * Task result. * @export * @interface TaskResultDto */ export interface TaskResultDto { /** * Task result DTO type. * @type {string} * @memberof TaskResultDto */ 'type'?: TaskResultDtoTypeEnum; /** * Task result ID. * @type {string} * @memberof TaskResultDto */ 'id'?: string; /** * Task result display name. * @type {string} * @memberof TaskResultDto */ 'name'?: string | null; } export const TaskResultDtoTypeEnum = { TaskResult: 'TASK_RESULT' } as const; export type TaskResultDtoTypeEnum = typeof TaskResultDtoTypeEnum[keyof typeof TaskResultDtoTypeEnum]; /** * AccountsApi - axios parameter creator * @export */ export const AccountsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Submit an account creation task - the API then returns the task ID. You must include the `sourceId` where the account will be created in the `attributes` object. This endpoint creates an account on the source record in your ISC tenant. This is useful for Flat File (`DelimitedFile`) type sources because it allows you to aggregate new accounts without needing to import a new CSV file every time. However, if you use this endpoint to create an account for a Direct Connection type source, you must ensure that the account also exists on the target source. The endpoint doesn\'t actually provision the account on the target source, which means that if the account doesn\'t also exist on the target source, an aggregation between the source and your tenant will remove it from your tenant. By providing the account ID of an existing account in the request body, this API will function as a PATCH operation and update the account. * @summary Create account * @param {AccountAttributesCreate} accountAttributesCreate * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccountV1: async (accountAttributesCreate: AccountAttributesCreate, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountAttributesCreate' is not null or undefined assertParamExists('createAccountV1', 'accountAttributesCreate', accountAttributesCreate) const localVarPath = `/accounts/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(accountAttributesCreate, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Use this endpoint to remove accounts from the system without provisioning changes to the source. Accounts that are removed could be re-created during the next aggregation. This endpoint is good for: * Removing accounts that no longer exist on the source. * Removing accounts that won\'t be aggregated following updates to the source configuration. * Forcing accounts to be re-created following the next aggregation to re-run account processing, support testing, etc. * @summary Remove account * @param {string} id The account id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccountAsyncV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('deleteAccountAsyncV1', 'id', id) const localVarPath = `/accounts/v1/{id}/remove` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...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 delete an account. This endpoint submits an account delete task and returns the task ID. This endpoint only deletes the account from IdentityNow, not the source itself, which can result in the account\'s returning with the next aggregation between the source and IdentityNow. To avoid this scenario, it is recommended that you [disable accounts](https://developer.sailpoint.com/docs/api/disable-account-v-1) rather than delete them. This will also allow you to reenable the accounts in the future. >**NOTE: You can only delete accounts from sources of the \"DelimitedFile\" type.** * @summary Delete account * @param {string} id Account ID. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccountV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('deleteAccountV1', 'id', id) const localVarPath = `/accounts/v1/{id}` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'DELETE', ...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 API submits a task to disable IDN account for a single identity. * @summary Disable idn account for identity * @param {string} id The identity id. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ disableAccountForIdentityV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('disableAccountForIdentityV1', 'id', id) const localVarPath = `/identities-accounts/v1/{id}/disable` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...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 API submits a task to disable the account and returns the task ID. * @summary Disable account * @param {string} id The account id * @param {AccountToggleRequest} accountToggleRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ disableAccountV1: async (id: string, accountToggleRequest: AccountToggleRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('disableAccountV1', 'id', id) // verify required parameter 'accountToggleRequest' is not null or undefined assertParamExists('disableAccountV1', 'accountToggleRequest', accountToggleRequest) const localVarPath = `/accounts/v1/{id}/disable` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: '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(accountToggleRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API submits tasks to disable IDN account for each identity provided in the request body. * @summary Disable idn accounts for identities * @param {IdentitiesAccountsBulkRequest} identitiesAccountsBulkRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ disableAccountsForIdentitiesV1: async (identitiesAccountsBulkRequest: IdentitiesAccountsBulkRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'identitiesAccountsBulkRequest' is not null or undefined assertParamExists('disableAccountsForIdentitiesV1', 'identitiesAccountsBulkRequest', identitiesAccountsBulkRequest) const localVarPath = `/identities-accounts/v1/disable`; // 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(identitiesAccountsBulkRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API submits a task to enable IDN account for a single identity. * @summary Enable idn account for identity * @param {string} id The identity id. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ enableAccountForIdentityV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('enableAccountForIdentityV1', 'id', id) const localVarPath = `/identities-accounts/v1/{id}/enable` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...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 API submits a task to enable account and returns the task ID. * @summary Enable account * @param {string} id The account id * @param {AccountToggleRequest} accountToggleRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ enableAccountV1: async (id: string, accountToggleRequest: AccountToggleRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('enableAccountV1', 'id', id) // verify required parameter 'accountToggleRequest' is not null or undefined assertParamExists('enableAccountV1', 'accountToggleRequest', accountToggleRequest) const localVarPath = `/accounts/v1/{id}/enable` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: '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(accountToggleRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API submits tasks to enable IDN account for each identity provided in the request body. * @summary Enable idn accounts for identities * @param {IdentitiesAccountsBulkRequest} identitiesAccountsBulkRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ enableAccountsForIdentitiesV1: async (identitiesAccountsBulkRequest: IdentitiesAccountsBulkRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'identitiesAccountsBulkRequest' is not null or undefined assertParamExists('enableAccountsForIdentitiesV1', 'identitiesAccountsBulkRequest', identitiesAccountsBulkRequest) const localVarPath = `/identities-accounts/v1/enable`; // 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(identitiesAccountsBulkRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API returns entitlements of the account. * @summary Account entitlements * @param {string} id The account id * @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 {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccountEntitlementsV1: async (id: string, limit?: number, offset?: number, count?: boolean, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('getAccountEntitlementsV1', 'id', id) const localVarPath = `/accounts/v1/{id}/entitlements` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: '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; } 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 single account by its ID. * @summary Account details * @param {string} id Account ID. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccountV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('getAccountV1', 'id', id) const localVarPath = `/accounts/v1/{id}` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * List accounts. * @summary Accounts list * @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 {ListAccountsV1DetailLevelEnum} [detailLevel] This value determines whether the API provides `SLIM` or increased level of detail (`FULL`) for each account in the returned list. `FULL` is the default behavior. * @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: **id**: *eq, in, sw* **identityId**: *eq, in, sw* **name**: *eq, in, sw* **nativeIdentity**: *eq, in, sw* **hasEntitlements**: *eq* **sourceId**: *eq, in, sw* **uncorrelated**: *eq* **entitlements**: *eq* **origin**: *eq, in* **manuallyCorrelated**: *eq* **identity.name**: *eq, in, sw* **identity.correlated**: *eq* **identity.identityState**: *eq, in* **source.displayableName**: *eq, in* **source.authoritative**: *eq* **source.connectionType**: *eq, in* **recommendation.method**: *eq, in, isnull* **created**: *eq, ge, gt, le, lt* **modified**: *eq, ge, gt, le, lt* * @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: **id, name, created, modified, sourceId, identityId, nativeIdentity, uuid, manuallyCorrelated, entitlements, origin, identity.name, identity.identityState, identity.correlated, source.displayableName, source.authoritative, source.connectionType** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAccountsV1: async (limit?: number, offset?: number, count?: boolean, detailLevel?: ListAccountsV1DetailLevelEnum, filters?: string, sorters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/accounts/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (detailLevel !== undefined) { localVarQueryParameter['detailLevel'] = detailLevel; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } 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 update an account with a PUT request. This endpoint submits an account update task and returns the task ID. >**Note: You can only use this PUT endpoint to update accounts from flat file sources.** * @summary Update account * @param {string} id Account ID. * @param {AccountAttributes} accountAttributes * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ putAccountV1: async (id: string, accountAttributes: AccountAttributes, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('putAccountV1', 'id', id) // verify required parameter 'accountAttributes' is not null or undefined assertParamExists('putAccountV1', 'accountAttributes', accountAttributes) const localVarPath = `/accounts/v1/{id}` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: '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(accountAttributes, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API asynchronously reloads the account directly from the connector and performs a one-time aggregation process. * @summary Reload account * @param {string} id The account id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitReloadAccountV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('submitReloadAccountV1', 'id', id) const localVarPath = `/accounts/v1/{id}/reload` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...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 API submits a task to unlock an account and returns the task ID. To use this endpoint to unlock an account that has the `forceProvisioning` option set to true, the `idn:accounts-provisioning:manage` scope is required. * @summary Unlock account * @param {string} id The account ID. * @param {AccountUnlockRequest} accountUnlockRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ unlockAccountV1: async (id: string, accountUnlockRequest: AccountUnlockRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('unlockAccountV1', 'id', id) // verify required parameter 'accountUnlockRequest' is not null or undefined assertParamExists('unlockAccountV1', 'accountUnlockRequest', accountUnlockRequest) const localVarPath = `/accounts/v1/{id}/unlock` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: '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(accountUnlockRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Use this API to update account details. This API supports updating an account\'s correlation by modifying the `identityId` and `manuallyCorrelated` fields. To reassign an account from one identity to another, replace the current `identityId` with a new value. If the account you\'re assigning was provisioned by Identity Security Cloud (ISC), it\'s possible for ISC to create a new account for the previous identity as soon as the account is moved. If the account you\'re assigning is authoritative, this causes the previous identity to become uncorrelated and can even result in its deletion. All accounts that are reassigned will be set to `manuallyCorrelated: true` unless you specify otherwise. >**Note:** The `attributes` field can only be modified for flat file accounts. * @summary Update account * @param {string} id Account ID. * @param {Array} requestBody A list of account update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateAccountV1: async (id: string, requestBody: Array, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('updateAccountV1', 'id', id) // verify required parameter 'requestBody' is not null or undefined assertParamExists('updateAccountV1', 'requestBody', requestBody) const localVarPath = `/accounts/v1/{id}` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, } }; /** * AccountsApi - functional programming interface * @export */ export const AccountsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AccountsApiAxiosParamCreator(configuration) return { /** * Submit an account creation task - the API then returns the task ID. You must include the `sourceId` where the account will be created in the `attributes` object. This endpoint creates an account on the source record in your ISC tenant. This is useful for Flat File (`DelimitedFile`) type sources because it allows you to aggregate new accounts without needing to import a new CSV file every time. However, if you use this endpoint to create an account for a Direct Connection type source, you must ensure that the account also exists on the target source. The endpoint doesn\'t actually provision the account on the target source, which means that if the account doesn\'t also exist on the target source, an aggregation between the source and your tenant will remove it from your tenant. By providing the account ID of an existing account in the request body, this API will function as a PATCH operation and update the account. * @summary Create account * @param {AccountAttributesCreate} accountAttributesCreate * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async createAccountV1(accountAttributesCreate: AccountAttributesCreate, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createAccountV1(accountAttributesCreate, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.createAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this endpoint to remove accounts from the system without provisioning changes to the source. Accounts that are removed could be re-created during the next aggregation. This endpoint is good for: * Removing accounts that no longer exist on the source. * Removing accounts that won\'t be aggregated following updates to the source configuration. * Forcing accounts to be re-created following the next aggregation to re-run account processing, support testing, etc. * @summary Remove account * @param {string} id The account id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteAccountAsyncV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAccountAsyncV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.deleteAccountAsyncV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to delete an account. This endpoint submits an account delete task and returns the task ID. This endpoint only deletes the account from IdentityNow, not the source itself, which can result in the account\'s returning with the next aggregation between the source and IdentityNow. To avoid this scenario, it is recommended that you [disable accounts](https://developer.sailpoint.com/docs/api/disable-account-v-1) rather than delete them. This will also allow you to reenable the accounts in the future. >**NOTE: You can only delete accounts from sources of the \"DelimitedFile\" type.** * @summary Delete account * @param {string} id Account ID. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteAccountV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAccountV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.deleteAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API submits a task to disable IDN account for a single identity. * @summary Disable idn account for identity * @param {string} id The identity id. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async disableAccountForIdentityV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.disableAccountForIdentityV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.disableAccountForIdentityV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API submits a task to disable the account and returns the task ID. * @summary Disable account * @param {string} id The account id * @param {AccountToggleRequest} accountToggleRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async disableAccountV1(id: string, accountToggleRequest: AccountToggleRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.disableAccountV1(id, accountToggleRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.disableAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API submits tasks to disable IDN account for each identity provided in the request body. * @summary Disable idn accounts for identities * @param {IdentitiesAccountsBulkRequest} identitiesAccountsBulkRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async disableAccountsForIdentitiesV1(identitiesAccountsBulkRequest: IdentitiesAccountsBulkRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.disableAccountsForIdentitiesV1(identitiesAccountsBulkRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.disableAccountsForIdentitiesV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API submits a task to enable IDN account for a single identity. * @summary Enable idn account for identity * @param {string} id The identity id. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async enableAccountForIdentityV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.enableAccountForIdentityV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.enableAccountForIdentityV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API submits a task to enable account and returns the task ID. * @summary Enable account * @param {string} id The account id * @param {AccountToggleRequest} accountToggleRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async enableAccountV1(id: string, accountToggleRequest: AccountToggleRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.enableAccountV1(id, accountToggleRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.enableAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API submits tasks to enable IDN account for each identity provided in the request body. * @summary Enable idn accounts for identities * @param {IdentitiesAccountsBulkRequest} identitiesAccountsBulkRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async enableAccountsForIdentitiesV1(identitiesAccountsBulkRequest: IdentitiesAccountsBulkRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.enableAccountsForIdentitiesV1(identitiesAccountsBulkRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.enableAccountsForIdentitiesV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns entitlements of the account. * @summary Account entitlements * @param {string} id The account id * @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 {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getAccountEntitlementsV1(id: string, limit?: number, offset?: number, count?: boolean, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAccountEntitlementsV1(id, limit, offset, count, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.getAccountEntitlementsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to return the details for a single account by its ID. * @summary Account details * @param {string} id Account ID. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getAccountV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAccountV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.getAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * List accounts. * @summary Accounts list * @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 {ListAccountsV1DetailLevelEnum} [detailLevel] This value determines whether the API provides `SLIM` or increased level of detail (`FULL`) for each account in the returned list. `FULL` is the default behavior. * @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: **id**: *eq, in, sw* **identityId**: *eq, in, sw* **name**: *eq, in, sw* **nativeIdentity**: *eq, in, sw* **hasEntitlements**: *eq* **sourceId**: *eq, in, sw* **uncorrelated**: *eq* **entitlements**: *eq* **origin**: *eq, in* **manuallyCorrelated**: *eq* **identity.name**: *eq, in, sw* **identity.correlated**: *eq* **identity.identityState**: *eq, in* **source.displayableName**: *eq, in* **source.authoritative**: *eq* **source.connectionType**: *eq, in* **recommendation.method**: *eq, in, isnull* **created**: *eq, ge, gt, le, lt* **modified**: *eq, ge, gt, le, lt* * @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: **id, name, created, modified, sourceId, identityId, nativeIdentity, uuid, manuallyCorrelated, entitlements, origin, identity.name, identity.identityState, identity.correlated, source.displayableName, source.authoritative, source.connectionType** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listAccountsV1(limit?: number, offset?: number, count?: boolean, detailLevel?: ListAccountsV1DetailLevelEnum, filters?: string, sorters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listAccountsV1(limit, offset, count, detailLevel, filters, sorters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.listAccountsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to update an account with a PUT request. This endpoint submits an account update task and returns the task ID. >**Note: You can only use this PUT endpoint to update accounts from flat file sources.** * @summary Update account * @param {string} id Account ID. * @param {AccountAttributes} accountAttributes * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async putAccountV1(id: string, accountAttributes: AccountAttributes, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.putAccountV1(id, accountAttributes, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.putAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API asynchronously reloads the account directly from the connector and performs a one-time aggregation process. * @summary Reload account * @param {string} id The account id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async submitReloadAccountV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.submitReloadAccountV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.submitReloadAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API submits a task to unlock an account and returns the task ID. To use this endpoint to unlock an account that has the `forceProvisioning` option set to true, the `idn:accounts-provisioning:manage` scope is required. * @summary Unlock account * @param {string} id The account ID. * @param {AccountUnlockRequest} accountUnlockRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async unlockAccountV1(id: string, accountUnlockRequest: AccountUnlockRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.unlockAccountV1(id, accountUnlockRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.unlockAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to update account details. This API supports updating an account\'s correlation by modifying the `identityId` and `manuallyCorrelated` fields. To reassign an account from one identity to another, replace the current `identityId` with a new value. If the account you\'re assigning was provisioned by Identity Security Cloud (ISC), it\'s possible for ISC to create a new account for the previous identity as soon as the account is moved. If the account you\'re assigning is authoritative, this causes the previous identity to become uncorrelated and can even result in its deletion. All accounts that are reassigned will be set to `manuallyCorrelated: true` unless you specify otherwise. >**Note:** The `attributes` field can only be modified for flat file accounts. * @summary Update account * @param {string} id Account ID. * @param {Array} requestBody A list of account update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async updateAccountV1(id: string, requestBody: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateAccountV1(id, requestBody, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountsApi.updateAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * AccountsApi - factory interface * @export */ export const AccountsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = AccountsApiFp(configuration) return { /** * Submit an account creation task - the API then returns the task ID. You must include the `sourceId` where the account will be created in the `attributes` object. This endpoint creates an account on the source record in your ISC tenant. This is useful for Flat File (`DelimitedFile`) type sources because it allows you to aggregate new accounts without needing to import a new CSV file every time. However, if you use this endpoint to create an account for a Direct Connection type source, you must ensure that the account also exists on the target source. The endpoint doesn\'t actually provision the account on the target source, which means that if the account doesn\'t also exist on the target source, an aggregation between the source and your tenant will remove it from your tenant. By providing the account ID of an existing account in the request body, this API will function as a PATCH operation and update the account. * @summary Create account * @param {AccountsApiCreateAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccountV1(requestParameters: AccountsApiCreateAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createAccountV1(requestParameters.accountAttributesCreate, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this endpoint to remove accounts from the system without provisioning changes to the source. Accounts that are removed could be re-created during the next aggregation. This endpoint is good for: * Removing accounts that no longer exist on the source. * Removing accounts that won\'t be aggregated following updates to the source configuration. * Forcing accounts to be re-created following the next aggregation to re-run account processing, support testing, etc. * @summary Remove account * @param {AccountsApiDeleteAccountAsyncV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccountAsyncV1(requestParameters: AccountsApiDeleteAccountAsyncV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteAccountAsyncV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to delete an account. This endpoint submits an account delete task and returns the task ID. This endpoint only deletes the account from IdentityNow, not the source itself, which can result in the account\'s returning with the next aggregation between the source and IdentityNow. To avoid this scenario, it is recommended that you [disable accounts](https://developer.sailpoint.com/docs/api/disable-account-v-1) rather than delete them. This will also allow you to reenable the accounts in the future. >**NOTE: You can only delete accounts from sources of the \"DelimitedFile\" type.** * @summary Delete account * @param {AccountsApiDeleteAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccountV1(requestParameters: AccountsApiDeleteAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteAccountV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API submits a task to disable IDN account for a single identity. * @summary Disable idn account for identity * @param {AccountsApiDisableAccountForIdentityV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ disableAccountForIdentityV1(requestParameters: AccountsApiDisableAccountForIdentityV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.disableAccountForIdentityV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API submits a task to disable the account and returns the task ID. * @summary Disable account * @param {AccountsApiDisableAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ disableAccountV1(requestParameters: AccountsApiDisableAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.disableAccountV1(requestParameters.id, requestParameters.accountToggleRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API submits tasks to disable IDN account for each identity provided in the request body. * @summary Disable idn accounts for identities * @param {AccountsApiDisableAccountsForIdentitiesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ disableAccountsForIdentitiesV1(requestParameters: AccountsApiDisableAccountsForIdentitiesV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.disableAccountsForIdentitiesV1(requestParameters.identitiesAccountsBulkRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API submits a task to enable IDN account for a single identity. * @summary Enable idn account for identity * @param {AccountsApiEnableAccountForIdentityV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ enableAccountForIdentityV1(requestParameters: AccountsApiEnableAccountForIdentityV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.enableAccountForIdentityV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API submits a task to enable account and returns the task ID. * @summary Enable account * @param {AccountsApiEnableAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ enableAccountV1(requestParameters: AccountsApiEnableAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.enableAccountV1(requestParameters.id, requestParameters.accountToggleRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API submits tasks to enable IDN account for each identity provided in the request body. * @summary Enable idn accounts for identities * @param {AccountsApiEnableAccountsForIdentitiesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ enableAccountsForIdentitiesV1(requestParameters: AccountsApiEnableAccountsForIdentitiesV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.enableAccountsForIdentitiesV1(requestParameters.identitiesAccountsBulkRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns entitlements of the account. * @summary Account entitlements * @param {AccountsApiGetAccountEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccountEntitlementsV1(requestParameters: AccountsApiGetAccountEntitlementsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.getAccountEntitlementsV1(requestParameters.id, requestParameters.limit, requestParameters.offset, requestParameters.count, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to return the details for a single account by its ID. * @summary Account details * @param {AccountsApiGetAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccountV1(requestParameters: AccountsApiGetAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getAccountV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * List accounts. * @summary Accounts list * @param {AccountsApiListAccountsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAccountsV1(requestParameters: AccountsApiListAccountsV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listAccountsV1(requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.detailLevel, requestParameters.filters, requestParameters.sorters, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to update an account with a PUT request. This endpoint submits an account update task and returns the task ID. >**Note: You can only use this PUT endpoint to update accounts from flat file sources.** * @summary Update account * @param {AccountsApiPutAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ putAccountV1(requestParameters: AccountsApiPutAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.putAccountV1(requestParameters.id, requestParameters.accountAttributes, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API asynchronously reloads the account directly from the connector and performs a one-time aggregation process. * @summary Reload account * @param {AccountsApiSubmitReloadAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ submitReloadAccountV1(requestParameters: AccountsApiSubmitReloadAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.submitReloadAccountV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API submits a task to unlock an account and returns the task ID. To use this endpoint to unlock an account that has the `forceProvisioning` option set to true, the `idn:accounts-provisioning:manage` scope is required. * @summary Unlock account * @param {AccountsApiUnlockAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ unlockAccountV1(requestParameters: AccountsApiUnlockAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.unlockAccountV1(requestParameters.id, requestParameters.accountUnlockRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to update account details. This API supports updating an account\'s correlation by modifying the `identityId` and `manuallyCorrelated` fields. To reassign an account from one identity to another, replace the current `identityId` with a new value. If the account you\'re assigning was provisioned by Identity Security Cloud (ISC), it\'s possible for ISC to create a new account for the previous identity as soon as the account is moved. If the account you\'re assigning is authoritative, this causes the previous identity to become uncorrelated and can even result in its deletion. All accounts that are reassigned will be set to `manuallyCorrelated: true` unless you specify otherwise. >**Note:** The `attributes` field can only be modified for flat file accounts. * @summary Update account * @param {AccountsApiUpdateAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateAccountV1(requestParameters: AccountsApiUpdateAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateAccountV1(requestParameters.id, requestParameters.requestBody, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for createAccountV1 operation in AccountsApi. * @export * @interface AccountsApiCreateAccountV1Request */ export interface AccountsApiCreateAccountV1Request { /** * * @type {AccountAttributesCreate} * @memberof AccountsApiCreateAccountV1 */ readonly accountAttributesCreate: AccountAttributesCreate } /** * Request parameters for deleteAccountAsyncV1 operation in AccountsApi. * @export * @interface AccountsApiDeleteAccountAsyncV1Request */ export interface AccountsApiDeleteAccountAsyncV1Request { /** * The account id * @type {string} * @memberof AccountsApiDeleteAccountAsyncV1 */ readonly id: string } /** * Request parameters for deleteAccountV1 operation in AccountsApi. * @export * @interface AccountsApiDeleteAccountV1Request */ export interface AccountsApiDeleteAccountV1Request { /** * Account ID. * @type {string} * @memberof AccountsApiDeleteAccountV1 */ readonly id: string } /** * Request parameters for disableAccountForIdentityV1 operation in AccountsApi. * @export * @interface AccountsApiDisableAccountForIdentityV1Request */ export interface AccountsApiDisableAccountForIdentityV1Request { /** * The identity id. * @type {string} * @memberof AccountsApiDisableAccountForIdentityV1 */ readonly id: string } /** * Request parameters for disableAccountV1 operation in AccountsApi. * @export * @interface AccountsApiDisableAccountV1Request */ export interface AccountsApiDisableAccountV1Request { /** * The account id * @type {string} * @memberof AccountsApiDisableAccountV1 */ readonly id: string /** * * @type {AccountToggleRequest} * @memberof AccountsApiDisableAccountV1 */ readonly accountToggleRequest: AccountToggleRequest } /** * Request parameters for disableAccountsForIdentitiesV1 operation in AccountsApi. * @export * @interface AccountsApiDisableAccountsForIdentitiesV1Request */ export interface AccountsApiDisableAccountsForIdentitiesV1Request { /** * * @type {IdentitiesAccountsBulkRequest} * @memberof AccountsApiDisableAccountsForIdentitiesV1 */ readonly identitiesAccountsBulkRequest: IdentitiesAccountsBulkRequest } /** * Request parameters for enableAccountForIdentityV1 operation in AccountsApi. * @export * @interface AccountsApiEnableAccountForIdentityV1Request */ export interface AccountsApiEnableAccountForIdentityV1Request { /** * The identity id. * @type {string} * @memberof AccountsApiEnableAccountForIdentityV1 */ readonly id: string } /** * Request parameters for enableAccountV1 operation in AccountsApi. * @export * @interface AccountsApiEnableAccountV1Request */ export interface AccountsApiEnableAccountV1Request { /** * The account id * @type {string} * @memberof AccountsApiEnableAccountV1 */ readonly id: string /** * * @type {AccountToggleRequest} * @memberof AccountsApiEnableAccountV1 */ readonly accountToggleRequest: AccountToggleRequest } /** * Request parameters for enableAccountsForIdentitiesV1 operation in AccountsApi. * @export * @interface AccountsApiEnableAccountsForIdentitiesV1Request */ export interface AccountsApiEnableAccountsForIdentitiesV1Request { /** * * @type {IdentitiesAccountsBulkRequest} * @memberof AccountsApiEnableAccountsForIdentitiesV1 */ readonly identitiesAccountsBulkRequest: IdentitiesAccountsBulkRequest } /** * Request parameters for getAccountEntitlementsV1 operation in AccountsApi. * @export * @interface AccountsApiGetAccountEntitlementsV1Request */ export interface AccountsApiGetAccountEntitlementsV1Request { /** * The account id * @type {string} * @memberof AccountsApiGetAccountEntitlementsV1 */ readonly id: string /** * 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 AccountsApiGetAccountEntitlementsV1 */ 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 AccountsApiGetAccountEntitlementsV1 */ 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 AccountsApiGetAccountEntitlementsV1 */ readonly count?: boolean } /** * Request parameters for getAccountV1 operation in AccountsApi. * @export * @interface AccountsApiGetAccountV1Request */ export interface AccountsApiGetAccountV1Request { /** * Account ID. * @type {string} * @memberof AccountsApiGetAccountV1 */ readonly id: string } /** * Request parameters for listAccountsV1 operation in AccountsApi. * @export * @interface AccountsApiListAccountsV1Request */ export interface AccountsApiListAccountsV1Request { /** * 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 AccountsApiListAccountsV1 */ 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 AccountsApiListAccountsV1 */ 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 AccountsApiListAccountsV1 */ readonly count?: boolean /** * This value determines whether the API provides `SLIM` or increased level of detail (`FULL`) for each account in the returned list. `FULL` is the default behavior. * @type {'SLIM' | 'FULL'} * @memberof AccountsApiListAccountsV1 */ readonly detailLevel?: ListAccountsV1DetailLevelEnum /** * 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: **id**: *eq, in, sw* **identityId**: *eq, in, sw* **name**: *eq, in, sw* **nativeIdentity**: *eq, in, sw* **hasEntitlements**: *eq* **sourceId**: *eq, in, sw* **uncorrelated**: *eq* **entitlements**: *eq* **origin**: *eq, in* **manuallyCorrelated**: *eq* **identity.name**: *eq, in, sw* **identity.correlated**: *eq* **identity.identityState**: *eq, in* **source.displayableName**: *eq, in* **source.authoritative**: *eq* **source.connectionType**: *eq, in* **recommendation.method**: *eq, in, isnull* **created**: *eq, ge, gt, le, lt* **modified**: *eq, ge, gt, le, lt* * @type {string} * @memberof AccountsApiListAccountsV1 */ 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: **id, name, created, modified, sourceId, identityId, nativeIdentity, uuid, manuallyCorrelated, entitlements, origin, identity.name, identity.identityState, identity.correlated, source.displayableName, source.authoritative, source.connectionType** * @type {string} * @memberof AccountsApiListAccountsV1 */ readonly sorters?: string } /** * Request parameters for putAccountV1 operation in AccountsApi. * @export * @interface AccountsApiPutAccountV1Request */ export interface AccountsApiPutAccountV1Request { /** * Account ID. * @type {string} * @memberof AccountsApiPutAccountV1 */ readonly id: string /** * * @type {AccountAttributes} * @memberof AccountsApiPutAccountV1 */ readonly accountAttributes: AccountAttributes } /** * Request parameters for submitReloadAccountV1 operation in AccountsApi. * @export * @interface AccountsApiSubmitReloadAccountV1Request */ export interface AccountsApiSubmitReloadAccountV1Request { /** * The account id * @type {string} * @memberof AccountsApiSubmitReloadAccountV1 */ readonly id: string } /** * Request parameters for unlockAccountV1 operation in AccountsApi. * @export * @interface AccountsApiUnlockAccountV1Request */ export interface AccountsApiUnlockAccountV1Request { /** * The account ID. * @type {string} * @memberof AccountsApiUnlockAccountV1 */ readonly id: string /** * * @type {AccountUnlockRequest} * @memberof AccountsApiUnlockAccountV1 */ readonly accountUnlockRequest: AccountUnlockRequest } /** * Request parameters for updateAccountV1 operation in AccountsApi. * @export * @interface AccountsApiUpdateAccountV1Request */ export interface AccountsApiUpdateAccountV1Request { /** * Account ID. * @type {string} * @memberof AccountsApiUpdateAccountV1 */ readonly id: string /** * A list of account update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. * @type {Array} * @memberof AccountsApiUpdateAccountV1 */ readonly requestBody: Array } /** * AccountsApi - object-oriented interface * @export * @class AccountsApi * @extends {BaseAPI} */ export class AccountsApi extends BaseAPI { /** * Submit an account creation task - the API then returns the task ID. You must include the `sourceId` where the account will be created in the `attributes` object. This endpoint creates an account on the source record in your ISC tenant. This is useful for Flat File (`DelimitedFile`) type sources because it allows you to aggregate new accounts without needing to import a new CSV file every time. However, if you use this endpoint to create an account for a Direct Connection type source, you must ensure that the account also exists on the target source. The endpoint doesn\'t actually provision the account on the target source, which means that if the account doesn\'t also exist on the target source, an aggregation between the source and your tenant will remove it from your tenant. By providing the account ID of an existing account in the request body, this API will function as a PATCH operation and update the account. * @summary Create account * @param {AccountsApiCreateAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public createAccountV1(requestParameters: AccountsApiCreateAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).createAccountV1(requestParameters.accountAttributesCreate, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this endpoint to remove accounts from the system without provisioning changes to the source. Accounts that are removed could be re-created during the next aggregation. This endpoint is good for: * Removing accounts that no longer exist on the source. * Removing accounts that won\'t be aggregated following updates to the source configuration. * Forcing accounts to be re-created following the next aggregation to re-run account processing, support testing, etc. * @summary Remove account * @param {AccountsApiDeleteAccountAsyncV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public deleteAccountAsyncV1(requestParameters: AccountsApiDeleteAccountAsyncV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).deleteAccountAsyncV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to delete an account. This endpoint submits an account delete task and returns the task ID. This endpoint only deletes the account from IdentityNow, not the source itself, which can result in the account\'s returning with the next aggregation between the source and IdentityNow. To avoid this scenario, it is recommended that you [disable accounts](https://developer.sailpoint.com/docs/api/disable-account-v-1) rather than delete them. This will also allow you to reenable the accounts in the future. >**NOTE: You can only delete accounts from sources of the \"DelimitedFile\" type.** * @summary Delete account * @param {AccountsApiDeleteAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public deleteAccountV1(requestParameters: AccountsApiDeleteAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).deleteAccountV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API submits a task to disable IDN account for a single identity. * @summary Disable idn account for identity * @param {AccountsApiDisableAccountForIdentityV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public disableAccountForIdentityV1(requestParameters: AccountsApiDisableAccountForIdentityV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).disableAccountForIdentityV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API submits a task to disable the account and returns the task ID. * @summary Disable account * @param {AccountsApiDisableAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public disableAccountV1(requestParameters: AccountsApiDisableAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).disableAccountV1(requestParameters.id, requestParameters.accountToggleRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API submits tasks to disable IDN account for each identity provided in the request body. * @summary Disable idn accounts for identities * @param {AccountsApiDisableAccountsForIdentitiesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public disableAccountsForIdentitiesV1(requestParameters: AccountsApiDisableAccountsForIdentitiesV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).disableAccountsForIdentitiesV1(requestParameters.identitiesAccountsBulkRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API submits a task to enable IDN account for a single identity. * @summary Enable idn account for identity * @param {AccountsApiEnableAccountForIdentityV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public enableAccountForIdentityV1(requestParameters: AccountsApiEnableAccountForIdentityV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).enableAccountForIdentityV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API submits a task to enable account and returns the task ID. * @summary Enable account * @param {AccountsApiEnableAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public enableAccountV1(requestParameters: AccountsApiEnableAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).enableAccountV1(requestParameters.id, requestParameters.accountToggleRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API submits tasks to enable IDN account for each identity provided in the request body. * @summary Enable idn accounts for identities * @param {AccountsApiEnableAccountsForIdentitiesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public enableAccountsForIdentitiesV1(requestParameters: AccountsApiEnableAccountsForIdentitiesV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).enableAccountsForIdentitiesV1(requestParameters.identitiesAccountsBulkRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns entitlements of the account. * @summary Account entitlements * @param {AccountsApiGetAccountEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public getAccountEntitlementsV1(requestParameters: AccountsApiGetAccountEntitlementsV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).getAccountEntitlementsV1(requestParameters.id, requestParameters.limit, requestParameters.offset, requestParameters.count, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to return the details for a single account by its ID. * @summary Account details * @param {AccountsApiGetAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public getAccountV1(requestParameters: AccountsApiGetAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).getAccountV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * List accounts. * @summary Accounts list * @param {AccountsApiListAccountsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public listAccountsV1(requestParameters: AccountsApiListAccountsV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).listAccountsV1(requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.detailLevel, requestParameters.filters, requestParameters.sorters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to update an account with a PUT request. This endpoint submits an account update task and returns the task ID. >**Note: You can only use this PUT endpoint to update accounts from flat file sources.** * @summary Update account * @param {AccountsApiPutAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public putAccountV1(requestParameters: AccountsApiPutAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).putAccountV1(requestParameters.id, requestParameters.accountAttributes, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API asynchronously reloads the account directly from the connector and performs a one-time aggregation process. * @summary Reload account * @param {AccountsApiSubmitReloadAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public submitReloadAccountV1(requestParameters: AccountsApiSubmitReloadAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).submitReloadAccountV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API submits a task to unlock an account and returns the task ID. To use this endpoint to unlock an account that has the `forceProvisioning` option set to true, the `idn:accounts-provisioning:manage` scope is required. * @summary Unlock account * @param {AccountsApiUnlockAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public unlockAccountV1(requestParameters: AccountsApiUnlockAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).unlockAccountV1(requestParameters.id, requestParameters.accountUnlockRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to update account details. This API supports updating an account\'s correlation by modifying the `identityId` and `manuallyCorrelated` fields. To reassign an account from one identity to another, replace the current `identityId` with a new value. If the account you\'re assigning was provisioned by Identity Security Cloud (ISC), it\'s possible for ISC to create a new account for the previous identity as soon as the account is moved. If the account you\'re assigning is authoritative, this causes the previous identity to become uncorrelated and can even result in its deletion. All accounts that are reassigned will be set to `manuallyCorrelated: true` unless you specify otherwise. >**Note:** The `attributes` field can only be modified for flat file accounts. * @summary Update account * @param {AccountsApiUpdateAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountsApi */ public updateAccountV1(requestParameters: AccountsApiUpdateAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountsApiFp(this.configuration).updateAccountV1(requestParameters.id, requestParameters.requestBody, axiosOptions).then((request) => request(this.axios, this.basePath)); } } /** * @export */ export const ListAccountsV1DetailLevelEnum = { Slim: 'SLIM', Full: 'FULL' } as const; export type ListAccountsV1DetailLevelEnum = typeof ListAccountsV1DetailLevelEnum[keyof typeof ListAccountsV1DetailLevelEnum];