/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Entitlements * 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; } /** * 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 ArrayInner */ export interface ArrayInner { } /** * * @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 {EntitlementV2Owner} * @memberof Entitlement */ 'owner'?: EntitlementV2Owner | 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 {EntitlementV2AccessModelMetadata} * @memberof Entitlement */ 'accessModelMetadata'?: EntitlementV2AccessModelMetadata; /** * 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; } /** * * @export * @interface EntitlementAccessRequestConfig */ export interface EntitlementAccessRequestConfig { /** * Ordered list of approval steps for the access request. Empty when no approval is required. * @type {Array} * @memberof EntitlementAccessRequestConfig */ 'approvalSchemes'?: Array; /** * If the requester must provide a comment during access request. * @type {boolean} * @memberof EntitlementAccessRequestConfig */ 'requestCommentRequired'?: boolean; /** * If the reviewer must provide a comment when denying the access request. * @type {boolean} * @memberof EntitlementAccessRequestConfig */ 'denialCommentRequired'?: boolean; /** * Is Reauthorization Required * @type {boolean} * @memberof EntitlementAccessRequestConfig */ 'reauthorizationRequired'?: boolean; /** * If true, then remove date or sunset date is required in access request of the entitlement. * @type {boolean} * @memberof EntitlementAccessRequestConfig */ 'requireEndDate'?: boolean; /** * * @type {EntitlementAccessRequestConfigMaxPermittedAccessDuration} * @memberof EntitlementAccessRequestConfig */ 'maxPermittedAccessDuration'?: EntitlementAccessRequestConfigMaxPermittedAccessDuration | null; } /** * The maximum duration for which the access is permitted. * @export * @interface EntitlementAccessRequestConfigMaxPermittedAccessDuration */ export interface EntitlementAccessRequestConfigMaxPermittedAccessDuration { /** * The numeric value of the duration. * @type {number} * @memberof EntitlementAccessRequestConfigMaxPermittedAccessDuration */ 'value'?: number; /** * The time unit for the duration. * @type {string} * @memberof EntitlementAccessRequestConfigMaxPermittedAccessDuration */ 'timeUnit'?: EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum; } export const EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum = { Hours: 'HOURS', Days: 'DAYS', Weeks: 'WEEKS', Months: 'MONTHS' } as const; export type EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum = typeof EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum[keyof typeof EntitlementAccessRequestConfigMaxPermittedAccessDurationTimeUnitEnum]; /** * * @export * @interface EntitlementApprovalScheme */ export interface EntitlementApprovalScheme { /** * Describes the individual or group that is responsible for an approval step. Values are as follows. **ENTITLEMENT_OWNER**: Owner of the associated Entitlement **SOURCE_OWNER**: Owner of the associated Source **MANAGER**: Manager of the Identity for whom the request is being made **GOVERNANCE_GROUP**: A Governance Group, the ID of which is specified by the **approverId** field **WORKFLOW**: A Workflow, the ID of which is specified by the **approverId** field, Workflows are exclusive to other types of approvals and License required. * @type {string} * @memberof EntitlementApprovalScheme */ 'approverType'?: EntitlementApprovalSchemeApproverTypeEnum; /** * Id of the specific approver, used only when approverType is GOVERNANCE_GROUP or WORKFLOW * @type {string} * @memberof EntitlementApprovalScheme */ 'approverId'?: string | null; } export const EntitlementApprovalSchemeApproverTypeEnum = { EntitlementOwner: 'ENTITLEMENT_OWNER', SourceOwner: 'SOURCE_OWNER', Manager: 'MANAGER', GovernanceGroup: 'GOVERNANCE_GROUP', Workflow: 'WORKFLOW' } as const; export type EntitlementApprovalSchemeApproverTypeEnum = typeof EntitlementApprovalSchemeApproverTypeEnum[keyof typeof EntitlementApprovalSchemeApproverTypeEnum]; /** * Object for specifying the bulk update request * @export * @interface EntitlementBulkUpdateRequest */ export interface EntitlementBulkUpdateRequest { /** * List of entitlement ids to update * @type {Array} * @memberof EntitlementBulkUpdateRequest */ 'entitlementIds': Array; /** * * @type {Array} * @memberof EntitlementBulkUpdateRequest */ 'jsonPatch': Array; } /** * * @export * @interface EntitlementPrivilegeLevel */ export interface EntitlementPrivilegeLevel { /** * Direct privilege level assigned to the entitlement * @type {string} * @memberof EntitlementPrivilegeLevel */ 'direct'?: EntitlementPrivilegeLevelDirectEnum; /** * User or process that set the privilege level * @type {string} * @memberof EntitlementPrivilegeLevel */ 'setBy'?: string; /** * Method by which the privilege level was set * @type {string} * @memberof EntitlementPrivilegeLevel */ 'setByType'?: EntitlementPrivilegeLevelSetByTypeEnum | null; /** * Inherited privilege level on the entitlement, if any * @type {string} * @memberof EntitlementPrivilegeLevel */ 'inherited'?: EntitlementPrivilegeLevelInheritedEnum | null; /** * Effective privilege level assigned to the entitlement * @type {string} * @memberof EntitlementPrivilegeLevel */ 'effective'?: EntitlementPrivilegeLevelEffectiveEnum; } export const EntitlementPrivilegeLevelDirectEnum = { High: 'HIGH', Low: 'LOW', Medium: 'MEDIUM', None: 'NONE' } as const; export type EntitlementPrivilegeLevelDirectEnum = typeof EntitlementPrivilegeLevelDirectEnum[keyof typeof EntitlementPrivilegeLevelDirectEnum]; export const EntitlementPrivilegeLevelSetByTypeEnum = { Override: 'OVERRIDE', CustomCriteria: 'CUSTOM_CRITERIA', ConnectorCriteria: 'CONNECTOR_CRITERIA', SingleLevelCriteria: 'SINGLE_LEVEL_CRITERIA' } as const; export type EntitlementPrivilegeLevelSetByTypeEnum = typeof EntitlementPrivilegeLevelSetByTypeEnum[keyof typeof EntitlementPrivilegeLevelSetByTypeEnum]; export const EntitlementPrivilegeLevelInheritedEnum = { High: 'HIGH', Low: 'LOW', Medium: 'MEDIUM', None: 'NONE' } as const; export type EntitlementPrivilegeLevelInheritedEnum = typeof EntitlementPrivilegeLevelInheritedEnum[keyof typeof EntitlementPrivilegeLevelInheritedEnum]; export const EntitlementPrivilegeLevelEffectiveEnum = { High: 'HIGH', Low: 'LOW', Medium: 'MEDIUM', None: 'NONE' } as const; export type EntitlementPrivilegeLevelEffectiveEnum = typeof EntitlementPrivilegeLevelEffectiveEnum[keyof typeof EntitlementPrivilegeLevelEffectiveEnum]; /** * * @export * @interface EntitlementRequestConfig */ export interface EntitlementRequestConfig { /** * * @type {EntitlementAccessRequestConfig} * @memberof EntitlementRequestConfig */ 'accessRequestConfig'?: EntitlementAccessRequestConfig; /** * * @type {EntitlementRevocationRequestConfig} * @memberof EntitlementRequestConfig */ 'revocationRequestConfig'?: EntitlementRevocationRequestConfig; } /** * * @export * @interface EntitlementRevocationRequestConfig */ export interface EntitlementRevocationRequestConfig { /** * Ordered list of approval steps for the access request. Empty when no approval is required. * @type {Array} * @memberof EntitlementRevocationRequestConfig */ 'approvalSchemes'?: Array; } /** * * @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 EntitlementSourceResetBaseReferenceDto */ export interface EntitlementSourceResetBaseReferenceDto { /** * The DTO type * @type {string} * @memberof EntitlementSourceResetBaseReferenceDto */ 'type'?: string; /** * The task ID of the object to which this reference applies * @type {string} * @memberof EntitlementSourceResetBaseReferenceDto */ 'id'?: string; /** * Human-readable display name of the object to which this reference applies * @type {string} * @memberof EntitlementSourceResetBaseReferenceDto */ 'name'?: string; } /** * * @export * @interface EntitlementV2 */ export interface EntitlementV2 { /** * The entitlement id * @type {string} * @memberof EntitlementV2 */ 'id'?: string; /** * The entitlement name * @type {string} * @memberof EntitlementV2 */ 'name'?: string; /** * The entitlement attribute name * @type {string} * @memberof EntitlementV2 */ 'attribute'?: string; /** * The value of the entitlement * @type {string} * @memberof EntitlementV2 */ 'value'?: string; /** * The object type of the entitlement from the source schema * @type {string} * @memberof EntitlementV2 */ 'sourceSchemaObjectType'?: string; /** * The description of the entitlement * @type {string} * @memberof EntitlementV2 */ 'description'?: string | null; /** * * @type {EntitlementV2PrivilegeLevel} * @memberof EntitlementV2 */ 'privilegeLevel'?: EntitlementV2PrivilegeLevel; /** * List of tags assigned to the entitlement * @type {Array} * @memberof EntitlementV2 */ 'tags'?: Array | null; /** * True if the entitlement is cloud governed * @type {boolean} * @memberof EntitlementV2 */ 'cloudGoverned'?: boolean; /** * True if the entitlement is able to be directly requested * @type {boolean} * @memberof EntitlementV2 */ 'requestable'?: boolean; /** * * @type {EntitlementV2Owner} * @memberof EntitlementV2 */ 'owner'?: EntitlementV2Owner | 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 EntitlementV2 */ 'manuallyUpdatedFields'?: { [key: string]: any; } | null; /** * * @type {EntitlementV2AccessModelMetadata} * @memberof EntitlementV2 */ 'accessModelMetadata'?: EntitlementV2AccessModelMetadata; /** * Time when the entitlement was created * @type {string} * @memberof EntitlementV2 */ 'created'?: string; /** * Time when the entitlement was last modified * @type {string} * @memberof EntitlementV2 */ 'modified'?: string; /** * * @type {EntitlementV2Source} * @memberof EntitlementV2 */ 'source'?: EntitlementV2Source; /** * A map of free-form key-value pairs from the source system * @type {{ [key: string]: any; }} * @memberof EntitlementV2 */ 'attributes'?: { [key: string]: any; }; /** * List of IDs of segments, if any, to which this Entitlement is assigned. * @type {Array} * @memberof EntitlementV2 */ 'segments'?: Array | null; /** * * @type {Array} * @memberof EntitlementV2 */ 'directPermissions'?: Array; } /** * Additional data to classify the entitlement * @export * @interface EntitlementV2AccessModelMetadata */ export interface EntitlementV2AccessModelMetadata { /** * * @type {Array} * @memberof EntitlementV2AccessModelMetadata */ 'attributes'?: Array; } /** * The identity that owns the entitlement * @export * @interface EntitlementV2Owner */ export interface EntitlementV2Owner { /** * The identity ID * @type {string} * @memberof EntitlementV2Owner */ 'id'?: string; /** * The type of object * @type {string} * @memberof EntitlementV2Owner */ 'type'?: EntitlementV2OwnerTypeEnum; /** * The display name of the identity * @type {string} * @memberof EntitlementV2Owner */ 'name'?: string; } export const EntitlementV2OwnerTypeEnum = { Identity: 'IDENTITY' } as const; export type EntitlementV2OwnerTypeEnum = typeof EntitlementV2OwnerTypeEnum[keyof typeof EntitlementV2OwnerTypeEnum]; /** * * @export * @interface EntitlementV2PrivilegeLevel */ export interface EntitlementV2PrivilegeLevel { /** * Direct privilege level assigned to the entitlement * @type {string} * @memberof EntitlementV2PrivilegeLevel */ 'direct'?: EntitlementV2PrivilegeLevelDirectEnum; /** * User or process that set the privilege level * @type {string} * @memberof EntitlementV2PrivilegeLevel */ 'setBy'?: string; /** * Method by which the privilege level was set * @type {string} * @memberof EntitlementV2PrivilegeLevel */ 'setByType'?: EntitlementV2PrivilegeLevelSetByTypeEnum | null; /** * Inherited privilege level on the entitlement, if any * @type {string} * @memberof EntitlementV2PrivilegeLevel */ 'inherited'?: EntitlementV2PrivilegeLevelInheritedEnum | null; /** * Effective privilege level assigned to the entitlement * @type {string} * @memberof EntitlementV2PrivilegeLevel */ 'effective'?: EntitlementV2PrivilegeLevelEffectiveEnum; } export const EntitlementV2PrivilegeLevelDirectEnum = { High: 'HIGH', Low: 'LOW', Medium: 'MEDIUM', None: 'NONE' } as const; export type EntitlementV2PrivilegeLevelDirectEnum = typeof EntitlementV2PrivilegeLevelDirectEnum[keyof typeof EntitlementV2PrivilegeLevelDirectEnum]; export const EntitlementV2PrivilegeLevelSetByTypeEnum = { Override: 'OVERRIDE', CustomCriteria: 'CUSTOM_CRITERIA', ConnectorCriteria: 'CONNECTOR_CRITERIA', SingleLevelCriteria: 'SINGLE_LEVEL_CRITERIA' } as const; export type EntitlementV2PrivilegeLevelSetByTypeEnum = typeof EntitlementV2PrivilegeLevelSetByTypeEnum[keyof typeof EntitlementV2PrivilegeLevelSetByTypeEnum]; export const EntitlementV2PrivilegeLevelInheritedEnum = { High: 'HIGH', Low: 'LOW', Medium: 'MEDIUM', None: 'NONE' } as const; export type EntitlementV2PrivilegeLevelInheritedEnum = typeof EntitlementV2PrivilegeLevelInheritedEnum[keyof typeof EntitlementV2PrivilegeLevelInheritedEnum]; export const EntitlementV2PrivilegeLevelEffectiveEnum = { High: 'HIGH', Low: 'LOW', Medium: 'MEDIUM', None: 'NONE' } as const; export type EntitlementV2PrivilegeLevelEffectiveEnum = typeof EntitlementV2PrivilegeLevelEffectiveEnum[keyof typeof EntitlementV2PrivilegeLevelEffectiveEnum]; /** * * @export * @interface EntitlementV2Source */ export interface EntitlementV2Source { /** * The source ID * @type {string} * @memberof EntitlementV2Source */ 'id'?: string; /** * The source type, will always be \"SOURCE\" * @type {string} * @memberof EntitlementV2Source */ 'type'?: string; /** * The source name * @type {string} * @memberof EntitlementV2Source */ '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 ImportEntitlementsBySourceV1Request */ export interface ImportEntitlementsBySourceV1Request { /** * The CSV file containing the source entitlements to aggregate. * @type {File} * @memberof ImportEntitlementsBySourceV1Request */ 'csvFile'?: File; } /** * A JSONPatch Operation as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902) * @export * @interface JsonPatchOperation */ export interface JsonPatchOperation { /** * The operation to be performed * @type {string} * @memberof JsonPatchOperation */ 'op': JsonPatchOperationOpEnum; /** * A string JSON Pointer representing the target path to an element to be affected by the operation * @type {string} * @memberof JsonPatchOperation */ 'path': string; /** * * @type {JsonPatchOperationValue} * @memberof JsonPatchOperation */ 'value'?: JsonPatchOperationValue; } export const JsonPatchOperationOpEnum = { Add: 'add', Remove: 'remove', Replace: 'replace', Move: 'move', Copy: 'copy', Test: 'test' } as const; export type JsonPatchOperationOpEnum = typeof JsonPatchOperationOpEnum[keyof typeof JsonPatchOperationOpEnum]; /** * @type JsonPatchOperationValue * The value to be used for the operation, required for \"add\" and \"replace\" operations * @export */ export type JsonPatchOperationValue = Array | boolean | number | object | string; /** * * @export * @interface ListEntitlementsV1401Response */ export interface ListEntitlementsV1401Response { /** * A message describing the error * @type {any} * @memberof ListEntitlementsV1401Response */ 'error'?: any; } /** * * @export * @interface ListEntitlementsV1429Response */ export interface ListEntitlementsV1429Response { /** * A message describing the error * @type {any} * @memberof ListEntitlementsV1429Response */ 'message'?: any; } /** * * @export * @interface LoadEntitlementTask */ export interface LoadEntitlementTask { /** * System-generated unique ID of the task this taskStatus represents * @type {string} * @memberof LoadEntitlementTask */ 'id'?: string; /** * Type of task this task represents * @type {string} * @memberof LoadEntitlementTask */ 'type'?: string; /** * The name of the task * @type {string} * @memberof LoadEntitlementTask */ 'uniqueName'?: string; /** * The description of the task * @type {string} * @memberof LoadEntitlementTask */ 'description'?: string; /** * The user who initiated the task * @type {string} * @memberof LoadEntitlementTask */ 'launcher'?: string; /** * The creation date of the task * @type {string} * @memberof LoadEntitlementTask */ 'created'?: string; /** * Return values from the task * @type {Array} * @memberof LoadEntitlementTask */ 'returns'?: Array; } /** * * @export * @interface LoadEntitlementTaskReturnsInner */ export interface LoadEntitlementTaskReturnsInner { /** * The display label for the return value * @type {string} * @memberof LoadEntitlementTaskReturnsInner */ 'displayLabel'?: string; /** * The attribute name for the return value * @type {string} * @memberof LoadEntitlementTaskReturnsInner */ 'attributeName'?: string; } /** * An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice. * @export * @enum {string} */ export const LocaleOrigin = { Default: 'DEFAULT', Request: 'REQUEST' } as const; export type LocaleOrigin = typeof LocaleOrigin[keyof typeof LocaleOrigin]; /** * 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; } /** * EntitlementsApi - axios parameter creator * @export */ export const EntitlementsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Add single Access Model Metadata to an entitlement. * @summary Add metadata to an entitlement. * @param {string} id The entitlement id. * @param {string} attributeKey Technical name of the Attribute. * @param {string} attributeValue Technical name of the Attribute Value. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccessModelMetadataForEntitlementV1: async (id: string, attributeKey: string, attributeValue: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('createAccessModelMetadataForEntitlementV1', 'id', id) // verify required parameter 'attributeKey' is not null or undefined assertParamExists('createAccessModelMetadataForEntitlementV1', 'attributeKey', attributeKey) // verify required parameter 'attributeValue' is not null or undefined assertParamExists('createAccessModelMetadataForEntitlementV1', 'attributeValue', attributeValue) const localVarPath = `/entitlements/v1/{id}/access-model-metadata/{attributeKey}/values/{attributeValue}` .replace(`{${"id"}}`, encodeURIComponent(String(id))) .replace(`{${"attributeKey"}}`, encodeURIComponent(String(attributeKey))) .replace(`{${"attributeValue"}}`, encodeURIComponent(String(attributeValue))); // 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, }; }, /** * Remove single Access Model Metadata from an entitlement. * @summary Remove metadata from an entitlement. * @param {string} id The entitlement id. * @param {string} attributeKey Technical name of the Attribute. * @param {string} attributeValue Technical name of the Attribute Value. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccessModelMetadataFromEntitlementV1: async (id: string, attributeKey: string, attributeValue: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('deleteAccessModelMetadataFromEntitlementV1', 'id', id) // verify required parameter 'attributeKey' is not null or undefined assertParamExists('deleteAccessModelMetadataFromEntitlementV1', 'attributeKey', attributeKey) // verify required parameter 'attributeValue' is not null or undefined assertParamExists('deleteAccessModelMetadataFromEntitlementV1', 'attributeValue', attributeValue) const localVarPath = `/entitlements/v1/{id}/access-model-metadata/{attributeKey}/values/{attributeValue}` .replace(`{${"id"}}`, encodeURIComponent(String(id))) .replace(`{${"attributeKey"}}`, encodeURIComponent(String(attributeKey))) .replace(`{${"attributeValue"}}`, encodeURIComponent(String(attributeValue))); // 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 returns the entitlement request config for a specified entitlement. * @summary Get entitlement request config * @param {string} id Entitlement Id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getEntitlementRequestConfigV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('getEntitlementRequestConfigV1', 'id', id) const localVarPath = `/entitlements/v1/{id}/entitlement-request-config` .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, }; }, /** * This API returns an entitlement by its ID. * @summary Get an entitlement * @param {string} id The entitlement ID * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getEntitlementV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('getEntitlementV1', 'id', id) const localVarPath = `/entitlements/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, }; }, /** * Starts an entitlement aggregation on the specified source. Though this endpoint has been deprecated, you can find its Beta equivalent [here](https://developer.sailpoint.com/docs/api/import-entitlements-v-1). If the target source is a direct connection, then the request body must be empty. You will also need to make sure the Content-Type header is not set. If you set the Content-Type header without specifying a body, then you will receive a 500 error. If the target source is a delimited file source, then the CSV file needs to be included in the request body. You will also need to set the Content-Type header to `multipart/form-data`. * @summary Aggregate entitlements * @param {string} id Source Id * @param {File} [csvFile] The CSV file containing the source entitlements to aggregate. * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ importEntitlementsBySourceV1: async (id: string, csvFile?: File, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('importEntitlementsBySourceV1', 'id', id) const localVarPath = `/entitlements/v1/aggregate/sources/{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: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)(); if (csvFile !== undefined) { localVarFormParams.append('csvFile', csvFile as any); } localVarHeaderParameter['Content-Type'] = 'multipart/form-data'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = localVarFormParams; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API returns a list of all child entitlements of a given entitlement. * @summary List of entitlements children * @param {string} id Entitlement 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 {string} [searchAfter] Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @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, type, attribute, value, source.id, requestable** * @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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listEntitlementChildrenV1: async (id: string, limit?: number, offset?: number, count?: boolean, searchAfter?: string, sorters?: string, filters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('listEntitlementChildrenV1', 'id', id) const localVarPath = `/entitlements/v1/{id}/children` .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; } if (searchAfter !== undefined) { localVarQueryParameter['searchAfter'] = searchAfter; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API returns a list of all parent entitlements of a given entitlement. * @summary List of entitlements parents * @param {string} id Entitlement 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 {string} [searchAfter] Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @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, type, attribute, value, source.id, requestable** * @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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listEntitlementParentsV1: async (id: string, limit?: number, offset?: number, count?: boolean, searchAfter?: string, sorters?: string, filters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('listEntitlementParentsV1', 'id', id) const localVarPath = `/entitlements/v1/{id}/parents` .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; } if (searchAfter !== undefined) { localVarQueryParameter['searchAfter'] = searchAfter; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API returns a list of all entitlements associated with the given account ID. The account must exist; if not found, the API returns 404. * @summary Get entitlements for an account * @param {string} accountId The account ID to get entitlements for * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [searchAfter] Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @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, type, attribute, value, source.id, requestable** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listEntitlementsByAccountV1: async (accountId: string, limit?: number, offset?: number, count?: boolean, searchAfter?: string, sorters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('listEntitlementsByAccountV1', 'accountId', accountId) const localVarPath = `/entitlements/v1/account/{accountId}/entitlements` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: '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 (searchAfter !== undefined) { localVarQueryParameter['searchAfter'] = searchAfter; } 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, }; }, /** * This API returns a list of entitlements. Any authenticated token can call this API. * @summary Gets a list of entitlements. * @param {string} [segmentedForIdentity] If present and not empty, additionally filters Entitlements to those which are assigned to the Segment(s) which are visible to the Identity with the specified ID. * @param {string} [forSegmentIds] If present and not empty, additionally filters Access Profiles to those which are assigned to the Segment(s) with the specified IDs. * @param {boolean} [includeUnsegmented] Whether or not the response list should contain unsegmented Entitlements. If **for-segment-ids** and **segmented-for-identity** are both absent or empty, specifying **include-unsegmented=false** results in an error. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [searchAfter] Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @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, type, attribute, value, source.id, requestable** * @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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listEntitlementsV1: async (segmentedForIdentity?: string, forSegmentIds?: string, includeUnsegmented?: boolean, offset?: number, limit?: number, count?: boolean, searchAfter?: string, sorters?: string, filters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/entitlements/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 (segmentedForIdentity !== undefined) { localVarQueryParameter['segmented-for-identity'] = segmentedForIdentity; } if (forSegmentIds !== undefined) { localVarQueryParameter['for-segment-ids'] = forSegmentIds; } if (includeUnsegmented !== undefined) { localVarQueryParameter['include-unsegmented'] = includeUnsegmented; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (searchAfter !== undefined) { localVarQueryParameter['searchAfter'] = searchAfter; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API updates an existing entitlement using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **requestable**, **segments**, **privilegeOverride/level**, **owner**, **name**, **description**, and **manuallyUpdatedFields** When you\'re patching owner, only owner type and owner id must be provided. Owner name is optional, and it won\'t be modified. If the owner name is provided, it should correspond to the real name. The only owner type currently supported is IDENTITY. * @summary Patch an entitlement * @param {string} id ID of the entitlement to patch * @param {Array} [jsonPatchOperation] * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchEntitlementV1: async (id: string, jsonPatchOperation?: Array, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('patchEntitlementV1', 'id', id) const localVarPath = `/entitlements/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(jsonPatchOperation, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API replaces the entitlement request config for a specified entitlement. * @summary Replace entitlement request config * @param {string} id Entitlement ID * @param {EntitlementRequestConfig} entitlementRequestConfig * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ putEntitlementRequestConfigV1: async (id: string, entitlementRequestConfig: EntitlementRequestConfig, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('putEntitlementRequestConfigV1', 'id', id) // verify required parameter 'entitlementRequestConfig' is not null or undefined assertParamExists('putEntitlementRequestConfigV1', 'entitlementRequestConfig', entitlementRequestConfig) const localVarPath = `/entitlements/v1/{id}/entitlement-request-config` .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(entitlementRequestConfig, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Remove all entitlements from a specific source. To reload the accounts along with the entitlements you removed, you must run an unoptimized aggregation. To do so, use [Account Aggregation](https://developer.sailpoint.com/docs/api/import-accounts-v-1) with `disableOptimization` = `true`. * @summary Reset source entitlements * @param {string} id ID of source for the entitlement reset * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ resetSourceEntitlementsV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('resetSourceEntitlementsV1', 'id', id) const localVarPath = `/entitlements/v1/reset/sources/{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: '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 applies an update to every entitlement of the list. The number of entitlements to update is limited to 50 items maximum. The JsonPatch update follows the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. examples of allowed operations : `**{ \"op\": \"replace\", \"path\": \"/requestable\",\"value\": boolean }**` `**{ \"op\": \"replace\", \"path\": \"/privilegeOverride/level\",\"value\": string }**` A token with ORG_ADMIN or API authority is required to call this API. * @summary Bulk update an entitlement list * @param {EntitlementBulkUpdateRequest} entitlementBulkUpdateRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateEntitlementsInBulkV1: async (entitlementBulkUpdateRequest: EntitlementBulkUpdateRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'entitlementBulkUpdateRequest' is not null or undefined assertParamExists('updateEntitlementsInBulkV1', 'entitlementBulkUpdateRequest', entitlementBulkUpdateRequest) const localVarPath = `/entitlements/v1/bulk-update`; // 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(entitlementBulkUpdateRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, } }; /** * EntitlementsApi - functional programming interface * @export */ export const EntitlementsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = EntitlementsApiAxiosParamCreator(configuration) return { /** * Add single Access Model Metadata to an entitlement. * @summary Add metadata to an entitlement. * @param {string} id The entitlement id. * @param {string} attributeKey Technical name of the Attribute. * @param {string} attributeValue Technical name of the Attribute Value. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async createAccessModelMetadataForEntitlementV1(id: string, attributeKey: string, attributeValue: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createAccessModelMetadataForEntitlementV1(id, attributeKey, attributeValue, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.createAccessModelMetadataForEntitlementV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Remove single Access Model Metadata from an entitlement. * @summary Remove metadata from an entitlement. * @param {string} id The entitlement id. * @param {string} attributeKey Technical name of the Attribute. * @param {string} attributeValue Technical name of the Attribute Value. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteAccessModelMetadataFromEntitlementV1(id: string, attributeKey: string, attributeValue: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAccessModelMetadataFromEntitlementV1(id, attributeKey, attributeValue, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.deleteAccessModelMetadataFromEntitlementV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns the entitlement request config for a specified entitlement. * @summary Get entitlement request config * @param {string} id Entitlement Id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getEntitlementRequestConfigV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getEntitlementRequestConfigV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.getEntitlementRequestConfigV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns an entitlement by its ID. * @summary Get an entitlement * @param {string} id The entitlement ID * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getEntitlementV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getEntitlementV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.getEntitlementV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Starts an entitlement aggregation on the specified source. Though this endpoint has been deprecated, you can find its Beta equivalent [here](https://developer.sailpoint.com/docs/api/import-entitlements-v-1). If the target source is a direct connection, then the request body must be empty. You will also need to make sure the Content-Type header is not set. If you set the Content-Type header without specifying a body, then you will receive a 500 error. If the target source is a delimited file source, then the CSV file needs to be included in the request body. You will also need to set the Content-Type header to `multipart/form-data`. * @summary Aggregate entitlements * @param {string} id Source Id * @param {File} [csvFile] The CSV file containing the source entitlements to aggregate. * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ async importEntitlementsBySourceV1(id: string, csvFile?: File, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.importEntitlementsBySourceV1(id, csvFile, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.importEntitlementsBySourceV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns a list of all child entitlements of a given entitlement. * @summary List of entitlements children * @param {string} id Entitlement 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 {string} [searchAfter] Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @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, type, attribute, value, source.id, requestable** * @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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listEntitlementChildrenV1(id: string, limit?: number, offset?: number, count?: boolean, searchAfter?: string, sorters?: string, filters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listEntitlementChildrenV1(id, limit, offset, count, searchAfter, sorters, filters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.listEntitlementChildrenV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns a list of all parent entitlements of a given entitlement. * @summary List of entitlements parents * @param {string} id Entitlement 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 {string} [searchAfter] Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @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, type, attribute, value, source.id, requestable** * @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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listEntitlementParentsV1(id: string, limit?: number, offset?: number, count?: boolean, searchAfter?: string, sorters?: string, filters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listEntitlementParentsV1(id, limit, offset, count, searchAfter, sorters, filters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.listEntitlementParentsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns a list of all entitlements associated with the given account ID. The account must exist; if not found, the API returns 404. * @summary Get entitlements for an account * @param {string} accountId The account ID to get entitlements for * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [searchAfter] Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @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, type, attribute, value, source.id, requestable** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listEntitlementsByAccountV1(accountId: string, limit?: number, offset?: number, count?: boolean, searchAfter?: string, sorters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listEntitlementsByAccountV1(accountId, limit, offset, count, searchAfter, sorters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.listEntitlementsByAccountV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns a list of entitlements. Any authenticated token can call this API. * @summary Gets a list of entitlements. * @param {string} [segmentedForIdentity] If present and not empty, additionally filters Entitlements to those which are assigned to the Segment(s) which are visible to the Identity with the specified ID. * @param {string} [forSegmentIds] If present and not empty, additionally filters Access Profiles to those which are assigned to the Segment(s) with the specified IDs. * @param {boolean} [includeUnsegmented] Whether or not the response list should contain unsegmented Entitlements. If **for-segment-ids** and **segmented-for-identity** are both absent or empty, specifying **include-unsegmented=false** results in an error. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [searchAfter] Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @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, type, attribute, value, source.id, requestable** * @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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listEntitlementsV1(segmentedForIdentity?: string, forSegmentIds?: string, includeUnsegmented?: boolean, offset?: number, limit?: number, count?: boolean, searchAfter?: string, sorters?: string, filters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listEntitlementsV1(segmentedForIdentity, forSegmentIds, includeUnsegmented, offset, limit, count, searchAfter, sorters, filters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.listEntitlementsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API updates an existing entitlement using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **requestable**, **segments**, **privilegeOverride/level**, **owner**, **name**, **description**, and **manuallyUpdatedFields** When you\'re patching owner, only owner type and owner id must be provided. Owner name is optional, and it won\'t be modified. If the owner name is provided, it should correspond to the real name. The only owner type currently supported is IDENTITY. * @summary Patch an entitlement * @param {string} id ID of the entitlement to patch * @param {Array} [jsonPatchOperation] * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async patchEntitlementV1(id: string, jsonPatchOperation?: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.patchEntitlementV1(id, jsonPatchOperation, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.patchEntitlementV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API replaces the entitlement request config for a specified entitlement. * @summary Replace entitlement request config * @param {string} id Entitlement ID * @param {EntitlementRequestConfig} entitlementRequestConfig * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async putEntitlementRequestConfigV1(id: string, entitlementRequestConfig: EntitlementRequestConfig, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.putEntitlementRequestConfigV1(id, entitlementRequestConfig, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.putEntitlementRequestConfigV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Remove all entitlements from a specific source. To reload the accounts along with the entitlements you removed, you must run an unoptimized aggregation. To do so, use [Account Aggregation](https://developer.sailpoint.com/docs/api/import-accounts-v-1) with `disableOptimization` = `true`. * @summary Reset source entitlements * @param {string} id ID of source for the entitlement reset * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async resetSourceEntitlementsV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.resetSourceEntitlementsV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.resetSourceEntitlementsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API applies an update to every entitlement of the list. The number of entitlements to update is limited to 50 items maximum. The JsonPatch update follows the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. examples of allowed operations : `**{ \"op\": \"replace\", \"path\": \"/requestable\",\"value\": boolean }**` `**{ \"op\": \"replace\", \"path\": \"/privilegeOverride/level\",\"value\": string }**` A token with ORG_ADMIN or API authority is required to call this API. * @summary Bulk update an entitlement list * @param {EntitlementBulkUpdateRequest} entitlementBulkUpdateRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async updateEntitlementsInBulkV1(entitlementBulkUpdateRequest: EntitlementBulkUpdateRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateEntitlementsInBulkV1(entitlementBulkUpdateRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['EntitlementsApi.updateEntitlementsInBulkV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * EntitlementsApi - factory interface * @export */ export const EntitlementsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = EntitlementsApiFp(configuration) return { /** * Add single Access Model Metadata to an entitlement. * @summary Add metadata to an entitlement. * @param {EntitlementsApiCreateAccessModelMetadataForEntitlementV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccessModelMetadataForEntitlementV1(requestParameters: EntitlementsApiCreateAccessModelMetadataForEntitlementV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createAccessModelMetadataForEntitlementV1(requestParameters.id, requestParameters.attributeKey, requestParameters.attributeValue, axiosOptions).then((request) => request(axios, basePath)); }, /** * Remove single Access Model Metadata from an entitlement. * @summary Remove metadata from an entitlement. * @param {EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccessModelMetadataFromEntitlementV1(requestParameters: EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteAccessModelMetadataFromEntitlementV1(requestParameters.id, requestParameters.attributeKey, requestParameters.attributeValue, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns the entitlement request config for a specified entitlement. * @summary Get entitlement request config * @param {EntitlementsApiGetEntitlementRequestConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getEntitlementRequestConfigV1(requestParameters: EntitlementsApiGetEntitlementRequestConfigV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getEntitlementRequestConfigV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns an entitlement by its ID. * @summary Get an entitlement * @param {EntitlementsApiGetEntitlementV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getEntitlementV1(requestParameters: EntitlementsApiGetEntitlementV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getEntitlementV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * Starts an entitlement aggregation on the specified source. Though this endpoint has been deprecated, you can find its Beta equivalent [here](https://developer.sailpoint.com/docs/api/import-entitlements-v-1). If the target source is a direct connection, then the request body must be empty. You will also need to make sure the Content-Type header is not set. If you set the Content-Type header without specifying a body, then you will receive a 500 error. If the target source is a delimited file source, then the CSV file needs to be included in the request body. You will also need to set the Content-Type header to `multipart/form-data`. * @summary Aggregate entitlements * @param {EntitlementsApiImportEntitlementsBySourceV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} */ importEntitlementsBySourceV1(requestParameters: EntitlementsApiImportEntitlementsBySourceV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.importEntitlementsBySourceV1(requestParameters.id, requestParameters.csvFile, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns a list of all child entitlements of a given entitlement. * @summary List of entitlements children * @param {EntitlementsApiListEntitlementChildrenV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listEntitlementChildrenV1(requestParameters: EntitlementsApiListEntitlementChildrenV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listEntitlementChildrenV1(requestParameters.id, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.searchAfter, requestParameters.sorters, requestParameters.filters, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns a list of all parent entitlements of a given entitlement. * @summary List of entitlements parents * @param {EntitlementsApiListEntitlementParentsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listEntitlementParentsV1(requestParameters: EntitlementsApiListEntitlementParentsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listEntitlementParentsV1(requestParameters.id, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.searchAfter, requestParameters.sorters, requestParameters.filters, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns a list of all entitlements associated with the given account ID. The account must exist; if not found, the API returns 404. * @summary Get entitlements for an account * @param {EntitlementsApiListEntitlementsByAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listEntitlementsByAccountV1(requestParameters: EntitlementsApiListEntitlementsByAccountV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listEntitlementsByAccountV1(requestParameters.accountId, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.searchAfter, requestParameters.sorters, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns a list of entitlements. Any authenticated token can call this API. * @summary Gets a list of entitlements. * @param {EntitlementsApiListEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listEntitlementsV1(requestParameters: EntitlementsApiListEntitlementsV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listEntitlementsV1(requestParameters.segmentedForIdentity, requestParameters.forSegmentIds, requestParameters.includeUnsegmented, requestParameters.offset, requestParameters.limit, requestParameters.count, requestParameters.searchAfter, requestParameters.sorters, requestParameters.filters, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API updates an existing entitlement using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **requestable**, **segments**, **privilegeOverride/level**, **owner**, **name**, **description**, and **manuallyUpdatedFields** When you\'re patching owner, only owner type and owner id must be provided. Owner name is optional, and it won\'t be modified. If the owner name is provided, it should correspond to the real name. The only owner type currently supported is IDENTITY. * @summary Patch an entitlement * @param {EntitlementsApiPatchEntitlementV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchEntitlementV1(requestParameters: EntitlementsApiPatchEntitlementV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.patchEntitlementV1(requestParameters.id, requestParameters.jsonPatchOperation, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API replaces the entitlement request config for a specified entitlement. * @summary Replace entitlement request config * @param {EntitlementsApiPutEntitlementRequestConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ putEntitlementRequestConfigV1(requestParameters: EntitlementsApiPutEntitlementRequestConfigV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.putEntitlementRequestConfigV1(requestParameters.id, requestParameters.entitlementRequestConfig, axiosOptions).then((request) => request(axios, basePath)); }, /** * Remove all entitlements from a specific source. To reload the accounts along with the entitlements you removed, you must run an unoptimized aggregation. To do so, use [Account Aggregation](https://developer.sailpoint.com/docs/api/import-accounts-v-1) with `disableOptimization` = `true`. * @summary Reset source entitlements * @param {EntitlementsApiResetSourceEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ resetSourceEntitlementsV1(requestParameters: EntitlementsApiResetSourceEntitlementsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.resetSourceEntitlementsV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API applies an update to every entitlement of the list. The number of entitlements to update is limited to 50 items maximum. The JsonPatch update follows the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. examples of allowed operations : `**{ \"op\": \"replace\", \"path\": \"/requestable\",\"value\": boolean }**` `**{ \"op\": \"replace\", \"path\": \"/privilegeOverride/level\",\"value\": string }**` A token with ORG_ADMIN or API authority is required to call this API. * @summary Bulk update an entitlement list * @param {EntitlementsApiUpdateEntitlementsInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateEntitlementsInBulkV1(requestParameters: EntitlementsApiUpdateEntitlementsInBulkV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateEntitlementsInBulkV1(requestParameters.entitlementBulkUpdateRequest, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for createAccessModelMetadataForEntitlementV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiCreateAccessModelMetadataForEntitlementV1Request */ export interface EntitlementsApiCreateAccessModelMetadataForEntitlementV1Request { /** * The entitlement id. * @type {string} * @memberof EntitlementsApiCreateAccessModelMetadataForEntitlementV1 */ readonly id: string /** * Technical name of the Attribute. * @type {string} * @memberof EntitlementsApiCreateAccessModelMetadataForEntitlementV1 */ readonly attributeKey: string /** * Technical name of the Attribute Value. * @type {string} * @memberof EntitlementsApiCreateAccessModelMetadataForEntitlementV1 */ readonly attributeValue: string } /** * Request parameters for deleteAccessModelMetadataFromEntitlementV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1Request */ export interface EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1Request { /** * The entitlement id. * @type {string} * @memberof EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1 */ readonly id: string /** * Technical name of the Attribute. * @type {string} * @memberof EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1 */ readonly attributeKey: string /** * Technical name of the Attribute Value. * @type {string} * @memberof EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1 */ readonly attributeValue: string } /** * Request parameters for getEntitlementRequestConfigV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiGetEntitlementRequestConfigV1Request */ export interface EntitlementsApiGetEntitlementRequestConfigV1Request { /** * Entitlement Id * @type {string} * @memberof EntitlementsApiGetEntitlementRequestConfigV1 */ readonly id: string } /** * Request parameters for getEntitlementV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiGetEntitlementV1Request */ export interface EntitlementsApiGetEntitlementV1Request { /** * The entitlement ID * @type {string} * @memberof EntitlementsApiGetEntitlementV1 */ readonly id: string } /** * Request parameters for importEntitlementsBySourceV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiImportEntitlementsBySourceV1Request */ export interface EntitlementsApiImportEntitlementsBySourceV1Request { /** * Source Id * @type {string} * @memberof EntitlementsApiImportEntitlementsBySourceV1 */ readonly id: string /** * The CSV file containing the source entitlements to aggregate. * @type {File} * @memberof EntitlementsApiImportEntitlementsBySourceV1 */ readonly csvFile?: File } /** * Request parameters for listEntitlementChildrenV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiListEntitlementChildrenV1Request */ export interface EntitlementsApiListEntitlementChildrenV1Request { /** * Entitlement Id * @type {string} * @memberof EntitlementsApiListEntitlementChildrenV1 */ 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 EntitlementsApiListEntitlementChildrenV1 */ 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 EntitlementsApiListEntitlementChildrenV1 */ 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 EntitlementsApiListEntitlementChildrenV1 */ readonly count?: boolean /** * Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @type {string} * @memberof EntitlementsApiListEntitlementChildrenV1 */ readonly searchAfter?: 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, type, attribute, value, source.id, requestable** * @type {string} * @memberof EntitlementsApiListEntitlementChildrenV1 */ readonly sorters?: string /** * 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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @type {string} * @memberof EntitlementsApiListEntitlementChildrenV1 */ readonly filters?: string } /** * Request parameters for listEntitlementParentsV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiListEntitlementParentsV1Request */ export interface EntitlementsApiListEntitlementParentsV1Request { /** * Entitlement Id * @type {string} * @memberof EntitlementsApiListEntitlementParentsV1 */ 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 EntitlementsApiListEntitlementParentsV1 */ 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 EntitlementsApiListEntitlementParentsV1 */ 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 EntitlementsApiListEntitlementParentsV1 */ readonly count?: boolean /** * Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @type {string} * @memberof EntitlementsApiListEntitlementParentsV1 */ readonly searchAfter?: 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, type, attribute, value, source.id, requestable** * @type {string} * @memberof EntitlementsApiListEntitlementParentsV1 */ readonly sorters?: string /** * 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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @type {string} * @memberof EntitlementsApiListEntitlementParentsV1 */ readonly filters?: string } /** * Request parameters for listEntitlementsByAccountV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiListEntitlementsByAccountV1Request */ export interface EntitlementsApiListEntitlementsByAccountV1Request { /** * The account ID to get entitlements for * @type {string} * @memberof EntitlementsApiListEntitlementsByAccountV1 */ readonly accountId: 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 EntitlementsApiListEntitlementsByAccountV1 */ 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 EntitlementsApiListEntitlementsByAccountV1 */ 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 EntitlementsApiListEntitlementsByAccountV1 */ readonly count?: boolean /** * Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @type {string} * @memberof EntitlementsApiListEntitlementsByAccountV1 */ readonly searchAfter?: 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, type, attribute, value, source.id, requestable** * @type {string} * @memberof EntitlementsApiListEntitlementsByAccountV1 */ readonly sorters?: string } /** * Request parameters for listEntitlementsV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiListEntitlementsV1Request */ export interface EntitlementsApiListEntitlementsV1Request { /** * If present and not empty, additionally filters Entitlements to those which are assigned to the Segment(s) which are visible to the Identity with the specified ID. * @type {string} * @memberof EntitlementsApiListEntitlementsV1 */ readonly segmentedForIdentity?: string /** * If present and not empty, additionally filters Access Profiles to those which are assigned to the Segment(s) with the specified IDs. * @type {string} * @memberof EntitlementsApiListEntitlementsV1 */ readonly forSegmentIds?: string /** * Whether or not the response list should contain unsegmented Entitlements. If **for-segment-ids** and **segmented-for-identity** are both absent or empty, specifying **include-unsegmented=false** results in an error. * @type {boolean} * @memberof EntitlementsApiListEntitlementsV1 */ readonly includeUnsegmented?: boolean /** * 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 EntitlementsApiListEntitlementsV1 */ readonly offset?: number /** * Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof EntitlementsApiListEntitlementsV1 */ readonly limit?: number /** * If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. 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 EntitlementsApiListEntitlementsV1 */ readonly count?: boolean /** * Used to begin the search window at the values specified. This parameter consists of the last values of the sorted fields in the current record set. searchAfter length must match the number of sorters. This is used to expand the Elasticsearch limit of 10K records by shifting the 10K window to begin at this value. It is recommended that you always include the ID of the object in addition to any other fields on this parameter in order to ensure you don\'t get duplicate results while paging. For example, if you are sorting by name you will also want to include ID, for example searchAfter=Account Payable,2c91808375d8e80a0175e1f88a575221&sorters=name,id. If the last entitlement ID in the search result is 2c91808375d8e80a0175e1f88a575221 and the last name is \"Account Payable\", then using that name and ID will start a new search after this entitlement. * @type {string} * @memberof EntitlementsApiListEntitlementsV1 */ readonly searchAfter?: 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, type, attribute, value, source.id, requestable** * @type {string} * @memberof EntitlementsApiListEntitlementsV1 */ readonly sorters?: string /** * 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* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **tags**: *eq* **privilegeLevel.direct**: *eq* * @type {string} * @memberof EntitlementsApiListEntitlementsV1 */ readonly filters?: string } /** * Request parameters for patchEntitlementV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiPatchEntitlementV1Request */ export interface EntitlementsApiPatchEntitlementV1Request { /** * ID of the entitlement to patch * @type {string} * @memberof EntitlementsApiPatchEntitlementV1 */ readonly id: string /** * * @type {Array} * @memberof EntitlementsApiPatchEntitlementV1 */ readonly jsonPatchOperation?: Array } /** * Request parameters for putEntitlementRequestConfigV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiPutEntitlementRequestConfigV1Request */ export interface EntitlementsApiPutEntitlementRequestConfigV1Request { /** * Entitlement ID * @type {string} * @memberof EntitlementsApiPutEntitlementRequestConfigV1 */ readonly id: string /** * * @type {EntitlementRequestConfig} * @memberof EntitlementsApiPutEntitlementRequestConfigV1 */ readonly entitlementRequestConfig: EntitlementRequestConfig } /** * Request parameters for resetSourceEntitlementsV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiResetSourceEntitlementsV1Request */ export interface EntitlementsApiResetSourceEntitlementsV1Request { /** * ID of source for the entitlement reset * @type {string} * @memberof EntitlementsApiResetSourceEntitlementsV1 */ readonly id: string } /** * Request parameters for updateEntitlementsInBulkV1 operation in EntitlementsApi. * @export * @interface EntitlementsApiUpdateEntitlementsInBulkV1Request */ export interface EntitlementsApiUpdateEntitlementsInBulkV1Request { /** * * @type {EntitlementBulkUpdateRequest} * @memberof EntitlementsApiUpdateEntitlementsInBulkV1 */ readonly entitlementBulkUpdateRequest: EntitlementBulkUpdateRequest } /** * EntitlementsApi - object-oriented interface * @export * @class EntitlementsApi * @extends {BaseAPI} */ export class EntitlementsApi extends BaseAPI { /** * Add single Access Model Metadata to an entitlement. * @summary Add metadata to an entitlement. * @param {EntitlementsApiCreateAccessModelMetadataForEntitlementV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public createAccessModelMetadataForEntitlementV1(requestParameters: EntitlementsApiCreateAccessModelMetadataForEntitlementV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).createAccessModelMetadataForEntitlementV1(requestParameters.id, requestParameters.attributeKey, requestParameters.attributeValue, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Remove single Access Model Metadata from an entitlement. * @summary Remove metadata from an entitlement. * @param {EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public deleteAccessModelMetadataFromEntitlementV1(requestParameters: EntitlementsApiDeleteAccessModelMetadataFromEntitlementV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).deleteAccessModelMetadataFromEntitlementV1(requestParameters.id, requestParameters.attributeKey, requestParameters.attributeValue, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns the entitlement request config for a specified entitlement. * @summary Get entitlement request config * @param {EntitlementsApiGetEntitlementRequestConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public getEntitlementRequestConfigV1(requestParameters: EntitlementsApiGetEntitlementRequestConfigV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).getEntitlementRequestConfigV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns an entitlement by its ID. * @summary Get an entitlement * @param {EntitlementsApiGetEntitlementV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public getEntitlementV1(requestParameters: EntitlementsApiGetEntitlementV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).getEntitlementV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Starts an entitlement aggregation on the specified source. Though this endpoint has been deprecated, you can find its Beta equivalent [here](https://developer.sailpoint.com/docs/api/import-entitlements-v-1). If the target source is a direct connection, then the request body must be empty. You will also need to make sure the Content-Type header is not set. If you set the Content-Type header without specifying a body, then you will receive a 500 error. If the target source is a delimited file source, then the CSV file needs to be included in the request body. You will also need to set the Content-Type header to `multipart/form-data`. * @summary Aggregate entitlements * @param {EntitlementsApiImportEntitlementsBySourceV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @deprecated * @throws {RequiredError} * @memberof EntitlementsApi */ public importEntitlementsBySourceV1(requestParameters: EntitlementsApiImportEntitlementsBySourceV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).importEntitlementsBySourceV1(requestParameters.id, requestParameters.csvFile, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns a list of all child entitlements of a given entitlement. * @summary List of entitlements children * @param {EntitlementsApiListEntitlementChildrenV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public listEntitlementChildrenV1(requestParameters: EntitlementsApiListEntitlementChildrenV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).listEntitlementChildrenV1(requestParameters.id, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.searchAfter, requestParameters.sorters, requestParameters.filters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns a list of all parent entitlements of a given entitlement. * @summary List of entitlements parents * @param {EntitlementsApiListEntitlementParentsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public listEntitlementParentsV1(requestParameters: EntitlementsApiListEntitlementParentsV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).listEntitlementParentsV1(requestParameters.id, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.searchAfter, requestParameters.sorters, requestParameters.filters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns a list of all entitlements associated with the given account ID. The account must exist; if not found, the API returns 404. * @summary Get entitlements for an account * @param {EntitlementsApiListEntitlementsByAccountV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public listEntitlementsByAccountV1(requestParameters: EntitlementsApiListEntitlementsByAccountV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).listEntitlementsByAccountV1(requestParameters.accountId, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.searchAfter, requestParameters.sorters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns a list of entitlements. Any authenticated token can call this API. * @summary Gets a list of entitlements. * @param {EntitlementsApiListEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public listEntitlementsV1(requestParameters: EntitlementsApiListEntitlementsV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).listEntitlementsV1(requestParameters.segmentedForIdentity, requestParameters.forSegmentIds, requestParameters.includeUnsegmented, requestParameters.offset, requestParameters.limit, requestParameters.count, requestParameters.searchAfter, requestParameters.sorters, requestParameters.filters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API updates an existing entitlement using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **requestable**, **segments**, **privilegeOverride/level**, **owner**, **name**, **description**, and **manuallyUpdatedFields** When you\'re patching owner, only owner type and owner id must be provided. Owner name is optional, and it won\'t be modified. If the owner name is provided, it should correspond to the real name. The only owner type currently supported is IDENTITY. * @summary Patch an entitlement * @param {EntitlementsApiPatchEntitlementV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public patchEntitlementV1(requestParameters: EntitlementsApiPatchEntitlementV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).patchEntitlementV1(requestParameters.id, requestParameters.jsonPatchOperation, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API replaces the entitlement request config for a specified entitlement. * @summary Replace entitlement request config * @param {EntitlementsApiPutEntitlementRequestConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public putEntitlementRequestConfigV1(requestParameters: EntitlementsApiPutEntitlementRequestConfigV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).putEntitlementRequestConfigV1(requestParameters.id, requestParameters.entitlementRequestConfig, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Remove all entitlements from a specific source. To reload the accounts along with the entitlements you removed, you must run an unoptimized aggregation. To do so, use [Account Aggregation](https://developer.sailpoint.com/docs/api/import-accounts-v-1) with `disableOptimization` = `true`. * @summary Reset source entitlements * @param {EntitlementsApiResetSourceEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public resetSourceEntitlementsV1(requestParameters: EntitlementsApiResetSourceEntitlementsV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).resetSourceEntitlementsV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API applies an update to every entitlement of the list. The number of entitlements to update is limited to 50 items maximum. The JsonPatch update follows the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. examples of allowed operations : `**{ \"op\": \"replace\", \"path\": \"/requestable\",\"value\": boolean }**` `**{ \"op\": \"replace\", \"path\": \"/privilegeOverride/level\",\"value\": string }**` A token with ORG_ADMIN or API authority is required to call this API. * @summary Bulk update an entitlement list * @param {EntitlementsApiUpdateEntitlementsInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof EntitlementsApi */ public updateEntitlementsInBulkV1(requestParameters: EntitlementsApiUpdateEntitlementsInBulkV1Request, axiosOptions?: RawAxiosRequestConfig) { return EntitlementsApiFp(this.configuration).updateEntitlementsInBulkV1(requestParameters.entitlementBulkUpdateRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } }