/** * Identity Security Cloud API - Password Management * 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 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; } /** * 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]; /** * * @export * @interface PasswordChangeRequest */ export interface PasswordChangeRequest { /** * The identity ID that requested the password change * @type {string} * @memberof PasswordChangeRequest */ 'identityId'?: string; /** * The RSA encrypted password * @type {string} * @memberof PasswordChangeRequest */ 'encryptedPassword'?: string; /** * The encryption key ID * @type {string} * @memberof PasswordChangeRequest */ 'publicKeyId'?: string; /** * Account ID of the account This is specified per account schema in the source configuration. It is used to distinguish accounts. More info can be found here https://community.sailpoint.com/t5/IdentityNow-Connectors/How-do-I-designate-an-account-attribute-as-the-Account-ID-for-a/ta-p/80350 * @type {string} * @memberof PasswordChangeRequest */ 'accountId'?: string; /** * The ID of the source for which identity is requesting the password change * @type {string} * @memberof PasswordChangeRequest */ 'sourceId'?: string; } /** * * @export * @interface PasswordChangeResponse */ export interface PasswordChangeResponse { /** * The password change request ID * @type {string} * @memberof PasswordChangeResponse */ 'requestId'?: string | null; /** * Password change state * @type {string} * @memberof PasswordChangeResponse */ 'state'?: PasswordChangeResponseStateEnum; } export declare const PasswordChangeResponseStateEnum: { readonly InProgress: "IN_PROGRESS"; readonly Finished: "FINISHED"; readonly Failed: "FAILED"; }; export type PasswordChangeResponseStateEnum = typeof PasswordChangeResponseStateEnum[keyof typeof PasswordChangeResponseStateEnum]; /** * * @export * @interface PasswordDigitToken */ export interface PasswordDigitToken { /** * The digit token for password management * @type {string} * @memberof PasswordDigitToken */ 'digitToken'?: string; /** * The reference ID of the digit token generation request * @type {string} * @memberof PasswordDigitToken */ 'requestId'?: string; } /** * * @export * @interface PasswordDigitTokenReset */ export interface PasswordDigitTokenReset { /** * The uid of the user requested for digit token * @type {string} * @memberof PasswordDigitTokenReset */ 'userId': string; /** * The length of digit token. It should be from 6 to 18, inclusive. The default value is 6. * @type {number} * @memberof PasswordDigitTokenReset */ 'length'?: number; /** * The time to live for the digit token in minutes. The default value is 5 minutes. * @type {number} * @memberof PasswordDigitTokenReset */ 'durationMinutes'?: number; } /** * * @export * @interface PasswordInfo */ export interface PasswordInfo { /** * Identity ID * @type {string} * @memberof PasswordInfo */ 'identityId'?: string; /** * source ID * @type {string} * @memberof PasswordInfo */ 'sourceId'?: string; /** * public key ID * @type {string} * @memberof PasswordInfo */ 'publicKeyId'?: string; /** * User\'s public key with Base64 encoding * @type {string} * @memberof PasswordInfo */ 'publicKey'?: string; /** * Account info related to queried identity and source * @type {Array} * @memberof PasswordInfo */ 'accounts'?: Array; /** * Password constraints * @type {Array} * @memberof PasswordInfo */ 'policies'?: Array; } /** * * @export * @interface PasswordInfoAccount */ export interface PasswordInfoAccount { /** * Account ID of the account. This is specified per account schema in the source configuration. It is used to distinguish accounts. More info can be found here https://community.sailpoint.com/t5/IdentityNow-Connectors/How-do-I-designate-an-account-attribute-as-the-Account-ID-for-a/ta-p/80350 * @type {string} * @memberof PasswordInfoAccount */ 'accountId'?: string; /** * Display name of the account. This is specified per account schema in the source configuration. It is used to display name of the account. More info can be found here https://community.sailpoint.com/t5/IdentityNow-Connectors/How-do-I-designate-an-account-attribute-as-the-Account-Name-for/ta-p/74008 * @type {string} * @memberof PasswordInfoAccount */ 'accountName'?: string; } /** * * @export * @interface PasswordInfoQueryDTO */ export interface PasswordInfoQueryDTO { /** * The login name of the user * @type {string} * @memberof PasswordInfoQueryDTO */ 'userName'?: string; /** * The display name of the source * @type {string} * @memberof PasswordInfoQueryDTO */ 'sourceName'?: string; } /** * * @export * @interface PasswordStatus */ export interface PasswordStatus { /** * The password change request ID * @type {string} * @memberof PasswordStatus */ 'requestId'?: string | null; /** * Password change state * @type {string} * @memberof PasswordStatus */ 'state'?: PasswordStatusStateEnum; /** * The errors during the password change request * @type {Array} * @memberof PasswordStatus */ 'errors'?: Array; /** * List of source IDs in the password change request * @type {Array} * @memberof PasswordStatus */ 'sourceIds'?: Array; } export declare const PasswordStatusStateEnum: { readonly InProgress: "IN_PROGRESS"; readonly Finished: "FINISHED"; readonly Failed: "FAILED"; }; export type PasswordStatusStateEnum = typeof PasswordStatusStateEnum[keyof typeof PasswordStatusStateEnum]; /** * * @export * @interface QueryPasswordInfoV1401Response */ export interface QueryPasswordInfoV1401Response { /** * A message describing the error * @type {any} * @memberof QueryPasswordInfoV1401Response */ 'error'?: any; } /** * * @export * @interface QueryPasswordInfoV1429Response */ export interface QueryPasswordInfoV1429Response { /** * A message describing the error * @type {any} * @memberof QueryPasswordInfoV1429Response */ 'message'?: any; } /** * PasswordManagementApi - axios parameter creator * @export */ export declare const PasswordManagementApiAxiosParamCreator: (configuration?: Configuration) => { /** * This API is used to generate a digit token for password management. Requires authorization scope of \"idn:password-digit-token:create\". * @summary Generate a digit token * @param {PasswordDigitTokenReset} passwordDigitTokenReset * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createDigitTokenV1: (passwordDigitTokenReset: PasswordDigitTokenReset, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * This API returns the status of a password change request. * @summary Get password change request status * @param {string} id Password change request ID * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getPasswordChangeStatusV1: (id: string, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * This API is used to query password related information. * @summary Query password info * @param {PasswordInfoQueryDTO} passwordInfoQueryDTO * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ queryPasswordInfoV1: (passwordInfoQueryDTO: PasswordInfoQueryDTO, axiosOptions?: RawAxiosRequestConfig) => Promise; /** * This API is used to set a password for an identity. An identity can change their own password (as well as any of their accounts\' passwords) if they use a token generated by their ISC user, such as a [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens) or [\"authorization_code\" derived OAuth token](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow). >**Note: If you want to set an identity\'s source account password, you must enable `PASSWORD` as one of the source\'s features. You can use the [PATCH Source endpoint](https://developer.sailpoint.com/docs/api/update-source-v-1) to add the `PASSWORD` feature.** To generate the encryptedPassword (RSA encrypted using publicKey) for the request body, run the following command: ```bash echo -n \"myPassword\" | openssl pkeyutl -encrypt -inkey public_key.pem -pubin | base64 ``` In this example, myPassword is the plain text password being set and encrypted, and public_key.pem is the path to the public key file. You can retrieve the required publicKey, along with other information like identityId, sourceId, publicKeyId, accounts, and policies, using the Query Password Info endpoint. To successfully run this command, you must have OpenSSL installed on your machine. If OpenSSL is unavailable, consider using the Virtual Appliance (VA), which has OpenSSL pre-installed and configured. If you are using a Windows machine, refer to this [guide](https://tecadmin.net/install-openssl-on-windows/) for instructions on installing OpenSSL. You can then use [Get Password Change Request Status](https://developer.sailpoint.com/docs/api/get-password-change-status-v-1) to check the password change request status. To do so, you must provide the `requestId` from your earlier request to set the password. * @summary Set identity\'s password * @param {PasswordChangeRequest} passwordChangeRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ setPasswordV1: (passwordChangeRequest: PasswordChangeRequest, axiosOptions?: RawAxiosRequestConfig) => Promise; }; /** * PasswordManagementApi - functional programming interface * @export */ export declare const PasswordManagementApiFp: (configuration?: Configuration) => { /** * This API is used to generate a digit token for password management. Requires authorization scope of \"idn:password-digit-token:create\". * @summary Generate a digit token * @param {PasswordDigitTokenReset} passwordDigitTokenReset * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createDigitTokenV1(passwordDigitTokenReset: PasswordDigitTokenReset, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * This API returns the status of a password change request. * @summary Get password change request status * @param {string} id Password change request ID * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getPasswordChangeStatusV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * This API is used to query password related information. * @summary Query password info * @param {PasswordInfoQueryDTO} passwordInfoQueryDTO * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ queryPasswordInfoV1(passwordInfoQueryDTO: PasswordInfoQueryDTO, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * This API is used to set a password for an identity. An identity can change their own password (as well as any of their accounts\' passwords) if they use a token generated by their ISC user, such as a [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens) or [\"authorization_code\" derived OAuth token](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow). >**Note: If you want to set an identity\'s source account password, you must enable `PASSWORD` as one of the source\'s features. You can use the [PATCH Source endpoint](https://developer.sailpoint.com/docs/api/update-source-v-1) to add the `PASSWORD` feature.** To generate the encryptedPassword (RSA encrypted using publicKey) for the request body, run the following command: ```bash echo -n \"myPassword\" | openssl pkeyutl -encrypt -inkey public_key.pem -pubin | base64 ``` In this example, myPassword is the plain text password being set and encrypted, and public_key.pem is the path to the public key file. You can retrieve the required publicKey, along with other information like identityId, sourceId, publicKeyId, accounts, and policies, using the Query Password Info endpoint. To successfully run this command, you must have OpenSSL installed on your machine. If OpenSSL is unavailable, consider using the Virtual Appliance (VA), which has OpenSSL pre-installed and configured. If you are using a Windows machine, refer to this [guide](https://tecadmin.net/install-openssl-on-windows/) for instructions on installing OpenSSL. You can then use [Get Password Change Request Status](https://developer.sailpoint.com/docs/api/get-password-change-status-v-1) to check the password change request status. To do so, you must provide the `requestId` from your earlier request to set the password. * @summary Set identity\'s password * @param {PasswordChangeRequest} passwordChangeRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ setPasswordV1(passwordChangeRequest: PasswordChangeRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; }; /** * PasswordManagementApi - factory interface * @export */ export declare const PasswordManagementApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * This API is used to generate a digit token for password management. Requires authorization scope of \"idn:password-digit-token:create\". * @summary Generate a digit token * @param {PasswordManagementApiCreateDigitTokenV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createDigitTokenV1(requestParameters: PasswordManagementApiCreateDigitTokenV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; /** * This API returns the status of a password change request. * @summary Get password change request status * @param {PasswordManagementApiGetPasswordChangeStatusV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getPasswordChangeStatusV1(requestParameters: PasswordManagementApiGetPasswordChangeStatusV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; /** * This API is used to query password related information. * @summary Query password info * @param {PasswordManagementApiQueryPasswordInfoV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ queryPasswordInfoV1(requestParameters: PasswordManagementApiQueryPasswordInfoV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; /** * This API is used to set a password for an identity. An identity can change their own password (as well as any of their accounts\' passwords) if they use a token generated by their ISC user, such as a [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens) or [\"authorization_code\" derived OAuth token](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow). >**Note: If you want to set an identity\'s source account password, you must enable `PASSWORD` as one of the source\'s features. You can use the [PATCH Source endpoint](https://developer.sailpoint.com/docs/api/update-source-v-1) to add the `PASSWORD` feature.** To generate the encryptedPassword (RSA encrypted using publicKey) for the request body, run the following command: ```bash echo -n \"myPassword\" | openssl pkeyutl -encrypt -inkey public_key.pem -pubin | base64 ``` In this example, myPassword is the plain text password being set and encrypted, and public_key.pem is the path to the public key file. You can retrieve the required publicKey, along with other information like identityId, sourceId, publicKeyId, accounts, and policies, using the Query Password Info endpoint. To successfully run this command, you must have OpenSSL installed on your machine. If OpenSSL is unavailable, consider using the Virtual Appliance (VA), which has OpenSSL pre-installed and configured. If you are using a Windows machine, refer to this [guide](https://tecadmin.net/install-openssl-on-windows/) for instructions on installing OpenSSL. You can then use [Get Password Change Request Status](https://developer.sailpoint.com/docs/api/get-password-change-status-v-1) to check the password change request status. To do so, you must provide the `requestId` from your earlier request to set the password. * @summary Set identity\'s password * @param {PasswordManagementApiSetPasswordV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ setPasswordV1(requestParameters: PasswordManagementApiSetPasswordV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise; }; /** * Request parameters for createDigitTokenV1 operation in PasswordManagementApi. * @export * @interface PasswordManagementApiCreateDigitTokenV1Request */ export interface PasswordManagementApiCreateDigitTokenV1Request { /** * * @type {PasswordDigitTokenReset} * @memberof PasswordManagementApiCreateDigitTokenV1 */ readonly passwordDigitTokenReset: PasswordDigitTokenReset; /** * Use this header to enable this experimental API. * @type {string} * @memberof PasswordManagementApiCreateDigitTokenV1 */ readonly xSailPointExperimental?: string; } /** * Request parameters for getPasswordChangeStatusV1 operation in PasswordManagementApi. * @export * @interface PasswordManagementApiGetPasswordChangeStatusV1Request */ export interface PasswordManagementApiGetPasswordChangeStatusV1Request { /** * Password change request ID * @type {string} * @memberof PasswordManagementApiGetPasswordChangeStatusV1 */ readonly id: string; } /** * Request parameters for queryPasswordInfoV1 operation in PasswordManagementApi. * @export * @interface PasswordManagementApiQueryPasswordInfoV1Request */ export interface PasswordManagementApiQueryPasswordInfoV1Request { /** * * @type {PasswordInfoQueryDTO} * @memberof PasswordManagementApiQueryPasswordInfoV1 */ readonly passwordInfoQueryDTO: PasswordInfoQueryDTO; } /** * Request parameters for setPasswordV1 operation in PasswordManagementApi. * @export * @interface PasswordManagementApiSetPasswordV1Request */ export interface PasswordManagementApiSetPasswordV1Request { /** * * @type {PasswordChangeRequest} * @memberof PasswordManagementApiSetPasswordV1 */ readonly passwordChangeRequest: PasswordChangeRequest; } /** * PasswordManagementApi - object-oriented interface * @export * @class PasswordManagementApi * @extends {BaseAPI} */ export declare class PasswordManagementApi extends BaseAPI { /** * This API is used to generate a digit token for password management. Requires authorization scope of \"idn:password-digit-token:create\". * @summary Generate a digit token * @param {PasswordManagementApiCreateDigitTokenV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof PasswordManagementApi */ createDigitTokenV1(requestParameters: PasswordManagementApiCreateDigitTokenV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * This API returns the status of a password change request. * @summary Get password change request status * @param {PasswordManagementApiGetPasswordChangeStatusV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof PasswordManagementApi */ getPasswordChangeStatusV1(requestParameters: PasswordManagementApiGetPasswordChangeStatusV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * This API is used to query password related information. * @summary Query password info * @param {PasswordManagementApiQueryPasswordInfoV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof PasswordManagementApi */ queryPasswordInfoV1(requestParameters: PasswordManagementApiQueryPasswordInfoV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; /** * This API is used to set a password for an identity. An identity can change their own password (as well as any of their accounts\' passwords) if they use a token generated by their ISC user, such as a [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens) or [\"authorization_code\" derived OAuth token](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow). >**Note: If you want to set an identity\'s source account password, you must enable `PASSWORD` as one of the source\'s features. You can use the [PATCH Source endpoint](https://developer.sailpoint.com/docs/api/update-source-v-1) to add the `PASSWORD` feature.** To generate the encryptedPassword (RSA encrypted using publicKey) for the request body, run the following command: ```bash echo -n \"myPassword\" | openssl pkeyutl -encrypt -inkey public_key.pem -pubin | base64 ``` In this example, myPassword is the plain text password being set and encrypted, and public_key.pem is the path to the public key file. You can retrieve the required publicKey, along with other information like identityId, sourceId, publicKeyId, accounts, and policies, using the Query Password Info endpoint. To successfully run this command, you must have OpenSSL installed on your machine. If OpenSSL is unavailable, consider using the Virtual Appliance (VA), which has OpenSSL pre-installed and configured. If you are using a Windows machine, refer to this [guide](https://tecadmin.net/install-openssl-on-windows/) for instructions on installing OpenSSL. You can then use [Get Password Change Request Status](https://developer.sailpoint.com/docs/api/get-password-change-status-v-1) to check the password change request status. To do so, you must provide the `requestId` from your earlier request to set the password. * @summary Set identity\'s password * @param {PasswordManagementApiSetPasswordV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof PasswordManagementApi */ setPasswordV1(requestParameters: PasswordManagementApiSetPasswordV1Request, axiosOptions?: RawAxiosRequestConfig): Promise>; }