/** * Identity Security Cloud API - Access Profiles * 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 type { RequestArgs } from './base'; import { BaseAPI } from './base'; /** * * @export * @interface AccessDuration */ export interface AccessDuration { /** * The numeric value representing the amount of time, which is defined in the **timeUnit**. * @type {number} * @memberof AccessDuration */ 'value'?: number; /** * The unit of time that corresponds to the **value**. It defines the scale of the time period. * @type {string} * @memberof AccessDuration */ 'timeUnit'?: AccessDurationTimeUnitEnum; } export declare const AccessDurationTimeUnitEnum: { readonly Hours: "HOURS"; readonly Days: "DAYS"; readonly Weeks: "WEEKS"; readonly Months: "MONTHS"; }; export type AccessDurationTimeUnitEnum = typeof AccessDurationTimeUnitEnum[keyof typeof AccessDurationTimeUnitEnum]; /** * 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; } /** * Access profile. * @export * @interface AccessProfile */ export interface AccessProfile { /** * Access profile ID. * @type {string} * @memberof AccessProfile */ 'id'?: string; /** * Access profile name. * @type {string} * @memberof AccessProfile */ 'name': string; /** * Access profile description. * @type {string} * @memberof AccessProfile */ 'description'?: string | null; /** * Date and time when the access profile was created. * @type {string} * @memberof AccessProfile */ 'created'?: string; /** * Date and time when the access profile was last modified. * @type {string} * @memberof AccessProfile */ 'modified'?: string; /** * Indicates whether the access profile is enabled. If it\'s enabled, you must include at least one entitlement. * @type {boolean} * @memberof AccessProfile */ 'enabled'?: boolean; /** * * @type {OwnerReference} * @memberof AccessProfile */ 'owner': OwnerReference | null; /** * * @type {AccessProfileSourceRef} * @memberof AccessProfile */ 'source': AccessProfileSourceRef; /** * List of entitlements associated with the access profile. If `enabled` is false, this can be empty. Otherwise, it must contain at least one entitlement. * @type {Array} * @memberof AccessProfile */ 'entitlements'?: Array | null; /** * Indicates whether the access profile is requestable by access request. Currently, making an access profile non-requestable is only supported for customers enabled with the new Request Center. Otherwise, attempting to create an access profile with a value **false** in this field results in a 400 error. * @type {boolean} * @memberof AccessProfile */ 'requestable'?: boolean; /** * * @type {Requestability} * @memberof AccessProfile */ 'accessRequestConfig'?: Requestability | null; /** * * @type {Revocability} * @memberof AccessProfile */ 'revocationRequestConfig'?: Revocability | null; /** * List of segment IDs, if any, that the access profile is assigned to. * @type {Array} * @memberof AccessProfile */ 'segments'?: Array | null; /** * * @type {AttributeDTOList} * @memberof AccessProfile */ 'accessModelMetadata'?: AttributeDTOList; /** * * @type {ProvisioningCriteriaLevel1} * @memberof AccessProfile */ 'provisioningCriteria'?: ProvisioningCriteriaLevel1 | 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 AccessProfile */ 'additionalOwners'?: Array | null; } /** * * @export * @interface AccessProfileApprovalScheme */ export interface AccessProfileApprovalScheme { /** * Describes the individual or group that is responsible for an approval step. These are the possible values: **APP_OWNER**: The owner of the Application **OWNER**: Owner of the associated Access Profile or Role **SOURCE_OWNER**: Owner of the Source associated with an Access Profile **MANAGER**: Manager of the Identity making the request **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. Workflow is exclusive to other types of approvals and License required. **ALL_OWNERS**: All owners of the Access Profile, including the primary owner and any secondary owners **ADDITIONAL_OWNER**: An additional owner of the Access Profile, the ID of which is specified by the **approverId** field **ADDITIONAL_GOVERNANCE_GROUP**: An additional Governance Group, the ID of which is specified by the **approverId** field * @type {string} * @memberof AccessProfileApprovalScheme */ 'approverType'?: AccessProfileApprovalSchemeApproverTypeEnum; /** * Id of the specific approver, used when approverType is GOVERNANCE_GROUP, WORKFLOW, or ADDITIONAL_GOVERNANCE_GROUP. * @type {string} * @memberof AccessProfileApprovalScheme */ 'approverId'?: string | null; } export declare const AccessProfileApprovalSchemeApproverTypeEnum: { readonly AppOwner: "APP_OWNER"; readonly Owner: "OWNER"; readonly SourceOwner: "SOURCE_OWNER"; readonly Manager: "MANAGER"; readonly GovernanceGroup: "GOVERNANCE_GROUP"; readonly Workflow: "WORKFLOW"; readonly AllOwners: "ALL_OWNERS"; readonly AdditionalOwner: "ADDITIONAL_OWNER"; readonly AdditionalGovernanceGroup: "ADDITIONAL_GOVERNANCE_GROUP"; }; export type AccessProfileApprovalSchemeApproverTypeEnum = typeof AccessProfileApprovalSchemeApproverTypeEnum[keyof typeof AccessProfileApprovalSchemeApproverTypeEnum]; /** * * @export * @interface AccessProfileBulkDeleteRequest */ export interface AccessProfileBulkDeleteRequest { /** * List of IDs of Access Profiles to be deleted. * @type {Array} * @memberof AccessProfileBulkDeleteRequest */ 'accessProfileIds'?: Array; /** * If **true**, silently skip over any of the specified Access Profiles if they cannot be deleted because they are in use. If **false**, no deletions will be attempted if any of the Access Profiles are in use. * @type {boolean} * @memberof AccessProfileBulkDeleteRequest */ 'bestEffortOnly'?: boolean; } /** * * @export * @interface AccessProfileBulkDeleteResponse */ export interface AccessProfileBulkDeleteResponse { /** * ID of the task which is executing the bulk deletion. This can be passed to the **_/task-status** API to track status. * @type {string} * @memberof AccessProfileBulkDeleteResponse */ 'taskId'?: string; /** * List of IDs of Access Profiles which are pending deletion. * @type {Array} * @memberof AccessProfileBulkDeleteResponse */ 'pending'?: Array; /** * List of usages of Access Profiles targeted for deletion. * @type {Array} * @memberof AccessProfileBulkDeleteResponse */ 'inUse'?: Array; } /** * Access Profile\'s basic details. * @export * @interface AccessProfileBulkUpdateRequestInner */ export interface AccessProfileBulkUpdateRequestInner { /** * Access Profile ID. * @type {string} * @memberof AccessProfileBulkUpdateRequestInner */ 'id'?: string; /** * Access Profile is requestable or not. * @type {boolean} * @memberof AccessProfileBulkUpdateRequestInner */ 'requestable'?: boolean; } /** * * @export * @interface AccessProfileSourceRef */ export interface AccessProfileSourceRef { /** * ID of the source the access profile is associated with. * @type {string} * @memberof AccessProfileSourceRef */ 'id'?: string; /** * Source\'s DTO type. * @type {string} * @memberof AccessProfileSourceRef */ 'type'?: AccessProfileSourceRefTypeEnum; /** * Source name. * @type {string} * @memberof AccessProfileSourceRef */ 'name'?: string; } export declare const AccessProfileSourceRefTypeEnum: { readonly Source: "SOURCE"; }; export type AccessProfileSourceRefTypeEnum = typeof AccessProfileSourceRefTypeEnum[keyof typeof AccessProfileSourceRefTypeEnum]; /** * * @export * @interface AccessProfileUpdateItem */ export interface AccessProfileUpdateItem { /** * Identifier of Access Profile in bulk update request. * @type {string} * @memberof AccessProfileUpdateItem */ 'id': string; /** * Access Profile requestable or not. * @type {boolean} * @memberof AccessProfileUpdateItem */ 'requestable': boolean; /** * The HTTP response status code returned for an individual Access Profile that is requested for update during a bulk update operation. > 201 - Access profile is updated successfully. > 404 - Access profile not found. * @type {string} * @memberof AccessProfileUpdateItem */ 'status': string; /** * Human readable status description and containing additional context information about success or failures etc. * @type {string} * @memberof AccessProfileUpdateItem */ 'description'?: string; } /** * * @export * @interface AccessProfileUsage */ export interface AccessProfileUsage { /** * ID of the Access Profile that is in use * @type {string} * @memberof AccessProfileUsage */ 'accessProfileId'?: string; /** * List of references to objects which are using the indicated Access Profile * @type {Array} * @memberof AccessProfileUsage */ 'usedBy'?: Array; } /** * Role using the access profile. * @export * @interface AccessProfileUsageUsedByInner */ export interface AccessProfileUsageUsedByInner { /** * DTO type of role using the access profile. * @type {string} * @memberof AccessProfileUsageUsedByInner */ 'type'?: AccessProfileUsageUsedByInnerTypeEnum; /** * ID of role using the access profile. * @type {string} * @memberof AccessProfileUsageUsedByInner */ 'id'?: string; /** * Display name of role using the access profile. * @type {string} * @memberof AccessProfileUsageUsedByInner */ 'name'?: string; } export declare const AccessProfileUsageUsedByInnerTypeEnum: { readonly Role: "ROLE"; }; export type AccessProfileUsageUsedByInnerTypeEnum = typeof AccessProfileUsageUsedByInnerTypeEnum[keyof typeof AccessProfileUsageUsedByInnerTypeEnum]; /** * 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 declare const AdditionalOwnerRefTypeEnum: { readonly Identity: "IDENTITY"; readonly GovernanceGroup: "GOVERNANCE_GROUP"; }; export type AdditionalOwnerRefTypeEnum = typeof AdditionalOwnerRefTypeEnum[keyof typeof AdditionalOwnerRefTypeEnum]; /** * * @export * @interface ArrayInner */ export interface ArrayInner { } /** * * @export * @interface AttributeDTO */ export interface AttributeDTO { /** * Technical name of the Attribute. This is unique and cannot be changed after creation. * @type {string} * @memberof AttributeDTO */ 'key'?: string; /** * The display name of the key. * @type {string} * @memberof AttributeDTO */ 'name'?: string; /** * Indicates whether the attribute can have multiple values. * @type {boolean} * @memberof AttributeDTO */ 'multiselect'?: boolean; /** * The status of the Attribute. * @type {string} * @memberof AttributeDTO */ 'status'?: string; /** * The type of the Attribute. This can be either \"custom\" or \"governance\". * @type {string} * @memberof AttributeDTO */ 'type'?: string; /** * An array of object types this attributes values can be applied to. Possible values are \"all\" or \"entitlement\". Value \"all\" means this attribute can be used with all object types that are supported. * @type {Array} * @memberof AttributeDTO */ 'objectTypes'?: Array | null; /** * The description of the Attribute. * @type {string} * @memberof AttributeDTO */ 'description'?: string; /** * * @type {Array} * @memberof AttributeDTO */ 'values'?: Array | null; } /** * * @export * @interface AttributeDTOList */ export interface AttributeDTOList { /** * * @type {Array} * @memberof AttributeDTOList */ 'attributes'?: Array | null; } /** * * @export * @interface AttributeValueDTO */ export interface AttributeValueDTO { /** * Technical name of the Attribute value. This is unique and cannot be changed after creation. * @type {string} * @memberof AttributeValueDTO */ 'value'?: string; /** * The display name of the Attribute value. * @type {string} * @memberof AttributeValueDTO */ 'name'?: string; /** * The status of the Attribute value. * @type {string} * @memberof AttributeValueDTO */ 'status'?: string; } /** * * @export * @interface Entitlement */ export interface Entitlement { /** * The entitlement id * @type {string} * @memberof Entitlement */ 'id'?: string; /** * The entitlement name * @type {string} * @memberof Entitlement */ 'name'?: string; /** * The entitlement attribute name * @type {string} * @memberof Entitlement */ 'attribute'?: string; /** * The value of the entitlement * @type {string} * @memberof Entitlement */ 'value'?: string; /** * The object type of the entitlement from the source schema * @type {string} * @memberof Entitlement */ 'sourceSchemaObjectType'?: string; /** * The description of the entitlement * @type {string} * @memberof Entitlement */ 'description'?: string | null; /** * True if the entitlement is privileged * @type {boolean} * @memberof Entitlement */ 'privileged'?: boolean; /** * True if the entitlement is cloud governed * @type {boolean} * @memberof Entitlement */ 'cloudGoverned'?: boolean; /** * True if the entitlement is able to be directly requested * @type {boolean} * @memberof Entitlement */ 'requestable'?: boolean; /** * * @type {EntitlementOwner} * @memberof Entitlement */ 'owner'?: EntitlementOwner | null; /** * List of additional owner references beyond the primary owner. Each entry may be an identity (IDENTITY) or a governance group (GOVERNANCE_GROUP). * @type {Array} * @memberof Entitlement */ 'additionalOwners'?: Array | null; /** * A map of entitlement fields that have been manually updated. The key is the field name in UPPER_SNAKE_CASE format, and the value is true or false to indicate if the field has been updated. * @type {{ [key: string]: any; }} * @memberof Entitlement */ 'manuallyUpdatedFields'?: { [key: string]: any; } | null; /** * * @type {EntitlementAccessModelMetadata} * @memberof Entitlement */ 'accessModelMetadata'?: EntitlementAccessModelMetadata; /** * Time when the entitlement was created * @type {string} * @memberof Entitlement */ 'created'?: string; /** * Time when the entitlement was last modified * @type {string} * @memberof Entitlement */ 'modified'?: string; /** * * @type {EntitlementSource} * @memberof Entitlement */ 'source'?: EntitlementSource; /** * A map of free-form key-value pairs from the source system * @type {{ [key: string]: any; }} * @memberof Entitlement */ 'attributes'?: { [key: string]: any; }; /** * List of IDs of segments, if any, to which this Entitlement is assigned. * @type {Array} * @memberof Entitlement */ 'segments'?: Array | null; /** * * @type {Array} * @memberof Entitlement */ 'directPermissions'?: Array; } /** * Additional data to classify the entitlement * @export * @interface EntitlementAccessModelMetadata */ export interface EntitlementAccessModelMetadata { /** * * @type {Array} * @memberof EntitlementAccessModelMetadata */ 'attributes'?: Array; } /** * The identity that owns the entitlement * @export * @interface EntitlementOwner */ export interface EntitlementOwner { /** * The identity ID * @type {string} * @memberof EntitlementOwner */ 'id'?: string; /** * The type of object * @type {string} * @memberof EntitlementOwner */ 'type'?: EntitlementOwnerTypeEnum; /** * The display name of the identity * @type {string} * @memberof EntitlementOwner */ 'name'?: string; } export declare const EntitlementOwnerTypeEnum: { readonly Identity: "IDENTITY"; }; export type EntitlementOwnerTypeEnum = typeof EntitlementOwnerTypeEnum[keyof typeof EntitlementOwnerTypeEnum]; /** * Entitlement including a specific set of access. * @export * @interface EntitlementRef */ export interface EntitlementRef { /** * Entitlement\'s DTO type. * @type {string} * @memberof EntitlementRef */ 'type'?: EntitlementRefTypeEnum; /** * Entitlement\'s ID. * @type {string} * @memberof EntitlementRef */ 'id'?: string; /** * Entitlement\'s display name. * @type {string} * @memberof EntitlementRef */ 'name'?: string | null; } export declare const EntitlementRefTypeEnum: { readonly Entitlement: "ENTITLEMENT"; }; export type EntitlementRefTypeEnum = typeof EntitlementRefTypeEnum[keyof typeof EntitlementRefTypeEnum]; /** * * @export * @interface EntitlementSource */ export interface EntitlementSource { /** * The source ID * @type {string} * @memberof EntitlementSource */ 'id'?: string; /** * The source type, will always be \"SOURCE\" * @type {string} * @memberof EntitlementSource */ 'type'?: string; /** * The source name * @type {string} * @memberof EntitlementSource */ 'name'?: string; } /** * * @export * @interface ErrorMessageDto */ export interface ErrorMessageDto { /** * The locale for the message text, a BCP 47 language tag. * @type {string} * @memberof ErrorMessageDto */ 'locale'?: string | null; /** * * @type {LocaleOrigin} * @memberof ErrorMessageDto */ 'localeOrigin'?: LocaleOrigin | null; /** * Actual text of the error message in the indicated locale. * @type {string} * @memberof ErrorMessageDto */ 'text'?: string; } /** * * @export * @interface ErrorResponseDto */ export interface ErrorResponseDto { /** * Fine-grained error code providing more detail of the error. * @type {string} * @memberof ErrorResponseDto */ 'detailCode'?: string; /** * Unique tracking id for the error. * @type {string} * @memberof ErrorResponseDto */ 'trackingId'?: string; /** * Generic localized reason for error * @type {Array} * @memberof ErrorResponseDto */ 'messages'?: Array; /** * Plain-text descriptive reasons to provide additional detail to the text provided in the messages field * @type {Array} * @memberof ErrorResponseDto */ 'causes'?: Array; } /** * 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 declare const JsonPatchOperationOpEnum: { readonly Add: "add"; readonly Remove: "remove"; readonly Replace: "replace"; readonly Move: "move"; readonly Copy: "copy"; readonly Test: "test"; }; 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 ListAccessProfilesV1401Response */ export interface ListAccessProfilesV1401Response { /** * A message describing the error * @type {any} * @memberof ListAccessProfilesV1401Response */ 'error'?: any; } /** * * @export * @interface ListAccessProfilesV1429Response */ export interface ListAccessProfilesV1429Response { /** * A message describing the error * @type {any} * @memberof ListAccessProfilesV1429Response */ 'message'?: any; } /** * An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice. * @export * @enum {string} */ export declare const LocaleOrigin: { readonly Default: "DEFAULT"; readonly Request: "REQUEST"; }; export type LocaleOrigin = typeof LocaleOrigin[keyof typeof LocaleOrigin]; /** * Owner of the object. * @export * @interface OwnerReference */ export interface OwnerReference { /** * Owner type. This field must be either left null or set to \'IDENTITY\' on input, otherwise a 400 Bad Request error will result. * @type {string} * @memberof OwnerReference */ 'type'?: OwnerReferenceTypeEnum; /** * Owner\'s identity ID. * @type {string} * @memberof OwnerReference */ 'id'?: string; /** * Owner\'s name. It may be left null or omitted in a POST or PATCH. If set, it must match the current value of the owner\'s display name, otherwise a 400 Bad Request error will result. * @type {string} * @memberof OwnerReference */ 'name'?: string; } export declare const OwnerReferenceTypeEnum: { readonly Identity: "IDENTITY"; }; export type OwnerReferenceTypeEnum = typeof OwnerReferenceTypeEnum[keyof typeof OwnerReferenceTypeEnum]; /** * 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; } /** * Defines matching criteria for an account to be provisioned with a specific access profile. * @export * @interface ProvisioningCriteriaLevel1 */ export interface ProvisioningCriteriaLevel1 { /** * * @type {ProvisioningCriteriaOperation} * @memberof ProvisioningCriteriaLevel1 */ 'operation'?: ProvisioningCriteriaOperation; /** * Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error. * @type {string} * @memberof ProvisioningCriteriaLevel1 */ 'attribute'?: string | null; /** * String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type. * @type {string} * @memberof ProvisioningCriteriaLevel1 */ 'value'?: string | null; /** * Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. * @type {Array} * @memberof ProvisioningCriteriaLevel1 */ 'children'?: Array | null; } /** * Defines matching criteria for an account to be provisioned with a specific access profile. * @export * @interface ProvisioningCriteriaLevel2 */ export interface ProvisioningCriteriaLevel2 { /** * * @type {ProvisioningCriteriaOperation} * @memberof ProvisioningCriteriaLevel2 */ 'operation'?: ProvisioningCriteriaOperation; /** * Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error. * @type {string} * @memberof ProvisioningCriteriaLevel2 */ 'attribute'?: string | null; /** * String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type. * @type {string} * @memberof ProvisioningCriteriaLevel2 */ 'value'?: string | null; /** * Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. * @type {Array} * @memberof ProvisioningCriteriaLevel2 */ 'children'?: Array | null; } /** * Defines matching criteria for an account to be provisioned with a specific access profile. * @export * @interface ProvisioningCriteriaLevel3 */ export interface ProvisioningCriteriaLevel3 { /** * * @type {ProvisioningCriteriaOperation} * @memberof ProvisioningCriteriaLevel3 */ 'operation'?: ProvisioningCriteriaOperation; /** * Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error. * @type {string} * @memberof ProvisioningCriteriaLevel3 */ 'attribute'?: string | null; /** * String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type. * @type {string} * @memberof ProvisioningCriteriaLevel3 */ 'value'?: string | null; /** * Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. * @type {string} * @memberof ProvisioningCriteriaLevel3 */ 'children'?: string | null; } /** * Supported operations on `ProvisioningCriteria`. * @export * @enum {string} */ export declare const ProvisioningCriteriaOperation: { readonly Equals: "EQUALS"; readonly NotEquals: "NOT_EQUALS"; readonly Contains: "CONTAINS"; readonly Has: "HAS"; readonly And: "AND"; readonly Or: "OR"; }; export type ProvisioningCriteriaOperation = typeof ProvisioningCriteriaOperation[keyof typeof ProvisioningCriteriaOperation]; /** * * @export * @interface Requestability */ export interface Requestability { /** * Indicates whether the requester of the containing object must provide comments justifying the request. * @type {boolean} * @memberof Requestability */ 'commentsRequired'?: boolean | null; /** * Indicates whether an approver must provide comments when denying the request. * @type {boolean} * @memberof Requestability */ 'denialCommentsRequired'?: boolean | null; /** * Indicates whether reauthorization is required for the request. * @type {boolean} * @memberof Requestability */ 'reauthorizationRequired'?: boolean | null; /** * Indicates whether the requester of the containing object must provide access end date. * @type {boolean} * @memberof Requestability */ 'requireEndDate'?: boolean | null; /** * * @type {AccessDuration} * @memberof Requestability */ 'maxPermittedAccessDuration'?: AccessDuration | null; /** * List describing the steps involved in approving the request. * @type {Array} * @memberof Requestability */ 'approvalSchemes'?: Array | null; } /** * * @export * @interface Revocability */ export interface Revocability { /** * List describing the steps involved in approving the revocation request. * @type {Array} * @memberof Revocability */ 'approvalSchemes'?: Array | null; } /** * * @export * @interface UpdateAccessProfilesInBulkV1412Response */ export interface UpdateAccessProfilesInBulkV1412Response { /** * A message describing the error * @type {any} * @memberof UpdateAccessProfilesInBulkV1412Response */ 'message'?: any; } /** * AccessProfilesApi - axios parameter creator * @export */ export declare const AccessProfilesApiAxiosParamCreator: (configuration?: Configuration) => { /** * Create an access profile. A user with `ROLE_SUBADMIN` or `SOURCE_SUBADMIN` authority must be associated with the access profile\'s source. The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles. However, any new access profiles as well as any updates to existing descriptions are limited to 2000 characters. >**Note:** To use this endpoint, you need all the listed scopes. * @summary Create access profile * @param {AccessProfile} accessProfile * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccessProfileV1: (accessProfile: AccessProfile, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * This API deletes an existing Access Profile. The Access Profile must not be in use, for example, Access Profile can not be deleted if they belong to an Application, Life Cycle State or a Role. If it is, a 400 error is returned. A user with SOURCE_SUBADMIN must be able to administer the Source associated with the Access Profile. * @summary Delete the specified access profile * @param {string} id ID of the Access Profile to delete * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccessProfileV1: (id: string, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * This endpoint initiates a bulk deletion of one or more access profiles. When the request is successful, the endpoint returns the bulk delete\'s task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/get-task-status-v-1), which will return the task result\'s status and information. This endpoint can only bulk delete up to a limit of 50 access profiles per request. By default, if any of the indicated access profiles are in use, no deletions will be performed and the **inUse** field of the response indicates the usages that must be removed first. If the request field **bestEffortOnly** is **true**, however, usages are reported in the **inUse** response field but all other indicated access profiles will be deleted. A SOURCE_SUBADMIN user can only use this endpoint to delete access profiles associated with sources they\'re able to administer. * @summary Delete access profile(s) * @param {AccessProfileBulkDeleteRequest} accessProfileBulkDeleteRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccessProfilesInBulkV1: (accessProfileBulkDeleteRequest: AccessProfileBulkDeleteRequest, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * Use this API to get a list of an access profile\'s entitlements. A SOURCE_SUBADMIN user must have access to the source associated with the specified access profile. >**Note:** When you filter for access profiles that have the \'+\' symbol in their names, the response is blank. * @summary List access profile\'s entitlements * @param {string} id ID of the access profile containing the entitlements. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [filters] Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* Filtering is not supported for access profiles and entitlements that have the \'+\' symbol in their names. * @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: **name, attribute, value, created, modified** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessProfileEntitlementsV1: (id: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * This API returns an Access Profile by its ID. * @summary Get an access profile * @param {string} id ID of the Access Profile * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessProfileV1: (id: string, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * Get a list of access profiles. >**Note:** When you filter for access profiles that have the \'+\' symbol in their names, the response is blank. * @summary List access profiles * @param {string} [forSubadmin] Filters the returned list according to what is visible to the indicated ROLE_SUBADMIN or SOURCE_SUBADMIN identity. The value of the parameter is either an identity ID or the special value **me**, which is shorthand for the calling identity\'s ID. If you specify an identity that isn\'t a subadmin, the API returns a 400 Bad Request error. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [filters] Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **created**: *gt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **requestable**: *eq* **source.id**: *eq, in* Supported composite operators are *and, or* Filtering is not supported for access profiles and entitlements that have the \'+\' symbol in their names. * @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: **name, created, modified** * @param {string} [forSegmentIds] Filters access profiles to only those assigned to the segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. * @param {boolean} [includeUnsegmented] Indicates whether the response list should contain unsegmented access profiles. If `for-segment-ids` is absent or empty, specifying *include-unsegmented* as `false` results in an error. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAccessProfilesV1: (forSubadmin?: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, forSegmentIds?: string, includeUnsegmented?: boolean, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * This API updates an existing Access Profile. The following fields are patchable: **name** **description** **enabled** **owner** **additionalOwners** **requestable** **accessRequestConfig** **revokeRequestConfig** **segments** **entitlements** **provisioningCriteria** **source** (must be updated with entitlements belonging to new source in the same API call) If you need to change the `source` of the access profile, you can do so only if you update the `entitlements` in the same API call. The new entitlements can only come from the target source that you want to change to. Look for the example \"Replace Source\" in the examples dropdown. A user with SOURCE_SUBADMIN may only use this API to patch Access Profiles which are associated with Sources they are able to administer. > The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles, however, any new access profiles as well as any updates to existing descriptions will be limited to 2000 characters. > You can only add or replace **entitlements** that exist on the source that the access profile is attached to. You can use the **list entitlements** endpoint with the **filters** query parameter to get a list of available entitlements on the access profile\'s source. * @summary Patch a specified access profile * @param {string} id ID of the Access Profile to patch * @param {Array} jsonPatchOperation * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchAccessProfileV1: (id: string, jsonPatchOperation: Array, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * This API initiates a bulk update of field requestable for one or more Access Profiles. > If any of the indicated Access Profiles is exists in Organization,then those Access Profiles will be added in **updated** list of the response.Requestable field of these Access Profiles marked as **true** or **false**. > If any of the indicated Access Profiles is not does not exists in Organization,then those Access Profiles will be added in **notFound** list of the response. Access Profiles marked as **notFound** will not be updated. A SOURCE_SUBADMIN may only use this API to update Access Profiles which are associated with Sources they are able to administer. * @summary Update access profile(s) requestable field. * @param {Array} accessProfileBulkUpdateRequestInner * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateAccessProfilesInBulkV1: (accessProfileBulkUpdateRequestInner: Array, axiosOptions?: RawAxiosRequestConfig) => Promise; }; /** * AccessProfilesApi - functional programming interface * @export */ export declare const AccessProfilesApiFp: (configuration?: Configuration) => { /** * Create an access profile. A user with `ROLE_SUBADMIN` or `SOURCE_SUBADMIN` authority must be associated with the access profile\'s source. The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles. However, any new access profiles as well as any updates to existing descriptions are limited to 2000 characters. >**Note:** To use this endpoint, you need all the listed scopes. * @summary Create access profile * @param {AccessProfile} accessProfile * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccessProfileV1(accessProfile: AccessProfile, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * This API deletes an existing Access Profile. The Access Profile must not be in use, for example, Access Profile can not be deleted if they belong to an Application, Life Cycle State or a Role. If it is, a 400 error is returned. A user with SOURCE_SUBADMIN must be able to administer the Source associated with the Access Profile. * @summary Delete the specified access profile * @param {string} id ID of the Access Profile to delete * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccessProfileV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * This endpoint initiates a bulk deletion of one or more access profiles. When the request is successful, the endpoint returns the bulk delete\'s task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/get-task-status-v-1), which will return the task result\'s status and information. This endpoint can only bulk delete up to a limit of 50 access profiles per request. By default, if any of the indicated access profiles are in use, no deletions will be performed and the **inUse** field of the response indicates the usages that must be removed first. If the request field **bestEffortOnly** is **true**, however, usages are reported in the **inUse** response field but all other indicated access profiles will be deleted. A SOURCE_SUBADMIN user can only use this endpoint to delete access profiles associated with sources they\'re able to administer. * @summary Delete access profile(s) * @param {AccessProfileBulkDeleteRequest} accessProfileBulkDeleteRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccessProfilesInBulkV1(accessProfileBulkDeleteRequest: AccessProfileBulkDeleteRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * Use this API to get a list of an access profile\'s entitlements. A SOURCE_SUBADMIN user must have access to the source associated with the specified access profile. >**Note:** When you filter for access profiles that have the \'+\' symbol in their names, the response is blank. * @summary List access profile\'s entitlements * @param {string} id ID of the access profile containing the entitlements. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [filters] Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* Filtering is not supported for access profiles and entitlements that have the \'+\' symbol in their names. * @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: **name, attribute, value, created, modified** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessProfileEntitlementsV1(id: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>>; /** * This API returns an Access Profile by its ID. * @summary Get an access profile * @param {string} id ID of the Access Profile * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessProfileV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * Get a list of access profiles. >**Note:** When you filter for access profiles that have the \'+\' symbol in their names, the response is blank. * @summary List access profiles * @param {string} [forSubadmin] Filters the returned list according to what is visible to the indicated ROLE_SUBADMIN or SOURCE_SUBADMIN identity. The value of the parameter is either an identity ID or the special value **me**, which is shorthand for the calling identity\'s ID. If you specify an identity that isn\'t a subadmin, the API returns a 400 Bad Request error. * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {string} [filters] Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **created**: *gt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **requestable**: *eq* **source.id**: *eq, in* Supported composite operators are *and, or* Filtering is not supported for access profiles and entitlements that have the \'+\' symbol in their names. * @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: **name, created, modified** * @param {string} [forSegmentIds] Filters access profiles to only those assigned to the segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. * @param {boolean} [includeUnsegmented] Indicates whether the response list should contain unsegmented access profiles. If `for-segment-ids` is absent or empty, specifying *include-unsegmented* as `false` results in an error. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAccessProfilesV1(forSubadmin?: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, forSegmentIds?: string, includeUnsegmented?: boolean, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>>; /** * This API updates an existing Access Profile. The following fields are patchable: **name** **description** **enabled** **owner** **additionalOwners** **requestable** **accessRequestConfig** **revokeRequestConfig** **segments** **entitlements** **provisioningCriteria** **source** (must be updated with entitlements belonging to new source in the same API call) If you need to change the `source` of the access profile, you can do so only if you update the `entitlements` in the same API call. The new entitlements can only come from the target source that you want to change to. Look for the example \"Replace Source\" in the examples dropdown. A user with SOURCE_SUBADMIN may only use this API to patch Access Profiles which are associated with Sources they are able to administer. > The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles, however, any new access profiles as well as any updates to existing descriptions will be limited to 2000 characters. > You can only add or replace **entitlements** that exist on the source that the access profile is attached to. You can use the **list entitlements** endpoint with the **filters** query parameter to get a list of available entitlements on the access profile\'s source. * @summary Patch a specified access profile * @param {string} id ID of the Access Profile to patch * @param {Array} jsonPatchOperation * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchAccessProfileV1(id: string, jsonPatchOperation: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * This API initiates a bulk update of field requestable for one or more Access Profiles. > If any of the indicated Access Profiles is exists in Organization,then those Access Profiles will be added in **updated** list of the response.Requestable field of these Access Profiles marked as **true** or **false**. > If any of the indicated Access Profiles is not does not exists in Organization,then those Access Profiles will be added in **notFound** list of the response. Access Profiles marked as **notFound** will not be updated. A SOURCE_SUBADMIN may only use this API to update Access Profiles which are associated with Sources they are able to administer. * @summary Update access profile(s) requestable field. * @param {Array} accessProfileBulkUpdateRequestInner * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateAccessProfilesInBulkV1(accessProfileBulkUpdateRequestInner: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>>; }; /** * AccessProfilesApi - factory interface * @export */ export declare const AccessProfilesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * Create an access profile. A user with `ROLE_SUBADMIN` or `SOURCE_SUBADMIN` authority must be associated with the access profile\'s source. The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles. However, any new access profiles as well as any updates to existing descriptions are limited to 2000 characters. >**Note:** To use this endpoint, you need all the listed scopes. * @summary Create access profile * @param {AccessProfilesApiCreateAccessProfileV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createAccessProfileV1(requestParameters: AccessProfilesApiCreateAccessProfileV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; /** * This API deletes an existing Access Profile. The Access Profile must not be in use, for example, Access Profile can not be deleted if they belong to an Application, Life Cycle State or a Role. If it is, a 400 error is returned. A user with SOURCE_SUBADMIN must be able to administer the Source associated with the Access Profile. * @summary Delete the specified access profile * @param {AccessProfilesApiDeleteAccessProfileV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccessProfileV1(requestParameters: AccessProfilesApiDeleteAccessProfileV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; /** * This endpoint initiates a bulk deletion of one or more access profiles. When the request is successful, the endpoint returns the bulk delete\'s task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/get-task-status-v-1), which will return the task result\'s status and information. This endpoint can only bulk delete up to a limit of 50 access profiles per request. By default, if any of the indicated access profiles are in use, no deletions will be performed and the **inUse** field of the response indicates the usages that must be removed first. If the request field **bestEffortOnly** is **true**, however, usages are reported in the **inUse** response field but all other indicated access profiles will be deleted. A SOURCE_SUBADMIN user can only use this endpoint to delete access profiles associated with sources they\'re able to administer. * @summary Delete access profile(s) * @param {AccessProfilesApiDeleteAccessProfilesInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteAccessProfilesInBulkV1(requestParameters: AccessProfilesApiDeleteAccessProfilesInBulkV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; /** * Use this API to get a list of an access profile\'s entitlements. A SOURCE_SUBADMIN user must have access to the source associated with the specified access profile. >**Note:** When you filter for access profiles that have the \'+\' symbol in their names, the response is blank. * @summary List access profile\'s entitlements * @param {AccessProfilesApiGetAccessProfileEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessProfileEntitlementsV1(requestParameters: AccessProfilesApiGetAccessProfileEntitlementsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise>; /** * This API returns an Access Profile by its ID. * @summary Get an access profile * @param {AccessProfilesApiGetAccessProfileV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessProfileV1(requestParameters: AccessProfilesApiGetAccessProfileV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; /** * Get a list of access profiles. >**Note:** When you filter for access profiles that have the \'+\' symbol in their names, the response is blank. * @summary List access profiles * @param {AccessProfilesApiListAccessProfilesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listAccessProfilesV1(requestParameters?: AccessProfilesApiListAccessProfilesV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise>; /** * This API updates an existing Access Profile. The following fields are patchable: **name** **description** **enabled** **owner** **additionalOwners** **requestable** **accessRequestConfig** **revokeRequestConfig** **segments** **entitlements** **provisioningCriteria** **source** (must be updated with entitlements belonging to new source in the same API call) If you need to change the `source` of the access profile, you can do so only if you update the `entitlements` in the same API call. The new entitlements can only come from the target source that you want to change to. Look for the example \"Replace Source\" in the examples dropdown. A user with SOURCE_SUBADMIN may only use this API to patch Access Profiles which are associated with Sources they are able to administer. > The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles, however, any new access profiles as well as any updates to existing descriptions will be limited to 2000 characters. > You can only add or replace **entitlements** that exist on the source that the access profile is attached to. You can use the **list entitlements** endpoint with the **filters** query parameter to get a list of available entitlements on the access profile\'s source. * @summary Patch a specified access profile * @param {AccessProfilesApiPatchAccessProfileV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchAccessProfileV1(requestParameters: AccessProfilesApiPatchAccessProfileV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; /** * This API initiates a bulk update of field requestable for one or more Access Profiles. > If any of the indicated Access Profiles is exists in Organization,then those Access Profiles will be added in **updated** list of the response.Requestable field of these Access Profiles marked as **true** or **false**. > If any of the indicated Access Profiles is not does not exists in Organization,then those Access Profiles will be added in **notFound** list of the response. Access Profiles marked as **notFound** will not be updated. A SOURCE_SUBADMIN may only use this API to update Access Profiles which are associated with Sources they are able to administer. * @summary Update access profile(s) requestable field. * @param {AccessProfilesApiUpdateAccessProfilesInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateAccessProfilesInBulkV1(requestParameters: AccessProfilesApiUpdateAccessProfilesInBulkV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise>; }; /** * Request parameters for createAccessProfileV1 operation in AccessProfilesApi. * @export * @interface AccessProfilesApiCreateAccessProfileV1Request */ export interface AccessProfilesApiCreateAccessProfileV1Request { /** * * @type {AccessProfile} * @memberof AccessProfilesApiCreateAccessProfileV1 */ readonly accessProfile: AccessProfile; } /** * Request parameters for deleteAccessProfileV1 operation in AccessProfilesApi. * @export * @interface AccessProfilesApiDeleteAccessProfileV1Request */ export interface AccessProfilesApiDeleteAccessProfileV1Request { /** * ID of the Access Profile to delete * @type {string} * @memberof AccessProfilesApiDeleteAccessProfileV1 */ readonly id: string; } /** * Request parameters for deleteAccessProfilesInBulkV1 operation in AccessProfilesApi. * @export * @interface AccessProfilesApiDeleteAccessProfilesInBulkV1Request */ export interface AccessProfilesApiDeleteAccessProfilesInBulkV1Request { /** * * @type {AccessProfileBulkDeleteRequest} * @memberof AccessProfilesApiDeleteAccessProfilesInBulkV1 */ readonly accessProfileBulkDeleteRequest: AccessProfileBulkDeleteRequest; } /** * Request parameters for getAccessProfileEntitlementsV1 operation in AccessProfilesApi. * @export * @interface AccessProfilesApiGetAccessProfileEntitlementsV1Request */ export interface AccessProfilesApiGetAccessProfileEntitlementsV1Request { /** * ID of the access profile containing the entitlements. * @type {string} * @memberof AccessProfilesApiGetAccessProfileEntitlementsV1 */ 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 AccessProfilesApiGetAccessProfileEntitlementsV1 */ 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 AccessProfilesApiGetAccessProfileEntitlementsV1 */ 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 AccessProfilesApiGetAccessProfileEntitlementsV1 */ readonly count?: boolean; /** * Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* Filtering is not supported for access profiles and entitlements that have the \'+\' symbol in their names. * @type {string} * @memberof AccessProfilesApiGetAccessProfileEntitlementsV1 */ readonly filters?: string; /** * Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, attribute, value, created, modified** * @type {string} * @memberof AccessProfilesApiGetAccessProfileEntitlementsV1 */ readonly sorters?: string; } /** * Request parameters for getAccessProfileV1 operation in AccessProfilesApi. * @export * @interface AccessProfilesApiGetAccessProfileV1Request */ export interface AccessProfilesApiGetAccessProfileV1Request { /** * ID of the Access Profile * @type {string} * @memberof AccessProfilesApiGetAccessProfileV1 */ readonly id: string; } /** * Request parameters for listAccessProfilesV1 operation in AccessProfilesApi. * @export * @interface AccessProfilesApiListAccessProfilesV1Request */ export interface AccessProfilesApiListAccessProfilesV1Request { /** * Filters the returned list according to what is visible to the indicated ROLE_SUBADMIN or SOURCE_SUBADMIN identity. The value of the parameter is either an identity ID or the special value **me**, which is shorthand for the calling identity\'s ID. If you specify an identity that isn\'t a subadmin, the API returns a 400 Bad Request error. * @type {string} * @memberof AccessProfilesApiListAccessProfilesV1 */ readonly forSubadmin?: 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 AccessProfilesApiListAccessProfilesV1 */ 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 AccessProfilesApiListAccessProfilesV1 */ 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 AccessProfilesApiListAccessProfilesV1 */ readonly count?: boolean; /** * Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **created**: *gt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **requestable**: *eq* **source.id**: *eq, in* Supported composite operators are *and, or* Filtering is not supported for access profiles and entitlements that have the \'+\' symbol in their names. * @type {string} * @memberof AccessProfilesApiListAccessProfilesV1 */ readonly filters?: string; /** * Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, created, modified** * @type {string} * @memberof AccessProfilesApiListAccessProfilesV1 */ readonly sorters?: string; /** * Filters access profiles to only those assigned to the segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. * @type {string} * @memberof AccessProfilesApiListAccessProfilesV1 */ readonly forSegmentIds?: string; /** * Indicates whether the response list should contain unsegmented access profiles. If `for-segment-ids` is absent or empty, specifying *include-unsegmented* as `false` results in an error. * @type {boolean} * @memberof AccessProfilesApiListAccessProfilesV1 */ readonly includeUnsegmented?: boolean; } /** * Request parameters for patchAccessProfileV1 operation in AccessProfilesApi. * @export * @interface AccessProfilesApiPatchAccessProfileV1Request */ export interface AccessProfilesApiPatchAccessProfileV1Request { /** * ID of the Access Profile to patch * @type {string} * @memberof AccessProfilesApiPatchAccessProfileV1 */ readonly id: string; /** * * @type {Array} * @memberof AccessProfilesApiPatchAccessProfileV1 */ readonly jsonPatchOperation: Array; } /** * Request parameters for updateAccessProfilesInBulkV1 operation in AccessProfilesApi. * @export * @interface AccessProfilesApiUpdateAccessProfilesInBulkV1Request */ export interface AccessProfilesApiUpdateAccessProfilesInBulkV1Request { /** * * @type {Array} * @memberof AccessProfilesApiUpdateAccessProfilesInBulkV1 */ readonly accessProfileBulkUpdateRequestInner: Array; } /** * AccessProfilesApi - object-oriented interface * @export * @class AccessProfilesApi * @extends {BaseAPI} */ export declare class AccessProfilesApi extends BaseAPI { /** * Create an access profile. A user with `ROLE_SUBADMIN` or `SOURCE_SUBADMIN` authority must be associated with the access profile\'s source. The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles. However, any new access profiles as well as any updates to existing descriptions are limited to 2000 characters. >**Note:** To use this endpoint, you need all the listed scopes. * @summary Create access profile * @param {AccessProfilesApiCreateAccessProfileV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessProfilesApi */ createAccessProfileV1(requestParameters: AccessProfilesApiCreateAccessProfileV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * This API deletes an existing Access Profile. The Access Profile must not be in use, for example, Access Profile can not be deleted if they belong to an Application, Life Cycle State or a Role. If it is, a 400 error is returned. A user with SOURCE_SUBADMIN must be able to administer the Source associated with the Access Profile. * @summary Delete the specified access profile * @param {AccessProfilesApiDeleteAccessProfileV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessProfilesApi */ deleteAccessProfileV1(requestParameters: AccessProfilesApiDeleteAccessProfileV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * This endpoint initiates a bulk deletion of one or more access profiles. When the request is successful, the endpoint returns the bulk delete\'s task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/get-task-status-v-1), which will return the task result\'s status and information. This endpoint can only bulk delete up to a limit of 50 access profiles per request. By default, if any of the indicated access profiles are in use, no deletions will be performed and the **inUse** field of the response indicates the usages that must be removed first. If the request field **bestEffortOnly** is **true**, however, usages are reported in the **inUse** response field but all other indicated access profiles will be deleted. A SOURCE_SUBADMIN user can only use this endpoint to delete access profiles associated with sources they\'re able to administer. * @summary Delete access profile(s) * @param {AccessProfilesApiDeleteAccessProfilesInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessProfilesApi */ deleteAccessProfilesInBulkV1(requestParameters: AccessProfilesApiDeleteAccessProfilesInBulkV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * Use this API to get a list of an access profile\'s entitlements. A SOURCE_SUBADMIN user must have access to the source associated with the specified access profile. >**Note:** When you filter for access profiles that have the \'+\' symbol in their names, the response is blank. * @summary List access profile\'s entitlements * @param {AccessProfilesApiGetAccessProfileEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessProfilesApi */ getAccessProfileEntitlementsV1(requestParameters: AccessProfilesApiGetAccessProfileEntitlementsV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * This API returns an Access Profile by its ID. * @summary Get an access profile * @param {AccessProfilesApiGetAccessProfileV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessProfilesApi */ getAccessProfileV1(requestParameters: AccessProfilesApiGetAccessProfileV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * Get a list of access profiles. >**Note:** When you filter for access profiles that have the \'+\' symbol in their names, the response is blank. * @summary List access profiles * @param {AccessProfilesApiListAccessProfilesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessProfilesApi */ listAccessProfilesV1(requestParameters?: AccessProfilesApiListAccessProfilesV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * This API updates an existing Access Profile. The following fields are patchable: **name** **description** **enabled** **owner** **additionalOwners** **requestable** **accessRequestConfig** **revokeRequestConfig** **segments** **entitlements** **provisioningCriteria** **source** (must be updated with entitlements belonging to new source in the same API call) If you need to change the `source` of the access profile, you can do so only if you update the `entitlements` in the same API call. The new entitlements can only come from the target source that you want to change to. Look for the example \"Replace Source\" in the examples dropdown. A user with SOURCE_SUBADMIN may only use this API to patch Access Profiles which are associated with Sources they are able to administer. > The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles, however, any new access profiles as well as any updates to existing descriptions will be limited to 2000 characters. > You can only add or replace **entitlements** that exist on the source that the access profile is attached to. You can use the **list entitlements** endpoint with the **filters** query parameter to get a list of available entitlements on the access profile\'s source. * @summary Patch a specified access profile * @param {AccessProfilesApiPatchAccessProfileV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessProfilesApi */ patchAccessProfileV1(requestParameters: AccessProfilesApiPatchAccessProfileV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * This API initiates a bulk update of field requestable for one or more Access Profiles. > If any of the indicated Access Profiles is exists in Organization,then those Access Profiles will be added in **updated** list of the response.Requestable field of these Access Profiles marked as **true** or **false**. > If any of the indicated Access Profiles is not does not exists in Organization,then those Access Profiles will be added in **notFound** list of the response. Access Profiles marked as **notFound** will not be updated. A SOURCE_SUBADMIN may only use this API to update Access Profiles which are associated with Sources they are able to administer. * @summary Update access profile(s) requestable field. * @param {AccessProfilesApiUpdateAccessProfilesInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessProfilesApi */ updateAccessProfilesInBulkV1(requestParameters: AccessProfilesApiUpdateAccessProfilesInBulkV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; }