@fusionauth/typescript-client 1.29.0 → 1.31.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.
@@ -208,6 +208,14 @@ export declare class FusionAuthClient {
208
208
  * @returns {Promise<ClientResponse<MemberResponse>>}
209
209
  */
210
210
  createGroupMembers(request: MemberRequest): Promise<ClientResponse<MemberResponse>>;
211
+ /**
212
+ * Creates an IP Access Control List. You can optionally specify an Id on this create request, if one is not provided one will be generated.
213
+ *
214
+ * @param {UUID} accessControlListId (Optional) The Id for the IP Access Control List. If not provided a secure random UUID will be generated.
215
+ * @param {IPAccessControlListRequest} request The request object that contains all of the information used to create the IP Access Control List.
216
+ * @returns {Promise<ClientResponse<IPAccessControlListResponse>>}
217
+ */
218
+ createIPAccessControlList(accessControlListId: UUID, request: IPAccessControlListRequest): Promise<ClientResponse<IPAccessControlListResponse>>;
211
219
  /**
212
220
  * Creates an identity provider. You can optionally specify an Id for the identity provider, if not provided one will be generated.
213
221
  *
@@ -455,6 +463,13 @@ export declare class FusionAuthClient {
455
463
  * @returns {Promise<ClientResponse<void>>}
456
464
  */
457
465
  deleteGroupMembers(request: MemberDeleteRequest): Promise<ClientResponse<void>>;
466
+ /**
467
+ * Deletes the IP Access Control List for the given Id.
468
+ *
469
+ * @param {UUID} ipAccessControlListId The Id of the IP Access Control List to delete.
470
+ * @returns {Promise<ClientResponse<void>>}
471
+ */
472
+ deleteIPAccessControlList(ipAccessControlListId: UUID): Promise<ClientResponse<void>>;
458
473
  /**
459
474
  * Deletes the identity provider for the given Id.
460
475
  *
@@ -499,7 +514,17 @@ export declare class FusionAuthClient {
499
514
  */
500
515
  deleteRegistration(userId: UUID, applicationId: UUID): Promise<ClientResponse<void>>;
501
516
  /**
502
- * Deletes the tenant for the given Id.
517
+ * Deletes the user registration for the given user and application along with the given JSON body that contains the event information.
518
+ *
519
+ * @param {UUID} userId The Id of the user whose registration is being deleted.
520
+ * @param {UUID} applicationId The Id of the application to remove the registration for.
521
+ * @param {RegistrationDeleteRequest} request The request body that contains the event information.
522
+ * @returns {Promise<ClientResponse<void>>}
523
+ */
524
+ deleteRegistrationWithRequest(userId: UUID, applicationId: UUID, request: RegistrationDeleteRequest): Promise<ClientResponse<void>>;
525
+ /**
526
+ * Deletes the tenant based on the given Id on the URL. This permanently deletes all information, metrics, reports and data associated
527
+ * with the tenant and everything under the tenant (applications, users, etc).
503
528
  *
504
529
  * @param {UUID} tenantId The Id of the tenant to delete.
505
530
  * @returns {Promise<ClientResponse<void>>}
@@ -513,6 +538,15 @@ export declare class FusionAuthClient {
513
538
  * @returns {Promise<ClientResponse<void>>}
514
539
  */
515
540
  deleteTenantAsync(tenantId: UUID): Promise<ClientResponse<void>>;
541
+ /**
542
+ * Deletes the tenant based on the given request (sent to the API as JSON). This permanently deletes all information, metrics, reports and data associated
543
+ * with the tenant and everything under the tenant (applications, users, etc).
544
+ *
545
+ * @param {UUID} tenantId The Id of the tenant to delete.
546
+ * @param {TenantDeleteRequest} request The request object that contains all of the information used to delete the user.
547
+ * @returns {Promise<ClientResponse<void>>}
548
+ */
549
+ deleteTenantWithRequest(tenantId: UUID, request: TenantDeleteRequest): Promise<ClientResponse<void>>;
516
550
  /**
517
551
  * Deletes the theme for the given Id.
518
552
  *
@@ -552,6 +586,15 @@ export declare class FusionAuthClient {
552
586
  * @returns {Promise<ClientResponse<IdentityProviderLinkResponse>>}
553
587
  */
554
588
  deleteUserLink(identityProviderId: UUID, identityProviderUserId: string, userId: UUID): Promise<ClientResponse<IdentityProviderLinkResponse>>;
589
+ /**
590
+ * Deletes the user based on the given request (sent to the API as JSON). This permanently deletes all information, metrics, reports and data associated
591
+ * with the user.
592
+ *
593
+ * @param {UUID} userId The Id of the user to delete (required).
594
+ * @param {UserDeleteSingleRequest} request The request object that contains all of the information used to delete the user.
595
+ * @returns {Promise<ClientResponse<void>>}
596
+ */
597
+ deleteUserWithRequest(userId: UUID, request: UserDeleteSingleRequest): Promise<ClientResponse<void>>;
555
598
  /**
556
599
  * Deletes the users with the given ids, or users matching the provided JSON query or queryString.
557
600
  * The order of preference is ids, query and then queryString, it is recommended to only provide one of the three for the request.
@@ -592,6 +635,14 @@ export declare class FusionAuthClient {
592
635
  * @returns {Promise<ClientResponse<void>>}
593
636
  */
594
637
  disableTwoFactor(userId: UUID, methodId: string, code: string): Promise<ClientResponse<void>>;
638
+ /**
639
+ * Disable Two Factor authentication for a user using a JSON body rather than URL parameters.
640
+ *
641
+ * @param {UUID} userId The Id of the User for which you're disabling Two Factor authentication.
642
+ * @param {TwoFactorDisableRequest} request The request information that contains the code and methodId along with any event information.
643
+ * @returns {Promise<ClientResponse<void>>}
644
+ */
645
+ disableTwoFactorWithRequest(userId: UUID, request: TwoFactorDisableRequest): Promise<ClientResponse<void>>;
595
646
  /**
596
647
  * Enable Two Factor authentication for a user.
597
648
  *
@@ -813,6 +864,14 @@ export declare class FusionAuthClient {
813
864
  * @returns {Promise<ClientResponse<void>>}
814
865
  */
815
866
  logout(global: boolean, refreshToken: string): Promise<ClientResponse<void>>;
867
+ /**
868
+ * The Logout API is intended to be used to remove the refresh token and access token cookies if they exist on the
869
+ * client and revoke the refresh token stored. This API takes the refresh token in the JSON body.
870
+ *
871
+ * @param {LogoutRequest} request The request object that contains all of the information used to logout the user.
872
+ * @returns {Promise<ClientResponse<void>>}
873
+ */
874
+ logoutWithRequest(request: LogoutRequest): Promise<ClientResponse<void>>;
816
875
  /**
817
876
  * Retrieves the identity provider for the given domain. A 200 response code indicates the domain is managed
818
877
  * by a registered identity provider. A 404 indicates the domain is not managed.
@@ -1315,6 +1374,13 @@ export declare class FusionAuthClient {
1315
1374
  * @returns {Promise<ClientResponse<GroupResponse>>}
1316
1375
  */
1317
1376
  retrieveGroups(): Promise<ClientResponse<GroupResponse>>;
1377
+ /**
1378
+ * Retrieves the IP Access Control List with the given Id.
1379
+ *
1380
+ * @param {UUID} ipAccessControlListId The Id of the IP Access Control List.
1381
+ * @returns {Promise<ClientResponse<IPAccessControlListResponse>>}
1382
+ */
1383
+ retrieveIPAccessControlList(ipAccessControlListId: UUID): Promise<ClientResponse<IPAccessControlListResponse>>;
1318
1384
  /**
1319
1385
  * Retrieves the identity provider for the given id or all of the identity providers if the id is null.
1320
1386
  *
@@ -1513,6 +1579,12 @@ export declare class FusionAuthClient {
1513
1579
  * @returns {Promise<ClientResponse<PendingResponse>>}
1514
1580
  */
1515
1581
  retrievePendingChildren(parentEmail: string): Promise<ClientResponse<PendingResponse>>;
1582
+ /**
1583
+ * Retrieves the FusionAuth Reactor metrics.
1584
+ *
1585
+ * @returns {Promise<ClientResponse<ReactorMetricsResponse>>}
1586
+ */
1587
+ retrieveReactorMetrics(): Promise<ClientResponse<ReactorMetricsResponse>>;
1516
1588
  /**
1517
1589
  * Retrieves the FusionAuth Reactor status.
1518
1590
  *
@@ -1854,6 +1926,14 @@ export declare class FusionAuthClient {
1854
1926
  * @returns {Promise<ClientResponse<void>>}
1855
1927
  */
1856
1928
  revokeRefreshTokensByUserIdForApplication(userId: UUID, applicationId: UUID): Promise<ClientResponse<void>>;
1929
+ /**
1930
+ * Revokes refresh tokens using the information in the JSON body. The handling for this method is the same as the revokeRefreshToken method
1931
+ * and is based on the information you provide in the RefreshDeleteRequest object. See that method for additional information.
1932
+ *
1933
+ * @param {RefreshTokenRevokeRequest} request The request information used to revoke the refresh tokens.
1934
+ * @returns {Promise<ClientResponse<void>>}
1935
+ */
1936
+ revokeRefreshTokensWithRequest(request: RefreshTokenRevokeRequest): Promise<ClientResponse<void>>;
1857
1937
  /**
1858
1938
  * Revokes a single User consent by Id.
1859
1939
  *
@@ -1903,6 +1983,13 @@ export declare class FusionAuthClient {
1903
1983
  * @returns {Promise<ClientResponse<EventLogSearchResponse>>}
1904
1984
  */
1905
1985
  searchEventLogs(request: EventLogSearchRequest): Promise<ClientResponse<EventLogSearchResponse>>;
1986
+ /**
1987
+ * Searches the IP Access Control Lists with the specified criteria and pagination.
1988
+ *
1989
+ * @param {IPAccessControlListSearchRequest} request The search criteria and pagination information.
1990
+ * @returns {Promise<ClientResponse<IPAccessControlListSearchResponse>>}
1991
+ */
1992
+ searchIPAccessControlLists(request: IPAccessControlListSearchRequest): Promise<ClientResponse<IPAccessControlListSearchResponse>>;
1906
1993
  /**
1907
1994
  * Searches the login records with the specified criteria and pagination.
1908
1995
  *
@@ -2133,6 +2220,14 @@ export declare class FusionAuthClient {
2133
2220
  * @returns {Promise<ClientResponse<GroupResponse>>}
2134
2221
  */
2135
2222
  updateGroup(groupId: UUID, request: GroupRequest): Promise<ClientResponse<GroupResponse>>;
2223
+ /**
2224
+ * Updates the IP Access Control List with the given Id.
2225
+ *
2226
+ * @param {UUID} accessControlListId The Id of the IP Access Control List to update.
2227
+ * @param {IPAccessControlListRequest} request The request that contains all of the new IP Access Control List information.
2228
+ * @returns {Promise<ClientResponse<IPAccessControlListResponse>>}
2229
+ */
2230
+ updateIPAccessControlList(accessControlListId: UUID, request: IPAccessControlListRequest): Promise<ClientResponse<IPAccessControlListResponse>>;
2136
2231
  /**
2137
2232
  * Updates the identity provider with the given Id.
2138
2233
  *
@@ -2278,6 +2373,21 @@ export declare class FusionAuthClient {
2278
2373
  * @returns {Promise<ClientResponse<ValidateResponse>>}
2279
2374
  */
2280
2375
  validateJWT(encodedJWT: string): Promise<ClientResponse<ValidateResponse>>;
2376
+ /**
2377
+ * It's a JWT vending machine!
2378
+ *
2379
+ * Issue a new access token (JWT) with the provided claims in the request. This JWT is not scoped to a tenant or user, it is a free form
2380
+ * token that will contain what claims you provide.
2381
+ * <p>
2382
+ * The iat, exp and jti claims will be added by FusionAuth, all other claims must be provided by the caller.
2383
+ *
2384
+ * If a TTL is not provided in the request, the TTL will be retrieved from the default Tenant or the Tenant specified on the request either
2385
+ * by way of the X-FusionAuth-TenantId request header, or a tenant scoped API key.
2386
+ *
2387
+ * @param {JWTVendRequest} request The request that contains all of the claims for this JWT.
2388
+ * @returns {Promise<ClientResponse<JWTVendResponse>>}
2389
+ */
2390
+ vendJWT(request: JWTVendRequest): Promise<ClientResponse<JWTVendResponse>>;
2281
2391
  /**
2282
2392
  * Confirms a email verification. The Id given is usually from an email sent to the user.
2283
2393
  *
@@ -2363,7 +2473,7 @@ export interface ActionData {
2363
2473
  *
2364
2474
  * @author Brian Pontarelli
2365
2475
  */
2366
- export interface ActionRequest {
2476
+ export interface ActionRequest extends BaseEventRequest {
2367
2477
  action?: ActionData;
2368
2478
  broadcast?: boolean;
2369
2479
  }
@@ -2401,6 +2511,7 @@ export declare enum Algorithm {
2401
2511
  export interface APIKey {
2402
2512
  id?: UUID;
2403
2513
  insertInstant?: number;
2514
+ ipAccessControlListId?: UUID;
2404
2515
  key?: string;
2405
2516
  keyManager?: boolean;
2406
2517
  lastUpdateInstant?: number;
@@ -2455,6 +2566,7 @@ export interface AppleIdentityProvider extends BaseIdentityProvider<AppleApplica
2455
2566
  * @author Seth Musselman
2456
2567
  */
2457
2568
  export interface Application {
2569
+ accessControlConfiguration?: ApplicationAccessControlConfiguration;
2458
2570
  active?: boolean;
2459
2571
  authenticationTokenConfiguration?: AuthenticationTokenConfiguration;
2460
2572
  cleanSpeakConfiguration?: CleanSpeakConfiguration;
@@ -2483,11 +2595,27 @@ export interface Application {
2483
2595
  verificationStrategy?: VerificationStrategy;
2484
2596
  verifyRegistration?: boolean;
2485
2597
  }
2598
+ /**
2599
+ * @author Daniel DeGroff
2600
+ */
2601
+ export interface ApplicationAccessControlConfiguration {
2602
+ uiIPAccessControlListId?: UUID;
2603
+ }
2486
2604
  export interface ApplicationEmailConfiguration {
2605
+ emailUpdateEmailTemplateId?: UUID;
2487
2606
  emailVerificationEmailTemplateId?: UUID;
2607
+ emailVerifiedEmailTemplateId?: UUID;
2488
2608
  forgotPasswordEmailTemplateId?: UUID;
2609
+ loginIdInUseOnCreateEmailTemplateId?: UUID;
2610
+ loginIdInUseOnUpdateEmailTemplateId?: UUID;
2611
+ loginNewDeviceEmailTemplateId?: UUID;
2612
+ loginSuspiciousEmailTemplateId?: UUID;
2489
2613
  passwordlessEmailTemplateId?: UUID;
2614
+ passwordResetSuccessEmailTemplateId?: UUID;
2615
+ passwordUpdateEmailTemplateId?: UUID;
2490
2616
  setPasswordEmailTemplateId?: UUID;
2617
+ twoFactorMethodAddEmailTemplateId?: UUID;
2618
+ twoFactorMethodRemoveEmailTemplateId?: UUID;
2491
2619
  }
2492
2620
  /**
2493
2621
  * Events that are bound to applications.
@@ -2523,7 +2651,7 @@ export interface ApplicationRegistrationDeletePolicy {
2523
2651
  *
2524
2652
  * @author Brian Pontarelli
2525
2653
  */
2526
- export interface ApplicationRequest {
2654
+ export interface ApplicationRequest extends BaseEventRequest {
2527
2655
  application?: Application;
2528
2656
  role?: ApplicationRole;
2529
2657
  webhookIds?: Array<UUID>;
@@ -2588,6 +2716,14 @@ export interface AuditLog {
2588
2716
  export interface AuditLogConfiguration {
2589
2717
  delete?: DeleteConfiguration;
2590
2718
  }
2719
+ /**
2720
+ * Event event to an audit log was created.
2721
+ *
2722
+ * @author Daniel DeGroff
2723
+ */
2724
+ export interface AuditLogCreateEvent extends BaseEvent {
2725
+ auditLog?: AuditLog;
2726
+ }
2591
2727
  /**
2592
2728
  * @author Daniel DeGroff
2593
2729
  */
@@ -2597,7 +2733,7 @@ export interface AuditLogExportRequest extends BaseExportRequest {
2597
2733
  /**
2598
2734
  * @author Brian Pontarelli
2599
2735
  */
2600
- export interface AuditLogRequest {
2736
+ export interface AuditLogRequest extends BaseEventRequest {
2601
2737
  auditLog?: AuditLog;
2602
2738
  }
2603
2739
  /**
@@ -2614,6 +2750,9 @@ export interface AuditLogResponse {
2614
2750
  export interface AuditLogSearchCriteria extends BaseSearchCriteria {
2615
2751
  end?: number;
2616
2752
  message?: string;
2753
+ newValue?: string;
2754
+ oldValue?: string;
2755
+ reason?: string;
2617
2756
  start?: number;
2618
2757
  user?: string;
2619
2758
  }
@@ -2632,6 +2771,12 @@ export interface AuditLogSearchResponse {
2632
2771
  auditLogs?: Array<AuditLog>;
2633
2772
  total?: number;
2634
2773
  }
2774
+ /**
2775
+ * @author Brett Pontarelli
2776
+ */
2777
+ export declare enum AuthenticationThreats {
2778
+ ImpossibleTravel = "ImpossibleTravel"
2779
+ }
2635
2780
  export interface AuthenticationTokenConfiguration extends Enableable {
2636
2781
  }
2637
2782
  /**
@@ -2669,7 +2814,18 @@ export interface BaseElasticSearchCriteria extends BaseSearchCriteria {
2669
2814
  export interface BaseEvent {
2670
2815
  createInstant?: number;
2671
2816
  id?: UUID;
2817
+ info?: EventInfo;
2672
2818
  tenantId?: UUID;
2819
+ type?: EventType;
2820
+ }
2821
+ /**
2822
+ * Base class for requests that can contain event information. This event information is used when sending Webhooks or emails
2823
+ * during the transaction. The caller is responsible for ensuring that the event information is correct.
2824
+ *
2825
+ * @author Brian Pontarelli
2826
+ */
2827
+ export interface BaseEventRequest {
2828
+ eventInfo?: EventInfo;
2673
2829
  }
2674
2830
  /**
2675
2831
  * @author Daniel DeGroff
@@ -2700,10 +2856,11 @@ export interface BaseIdentityProviderApplicationConfiguration extends Enableable
2700
2856
  /**
2701
2857
  * @author Daniel DeGroff
2702
2858
  */
2703
- export interface BaseLoginRequest {
2859
+ export interface BaseLoginRequest extends BaseEventRequest {
2704
2860
  applicationId?: UUID;
2705
2861
  ipAddress?: string;
2706
2862
  metaData?: MetaData;
2863
+ newDevice?: boolean;
2707
2864
  noJWT?: boolean;
2708
2865
  }
2709
2866
  export interface BaseMessengerConfiguration {
@@ -2767,6 +2924,15 @@ export declare enum CanonicalizationMethod {
2767
2924
  inclusive = "inclusive",
2768
2925
  inclusive_with_comments = "inclusive_with_comments"
2769
2926
  }
2927
+ /**
2928
+ * @author Brett Pontarelli
2929
+ */
2930
+ export declare enum CaptchaMethod {
2931
+ GoogleRecaptchaV2 = "GoogleRecaptchaV2",
2932
+ GoogleRecaptchaV3 = "GoogleRecaptchaV3",
2933
+ HCaptcha = "HCaptcha",
2934
+ HCaptchaEnterprise = "HCaptchaEnterprise"
2935
+ }
2770
2936
  export interface CertificateInformation {
2771
2937
  issuer?: string;
2772
2938
  md5Fingerprint?: string;
@@ -2793,7 +2959,8 @@ export declare enum ChangePasswordReason {
2793
2959
  *
2794
2960
  * @author Brian Pontarelli
2795
2961
  */
2796
- export interface ChangePasswordRequest {
2962
+ export interface ChangePasswordRequest extends BaseEventRequest {
2963
+ applicationId?: UUID;
2797
2964
  currentPassword?: string;
2798
2965
  loginId?: string;
2799
2966
  password?: string;
@@ -2946,13 +3113,6 @@ export interface DailyActiveUserReportResponse {
2946
3113
  dailyActiveUsers?: Array<Count>;
2947
3114
  total?: number;
2948
3115
  }
2949
- /**
2950
- * Helper for dealing with default values.
2951
- *
2952
- * @author Brian Pontarelli
2953
- */
2954
- export interface DefaultTools {
2955
- }
2956
3116
  export interface DeleteConfiguration extends Enableable {
2957
3117
  numberOfDaysToRetain?: number;
2958
3118
  }
@@ -2995,6 +3155,7 @@ export declare enum DeviceType {
2995
3155
  */
2996
3156
  export interface DisplayableRawLogin extends RawLogin {
2997
3157
  applicationName?: string;
3158
+ location?: Location;
2998
3159
  loginId?: string;
2999
3160
  }
3000
3161
  /**
@@ -3033,14 +3194,24 @@ export interface EmailAddress {
3033
3194
  export interface EmailConfiguration {
3034
3195
  defaultFromEmail?: string;
3035
3196
  defaultFromName?: string;
3197
+ emailUpdateEmailTemplateId?: UUID;
3198
+ emailVerifiedEmailTemplateId?: UUID;
3036
3199
  forgotPasswordEmailTemplateId?: UUID;
3037
3200
  host?: string;
3201
+ loginIdInUseOnCreateEmailTemplateId?: UUID;
3202
+ loginIdInUseOnUpdateEmailTemplateId?: UUID;
3203
+ loginNewDeviceEmailTemplateId?: UUID;
3204
+ loginSuspiciousEmailTemplateId?: UUID;
3038
3205
  password?: string;
3039
3206
  passwordlessEmailTemplateId?: UUID;
3207
+ passwordResetSuccessEmailTemplateId?: UUID;
3208
+ passwordUpdateEmailTemplateId?: UUID;
3040
3209
  port?: number;
3041
3210
  properties?: string;
3042
3211
  security?: EmailSecurityType;
3043
3212
  setPasswordEmailTemplateId?: UUID;
3213
+ twoFactorMethodAddEmailTemplateId?: UUID;
3214
+ twoFactorMethodRemoveEmailTemplateId?: UUID;
3044
3215
  unverified?: EmailUnverifiedOptions;
3045
3216
  username?: string;
3046
3217
  verificationEmailTemplateId?: UUID;
@@ -3356,6 +3527,21 @@ export interface EventConfiguration {
3356
3527
  export interface EventConfigurationData extends Enableable {
3357
3528
  transactionType?: TransactionType;
3358
3529
  }
3530
+ /**
3531
+ * Information about a user event (login, register, etc) that helps identify the source of the event (location, device type, OS, etc).
3532
+ *
3533
+ * @author Brian Pontarelli
3534
+ */
3535
+ export interface EventInfo {
3536
+ data?: Record<string, any>;
3537
+ deviceDescription?: string;
3538
+ deviceName?: string;
3539
+ deviceType?: string;
3540
+ ipAddress?: string;
3541
+ location?: Location;
3542
+ os?: string;
3543
+ userAgent?: string;
3544
+ }
3359
3545
  /**
3360
3546
  * Event log used internally by FusionAuth to help developers debug hooks, Webhooks, email templates, etc.
3361
3547
  *
@@ -3370,6 +3556,14 @@ export interface EventLog {
3370
3556
  export interface EventLogConfiguration {
3371
3557
  numberToRetain?: number;
3372
3558
  }
3559
+ /**
3560
+ * Event event to an event log was created.
3561
+ *
3562
+ * @author Daniel DeGroff
3563
+ */
3564
+ export interface EventLogCreateEvent extends BaseEvent {
3565
+ eventLog?: EventLog;
3566
+ }
3373
3567
  /**
3374
3568
  * Event log response.
3375
3569
  *
@@ -3428,24 +3622,44 @@ export interface EventRequest {
3428
3622
  * @author Brian Pontarelli
3429
3623
  */
3430
3624
  export declare enum EventType {
3431
- UserDelete = "user.delete",
3432
- UserCreate = "user.create",
3433
- UserUpdate = "user.update",
3434
- UserDeactivate = "user.deactivate",
3435
- UserBulkCreate = "user.bulk.create",
3436
- UserReactivate = "user.reactivate",
3437
- UserAction = "user.action",
3625
+ JWTPublicKeyUpdate = "jwt.public-key.update",
3438
3626
  JWTRefreshTokenRevoke = "jwt.refresh-token.revoke",
3439
3627
  JWTRefresh = "jwt.refresh",
3440
- JWTPublicKeyUpdate = "jwt.public-key.update",
3441
- UserLoginSuccess = "user.login.success",
3628
+ AuditLogCreate = "audit-log.create",
3629
+ EventLogCreate = "event-log.create",
3630
+ KickstartSuccess = "kickstart.success",
3631
+ UserAction = "user.action",
3632
+ UserBulkCreate = "user.bulk.create",
3633
+ UserCreate = "user.create",
3634
+ UserCreateComplete = "user.create.complete",
3635
+ UserDeactivate = "user.deactivate",
3636
+ UserDelete = "user.delete",
3637
+ UserDeleteComplete = "user.delete.complete",
3638
+ UserLoginIdDuplicateOnCreate = "user.loginId.duplicate.create",
3639
+ UserLoginIdDuplicateOnUpdate = "user.loginId.duplicate.update",
3640
+ UserEmailUpdate = "user.email.update",
3641
+ UserEmailVerified = "user.email.verified",
3442
3642
  UserLoginFailed = "user.login.failed",
3643
+ UserLoginNewDevice = "user.login.new-device",
3644
+ UserLoginSuccess = "user.login.success",
3645
+ UserLoginSuspicious = "user.login.suspicious",
3646
+ UserPasswordBreach = "user.password.breach",
3647
+ UserPasswordResetSend = "user.password.reset.send",
3648
+ UserPasswordResetStart = "user.password.reset.start",
3649
+ UserPasswordResetSuccess = "user.password.reset.success",
3650
+ UserPasswordUpdate = "user.password.update",
3651
+ UserReactivate = "user.reactivate",
3443
3652
  UserRegistrationCreate = "user.registration.create",
3444
- UserRegistrationUpdate = "user.registration.update",
3653
+ UserRegistrationCreateComplete = "user.registration.create.complete",
3445
3654
  UserRegistrationDelete = "user.registration.delete",
3655
+ UserRegistrationDeleteComplete = "user.registration.delete.complete",
3656
+ UserRegistrationUpdate = "user.registration.update",
3657
+ UserRegistrationUpdateComplete = "user.registration.update.complete",
3446
3658
  UserRegistrationVerified = "user.registration.verified",
3447
- UserEmailVerified = "user.email.verified",
3448
- UserPasswordBreach = "user.password.breach",
3659
+ UserTwoFactorMethodAdd = "user.two-factor.method.add",
3660
+ UserTwoFactorMethodRemove = "user.two-factor.method.remove",
3661
+ UserUpdate = "user.update",
3662
+ UserUpdateComplete = "user.update.complete",
3449
3663
  Test = "test"
3450
3664
  }
3451
3665
  /**
@@ -3614,7 +3828,7 @@ export declare enum FamilyRole {
3614
3828
  *
3615
3829
  * @author Brian Pontarelli
3616
3830
  */
3617
- export interface ForgotPasswordRequest {
3831
+ export interface ForgotPasswordRequest extends BaseEventRequest {
3618
3832
  applicationId?: UUID;
3619
3833
  changePasswordId?: string;
3620
3834
  email?: string;
@@ -4043,12 +4257,19 @@ export declare enum IdentityProviderType {
4043
4257
  *
4044
4258
  * @author Brian Pontarelli
4045
4259
  */
4046
- export interface ImportRequest {
4260
+ export interface ImportRequest extends BaseEventRequest {
4047
4261
  encryptionScheme?: string;
4048
4262
  factor?: number;
4049
4263
  users?: Array<User>;
4050
4264
  validateDbConstraints?: boolean;
4051
4265
  }
4266
+ /**
4267
+ * A marker interface indicating this event is not scoped to a tenant and will be sent to all webhooks.
4268
+ *
4269
+ * @author Daniel DeGroff
4270
+ */
4271
+ export interface InstanceEvent extends NonTransactionalEvent {
4272
+ }
4052
4273
  /**
4053
4274
  * The Integration Request
4054
4275
  *
@@ -4075,30 +4296,69 @@ export interface Integrations {
4075
4296
  kafka?: KafkaConfiguration;
4076
4297
  }
4077
4298
  /**
4078
- * Counts for a period.
4079
- *
4080
- * @author Brian Pontarelli
4299
+ * @author Daniel DeGroff
4081
4300
  */
4082
- export interface IntervalCount {
4083
- applicationId?: UUID;
4084
- count?: number;
4085
- decrementedCount?: number;
4086
- period?: number;
4301
+ export interface IntrospectResponse extends Record<string, any> {
4302
+ }
4303
+ /**
4304
+ * @author Brett Guy
4305
+ */
4306
+ export interface IPAccessControlEntry {
4307
+ action?: IPAccessControlEntryAction;
4308
+ endIPAddress?: string;
4309
+ startIPAddress?: string;
4310
+ }
4311
+ /**
4312
+ * @author Brett Guy
4313
+ */
4314
+ export declare enum IPAccessControlEntryAction {
4315
+ Allow = "Allow",
4316
+ Block = "Block"
4317
+ }
4318
+ /**
4319
+ * @author Brett Guy
4320
+ */
4321
+ export interface IPAccessControlList {
4322
+ data?: Record<string, any>;
4323
+ entries?: Array<IPAccessControlEntry>;
4324
+ id?: UUID;
4325
+ insertInstant?: number;
4326
+ lastUpdateInstant?: number;
4327
+ name?: string;
4328
+ }
4329
+ /**
4330
+ * @author Brett Guy
4331
+ */
4332
+ export interface IPAccessControlListRequest {
4333
+ ipAccessControlList?: IPAccessControlList;
4334
+ }
4335
+ /**
4336
+ * @author Brett Guy
4337
+ */
4338
+ export interface IPAccessControlListResponse {
4339
+ ipAccessControlList?: IPAccessControlList;
4340
+ ipAccessControlLists?: Array<IPAccessControlList>;
4341
+ }
4342
+ /**
4343
+ * @author Brett Guy
4344
+ */
4345
+ export interface IPAccessControlListSearchCriteria extends BaseSearchCriteria {
4346
+ name?: string;
4087
4347
  }
4088
4348
  /**
4089
- * A user over an period (for daily and monthly active user calculations).
4349
+ * Search request for IP ACLs .
4090
4350
  *
4091
- * @author Brian Pontarelli
4351
+ * @author Brett Guy
4092
4352
  */
4093
- export interface IntervalUser {
4094
- applicationId?: UUID;
4095
- period?: number;
4096
- userId?: UUID;
4353
+ export interface IPAccessControlListSearchRequest {
4354
+ search?: IPAccessControlListSearchCriteria;
4097
4355
  }
4098
4356
  /**
4099
- * @author Daniel DeGroff
4357
+ * @author Brett Guy
4100
4358
  */
4101
- export interface IntrospectResponse extends Record<string, any> {
4359
+ export interface IPAccessControlListSearchResponse {
4360
+ ipAccessControlLists?: Array<IPAccessControlList>;
4361
+ total?: number;
4102
4362
  }
4103
4363
  /**
4104
4364
  * @author Daniel DeGroff
@@ -4224,6 +4484,20 @@ export interface JWTRefreshTokenRevokeEvent extends BaseEvent {
4224
4484
  user?: User;
4225
4485
  userId?: UUID;
4226
4486
  }
4487
+ /**
4488
+ * @author Daniel DeGroff
4489
+ */
4490
+ export interface JWTVendRequest {
4491
+ claims?: Record<string, any>;
4492
+ keyId?: UUID;
4493
+ timeToLiveInSeconds?: number;
4494
+ }
4495
+ /**
4496
+ * @author Daniel DeGroff
4497
+ */
4498
+ export interface JWTVendResponse {
4499
+ token?: string;
4500
+ }
4227
4501
  /**
4228
4502
  * @author Daniel DeGroff
4229
4503
  */
@@ -4305,10 +4579,13 @@ export declare enum KeyUse {
4305
4579
  VerifyOnly = "VerifyOnly"
4306
4580
  }
4307
4581
  /**
4308
- * A JavaScript lambda function that is executed during certain events inside FusionAuth.
4582
+ * Event event to indicate kickstart has been successfully completed.
4309
4583
  *
4310
- * @author Brian Pontarelli
4584
+ * @author Daniel DeGroff
4311
4585
  */
4586
+ export interface KickstartSuccessEvent extends BaseEvent {
4587
+ instanceId?: UUID;
4588
+ }
4312
4589
  export interface Lambda extends Enableable {
4313
4590
  body?: string;
4314
4591
  debug?: boolean;
@@ -4427,6 +4704,20 @@ export interface LocalizedIntegers extends Record<string, number> {
4427
4704
  */
4428
4705
  export interface LocalizedStrings extends Record<string, string> {
4429
4706
  }
4707
+ /**
4708
+ * Location information. Useful for IP addresses and other displayable data objects.
4709
+ *
4710
+ * @author Brian Pontarelli
4711
+ */
4712
+ export interface Location {
4713
+ city?: string;
4714
+ country?: string;
4715
+ displayString?: string;
4716
+ latitude?: number;
4717
+ longitude?: number;
4718
+ region?: string;
4719
+ zipcode?: string;
4720
+ }
4430
4721
  /**
4431
4722
  * A historical state of a user log event. Since events can be modified, this stores the historical state.
4432
4723
  *
@@ -4528,6 +4819,7 @@ export interface LoginResponse {
4528
4819
  refreshToken?: string;
4529
4820
  registrationVerificationId?: string;
4530
4821
  state?: Record<string, any>;
4822
+ threatsDetected?: Array<AuthenticationThreats>;
4531
4823
  token?: string;
4532
4824
  twoFactorId?: string;
4533
4825
  twoFactorTrustId?: string;
@@ -4540,6 +4832,15 @@ export declare enum LogoutBehavior {
4540
4832
  RedirectOnly = "RedirectOnly",
4541
4833
  AllApplications = "AllApplications"
4542
4834
  }
4835
+ /**
4836
+ * Request for the Logout API that can be used as an alternative to URL parameters.
4837
+ *
4838
+ * @author Brian Pontarelli
4839
+ */
4840
+ export interface LogoutRequest extends BaseEventRequest {
4841
+ global?: boolean;
4842
+ refreshToken?: string;
4843
+ }
4543
4844
  /**
4544
4845
  * @author Daniel DeGroff
4545
4846
  */
@@ -4710,11 +5011,11 @@ export interface NintendoIdentityProvider extends BaseIdentityProvider<NintendoA
4710
5011
  scope?: string;
4711
5012
  }
4712
5013
  /**
4713
- * Helper methods for normalizing values.
5014
+ * A marker interface indicating this event cannot be made transactional.
4714
5015
  *
4715
- * @author Brian Pontarelli
5016
+ * @author Daniel DeGroff
4716
5017
  */
4717
- export interface Normalizer {
5018
+ export interface NonTransactionalEvent {
4718
5019
  }
4719
5020
  /**
4720
5021
  * @author Daniel DeGroff
@@ -5022,6 +5323,24 @@ export interface PublicKeyResponse {
5022
5323
  publicKey?: string;
5023
5324
  publicKeys?: Record<string, string>;
5024
5325
  }
5326
+ /**
5327
+ * @author Daniel DeGroff
5328
+ */
5329
+ export interface RateLimitedRequestConfiguration extends Enableable {
5330
+ limit?: number;
5331
+ timePeriodInSeconds?: number;
5332
+ }
5333
+ /**
5334
+ * @author Daniel DeGroff
5335
+ */
5336
+ export declare enum RateLimitedRequestType {
5337
+ FailedLogin = "FailedLogin",
5338
+ ForgotPassword = "ForgotPassword",
5339
+ SendEmailVerification = "SendEmailVerification",
5340
+ SendPasswordless = "SendPasswordless",
5341
+ SendRegistrationVerification = "SendRegistrationVerification",
5342
+ SendTwoFactor = "SendTwoFactor"
5343
+ }
5025
5344
  /**
5026
5345
  * Raw login information for each time a user logs into an application.
5027
5346
  *
@@ -5040,6 +5359,7 @@ export declare enum ReactorFeatureStatus {
5040
5359
  ACTIVE = "ACTIVE",
5041
5360
  DISCONNECTED = "DISCONNECTED",
5042
5361
  PENDING = "PENDING",
5362
+ DISABLED = "DISABLED",
5043
5363
  UNKNOWN = "UNKNOWN"
5044
5364
  }
5045
5365
  /**
@@ -5048,6 +5368,12 @@ export declare enum ReactorFeatureStatus {
5048
5368
  export interface ReactorMetrics {
5049
5369
  breachedPasswordMetrics?: Record<UUID, BreachedPasswordTenantMetric>;
5050
5370
  }
5371
+ /**
5372
+ * @author Daniel DeGroff
5373
+ */
5374
+ export interface ReactorMetricsResponse {
5375
+ metrics?: ReactorMetrics;
5376
+ }
5051
5377
  /**
5052
5378
  * Request for managing FusionAuth Reactor and licenses.
5053
5379
  *
@@ -5061,7 +5387,6 @@ export interface ReactorRequest {
5061
5387
  * @author Daniel DeGroff
5062
5388
  */
5063
5389
  export interface ReactorResponse {
5064
- metrics?: ReactorMetrics;
5065
5390
  status?: ReactorStatus;
5066
5391
  }
5067
5392
  /**
@@ -5076,6 +5401,7 @@ export interface ReactorStatus {
5076
5401
  connectors?: ReactorFeatureStatus;
5077
5402
  entityManagement?: ReactorFeatureStatus;
5078
5403
  licensed?: boolean;
5404
+ threatDetection?: ReactorFeatureStatus;
5079
5405
  }
5080
5406
  /**
5081
5407
  * Response for the user login report.
@@ -5088,7 +5414,7 @@ export interface RecentLoginResponse {
5088
5414
  /**
5089
5415
  * @author Daniel DeGroff
5090
5416
  */
5091
- export interface RefreshRequest {
5417
+ export interface RefreshRequest extends BaseEventRequest {
5092
5418
  refreshToken?: string;
5093
5419
  token?: string;
5094
5420
  }
@@ -5109,6 +5435,7 @@ export interface RefreshToken {
5109
5435
  insertInstant?: number;
5110
5436
  metaData?: MetaData;
5111
5437
  startInstant?: number;
5438
+ tenantId?: UUID;
5112
5439
  token?: string;
5113
5440
  userId?: UUID;
5114
5441
  }
@@ -5144,6 +5471,16 @@ export interface RefreshTokenRevocationPolicy {
5144
5471
  onLoginPrevented?: boolean;
5145
5472
  onPasswordChanged?: boolean;
5146
5473
  }
5474
+ /**
5475
+ * Request for the Refresh Token API to revoke a refresh token rather than using the URL parameters.
5476
+ *
5477
+ * @author Brian Pontarelli
5478
+ */
5479
+ export interface RefreshTokenRevokeRequest extends BaseEventRequest {
5480
+ applicationId?: UUID;
5481
+ token?: string;
5482
+ userId?: UUID;
5483
+ }
5147
5484
  /**
5148
5485
  * @author Daniel DeGroff
5149
5486
  */
@@ -5163,6 +5500,13 @@ export interface RegistrationConfiguration extends Enableable {
5163
5500
  mobilePhone?: Requirable;
5164
5501
  type?: RegistrationType;
5165
5502
  }
5503
+ /**
5504
+ * Registration delete API request object.
5505
+ *
5506
+ * @author Brian Pontarelli
5507
+ */
5508
+ export interface RegistrationDeleteRequest extends BaseEventRequest {
5509
+ }
5166
5510
  /**
5167
5511
  * Response for the registration report.
5168
5512
  *
@@ -5177,7 +5521,8 @@ export interface RegistrationReportResponse {
5177
5521
  *
5178
5522
  * @author Brian Pontarelli
5179
5523
  */
5180
- export interface RegistrationRequest {
5524
+ export interface RegistrationRequest extends BaseEventRequest {
5525
+ disableDomainBlock?: boolean;
5181
5526
  generateAuthenticationToken?: boolean;
5182
5527
  registration?: UserRegistration;
5183
5528
  sendSetPasswordEmail?: boolean;
@@ -5561,11 +5906,14 @@ export interface Templates {
5561
5906
  registrationVerificationRequired?: string;
5562
5907
  registrationVerify?: string;
5563
5908
  samlv2Logout?: string;
5909
+ unauthorized?: string;
5564
5910
  }
5565
5911
  /**
5566
5912
  * @author Daniel DeGroff
5567
5913
  */
5568
5914
  export interface Tenant {
5915
+ accessControlConfiguration?: TenantAccessControlConfiguration;
5916
+ captchaConfiguration?: TenantCaptchaConfiguration;
5569
5917
  configured?: boolean;
5570
5918
  connectorPolicies?: Array<ConnectorPolicy>;
5571
5919
  data?: Record<string, any>;
@@ -5590,6 +5938,9 @@ export interface Tenant {
5590
5938
  oauthConfiguration?: TenantOAuth2Configuration;
5591
5939
  passwordEncryptionConfiguration?: PasswordEncryptionConfiguration;
5592
5940
  passwordValidationRules?: PasswordValidationRules;
5941
+ rateLimitConfiguration?: TenantRateLimitConfiguration;
5942
+ registrationConfiguration?: TenantRegistrationConfiguration;
5943
+ ssoConfiguration?: TenantSSOConfiguration;
5593
5944
  state?: ObjectState;
5594
5945
  themeId?: UUID;
5595
5946
  userDeletePolicy?: TenantUserDeletePolicy;
@@ -5600,6 +5951,29 @@ export interface Tenant {
5600
5951
  */
5601
5952
  export interface Tenantable {
5602
5953
  }
5954
+ /**
5955
+ * @author Brett Guy
5956
+ */
5957
+ export interface TenantAccessControlConfiguration {
5958
+ uiIPAccessControlListId?: UUID;
5959
+ }
5960
+ /**
5961
+ * @author Brett Pontarelli
5962
+ */
5963
+ export interface TenantCaptchaConfiguration extends Enableable {
5964
+ captchaMethod?: CaptchaMethod;
5965
+ secretKey?: string;
5966
+ siteKey?: string;
5967
+ threshold?: number;
5968
+ }
5969
+ /**
5970
+ * Request for the Tenant API to delete a tenant rather than using the URL parameters.
5971
+ *
5972
+ * @author Brian Pontarelli
5973
+ */
5974
+ export interface TenantDeleteRequest extends BaseEventRequest {
5975
+ async?: boolean;
5976
+ }
5603
5977
  /**
5604
5978
  * @author Daniel DeGroff
5605
5979
  */
@@ -5626,7 +6000,24 @@ export interface TenantOAuth2Configuration {
5626
6000
  /**
5627
6001
  * @author Daniel DeGroff
5628
6002
  */
5629
- export interface TenantRequest {
6003
+ export interface TenantRateLimitConfiguration {
6004
+ failedLogin?: RateLimitedRequestConfiguration;
6005
+ forgotPassword?: RateLimitedRequestConfiguration;
6006
+ sendEmailVerification?: RateLimitedRequestConfiguration;
6007
+ sendPasswordless?: RateLimitedRequestConfiguration;
6008
+ sendRegistrationVerification?: RateLimitedRequestConfiguration;
6009
+ sendTwoFactor?: RateLimitedRequestConfiguration;
6010
+ }
6011
+ /**
6012
+ * @author Daniel DeGroff
6013
+ */
6014
+ export interface TenantRegistrationConfiguration {
6015
+ blockedDomains?: Array<string>;
6016
+ }
6017
+ /**
6018
+ * @author Daniel DeGroff
6019
+ */
6020
+ export interface TenantRequest extends BaseEventRequest {
5630
6021
  sourceTenantId?: UUID;
5631
6022
  tenant?: Tenant;
5632
6023
  }
@@ -5637,6 +6028,12 @@ export interface TenantResponse {
5637
6028
  tenant?: Tenant;
5638
6029
  tenants?: Array<Tenant>;
5639
6030
  }
6031
+ /**
6032
+ * @author Brett Pontarelli
6033
+ */
6034
+ export interface TenantSSOConfiguration {
6035
+ deviceTrustTimeToLiveInSeconds?: number;
6036
+ }
5640
6037
  /**
5641
6038
  * @author Daniel DeGroff
5642
6039
  */
@@ -5799,6 +6196,14 @@ export interface TwitterIdentityProvider extends BaseIdentityProvider<TwitterApp
5799
6196
  consumerKey?: string;
5800
6197
  consumerSecret?: string;
5801
6198
  }
6199
+ /**
6200
+ * @author Brian Pontarelli
6201
+ */
6202
+ export interface TwoFactorDisableRequest extends BaseEventRequest {
6203
+ applicationId?: UUID;
6204
+ code?: string;
6205
+ methodId?: string;
6206
+ }
5802
6207
  /**
5803
6208
  * @author Daniel DeGroff
5804
6209
  */
@@ -5838,7 +6243,8 @@ export interface TwoFactorRecoveryCodeResponse {
5838
6243
  /**
5839
6244
  * @author Brian Pontarelli
5840
6245
  */
5841
- export interface TwoFactorRequest {
6246
+ export interface TwoFactorRequest extends BaseEventRequest {
6247
+ applicationId?: UUID;
5842
6248
  authenticatorId?: string;
5843
6249
  code?: string;
5844
6250
  email?: string;
@@ -6142,6 +6548,16 @@ export interface UserConsentResponse {
6142
6548
  userConsent?: UserConsent;
6143
6549
  userConsents?: Array<UserConsent>;
6144
6550
  }
6551
+ /**
6552
+ * Models the User Created Event (and can be converted to JSON).
6553
+ * <p>
6554
+ * This is different than the user.create event in that it will be sent after the user has been created. This event cannot be made transactional.
6555
+ *
6556
+ * @author Daniel DeGroff
6557
+ */
6558
+ export interface UserCreateCompleteEvent extends BaseEvent {
6559
+ user?: User;
6560
+ }
6145
6561
  /**
6146
6562
  * Models the User Create Event (and can be converted to JSON).
6147
6563
  *
@@ -6158,6 +6574,17 @@ export interface UserCreateEvent extends BaseEvent {
6158
6574
  export interface UserDeactivateEvent extends BaseEvent {
6159
6575
  user?: User;
6160
6576
  }
6577
+ /**
6578
+ * Models the User Event (and can be converted to JSON) that is used for all user modifications (create, update,
6579
+ * delete).
6580
+ * <p>
6581
+ * This is different than user.delete because it is sent after the tx is committed, this cannot be transactional.
6582
+ *
6583
+ * @author Daniel DeGroff
6584
+ */
6585
+ export interface UserDeleteCompleteEvent extends BaseEvent {
6586
+ user?: User;
6587
+ }
6161
6588
  /**
6162
6589
  * Models the User Event (and can be converted to JSON) that is used for all user modifications (create, update,
6163
6590
  * delete).
@@ -6172,7 +6599,7 @@ export interface UserDeleteEvent extends BaseEvent {
6172
6599
  *
6173
6600
  * @author Daniel DeGroff
6174
6601
  */
6175
- export interface UserDeleteRequest {
6602
+ export interface UserDeleteRequest extends BaseEventRequest {
6176
6603
  dryRun?: boolean;
6177
6604
  hardDelete?: boolean;
6178
6605
  query?: string;
@@ -6190,6 +6617,23 @@ export interface UserDeleteResponse {
6190
6617
  total?: number;
6191
6618
  userIds?: Array<string>;
6192
6619
  }
6620
+ /**
6621
+ * User API delete request object for a single user.
6622
+ *
6623
+ * @author Brian Pontarelli
6624
+ */
6625
+ export interface UserDeleteSingleRequest extends BaseEventRequest {
6626
+ hardDelete?: boolean;
6627
+ }
6628
+ /**
6629
+ * Models an event where a user's email is updated outside of a forgot / change password workflow.
6630
+ *
6631
+ * @author Daniel DeGroff
6632
+ */
6633
+ export interface UserEmailUpdateEvent extends BaseEvent {
6634
+ previousEmail?: string;
6635
+ user?: User;
6636
+ }
6193
6637
  /**
6194
6638
  * Models the User Email Verify Event (and can be converted to JSON).
6195
6639
  *
@@ -6214,6 +6658,31 @@ export interface UserLoginFailedEvent extends BaseEvent {
6214
6658
  ipAddress?: string;
6215
6659
  user?: User;
6216
6660
  }
6661
+ /**
6662
+ * Models an event where a user is being created with an "in-use" login Id (email or username).
6663
+ *
6664
+ * @author Daniel DeGroff
6665
+ */
6666
+ export interface UserLoginIdDuplicateOnCreateEvent extends BaseEvent {
6667
+ duplicateEmail?: string;
6668
+ duplicateUsername?: string;
6669
+ existing?: User;
6670
+ user?: User;
6671
+ }
6672
+ /**
6673
+ * Models an event where a user is being updated and tries to use an "in-use" login Id (email or username).
6674
+ *
6675
+ * @author Daniel DeGroff
6676
+ */
6677
+ export interface UserLoginIdDuplicateOnUpdateEvent extends UserLoginIdDuplicateOnCreateEvent {
6678
+ }
6679
+ /**
6680
+ * Models the User Login event for a new device (un-recognized)
6681
+ *
6682
+ * @author Daniel DeGroff
6683
+ */
6684
+ export interface UserLoginNewDeviceEvent extends UserLoginSuccessEvent {
6685
+ }
6217
6686
  /**
6218
6687
  * Models the User Login Success Event.
6219
6688
  *
@@ -6228,6 +6697,14 @@ export interface UserLoginSuccessEvent extends BaseEvent {
6228
6697
  ipAddress?: string;
6229
6698
  user?: User;
6230
6699
  }
6700
+ /**
6701
+ * Models the User Login event that is suspicious.
6702
+ *
6703
+ * @author Daniel DeGroff
6704
+ */
6705
+ export interface UserLoginSuspiciousEvent extends UserLoginSuccessEvent {
6706
+ threatsDetected?: Array<AuthenticationThreats>;
6707
+ }
6231
6708
  export interface UsernameModeration extends Enableable {
6232
6709
  applicationId?: UUID;
6233
6710
  }
@@ -6239,6 +6716,38 @@ export interface UsernameModeration extends Enableable {
6239
6716
  export interface UserPasswordBreachEvent extends BaseEvent {
6240
6717
  user?: User;
6241
6718
  }
6719
+ /**
6720
+ * Models the User Password Reset Send Event.
6721
+ *
6722
+ * @author Daniel DeGroff
6723
+ */
6724
+ export interface UserPasswordResetSendEvent extends BaseEvent {
6725
+ user?: User;
6726
+ }
6727
+ /**
6728
+ * Models the User Password Reset Start Event.
6729
+ *
6730
+ * @author Daniel DeGroff
6731
+ */
6732
+ export interface UserPasswordResetStartEvent extends BaseEvent {
6733
+ user?: User;
6734
+ }
6735
+ /**
6736
+ * Models the User Password Reset Success Event.
6737
+ *
6738
+ * @author Daniel DeGroff
6739
+ */
6740
+ export interface UserPasswordResetSuccessEvent extends BaseEvent {
6741
+ user?: User;
6742
+ }
6743
+ /**
6744
+ * Models the User Password Update Event.
6745
+ *
6746
+ * @author Daniel DeGroff
6747
+ */
6748
+ export interface UserPasswordUpdateEvent extends BaseEvent {
6749
+ user?: User;
6750
+ }
6242
6751
  /**
6243
6752
  * Models the User Reactivate Event (and can be converted to JSON).
6244
6753
  *
@@ -6269,6 +6778,18 @@ export interface UserRegistration {
6269
6778
  usernameStatus?: ContentStatus;
6270
6779
  verified?: boolean;
6271
6780
  }
6781
+ /**
6782
+ * Models the User Created Registration Event (and can be converted to JSON).
6783
+ * <p>
6784
+ * This is different than the user.registration.create event in that it will be sent after the user has been created. This event cannot be made transactional.
6785
+ *
6786
+ * @author Daniel DeGroff
6787
+ */
6788
+ export interface UserRegistrationCreateCompleteEvent extends BaseEvent {
6789
+ applicationId?: UUID;
6790
+ registration?: UserRegistration;
6791
+ user?: User;
6792
+ }
6272
6793
  /**
6273
6794
  * Models the User Create Registration Event (and can be converted to JSON).
6274
6795
  *
@@ -6279,6 +6800,18 @@ export interface UserRegistrationCreateEvent extends BaseEvent {
6279
6800
  registration?: UserRegistration;
6280
6801
  user?: User;
6281
6802
  }
6803
+ /**
6804
+ * Models the User Deleted Registration Event (and can be converted to JSON).
6805
+ * <p>
6806
+ * This is different than user.registration.delete in that it is sent after the TX has been committed. This event cannot be transactional.
6807
+ *
6808
+ * @author Daniel DeGroff
6809
+ */
6810
+ export interface UserRegistrationDeleteCompleteEvent extends BaseEvent {
6811
+ applicationId?: UUID;
6812
+ registration?: UserRegistration;
6813
+ user?: User;
6814
+ }
6282
6815
  /**
6283
6816
  * Models the User Delete Registration Event (and can be converted to JSON).
6284
6817
  *
@@ -6289,6 +6822,19 @@ export interface UserRegistrationDeleteEvent extends BaseEvent {
6289
6822
  registration?: UserRegistration;
6290
6823
  user?: User;
6291
6824
  }
6825
+ /**
6826
+ * Models the User Update Registration Event (and can be converted to JSON).
6827
+ * <p>
6828
+ * This is different than user.registration.update in that it is sent after this event completes, this cannot be transactional.
6829
+ *
6830
+ * @author Daniel DeGroff
6831
+ */
6832
+ export interface UserRegistrationUpdateCompleteEvent extends BaseEvent {
6833
+ applicationId?: UUID;
6834
+ original?: UserRegistration;
6835
+ registration?: UserRegistration;
6836
+ user?: User;
6837
+ }
6292
6838
  /**
6293
6839
  * Models the User Update Registration Event (and can be converted to JSON).
6294
6840
  *
@@ -6315,7 +6861,9 @@ export interface UserRegistrationVerifiedEvent extends BaseEvent {
6315
6861
  *
6316
6862
  * @author Brian Pontarelli
6317
6863
  */
6318
- export interface UserRequest {
6864
+ export interface UserRequest extends BaseEventRequest {
6865
+ applicationId?: UUID;
6866
+ disableDomainBlock?: boolean;
6319
6867
  sendSetPasswordEmail?: boolean;
6320
6868
  skipVerification?: boolean;
6321
6869
  user?: User;
@@ -6354,6 +6902,33 @@ export interface UserTwoFactorConfiguration {
6354
6902
  methods?: Array<TwoFactorMethod>;
6355
6903
  recoveryCodes?: Array<string>;
6356
6904
  }
6905
+ /**
6906
+ * Model a user event when a two-factor method has been removed.
6907
+ *
6908
+ * @author Daniel DeGroff
6909
+ */
6910
+ export interface UserTwoFactorMethodAddEvent extends BaseEvent {
6911
+ method?: TwoFactorMethod;
6912
+ user?: User;
6913
+ }
6914
+ /**
6915
+ * Model a user event when a two-factor method has been added.
6916
+ *
6917
+ * @author Daniel DeGroff
6918
+ */
6919
+ export interface UserTwoFactorMethodRemoveEvent extends BaseEvent {
6920
+ method?: TwoFactorMethod;
6921
+ user?: User;
6922
+ }
6923
+ /**
6924
+ * Models the User Update Event once it is completed. This cannot be transactional.
6925
+ *
6926
+ * @author Daniel DeGroff
6927
+ */
6928
+ export interface UserUpdateCompleteEvent extends BaseEvent {
6929
+ original?: User;
6930
+ user?: User;
6931
+ }
6357
6932
  /**
6358
6933
  * Models the User Update Event (and can be converted to JSON).
6359
6934
  *
@@ -6379,7 +6954,7 @@ export declare enum VerificationStrategy {
6379
6954
  /**
6380
6955
  * @author Daniel DeGroff
6381
6956
  */
6382
- export interface VerifyEmailRequest {
6957
+ export interface VerifyEmailRequest extends BaseEventRequest {
6383
6958
  oneTimeCode?: string;
6384
6959
  verificationId?: string;
6385
6960
  }
@@ -6393,7 +6968,7 @@ export interface VerifyEmailResponse {
6393
6968
  /**
6394
6969
  * @author Daniel DeGroff
6395
6970
  */
6396
- export interface VerifyRegistrationRequest {
6971
+ export interface VerifyRegistrationRequest extends BaseEventRequest {
6397
6972
  oneTimeCode?: string;
6398
6973
  verificationId?: string;
6399
6974
  }