@fusionauth/typescript-client 1.58.2 → 1.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -160,6 +160,13 @@ export declare class FusionAuthClient {
160
160
  * @returns {Promise<ClientResponse<UserCommentResponse>>}
161
161
  */
162
162
  commentOnUser(request: UserCommentRequest): Promise<ClientResponse<UserCommentResponse>>;
163
+ /**
164
+ * Completes verification of an identity using verification codes from the Verify Start API.
165
+ *
166
+ * @param {VerifyCompleteRequest} request The identity verify complete request that contains all the information used to verify the identity.
167
+ * @returns {Promise<ClientResponse<VerifyCompleteResponse>>}
168
+ */
169
+ completeVerifyIdentity(request: VerifyCompleteRequest): Promise<ClientResponse<VerifyCompleteResponse>>;
163
170
  /**
164
171
  * Complete a WebAuthn authentication ceremony by validating the signature against the previously generated challenge without logging the user in
165
172
  *
@@ -2001,6 +2008,14 @@ export declare class FusionAuthClient {
2001
2008
  * @returns {Promise<ClientResponse<UserResponse>>}
2002
2009
  */
2003
2010
  retrieveUserByLoginId(loginId: string): Promise<ClientResponse<UserResponse>>;
2011
+ /**
2012
+ * Retrieves the user for the loginId, using specific loginIdTypes.
2013
+ *
2014
+ * @param {string} loginId The email or username of the user.
2015
+ * @param {Array<String>} loginIdTypes the identity types that FusionAuth will compare the loginId to.
2016
+ * @returns {Promise<ClientResponse<UserResponse>>}
2017
+ */
2018
+ retrieveUserByLoginIdWithLoginIdTypes(loginId: string, loginIdTypes: Array<String>): Promise<ClientResponse<UserResponse>>;
2004
2019
  /**
2005
2020
  * Retrieves the user for the given username.
2006
2021
  *
@@ -2105,6 +2120,18 @@ export declare class FusionAuthClient {
2105
2120
  * @returns {Promise<ClientResponse<LoginReportResponse>>}
2106
2121
  */
2107
2122
  retrieveUserLoginReportByLoginId(applicationId: UUID, loginId: string, start: number, end: number): Promise<ClientResponse<LoginReportResponse>>;
2123
+ /**
2124
+ * Retrieves the login report between the two instants for a particular user by login Id, using specific loginIdTypes. If you specify an application id, it will only return the
2125
+ * login counts for that application.
2126
+ *
2127
+ * @param {UUID} applicationId (Optional) The application id.
2128
+ * @param {string} loginId The userId id.
2129
+ * @param {number} start The start instant as UTC milliseconds since Epoch.
2130
+ * @param {number} end The end instant as UTC milliseconds since Epoch.
2131
+ * @param {Array<String>} loginIdTypes the identity types that FusionAuth will compare the loginId to.
2132
+ * @returns {Promise<ClientResponse<LoginReportResponse>>}
2133
+ */
2134
+ retrieveUserLoginReportByLoginIdAndLoginIdTypes(applicationId: UUID, loginId: string, start: number, end: number, loginIdTypes: Array<String>): Promise<ClientResponse<LoginReportResponse>>;
2108
2135
  /**
2109
2136
  * Retrieves the last number of login records for a user.
2110
2137
  *
@@ -2488,6 +2515,13 @@ export declare class FusionAuthClient {
2488
2515
  * @returns {Promise<ClientResponse<void>>}
2489
2516
  */
2490
2517
  sendTwoFactorCodeForLoginUsingMethod(twoFactorId: string, request: TwoFactorSendRequest): Promise<ClientResponse<void>>;
2518
+ /**
2519
+ * Send a verification code using the appropriate transport for the identity type being verified.
2520
+ *
2521
+ * @param {VerifySendRequest} request The identity verify send request that contains all the information used send the code.
2522
+ * @returns {Promise<ClientResponse<void>>}
2523
+ */
2524
+ sendVerifyIdentity(request: VerifySendRequest): Promise<ClientResponse<void>>;
2491
2525
  /**
2492
2526
  * Begins a login request for a 3rd party login that requires user interaction such as HYPR.
2493
2527
  *
@@ -2516,6 +2550,14 @@ export declare class FusionAuthClient {
2516
2550
  * @returns {Promise<ClientResponse<TwoFactorStartResponse>>}
2517
2551
  */
2518
2552
  startTwoFactorLogin(request: TwoFactorStartRequest): Promise<ClientResponse<TwoFactorStartResponse>>;
2553
+ /**
2554
+ * Start a verification of an identity by generating a code. This code can be sent to the User using the Verify Send API
2555
+ * Verification Code API or using a mechanism outside of FusionAuth. The verification is completed by using the Verify Complete API with this code.
2556
+ *
2557
+ * @param {VerifyStartRequest} request The identity verify start request that contains all the information used to begin the request.
2558
+ * @returns {Promise<ClientResponse<VerifyStartResponse>>}
2559
+ */
2560
+ startVerifyIdentity(request: VerifyStartRequest): Promise<ClientResponse<VerifyStartResponse>>;
2519
2561
  /**
2520
2562
  * Start a WebAuthn authentication ceremony by generating a new challenge for the user
2521
2563
  *
@@ -2857,6 +2899,13 @@ export declare class FusionAuthClient {
2857
2899
  * @returns {Promise<ClientResponse<void>>}
2858
2900
  */
2859
2901
  verifyEmailAddressByUserId(request: VerifyEmailRequest): Promise<ClientResponse<void>>;
2902
+ /**
2903
+ * Administratively verify a user identity.
2904
+ *
2905
+ * @param {VerifyRequest} request The identity verify request that contains information to verify the identity.
2906
+ * @returns {Promise<ClientResponse<void>>}
2907
+ */
2908
+ verifyIdentity(request: VerifyRequest): Promise<ClientResponse<void>>;
2860
2909
  /**
2861
2910
  * Confirms an application registration. The Id given is usually from an email sent to the user.
2862
2911
  *
@@ -3041,6 +3090,7 @@ export interface Application {
3041
3090
  name?: string;
3042
3091
  oauthConfiguration?: OAuth2Configuration;
3043
3092
  passwordlessConfiguration?: PasswordlessConfiguration;
3093
+ phoneConfiguration?: ApplicationPhoneConfiguration;
3044
3094
  registrationConfiguration?: RegistrationConfiguration;
3045
3095
  registrationDeletePolicy?: ApplicationRegistrationDeletePolicy;
3046
3096
  roles?: Array<ApplicationRole>;
@@ -3103,6 +3153,7 @@ export interface RegistrationConfiguration extends Enableable {
3103
3153
  }
3104
3154
  export declare enum LoginIdType {
3105
3155
  email = "email",
3156
+ phoneNumber = "phoneNumber",
3106
3157
  username = "username"
3107
3158
  }
3108
3159
  export declare enum RegistrationType {
@@ -3238,6 +3289,25 @@ export interface ApplicationOAuthScopeRequest {
3238
3289
  export interface ApplicationOAuthScopeResponse {
3239
3290
  scope?: ApplicationOAuthScope;
3240
3291
  }
3292
+ /**
3293
+ * Hold application phone configuration for template overrides.
3294
+ */
3295
+ export interface ApplicationPhoneConfiguration {
3296
+ forgotPasswordTemplateId?: UUID;
3297
+ identityUpdateTemplateId?: UUID;
3298
+ loginIdInUseOnCreateTemplateId?: UUID;
3299
+ loginIdInUseOnUpdateTemplateId?: UUID;
3300
+ loginNewDeviceTemplateId?: UUID;
3301
+ loginSuspiciousTemplateId?: UUID;
3302
+ passwordlessTemplateId?: UUID;
3303
+ passwordResetSuccessTemplateId?: UUID;
3304
+ passwordUpdateTemplateId?: UUID;
3305
+ setPasswordTemplateId?: UUID;
3306
+ twoFactorMethodAddTemplateId?: UUID;
3307
+ twoFactorMethodRemoveTemplateId?: UUID;
3308
+ verificationCompleteTemplateId?: UUID;
3309
+ verificationTemplateId?: UUID;
3310
+ }
3241
3311
  /**
3242
3312
  * A Application-level policy for deleting Users.
3243
3313
  *
@@ -3600,6 +3670,10 @@ export interface BaseSearchCriteria {
3600
3670
  export interface BaseUserEvent extends BaseEvent {
3601
3671
  user?: User;
3602
3672
  }
3673
+ export interface IdentityInfo {
3674
+ type?: string;
3675
+ value?: string;
3676
+ }
3603
3677
  /**
3604
3678
  * @author Daniel DeGroff
3605
3679
  */
@@ -3672,6 +3746,7 @@ export interface ChangePasswordRequest extends BaseEventRequest {
3672
3746
  changePasswordId?: string;
3673
3747
  currentPassword?: string;
3674
3748
  loginId?: string;
3749
+ loginIdTypes?: Array<string>;
3675
3750
  password?: string;
3676
3751
  refreshToken?: string;
3677
3752
  trustChallenge?: string;
@@ -3956,6 +4031,7 @@ export interface DisplayableRawLogin extends RawLogin {
3956
4031
  applicationName?: string;
3957
4032
  location?: Location;
3958
4033
  loginId?: string;
4034
+ loginIdType?: IdentityType;
3959
4035
  }
3960
4036
  /**
3961
4037
  * Interface for all identity providers that can be domain based.
@@ -4498,7 +4574,9 @@ export declare enum EventType {
4498
4574
  UserTwoFactorMethodRemove = "user.two-factor.method.remove",
4499
4575
  UserUpdate = "user.update",
4500
4576
  UserUpdateComplete = "user.update.complete",
4501
- Test = "test"
4577
+ Test = "test",
4578
+ UserIdentityVerified = "user.identity.verified",
4579
+ UserIdentityUpdate = "user.identity.update"
4502
4580
  }
4503
4581
  /**
4504
4582
  * An expandable API request.
@@ -4543,8 +4621,12 @@ export interface ExternalIdentifierConfiguration {
4543
4621
  loginIntentTimeToLiveInSeconds?: number;
4544
4622
  oneTimePasswordTimeToLiveInSeconds?: number;
4545
4623
  passwordlessLoginGenerator?: SecureGeneratorConfiguration;
4624
+ passwordlessLoginOneTimeCodeGenerator?: SecureGeneratorConfiguration;
4546
4625
  passwordlessLoginTimeToLiveInSeconds?: number;
4547
4626
  pendingAccountLinkTimeToLiveInSeconds?: number;
4627
+ phoneVerificationIdGenerator?: SecureGeneratorConfiguration;
4628
+ phoneVerificationIdTimeToLiveInSeconds?: number;
4629
+ phoneVerificationOneTimeCodeGenerator?: SecureGeneratorConfiguration;
4548
4630
  registrationVerificationIdGenerator?: SecureGeneratorConfiguration;
4549
4631
  registrationVerificationIdTimeToLiveInSeconds?: number;
4550
4632
  registrationVerificationOneTimeCodeGenerator?: SecureGeneratorConfiguration;
@@ -4702,7 +4784,9 @@ export interface ForgotPasswordRequest extends BaseEventRequest {
4702
4784
  changePasswordId?: string;
4703
4785
  email?: string;
4704
4786
  loginId?: string;
4787
+ loginIdTypes?: Array<string>;
4705
4788
  sendForgotPasswordEmail?: boolean;
4789
+ sendForgotPasswordMessage?: boolean;
4706
4790
  state?: Record<string, any>;
4707
4791
  username?: string;
4708
4792
  }
@@ -4747,6 +4831,7 @@ export declare enum FormDataType {
4747
4831
  date = "date",
4748
4832
  email = "email",
4749
4833
  number = "number",
4834
+ phoneNumber = "phoneNumber",
4750
4835
  string = "string"
4751
4836
  }
4752
4837
  /**
@@ -4898,7 +4983,7 @@ export interface GoogleIdentityProviderProperties {
4898
4983
  button?: string;
4899
4984
  }
4900
4985
  /**
4901
- * Authorization Grant types as defined by the <a href="https://tools.ietf.org/html/rfc6749">The OAuth 2.0 Authorization
4986
+ * Authorization Grant types as defined by the <a href="https://tools.ietf.org/html/rfc6749">OAuth 2.0 Authorization
4902
4987
  * Framework - RFC 6749</a>.
4903
4988
  * <p>
4904
4989
  * Specific names as defined by <a href="https://tools.ietf.org/html/rfc7591#section-4.1">
@@ -4965,7 +5050,6 @@ export interface GroupMember {
4965
5050
  groupId?: UUID;
4966
5051
  id?: UUID;
4967
5052
  insertInstant?: number;
4968
- user?: User;
4969
5053
  userId?: UUID;
4970
5054
  }
4971
5055
  /**
@@ -5343,6 +5427,7 @@ export interface IdentityProviderStartLoginRequest extends BaseLoginRequest {
5343
5427
  data?: Record<string, string>;
5344
5428
  identityProviderId?: UUID;
5345
5429
  loginId?: string;
5430
+ loginIdTypes?: Array<string>;
5346
5431
  state?: Record<string, any>;
5347
5432
  }
5348
5433
  /**
@@ -5379,6 +5464,28 @@ export declare enum IdentityProviderType {
5379
5464
  Twitter = "Twitter",
5380
5465
  Xbox = "Xbox"
5381
5466
  }
5467
+ /**
5468
+ * Model identity types provided by FusionAuth.
5469
+ */
5470
+ export interface IdentityType {
5471
+ name?: string;
5472
+ }
5473
+ /**
5474
+ * Models the reason that {@link UserIdentity#verified} was set to true or false.
5475
+ *
5476
+ * @author Brady Wied
5477
+ */
5478
+ export declare enum IdentityVerifiedReason {
5479
+ Skipped = "Skipped",
5480
+ Trusted = "Trusted",
5481
+ Unverifiable = "Unverifiable",
5482
+ Implicit = "Implicit",
5483
+ Pending = "Pending",
5484
+ Completed = "Completed",
5485
+ Disabled = "Disabled",
5486
+ Administrative = "Administrative",
5487
+ Import = "Import"
5488
+ }
5382
5489
  /**
5383
5490
  * Import request.
5384
5491
  *
@@ -5960,6 +6067,7 @@ export interface LoginReportResponse {
5960
6067
  */
5961
6068
  export interface LoginRequest extends BaseLoginRequest {
5962
6069
  loginId?: string;
6070
+ loginIdTypes?: Array<string>;
5963
6071
  oneTimePassword?: string;
5964
6072
  password?: string;
5965
6073
  twoFactorTrustId?: string;
@@ -5973,6 +6081,7 @@ export interface LoginResponse {
5973
6081
  changePasswordReason?: ChangePasswordReason;
5974
6082
  configurableMethods?: Array<string>;
5975
6083
  emailVerificationId?: string;
6084
+ identityVerificationId?: string;
5976
6085
  methods?: Array<TwoFactorMethod>;
5977
6086
  pendingIdPLinkId?: string;
5978
6087
  refreshToken?: string;
@@ -6244,7 +6353,11 @@ export declare enum OAuthErrorReason {
6244
6353
  access_token_required = "access_token_required",
6245
6354
  refresh_token_not_found = "refresh_token_not_found",
6246
6355
  refresh_token_type_not_supported = "refresh_token_type_not_supported",
6356
+ id_token_invalid = "id_token_invalid",
6357
+ unsupported_token_type = "unsupported_token_type",
6358
+ token_type_hint_mismatch = "token_type_hint_mismatch",
6247
6359
  invalid_client_id = "invalid_client_id",
6360
+ invalid_expires_in = "invalid_expires_in",
6248
6361
  invalid_user_credentials = "invalid_user_credentials",
6249
6362
  invalid_grant_type = "invalid_grant_type",
6250
6363
  invalid_origin = "invalid_origin",
@@ -6252,6 +6365,7 @@ export declare enum OAuthErrorReason {
6252
6365
  invalid_pkce_code_verifier = "invalid_pkce_code_verifier",
6253
6366
  invalid_pkce_code_challenge = "invalid_pkce_code_challenge",
6254
6367
  invalid_pkce_code_challenge_method = "invalid_pkce_code_challenge_method",
6368
+ invalid_prompt = "invalid_prompt",
6255
6369
  invalid_redirect_uri = "invalid_redirect_uri",
6256
6370
  invalid_response_mode = "invalid_response_mode",
6257
6371
  invalid_response_type = "invalid_response_type",
@@ -6297,13 +6411,24 @@ export declare enum OAuthErrorReason {
6297
6411
  unknown = "unknown",
6298
6412
  missing_required_scope = "missing_required_scope",
6299
6413
  unknown_scope = "unknown_scope",
6300
- consent_canceled = "consent_canceled"
6414
+ consent_canceled = "consent_canceled",
6415
+ authentication_required = "authentication_required",
6416
+ email_verification_required = "email_verification_required",
6417
+ multi_factor_challenge_required = "multi_factor_challenge_required",
6418
+ phone_verification_required = "phone_verification_required",
6419
+ registration_missing_requirement = "registration_missing_requirement",
6420
+ registration_required = "registration_required",
6421
+ registration_verification_required = "registration_verification_required",
6422
+ consent_required = "consent_required"
6301
6423
  }
6302
6424
  export declare enum OAuthErrorType {
6303
6425
  invalid_request = "invalid_request",
6304
6426
  invalid_client = "invalid_client",
6305
6427
  invalid_grant = "invalid_grant",
6306
6428
  invalid_token = "invalid_token",
6429
+ consent_required = "consent_required",
6430
+ interaction_required = "interaction_required",
6431
+ login_required = "login_required",
6307
6432
  unauthorized_client = "unauthorized_client",
6308
6433
  invalid_scope = "invalid_scope",
6309
6434
  server_error = "server_error",
@@ -6467,6 +6592,7 @@ export interface PasswordlessIdentityProvider {
6467
6592
  */
6468
6593
  export interface PasswordlessLoginRequest extends BaseLoginRequest {
6469
6594
  code?: string;
6595
+ oneTimeCode?: string;
6470
6596
  twoFactorTrustId?: string;
6471
6597
  }
6472
6598
  /**
@@ -6484,6 +6610,8 @@ export interface PasswordlessSendRequest {
6484
6610
  export interface PasswordlessStartRequest {
6485
6611
  applicationId?: UUID;
6486
6612
  loginId?: string;
6613
+ loginIdTypes?: Array<string>;
6614
+ loginStrategy?: PasswordlessStrategy;
6487
6615
  state?: Record<string, any>;
6488
6616
  }
6489
6617
  /**
@@ -6491,6 +6619,14 @@ export interface PasswordlessStartRequest {
6491
6619
  */
6492
6620
  export interface PasswordlessStartResponse {
6493
6621
  code?: string;
6622
+ oneTimeCode?: string;
6623
+ }
6624
+ /**
6625
+ * @author Daniel DeGroff
6626
+ */
6627
+ export declare enum PasswordlessStrategy {
6628
+ ClickableLink = "ClickableLink",
6629
+ FormField = "FormField"
6494
6630
  }
6495
6631
  /**
6496
6632
  * @author Daniel DeGroff
@@ -6513,6 +6649,15 @@ export interface PendingIdPLink {
6513
6649
  export interface PendingResponse {
6514
6650
  users?: Array<User>;
6515
6651
  }
6652
+ /**
6653
+ * Configuration for unverified phone number identities.
6654
+ *
6655
+ * @author Spencer Witt
6656
+ */
6657
+ export interface PhoneUnverifiedOptions {
6658
+ allowPhoneNumberChangeWhenGated?: boolean;
6659
+ behavior?: UnverifiedBehavior;
6660
+ }
6516
6661
  /**
6517
6662
  * @author Michael Sleevi
6518
6663
  */
@@ -6654,17 +6799,6 @@ export interface RateLimitedRequestConfiguration extends Enableable {
6654
6799
  limit?: number;
6655
6800
  timePeriodInSeconds?: number;
6656
6801
  }
6657
- /**
6658
- * @author Daniel DeGroff
6659
- */
6660
- export declare enum RateLimitedRequestType {
6661
- FailedLogin = "FailedLogin",
6662
- ForgotPassword = "ForgotPassword",
6663
- SendEmailVerification = "SendEmailVerification",
6664
- SendPasswordless = "SendPasswordless",
6665
- SendRegistrationVerification = "SendRegistrationVerification",
6666
- SendTwoFactor = "SendTwoFactor"
6667
- }
6668
6802
  /**
6669
6803
  * Raw login information for each time a user logs into an application.
6670
6804
  *
@@ -6753,6 +6887,7 @@ export interface RecentLoginResponse {
6753
6887
  */
6754
6888
  export interface RefreshRequest extends BaseEventRequest {
6755
6889
  refreshToken?: string;
6890
+ timeToLiveInSeconds?: number;
6756
6891
  token?: string;
6757
6892
  }
6758
6893
  /**
@@ -6874,6 +7009,7 @@ export interface RegistrationRequest extends BaseEventRequest {
6874
7009
  generateAuthenticationToken?: boolean;
6875
7010
  registration?: UserRegistration;
6876
7011
  sendSetPasswordEmail?: boolean;
7012
+ sendSetPasswordIdentityType?: SendSetPasswordIdentityType;
6877
7013
  skipRegistrationVerification?: boolean;
6878
7014
  skipVerification?: boolean;
6879
7015
  user?: User;
@@ -7107,6 +7243,7 @@ export interface SecureIdentity {
7107
7243
  encryptionScheme?: string;
7108
7244
  factor?: number;
7109
7245
  id?: UUID;
7246
+ identities?: Array<UserIdentity>;
7110
7247
  lastLoginInstant?: number;
7111
7248
  password?: string;
7112
7249
  passwordChangeReason?: ChangePasswordReason;
@@ -7148,6 +7285,15 @@ export interface EmailTemplateErrors {
7148
7285
  parseErrors?: Record<string, string>;
7149
7286
  renderErrors?: Record<string, string>;
7150
7287
  }
7288
+ /**
7289
+ * Used to indicate which identity type a password "request" might go to. It could be
7290
+ * used for send set passwords or send password resets.
7291
+ */
7292
+ export declare enum SendSetPasswordIdentityType {
7293
+ email = "email",
7294
+ phone = "phone",
7295
+ doNotSend = "doNotSend"
7296
+ }
7151
7297
  /**
7152
7298
  * Theme object for values used in the css variables for simple themes.
7153
7299
  *
@@ -7369,6 +7515,7 @@ export interface Tenant {
7369
7515
  oauthConfiguration?: TenantOAuth2Configuration;
7370
7516
  passwordEncryptionConfiguration?: PasswordEncryptionConfiguration;
7371
7517
  passwordValidationRules?: PasswordValidationRules;
7518
+ phoneConfiguration?: TenantPhoneConfiguration;
7372
7519
  rateLimitConfiguration?: TenantRateLimitConfiguration;
7373
7520
  registrationConfiguration?: TenantRegistrationConfiguration;
7374
7521
  scimServerConfiguration?: TenantSCIMServerConfiguration;
@@ -7450,6 +7597,32 @@ export interface MultiFactorSMSMethod extends Enableable {
7450
7597
  messengerId?: UUID;
7451
7598
  templateId?: UUID;
7452
7599
  }
7600
+ /**
7601
+ * Hold tenant phone configuration for passwordless and verification cases.
7602
+ *
7603
+ * @author Brady Wied
7604
+ */
7605
+ export interface TenantPhoneConfiguration {
7606
+ forgotPasswordTemplateId?: UUID;
7607
+ identityUpdateTemplateId?: UUID;
7608
+ implicitPhoneVerificationAllowed?: boolean;
7609
+ loginIdInUseOnCreateTemplateId?: UUID;
7610
+ loginIdInUseOnUpdateTemplateId?: UUID;
7611
+ loginNewDeviceTemplateId?: UUID;
7612
+ loginSuspiciousTemplateId?: UUID;
7613
+ messengerId?: UUID;
7614
+ passwordlessTemplateId?: UUID;
7615
+ passwordResetSuccessTemplateId?: UUID;
7616
+ passwordUpdateTemplateId?: UUID;
7617
+ setPasswordTemplateId?: UUID;
7618
+ twoFactorMethodAddTemplateId?: UUID;
7619
+ twoFactorMethodRemoveTemplateId?: UUID;
7620
+ unverified?: PhoneUnverifiedOptions;
7621
+ verificationCompleteTemplateId?: UUID;
7622
+ verificationStrategy?: VerificationStrategy;
7623
+ verificationTemplateId?: UUID;
7624
+ verifyPhoneNumber?: boolean;
7625
+ }
7453
7626
  /**
7454
7627
  * @author Daniel DeGroff
7455
7628
  */
@@ -7458,6 +7631,8 @@ export interface TenantRateLimitConfiguration {
7458
7631
  forgotPassword?: RateLimitedRequestConfiguration;
7459
7632
  sendEmailVerification?: RateLimitedRequestConfiguration;
7460
7633
  sendPasswordless?: RateLimitedRequestConfiguration;
7634
+ sendPasswordlessPhone?: RateLimitedRequestConfiguration;
7635
+ sendPhoneVerification?: RateLimitedRequestConfiguration;
7461
7636
  sendRegistrationVerification?: RateLimitedRequestConfiguration;
7462
7637
  sendTwoFactor?: RateLimitedRequestConfiguration;
7463
7638
  }
@@ -7640,6 +7815,10 @@ export interface Templates {
7640
7815
  passwordComplete?: string;
7641
7816
  passwordForgot?: string;
7642
7817
  passwordSent?: string;
7818
+ phoneComplete?: string;
7819
+ phoneSent?: string;
7820
+ phoneVerificationRequired?: string;
7821
+ phoneVerify?: string;
7643
7822
  registrationComplete?: string;
7644
7823
  registrationSend?: string;
7645
7824
  registrationSent?: string;
@@ -7878,6 +8057,7 @@ export interface TwoFactorStartRequest {
7878
8057
  applicationId?: UUID;
7879
8058
  code?: string;
7880
8059
  loginId?: string;
8060
+ loginIdTypes?: Array<string>;
7881
8061
  state?: Record<string, any>;
7882
8062
  trustChallenge?: string;
7883
8063
  userId?: UUID;
@@ -7934,7 +8114,7 @@ export interface UsageDataConfiguration extends Enableable {
7934
8114
  numberOfDaysToRetain?: number;
7935
8115
  }
7936
8116
  /**
7937
- * The global view of a User. This object contains all global information about the user including birthdate, registration information
8117
+ * The public, global view of a User. This object contains all global information about the user including birthdate, registration information
7938
8118
  * preferred languages, global attributes, etc.
7939
8119
  *
7940
8120
  * @author Seth Musselman
@@ -7956,6 +8136,7 @@ export interface User extends SecureIdentity {
7956
8136
  middleName?: string;
7957
8137
  mobilePhone?: string;
7958
8138
  parentEmail?: string;
8139
+ phoneNumber?: string;
7959
8140
  preferredLanguages?: Array<string>;
7960
8141
  registrations?: Array<UserRegistration>;
7961
8142
  tenantId?: UUID;
@@ -8290,6 +8471,22 @@ export interface UserEmailUpdateEvent extends BaseUserEvent {
8290
8471
  */
8291
8472
  export interface UserEmailVerifiedEvent extends BaseUserEvent {
8292
8473
  }
8474
+ /**
8475
+ * @author Daniel DeGroff
8476
+ */
8477
+ export interface UserIdentity {
8478
+ displayValue?: string;
8479
+ insertInstant?: number;
8480
+ lastLoginInstant?: number;
8481
+ lastUpdateInstant?: number;
8482
+ moderationStatus?: ContentStatus;
8483
+ primary?: boolean;
8484
+ type?: IdentityType;
8485
+ value?: string;
8486
+ verified?: boolean;
8487
+ verifiedInstant?: number;
8488
+ verifiedReason?: IdentityVerifiedReason;
8489
+ }
8293
8490
  /**
8294
8491
  * Models the User Identity Provider Link Event.
8295
8492
  *
@@ -8306,6 +8503,25 @@ export interface UserIdentityProviderLinkEvent extends BaseUserEvent {
8306
8503
  export interface UserIdentityProviderUnlinkEvent extends BaseUserEvent {
8307
8504
  identityProviderLink?: IdentityProviderLink;
8308
8505
  }
8506
+ /**
8507
+ * Models the user identity update event
8508
+ *
8509
+ * @author Brent Halsey
8510
+ */
8511
+ export interface UserIdentityUpdateEvent extends BaseUserEvent {
8512
+ loginIdType?: string;
8513
+ newLoginId?: string;
8514
+ previousLoginId?: string;
8515
+ }
8516
+ /**
8517
+ * Models the user identity verified event
8518
+ *
8519
+ * @author Brady Wied
8520
+ */
8521
+ export interface UserIdentityVerifiedEvent extends BaseUserEvent {
8522
+ loginId?: string;
8523
+ loginIdType?: string;
8524
+ }
8309
8525
  /**
8310
8526
  * Models the User Login Failed Event.
8311
8527
  *
@@ -8333,12 +8549,14 @@ export interface UserLoginFailedReason {
8333
8549
  export interface UserLoginFailedReasonCode {
8334
8550
  }
8335
8551
  /**
8336
- * Models an event where a user is being created with an "in-use" login Id (email or username).
8552
+ * Models an event where a user is being created with an "in-use" login Id (email, username, or other identities).
8337
8553
  *
8338
8554
  * @author Daniel DeGroff
8339
8555
  */
8340
8556
  export interface UserLoginIdDuplicateOnCreateEvent extends BaseUserEvent {
8341
8557
  duplicateEmail?: string;
8558
+ duplicateIdentities?: Array<IdentityInfo>;
8559
+ duplicatePhoneNumber?: string;
8342
8560
  duplicateUsername?: string;
8343
8561
  existing?: User;
8344
8562
  }
@@ -8524,8 +8742,10 @@ export interface UserRequest extends BaseEventRequest {
8524
8742
  currentPassword?: string;
8525
8743
  disableDomainBlock?: boolean;
8526
8744
  sendSetPasswordEmail?: boolean;
8745
+ sendSetPasswordIdentityType?: SendSetPasswordIdentityType;
8527
8746
  skipVerification?: boolean;
8528
8747
  user?: User;
8748
+ verificationIds?: Array<string>;
8529
8749
  }
8530
8750
  /**
8531
8751
  * User API response object.
@@ -8540,6 +8760,13 @@ export interface UserResponse {
8540
8760
  token?: string;
8541
8761
  tokenExpirationInstant?: number;
8542
8762
  user?: User;
8763
+ verificationIds?: Array<VerificationId>;
8764
+ }
8765
+ export interface VerificationId {
8766
+ id?: string;
8767
+ oneTimeCode?: string;
8768
+ type?: IdentityType;
8769
+ value?: string;
8543
8770
  }
8544
8771
  /**
8545
8772
  * This class is the user query. It provides a build pattern as well as public fields for use on forms and in actions.
@@ -8625,6 +8852,19 @@ export declare enum VerificationStrategy {
8625
8852
  ClickableLink = "ClickableLink",
8626
8853
  FormField = "FormField"
8627
8854
  }
8855
+ /**
8856
+ * Verify Complete API request object.
8857
+ */
8858
+ export interface VerifyCompleteRequest extends BaseEventRequest {
8859
+ oneTimeCode?: string;
8860
+ verificationId?: string;
8861
+ }
8862
+ /**
8863
+ * Verify Complete API response object.
8864
+ */
8865
+ export interface VerifyCompleteResponse {
8866
+ state?: Record<string, any>;
8867
+ }
8628
8868
  /**
8629
8869
  * @author Daniel DeGroff
8630
8870
  */
@@ -8654,6 +8894,36 @@ export interface VerifyRegistrationResponse {
8654
8894
  oneTimeCode?: string;
8655
8895
  verificationId?: string;
8656
8896
  }
8897
+ /**
8898
+ * Identity verify request. Used to administratively verify an identity.
8899
+ */
8900
+ export interface VerifyRequest extends BaseEventRequest {
8901
+ loginId?: string;
8902
+ loginIdType?: string;
8903
+ }
8904
+ /**
8905
+ * Verify Send API request object.
8906
+ */
8907
+ export interface VerifySendRequest {
8908
+ verificationId?: string;
8909
+ }
8910
+ /**
8911
+ * @author Brady Wied
8912
+ */
8913
+ export interface VerifyStartRequest {
8914
+ applicationId?: UUID;
8915
+ loginId?: string;
8916
+ loginIdType?: string;
8917
+ state?: Record<string, any>;
8918
+ verificationStrategy?: VerificationStrategy;
8919
+ }
8920
+ /**
8921
+ * @author Brady Wied
8922
+ */
8923
+ export interface VerifyStartResponse {
8924
+ oneTimeCode?: string;
8925
+ verificationId?: string;
8926
+ }
8657
8927
  /**
8658
8928
  * @author Daniel DeGroff
8659
8929
  */
@@ -8831,6 +9101,7 @@ export interface WebAuthnStartRequest {
8831
9101
  applicationId?: UUID;
8832
9102
  credentialId?: UUID;
8833
9103
  loginId?: string;
9104
+ loginIdTypes?: Array<string>;
8834
9105
  state?: Record<string, any>;
8835
9106
  userId?: UUID;
8836
9107
  workflow?: WebAuthnWorkflow;