@logto/api 1.40.1 → 1.42.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.
@@ -75,6 +75,30 @@ export interface paths {
75
75
  patch: operations["UpdateApplicationCustomData"];
76
76
  trace?: never;
77
77
  };
78
+ "/api/applications/{applicationId}/access-control": {
79
+ parameters: {
80
+ query?: never;
81
+ header?: never;
82
+ path?: never;
83
+ cookie?: never;
84
+ };
85
+ /**
86
+ * Get application access-control rules
87
+ * @description Get the app-level access-control rule configuration for the specified application.
88
+ */
89
+ get: operations["GetApplicationAccessControl"];
90
+ /**
91
+ * Replace application access-control rules
92
+ * @description Replace the app-level access-control rule configuration for the specified application.
93
+ */
94
+ put: operations["ReplaceApplicationAccessControl"];
95
+ post?: never;
96
+ delete?: never;
97
+ options?: never;
98
+ head?: never;
99
+ patch?: never;
100
+ trace?: never;
101
+ };
78
102
  "/api/applications/{applicationId}/roles": {
79
103
  parameters: {
80
104
  query?: never;
@@ -94,7 +118,7 @@ export interface paths {
94
118
  put: operations["ReplaceApplicationRoles"];
95
119
  /**
96
120
  * Assign API resource roles to application
97
- * @description Assign API resource roles to the specified application. The API resource roles will be added to the existing API resource roles.
121
+ * @description Assign API resource roles to the specified application. The API resource roles will be added to the existing API resource roles. Role IDs that are already assigned to the application are silently ignored.
98
122
  */
99
123
  post: operations["AssignApplicationRoles"];
100
124
  delete?: never;
@@ -199,9 +223,7 @@ export interface paths {
199
223
  post?: never;
200
224
  /**
201
225
  * Delete application legacy secret
202
- * @description Delete the legacy secret for the application and replace it with a new internal secret.
203
- *
204
- * Note: This operation does not "really" delete the legacy secret because it is still needed for internal validation. We may remove the display of the legacy secret (the `secret` field in the application response) in the future.
226
+ * @description Delete the legacy secret for the application and replace it with an internal secret used only by Logto. The internal secret is not returned by Management APIs and cannot be used for client authentication.
205
227
  */
206
228
  delete: operations["DeleteApplicationLegacySecret"];
207
229
  options?: never;
@@ -587,6 +609,78 @@ export interface paths {
587
609
  patch?: never;
588
610
  trace?: never;
589
611
  };
612
+ "/api/configs/actions": {
613
+ parameters: {
614
+ query?: never;
615
+ header?: never;
616
+ path?: never;
617
+ cookie?: never;
618
+ };
619
+ /**
620
+ * Get all actions
621
+ * @description Get all action configurations for the tenant.
622
+ */
623
+ get: operations["ListActions"];
624
+ put?: never;
625
+ post?: never;
626
+ delete?: never;
627
+ options?: never;
628
+ head?: never;
629
+ patch?: never;
630
+ trace?: never;
631
+ };
632
+ "/api/configs/actions/test": {
633
+ parameters: {
634
+ query?: never;
635
+ header?: never;
636
+ path?: never;
637
+ cookie?: never;
638
+ };
639
+ get?: never;
640
+ put?: never;
641
+ /**
642
+ * Test action
643
+ * @description Test an action script with a sample context.
644
+ */
645
+ post: operations["TestAction"];
646
+ delete?: never;
647
+ options?: never;
648
+ head?: never;
649
+ patch?: never;
650
+ trace?: never;
651
+ };
652
+ "/api/configs/actions/{actionType}": {
653
+ parameters: {
654
+ query?: never;
655
+ header?: never;
656
+ path?: never;
657
+ cookie?: never;
658
+ };
659
+ /**
660
+ * Get action
661
+ * @description Get the action configuration for the given action type.
662
+ */
663
+ get: operations["GetAction"];
664
+ /**
665
+ * Create or update action
666
+ * @description Create or update an action configuration for the given action type.
667
+ */
668
+ put: operations["UpsertAction"];
669
+ post?: never;
670
+ /**
671
+ * Delete action
672
+ * @description Delete the action configuration for the given action type.
673
+ */
674
+ delete: operations["DeleteAction"];
675
+ options?: never;
676
+ head?: never;
677
+ /**
678
+ * Update action
679
+ * @description Update the action configuration for the given action type.
680
+ */
681
+ patch: operations["UpdateAction"];
682
+ trace?: never;
683
+ };
590
684
  "/api/connectors": {
591
685
  parameters: {
592
686
  query?: never;
@@ -905,6 +999,26 @@ export interface paths {
905
999
  patch?: never;
906
1000
  trace?: never;
907
1001
  };
1002
+ "/api/sign-in-exp/username-policy/case-sensitivity-conflicts": {
1003
+ parameters: {
1004
+ query?: never;
1005
+ header?: never;
1006
+ path?: never;
1007
+ cookie?: never;
1008
+ };
1009
+ /**
1010
+ * Get username case-sensitivity conflicts
1011
+ * @description List groups of usernames that collide when compared case-insensitively (i.e. usernames that would clash if the tenant switched to a case-insensitive username policy), with the total group count and a capped sample. Useful for surfacing conflicts before disabling case sensitivity.
1012
+ */
1013
+ get: operations["GetUsernameCaseSensitivityConflicts"];
1014
+ put?: never;
1015
+ post?: never;
1016
+ delete?: never;
1017
+ options?: never;
1018
+ head?: never;
1019
+ patch?: never;
1020
+ trace?: never;
1021
+ };
908
1022
  "/api/users/{userId}": {
909
1023
  parameters: {
910
1024
  query?: never;
@@ -1047,6 +1161,26 @@ export interface paths {
1047
1161
  patch: operations["UpdateUserPassword"];
1048
1162
  trace?: never;
1049
1163
  };
1164
+ "/api/users/{userId}/password/expiration": {
1165
+ parameters: {
1166
+ query?: never;
1167
+ header?: never;
1168
+ path?: never;
1169
+ cookie?: never;
1170
+ };
1171
+ get?: never;
1172
+ put?: never;
1173
+ post?: never;
1174
+ delete?: never;
1175
+ options?: never;
1176
+ head?: never;
1177
+ /**
1178
+ * Update user password expiration
1179
+ * @description Update the user's password expiration state for the next sign-in attempt.
1180
+ */
1181
+ patch: operations["UpdateUserPasswordExpiration"];
1182
+ trace?: never;
1183
+ };
1050
1184
  "/api/users/{userId}/password/verify": {
1051
1185
  parameters: {
1052
1186
  query?: never;
@@ -2047,6 +2181,30 @@ export interface paths {
2047
2181
  patch?: never;
2048
2182
  trace?: never;
2049
2183
  };
2184
+ "/api/domains/{id}/verification-files": {
2185
+ parameters: {
2186
+ query?: never;
2187
+ header?: never;
2188
+ path?: never;
2189
+ cookie?: never;
2190
+ };
2191
+ /**
2192
+ * Get domain verification files
2193
+ * @description Get the verification files served from the custom domain.
2194
+ */
2195
+ get: operations["ListDomainVerificationFiles"];
2196
+ /**
2197
+ * Replace domain verification files
2198
+ * @description Replace the verification files served from the custom domain.
2199
+ */
2200
+ put: operations["ReplaceDomainVerificationFiles"];
2201
+ post?: never;
2202
+ delete?: never;
2203
+ options?: never;
2204
+ head?: never;
2205
+ patch?: never;
2206
+ trace?: never;
2207
+ };
2050
2208
  "/api/domains/cleanup": {
2051
2209
  parameters: {
2052
2210
  query?: never;
@@ -3688,7 +3846,7 @@ export interface components {
3688
3846
  Translation: string;
3689
3847
  /**
3690
3848
  * @deprecated
3691
- * @description The internal client secret. Note it is only used for internal validation, and the actual secrets should be retrieved from `/api/applications/{id}/secrets` endpoints.
3849
+ * @description The legacy client secret. This field is omitted after the legacy secret has been replaced by an internal secret. Retrieve current application secrets from the `/api/applications/{id}/secrets` endpoints.
3692
3850
  */
3693
3851
  ApplicationLegacySecret: string;
3694
3852
  SamlApplicationResponse: {
@@ -3863,7 +4021,7 @@ export interface operations {
3863
4021
  tenantId: string;
3864
4022
  id: string;
3865
4023
  name: string;
3866
- secret: components["schemas"]["ApplicationLegacySecret"];
4024
+ secret?: components["schemas"]["ApplicationLegacySecret"];
3867
4025
  description: string | null;
3868
4026
  /** @enum {string} */
3869
4027
  type: "Native" | "SPA" | "Traditional" | "MachineToMachine" | "Protected" | "SAML";
@@ -4019,7 +4177,7 @@ export interface operations {
4019
4177
  tenantId: string;
4020
4178
  id: string;
4021
4179
  name: string;
4022
- secret: components["schemas"]["ApplicationLegacySecret"];
4180
+ secret?: components["schemas"]["ApplicationLegacySecret"];
4023
4181
  description: string | null;
4024
4182
  /** @enum {string} */
4025
4183
  type: "Native" | "SPA" | "Traditional" | "MachineToMachine" | "Protected" | "SAML";
@@ -4147,7 +4305,7 @@ export interface operations {
4147
4305
  tenantId: string;
4148
4306
  id: string;
4149
4307
  name: string;
4150
- secret: components["schemas"]["ApplicationLegacySecret"];
4308
+ secret?: components["schemas"]["ApplicationLegacySecret"];
4151
4309
  description: string | null;
4152
4310
  /** @enum {string} */
4153
4311
  type: "Native" | "SPA" | "Traditional" | "MachineToMachine" | "Protected" | "SAML";
@@ -4346,10 +4504,8 @@ export interface operations {
4346
4504
  customData?: {
4347
4505
  [key: string]: unknown;
4348
4506
  };
4349
- /** @description Validator function */
4350
- appLevelAccessControlEnabled?: {
4351
- [key: string]: unknown;
4352
- };
4507
+ /** @description Whether app-level access control is enabled for this application. */
4508
+ appLevelAccessControlEnabled?: boolean;
4353
4509
  protectedAppMetadata?: {
4354
4510
  origin?: string;
4355
4511
  sessionDuration?: number;
@@ -4374,7 +4530,7 @@ export interface operations {
4374
4530
  tenantId: string;
4375
4531
  id: string;
4376
4532
  name: string;
4377
- secret: components["schemas"]["ApplicationLegacySecret"];
4533
+ secret?: components["schemas"]["ApplicationLegacySecret"];
4378
4534
  description: string | null;
4379
4535
  /** @enum {string} */
4380
4536
  type: "Native" | "SPA" | "Traditional" | "MachineToMachine" | "Protected" | "SAML";
@@ -4539,6 +4695,147 @@ export interface operations {
4539
4695
  };
4540
4696
  };
4541
4697
  };
4698
+ GetApplicationAccessControl: {
4699
+ parameters: {
4700
+ query?: never;
4701
+ header?: never;
4702
+ path: {
4703
+ /** @description The unique identifier of the application. */
4704
+ applicationId: components["parameters"]["applicationId"];
4705
+ };
4706
+ cookie?: never;
4707
+ };
4708
+ requestBody?: never;
4709
+ responses: {
4710
+ /** @description The app-level access-control rule configuration. */
4711
+ 200: {
4712
+ headers: {
4713
+ [name: string]: unknown;
4714
+ };
4715
+ content: {
4716
+ "application/json": {
4717
+ userIds: string[];
4718
+ userRoleIds: string[];
4719
+ organizationIds: string[];
4720
+ organizationRoleRules: {
4721
+ organizationId: string;
4722
+ organizationRoleIds: string[];
4723
+ }[];
4724
+ };
4725
+ };
4726
+ };
4727
+ /** @description Bad Request */
4728
+ 400: {
4729
+ headers: {
4730
+ [name: string]: unknown;
4731
+ };
4732
+ content?: never;
4733
+ };
4734
+ /** @description Unauthorized */
4735
+ 401: {
4736
+ headers: {
4737
+ [name: string]: unknown;
4738
+ };
4739
+ content?: never;
4740
+ };
4741
+ /** @description Forbidden */
4742
+ 403: {
4743
+ headers: {
4744
+ [name: string]: unknown;
4745
+ };
4746
+ content?: never;
4747
+ };
4748
+ /** @description The application was not found. */
4749
+ 404: {
4750
+ headers: {
4751
+ [name: string]: unknown;
4752
+ };
4753
+ content?: never;
4754
+ };
4755
+ };
4756
+ };
4757
+ ReplaceApplicationAccessControl: {
4758
+ parameters: {
4759
+ query?: never;
4760
+ header?: never;
4761
+ path: {
4762
+ /** @description The unique identifier of the application. */
4763
+ applicationId: components["parameters"]["applicationId"];
4764
+ };
4765
+ cookie?: never;
4766
+ };
4767
+ requestBody: {
4768
+ content: {
4769
+ "application/json": {
4770
+ /** @description An array of user IDs that can access the application. */
4771
+ userIds: string[];
4772
+ /** @description An array of user role IDs whose assigned users can access the application. */
4773
+ userRoleIds: string[];
4774
+ /** @description An array of organization IDs whose members can access the application. */
4775
+ organizationIds: string[];
4776
+ /** @description An array of organization-role rule groups. Each group contains an organization ID and the organization role IDs that can access the application in that organization. */
4777
+ organizationRoleRules: {
4778
+ organizationId: string;
4779
+ organizationRoleIds: string[];
4780
+ }[];
4781
+ };
4782
+ };
4783
+ };
4784
+ responses: {
4785
+ /** @description The app-level access-control rule configuration was replaced successfully. */
4786
+ 200: {
4787
+ headers: {
4788
+ [name: string]: unknown;
4789
+ };
4790
+ content: {
4791
+ "application/json": {
4792
+ userIds: string[];
4793
+ userRoleIds: string[];
4794
+ organizationIds: string[];
4795
+ organizationRoleRules: {
4796
+ organizationId: string;
4797
+ organizationRoleIds: string[];
4798
+ }[];
4799
+ };
4800
+ };
4801
+ };
4802
+ /** @description Bad Request */
4803
+ 400: {
4804
+ headers: {
4805
+ [name: string]: unknown;
4806
+ };
4807
+ content?: never;
4808
+ };
4809
+ /** @description Unauthorized */
4810
+ 401: {
4811
+ headers: {
4812
+ [name: string]: unknown;
4813
+ };
4814
+ content?: never;
4815
+ };
4816
+ /** @description Forbidden */
4817
+ 403: {
4818
+ headers: {
4819
+ [name: string]: unknown;
4820
+ };
4821
+ content?: never;
4822
+ };
4823
+ /** @description The application or referenced entities were not found. */
4824
+ 404: {
4825
+ headers: {
4826
+ [name: string]: unknown;
4827
+ };
4828
+ content?: never;
4829
+ };
4830
+ /** @description The access-control rule payload contains invalid role types or empty organization-role groups. */
4831
+ 422: {
4832
+ headers: {
4833
+ [name: string]: unknown;
4834
+ };
4835
+ content?: never;
4836
+ };
4837
+ };
4838
+ };
4542
4839
  ListApplicationRoles: {
4543
4840
  parameters: {
4544
4841
  query?: {
@@ -4704,7 +5001,12 @@ export interface operations {
4704
5001
  [name: string]: unknown;
4705
5002
  };
4706
5003
  content: {
4707
- "application/json": unknown;
5004
+ "application/json": {
5005
+ /** @description An array of API resource role IDs requested for assignment. */
5006
+ roleIds: string[];
5007
+ /** @description An array of API resource role IDs newly assigned to the application. Role IDs already attached to the application are silently ignored and not present in this array. */
5008
+ addedRoleIds: string[];
5009
+ };
4708
5010
  };
4709
5011
  };
4710
5012
  /** @description Bad Request */
@@ -5118,7 +5420,7 @@ export interface operations {
5118
5420
  };
5119
5421
  requestBody?: never;
5120
5422
  responses: {
5121
- /** @description OK */
5423
+ /** @description The legacy secret was deleted successfully. */
5122
5424
  200: {
5123
5425
  headers: {
5124
5426
  [name: string]: unknown;
@@ -5128,7 +5430,7 @@ export interface operations {
5128
5430
  tenantId: string;
5129
5431
  id: string;
5130
5432
  name: string;
5131
- secret: string;
5433
+ secret?: string;
5132
5434
  description: string | null;
5133
5435
  /** @enum {string} */
5134
5436
  type: "Native" | "SPA" | "Traditional" | "MachineToMachine" | "Protected" | "SAML";
@@ -5197,13 +5499,6 @@ export interface operations {
5197
5499
  };
5198
5500
  };
5199
5501
  };
5200
- /** @description The legacy secret was deleted successfully. */
5201
- 204: {
5202
- headers: {
5203
- [name: string]: unknown;
5204
- };
5205
- content?: never;
5206
- };
5207
5502
  /** @description The application does not have a legacy secret. */
5208
5503
  400: {
5209
5504
  headers: {
@@ -6873,6 +7168,8 @@ export interface operations {
6873
7168
  };
6874
7169
  oneTimeTokenContext?: {
6875
7170
  jitOrganizationIds?: string[];
7171
+ /** @enum {string} */
7172
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
6876
7173
  };
6877
7174
  } | {
6878
7175
  id: string;
@@ -6958,6 +7255,15 @@ export interface operations {
6958
7255
  appLevelAccessControlEnabled?: boolean;
6959
7256
  createdAt?: number;
6960
7257
  };
7258
+ organization?: {
7259
+ id?: string;
7260
+ name?: string;
7261
+ description?: string | null;
7262
+ /** @description arbitrary */
7263
+ customData?: {
7264
+ [key: string]: unknown;
7265
+ };
7266
+ };
6961
7267
  };
6962
7268
  blockIssuanceOnError?: boolean;
6963
7269
  tokenSample?: {
@@ -7360,6 +7666,8 @@ export interface operations {
7360
7666
  };
7361
7667
  oneTimeTokenContext?: {
7362
7668
  jitOrganizationIds?: string[];
7669
+ /** @enum {string} */
7670
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
7363
7671
  };
7364
7672
  } | {
7365
7673
  id: string;
@@ -7445,6 +7753,15 @@ export interface operations {
7445
7753
  appLevelAccessControlEnabled?: boolean;
7446
7754
  createdAt?: number;
7447
7755
  };
7756
+ organization?: {
7757
+ id?: string;
7758
+ name?: string;
7759
+ description?: string | null;
7760
+ /** @description arbitrary */
7761
+ customData?: {
7762
+ [key: string]: unknown;
7763
+ };
7764
+ };
7448
7765
  };
7449
7766
  blockIssuanceOnError?: boolean;
7450
7767
  tokenSample?: {
@@ -7790,6 +8107,8 @@ export interface operations {
7790
8107
  };
7791
8108
  oneTimeTokenContext?: {
7792
8109
  jitOrganizationIds?: string[];
8110
+ /** @enum {string} */
8111
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
7793
8112
  };
7794
8113
  } | {
7795
8114
  id: string;
@@ -7875,6 +8194,15 @@ export interface operations {
7875
8194
  appLevelAccessControlEnabled?: boolean;
7876
8195
  createdAt?: number;
7877
8196
  };
8197
+ organization?: {
8198
+ id?: string;
8199
+ name?: string;
8200
+ description?: string | null;
8201
+ /** @description arbitrary */
8202
+ customData?: {
8203
+ [key: string]: unknown;
8204
+ };
8205
+ };
7878
8206
  };
7879
8207
  blockIssuanceOnError?: boolean;
7880
8208
  tokenSample?: {
@@ -8319,6 +8647,8 @@ export interface operations {
8319
8647
  };
8320
8648
  oneTimeTokenContext?: {
8321
8649
  jitOrganizationIds?: string[];
8650
+ /** @enum {string} */
8651
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
8322
8652
  };
8323
8653
  } | {
8324
8654
  id: string;
@@ -8404,6 +8734,15 @@ export interface operations {
8404
8734
  appLevelAccessControlEnabled?: boolean;
8405
8735
  createdAt?: number;
8406
8736
  };
8737
+ organization?: {
8738
+ id?: string;
8739
+ name?: string;
8740
+ description?: string | null;
8741
+ /** @description arbitrary */
8742
+ customData?: {
8743
+ [key: string]: unknown;
8744
+ };
8745
+ };
8407
8746
  };
8408
8747
  blockIssuanceOnError?: boolean;
8409
8748
  tokenSample?: {
@@ -8791,6 +9130,8 @@ export interface operations {
8791
9130
  };
8792
9131
  oneTimeTokenContext?: {
8793
9132
  jitOrganizationIds?: string[];
9133
+ /** @enum {string} */
9134
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
8794
9135
  };
8795
9136
  } | {
8796
9137
  id: string;
@@ -8876,6 +9217,15 @@ export interface operations {
8876
9217
  appLevelAccessControlEnabled?: boolean;
8877
9218
  createdAt?: number;
8878
9219
  };
9220
+ organization?: {
9221
+ id?: string;
9222
+ name?: string;
9223
+ description?: string | null;
9224
+ /** @description arbitrary */
9225
+ customData?: {
9226
+ [key: string]: unknown;
9227
+ };
9228
+ };
8879
9229
  };
8880
9230
  blockIssuanceOnError?: boolean;
8881
9231
  tokenSample?: {
@@ -9274,6 +9624,8 @@ export interface operations {
9274
9624
  };
9275
9625
  oneTimeTokenContext?: {
9276
9626
  jitOrganizationIds?: string[];
9627
+ /** @enum {string} */
9628
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
9277
9629
  };
9278
9630
  } | {
9279
9631
  id: string;
@@ -9359,6 +9711,15 @@ export interface operations {
9359
9711
  appLevelAccessControlEnabled?: boolean;
9360
9712
  createdAt?: number;
9361
9713
  };
9714
+ organization?: {
9715
+ id?: string;
9716
+ name?: string;
9717
+ description?: string | null;
9718
+ /** @description arbitrary */
9719
+ customData?: {
9720
+ [key: string]: unknown;
9721
+ };
9722
+ };
9362
9723
  };
9363
9724
  } | {
9364
9725
  /** Format: "client-credentials" */
@@ -9585,142 +9946,41 @@ export interface operations {
9585
9946
  };
9586
9947
  };
9587
9948
  };
9588
- ListConnectors: {
9949
+ ListActions: {
9589
9950
  parameters: {
9590
- query?: {
9591
- /** @description Filter connectors by target. */
9592
- target?: string;
9593
- };
9951
+ query?: never;
9594
9952
  header?: never;
9595
9953
  path?: never;
9596
9954
  cookie?: never;
9597
9955
  };
9598
9956
  requestBody?: never;
9599
9957
  responses: {
9600
- /** @description An array of connectors. */
9958
+ /** @description The action configurations. */
9601
9959
  200: {
9602
9960
  headers: {
9603
9961
  [name: string]: unknown;
9604
9962
  };
9605
9963
  content: {
9606
9964
  "application/json": {
9607
- id: string;
9608
- syncProfile: boolean;
9609
- enableTokenStorage: boolean;
9610
- /** @description arbitrary */
9611
- config: {
9612
- [key: string]: unknown;
9613
- };
9614
- metadata: {
9615
- target?: string;
9616
- /** @description Validator function */
9617
- name?: {
9618
- [key: string]: unknown;
9965
+ /** @enum {string} */
9966
+ key: "action.postFirstFactorVerification" | "action.postSignIn";
9967
+ value: {
9968
+ script: string;
9969
+ environmentVariables?: {
9970
+ [key: string]: string;
9619
9971
  };
9620
- logo?: string;
9621
- logoDark?: string | null;
9622
- };
9623
- connectorId: string;
9624
- target: string;
9625
- /** @description Validator function */
9626
- name: {
9627
- [key: string]: unknown;
9628
- };
9629
- /** @description Validator function */
9630
- description: {
9631
- [key: string]: unknown;
9632
- };
9633
- logo: string;
9634
- logoDark: string | null;
9635
- readme: string;
9636
- configTemplate?: string;
9637
- formItems?: ({
9638
- /** Format: "Select" */
9639
- type: string;
9640
- selectItems: {
9641
- value: string;
9642
- title: string;
9643
- }[];
9644
- key: string;
9645
- label: string;
9646
- placeholder?: string;
9647
- required?: boolean;
9648
- /** @example {} */
9649
- defaultValue?: unknown;
9650
- showConditions?: {
9651
- targetKey: string;
9652
- /** @example {} */
9653
- expectValue?: unknown;
9654
- }[];
9655
- description?: string;
9656
- tooltip?: string;
9657
- isConfidential?: boolean;
9658
- isDevFeature?: boolean;
9659
- } | {
9660
- /** Format: "MultiSelect" */
9661
- type: string;
9662
- selectItems: {
9663
- value: string;
9664
- }[];
9665
- key: string;
9666
- label: string;
9667
- placeholder?: string;
9668
- required?: boolean;
9669
- /** @example {} */
9670
- defaultValue?: unknown;
9671
- showConditions?: {
9672
- targetKey: string;
9673
- /** @example {} */
9674
- expectValue?: unknown;
9675
- }[];
9676
- description?: string;
9677
- tooltip?: string;
9678
- isConfidential?: boolean;
9679
- isDevFeature?: boolean;
9680
- } | {
9972
+ contextSample?: ({
9973
+ [key: string]: unknown;
9974
+ } | (string | number | boolean | (string | null) | {
9975
+ [key: string]: unknown;
9976
+ })[] | string | number | boolean) | null;
9977
+ enabled?: boolean;
9681
9978
  /** @enum {string} */
9682
- type: "Text" | "Number" | "MultilineText" | "Switch" | "Json";
9683
- key: string;
9684
- label: string;
9685
- placeholder?: string;
9686
- required?: boolean;
9687
- /** @example {} */
9688
- defaultValue?: unknown;
9689
- showConditions?: {
9690
- targetKey: string;
9691
- /** @example {} */
9692
- expectValue?: unknown;
9693
- }[];
9694
- description?: string;
9695
- tooltip?: string;
9696
- isConfidential?: boolean;
9697
- isDevFeature?: boolean;
9698
- })[];
9699
- customData?: {
9700
- [key: string]: unknown;
9701
- };
9702
- fromEmail?: string;
9703
- /** @enum {string|null} */
9704
- platform: "Native" | "Universal" | "Web" | null;
9705
- isStandard?: boolean;
9706
- isTokenStorageSupported?: boolean;
9707
- /** @enum {string} */
9708
- type: "Email" | "Sms" | "Social";
9709
- isDemo?: boolean;
9710
- extraInfo?: {
9711
- [key: string]: unknown;
9979
+ onExecutionError?: "block" | "allow";
9712
9980
  };
9713
- usage?: number;
9714
9981
  }[];
9715
9982
  };
9716
9983
  };
9717
- /** @description The target only allows one connector to exist, but there are multiple connectors with this target. */
9718
- 400: {
9719
- headers: {
9720
- [name: string]: unknown;
9721
- };
9722
- content?: never;
9723
- };
9724
9984
  /** @description Unauthorized */
9725
9985
  401: {
9726
9986
  headers: {
@@ -9737,7 +9997,7 @@ export interface operations {
9737
9997
  };
9738
9998
  };
9739
9999
  };
9740
- CreateConnector: {
10000
+ TestAction: {
9741
10001
  parameters: {
9742
10002
  query?: never;
9743
10003
  header?: never;
@@ -9747,85 +10007,622 @@ export interface operations {
9747
10007
  requestBody: {
9748
10008
  content: {
9749
10009
  "application/json": {
9750
- /** @description The connector config object that will be passed to the connector. The config object should be compatible with the connector factory. */
9751
- config?: {
10010
+ /** @description The action script to test. */
10011
+ script: string;
10012
+ /**
10013
+ * @description The action type to test.
10014
+ * @enum {string}
10015
+ */
10016
+ actionType: "action.postFirstFactorVerification" | "action.postSignIn";
10017
+ /** @description The sample event for action script testing. */
10018
+ event: ({
9752
10019
  [key: string]: unknown;
10020
+ } | (string | number | boolean | (string | null) | {
10021
+ [key: string]: unknown;
10022
+ })[] | string | number | boolean) | null;
10023
+ /** @description The environment variables for the action script. */
10024
+ environmentVariables?: {
10025
+ [key: string]: string;
9753
10026
  };
9754
- /** @description The connector factory ID for creating the connector. */
9755
- connectorId: string;
9756
- /** @description Custom connector metadata, will be used to overwrite the default connector factory metadata. */
9757
- metadata?: {
9758
- target?: string;
9759
- /** @description Validator function */
9760
- name?: {
9761
- [key: string]: unknown;
9762
- };
9763
- logo?: string;
9764
- logoDark?: string | null;
9765
- };
9766
- /** @description Whether to sync user profile from the identity provider to Logto at each sign-in. If `false`, the user profile will only be synced when the user is created. */
9767
- syncProfile?: boolean;
9768
- enableTokenStorage?: boolean;
9769
- /** @description The unique ID for the connector. If not provided, a random ID will be generated. */
9770
- id?: string;
9771
10027
  };
9772
10028
  };
9773
10029
  };
9774
10030
  responses: {
9775
- /** @description The created connector. */
10031
+ /** @description The result of the action script testing. */
9776
10032
  200: {
9777
10033
  headers: {
9778
10034
  [name: string]: unknown;
9779
10035
  };
9780
10036
  content: {
9781
- "application/json": {
9782
- id: string;
9783
- syncProfile: boolean;
9784
- enableTokenStorage: boolean;
9785
- /** @description arbitrary */
9786
- config: {
9787
- [key: string]: unknown;
9788
- };
9789
- metadata: {
9790
- target?: string;
9791
- /** @description Validator function */
9792
- name?: {
9793
- [key: string]: unknown;
9794
- };
9795
- logo?: string;
9796
- logoDark?: string | null;
9797
- };
9798
- connectorId: string;
9799
- target: string;
9800
- /** @description Validator function */
9801
- name: {
9802
- [key: string]: unknown;
9803
- };
9804
- /** @description Validator function */
9805
- description: {
9806
- [key: string]: unknown;
9807
- };
9808
- logo: string;
9809
- logoDark: string | null;
9810
- readme: string;
9811
- configTemplate?: string;
9812
- formItems?: ({
9813
- /** Format: "Select" */
9814
- type: string;
9815
- selectItems: {
9816
- value: string;
9817
- title: string;
9818
- }[];
9819
- key: string;
9820
- label: string;
9821
- placeholder?: string;
9822
- required?: boolean;
9823
- /** @example {} */
9824
- defaultValue?: unknown;
9825
- showConditions?: {
9826
- targetKey: string;
9827
- /** @example {} */
9828
- expectValue?: unknown;
10037
+ "application/json": ({
10038
+ [key: string]: unknown;
10039
+ } | (string | number | boolean | (string | null) | {
10040
+ [key: string]: unknown;
10041
+ })[] | string | number | boolean) | null;
10042
+ };
10043
+ };
10044
+ /** @description The action script returned no result. */
10045
+ 204: {
10046
+ headers: {
10047
+ [name: string]: unknown;
10048
+ };
10049
+ content?: never;
10050
+ };
10051
+ /** @description The request body or response body is invalid. */
10052
+ 400: {
10053
+ headers: {
10054
+ [name: string]: unknown;
10055
+ };
10056
+ content?: never;
10057
+ };
10058
+ /** @description Unauthorized */
10059
+ 401: {
10060
+ headers: {
10061
+ [name: string]: unknown;
10062
+ };
10063
+ content?: never;
10064
+ };
10065
+ /** @description Cloud connection does not have enough permission to perform the action or the tenant's subscription plan does not support this feature. */
10066
+ 403: {
10067
+ headers: {
10068
+ [name: string]: unknown;
10069
+ };
10070
+ content?: never;
10071
+ };
10072
+ /** @description The action script failed to execute. */
10073
+ 422: {
10074
+ headers: {
10075
+ [name: string]: unknown;
10076
+ };
10077
+ content?: never;
10078
+ };
10079
+ };
10080
+ };
10081
+ GetAction: {
10082
+ parameters: {
10083
+ query?: never;
10084
+ header?: never;
10085
+ path: {
10086
+ /** @description The action type to get. */
10087
+ actionType: "action.postFirstFactorVerification" | "action.postSignIn";
10088
+ };
10089
+ cookie?: never;
10090
+ };
10091
+ requestBody?: never;
10092
+ responses: {
10093
+ /** @description The action configuration. */
10094
+ 200: {
10095
+ headers: {
10096
+ [name: string]: unknown;
10097
+ };
10098
+ content: {
10099
+ "application/json": {
10100
+ script: string;
10101
+ environmentVariables?: {
10102
+ [key: string]: string;
10103
+ };
10104
+ contextSample?: ({
10105
+ [key: string]: unknown;
10106
+ } | (string | number | boolean | (string | null) | {
10107
+ [key: string]: unknown;
10108
+ })[] | string | number | boolean) | null;
10109
+ enabled?: boolean;
10110
+ /** @enum {string} */
10111
+ onExecutionError?: "block" | "allow";
10112
+ };
10113
+ };
10114
+ };
10115
+ /** @description Bad Request */
10116
+ 400: {
10117
+ headers: {
10118
+ [name: string]: unknown;
10119
+ };
10120
+ content?: never;
10121
+ };
10122
+ /** @description Unauthorized */
10123
+ 401: {
10124
+ headers: {
10125
+ [name: string]: unknown;
10126
+ };
10127
+ content?: never;
10128
+ };
10129
+ /** @description Forbidden */
10130
+ 403: {
10131
+ headers: {
10132
+ [name: string]: unknown;
10133
+ };
10134
+ content?: never;
10135
+ };
10136
+ /** @description The action configuration does not exist. */
10137
+ 404: {
10138
+ headers: {
10139
+ [name: string]: unknown;
10140
+ };
10141
+ content?: never;
10142
+ };
10143
+ };
10144
+ };
10145
+ UpsertAction: {
10146
+ parameters: {
10147
+ query?: never;
10148
+ header?: never;
10149
+ path: {
10150
+ /** @description The action type to create or update. */
10151
+ actionType: "action.postFirstFactorVerification" | "action.postSignIn";
10152
+ };
10153
+ cookie?: never;
10154
+ };
10155
+ requestBody: {
10156
+ content: {
10157
+ "application/json": {
10158
+ /** @description The action script. */
10159
+ script: string;
10160
+ /** @description The environment variables for the action script. */
10161
+ environmentVariables?: {
10162
+ [key: string]: string;
10163
+ };
10164
+ /** @description The sample context for action script testing. */
10165
+ contextSample?: ({
10166
+ [key: string]: unknown;
10167
+ } | (string | number | boolean | (string | null) | {
10168
+ [key: string]: unknown;
10169
+ })[] | string | number | boolean) | null;
10170
+ /** @description Whether the action is enabled. */
10171
+ enabled?: boolean;
10172
+ /**
10173
+ * @description The action execution error handling policy.
10174
+ * @enum {string}
10175
+ */
10176
+ onExecutionError?: "block" | "allow";
10177
+ };
10178
+ };
10179
+ };
10180
+ responses: {
10181
+ /** @description The updated action configuration. */
10182
+ 200: {
10183
+ headers: {
10184
+ [name: string]: unknown;
10185
+ };
10186
+ content: {
10187
+ "application/json": {
10188
+ script: string;
10189
+ environmentVariables?: {
10190
+ [key: string]: string;
10191
+ };
10192
+ contextSample?: ({
10193
+ [key: string]: unknown;
10194
+ } | (string | number | boolean | (string | null) | {
10195
+ [key: string]: unknown;
10196
+ })[] | string | number | boolean) | null;
10197
+ enabled?: boolean;
10198
+ /** @enum {string} */
10199
+ onExecutionError?: "block" | "allow";
10200
+ };
10201
+ };
10202
+ };
10203
+ /** @description The created action configuration. */
10204
+ 201: {
10205
+ headers: {
10206
+ [name: string]: unknown;
10207
+ };
10208
+ content: {
10209
+ "application/json": {
10210
+ script: string;
10211
+ environmentVariables?: {
10212
+ [key: string]: string;
10213
+ };
10214
+ contextSample?: ({
10215
+ [key: string]: unknown;
10216
+ } | (string | number | boolean | (string | null) | {
10217
+ [key: string]: unknown;
10218
+ })[] | string | number | boolean) | null;
10219
+ enabled?: boolean;
10220
+ /** @enum {string} */
10221
+ onExecutionError?: "block" | "allow";
10222
+ };
10223
+ };
10224
+ };
10225
+ /** @description The request body is invalid. */
10226
+ 400: {
10227
+ headers: {
10228
+ [name: string]: unknown;
10229
+ };
10230
+ content?: never;
10231
+ };
10232
+ /** @description Unauthorized */
10233
+ 401: {
10234
+ headers: {
10235
+ [name: string]: unknown;
10236
+ };
10237
+ content?: never;
10238
+ };
10239
+ /** @description The tenant's subscription plan does not support this feature. */
10240
+ 403: {
10241
+ headers: {
10242
+ [name: string]: unknown;
10243
+ };
10244
+ content?: never;
10245
+ };
10246
+ };
10247
+ };
10248
+ DeleteAction: {
10249
+ parameters: {
10250
+ query?: never;
10251
+ header?: never;
10252
+ path: {
10253
+ /** @description The action type to delete. */
10254
+ actionType: "action.postFirstFactorVerification" | "action.postSignIn";
10255
+ };
10256
+ cookie?: never;
10257
+ };
10258
+ requestBody?: never;
10259
+ responses: {
10260
+ /** @description The action configuration was deleted successfully. */
10261
+ 204: {
10262
+ headers: {
10263
+ [name: string]: unknown;
10264
+ };
10265
+ content?: never;
10266
+ };
10267
+ /** @description Bad Request */
10268
+ 400: {
10269
+ headers: {
10270
+ [name: string]: unknown;
10271
+ };
10272
+ content?: never;
10273
+ };
10274
+ /** @description Unauthorized */
10275
+ 401: {
10276
+ headers: {
10277
+ [name: string]: unknown;
10278
+ };
10279
+ content?: never;
10280
+ };
10281
+ /** @description Forbidden */
10282
+ 403: {
10283
+ headers: {
10284
+ [name: string]: unknown;
10285
+ };
10286
+ content?: never;
10287
+ };
10288
+ /** @description The action configuration does not exist. */
10289
+ 404: {
10290
+ headers: {
10291
+ [name: string]: unknown;
10292
+ };
10293
+ content?: never;
10294
+ };
10295
+ };
10296
+ };
10297
+ UpdateAction: {
10298
+ parameters: {
10299
+ query?: never;
10300
+ header?: never;
10301
+ path: {
10302
+ /** @description The action type to update. */
10303
+ actionType: "action.postFirstFactorVerification" | "action.postSignIn";
10304
+ };
10305
+ cookie?: never;
10306
+ };
10307
+ requestBody: {
10308
+ content: {
10309
+ "application/json": {
10310
+ /** @description The action script. */
10311
+ script?: string;
10312
+ /** @description The environment variables for the action script. */
10313
+ environmentVariables?: {
10314
+ [key: string]: string;
10315
+ };
10316
+ /** @description The sample context for action script testing. */
10317
+ contextSample?: ({
10318
+ [key: string]: unknown;
10319
+ } | (string | number | boolean | (string | null) | {
10320
+ [key: string]: unknown;
10321
+ })[] | string | number | boolean) | null;
10322
+ /** @description Whether the action is enabled. */
10323
+ enabled?: boolean;
10324
+ /**
10325
+ * @description The action execution error handling policy.
10326
+ * @enum {string}
10327
+ */
10328
+ onExecutionError?: "block" | "allow";
10329
+ };
10330
+ };
10331
+ };
10332
+ responses: {
10333
+ /** @description The updated action configuration. */
10334
+ 200: {
10335
+ headers: {
10336
+ [name: string]: unknown;
10337
+ };
10338
+ content: {
10339
+ "application/json": {
10340
+ script: string;
10341
+ environmentVariables?: {
10342
+ [key: string]: string;
10343
+ };
10344
+ contextSample?: ({
10345
+ [key: string]: unknown;
10346
+ } | (string | number | boolean | (string | null) | {
10347
+ [key: string]: unknown;
10348
+ })[] | string | number | boolean) | null;
10349
+ enabled?: boolean;
10350
+ /** @enum {string} */
10351
+ onExecutionError?: "block" | "allow";
10352
+ };
10353
+ };
10354
+ };
10355
+ /** @description The request body is invalid. */
10356
+ 400: {
10357
+ headers: {
10358
+ [name: string]: unknown;
10359
+ };
10360
+ content?: never;
10361
+ };
10362
+ /** @description Unauthorized */
10363
+ 401: {
10364
+ headers: {
10365
+ [name: string]: unknown;
10366
+ };
10367
+ content?: never;
10368
+ };
10369
+ /** @description The tenant's subscription plan does not support this feature. */
10370
+ 403: {
10371
+ headers: {
10372
+ [name: string]: unknown;
10373
+ };
10374
+ content?: never;
10375
+ };
10376
+ /** @description The action configuration does not exist. */
10377
+ 404: {
10378
+ headers: {
10379
+ [name: string]: unknown;
10380
+ };
10381
+ content?: never;
10382
+ };
10383
+ };
10384
+ };
10385
+ ListConnectors: {
10386
+ parameters: {
10387
+ query?: {
10388
+ /** @description Filter connectors by target. */
10389
+ target?: string;
10390
+ };
10391
+ header?: never;
10392
+ path?: never;
10393
+ cookie?: never;
10394
+ };
10395
+ requestBody?: never;
10396
+ responses: {
10397
+ /** @description An array of connectors. */
10398
+ 200: {
10399
+ headers: {
10400
+ [name: string]: unknown;
10401
+ };
10402
+ content: {
10403
+ "application/json": {
10404
+ id: string;
10405
+ syncProfile: boolean;
10406
+ enableTokenStorage: boolean;
10407
+ /** @description arbitrary */
10408
+ config: {
10409
+ [key: string]: unknown;
10410
+ };
10411
+ metadata: {
10412
+ target?: string;
10413
+ /** @description Validator function */
10414
+ name?: {
10415
+ [key: string]: unknown;
10416
+ };
10417
+ logo?: string;
10418
+ logoDark?: string | null;
10419
+ };
10420
+ connectorId: string;
10421
+ target: string;
10422
+ /** @description Validator function */
10423
+ name: {
10424
+ [key: string]: unknown;
10425
+ };
10426
+ /** @description Validator function */
10427
+ description: {
10428
+ [key: string]: unknown;
10429
+ };
10430
+ logo: string;
10431
+ logoDark: string | null;
10432
+ readme: string;
10433
+ configTemplate?: string;
10434
+ formItems?: ({
10435
+ /** Format: "Select" */
10436
+ type: string;
10437
+ selectItems: {
10438
+ value: string;
10439
+ title: string;
10440
+ }[];
10441
+ key: string;
10442
+ label: string;
10443
+ placeholder?: string;
10444
+ required?: boolean;
10445
+ /** @example {} */
10446
+ defaultValue?: unknown;
10447
+ showConditions?: {
10448
+ targetKey: string;
10449
+ /** @example {} */
10450
+ expectValue?: unknown;
10451
+ }[];
10452
+ description?: string;
10453
+ tooltip?: string;
10454
+ isConfidential?: boolean;
10455
+ isDevFeature?: boolean;
10456
+ } | {
10457
+ /** Format: "MultiSelect" */
10458
+ type: string;
10459
+ selectItems: {
10460
+ value: string;
10461
+ }[];
10462
+ key: string;
10463
+ label: string;
10464
+ placeholder?: string;
10465
+ required?: boolean;
10466
+ /** @example {} */
10467
+ defaultValue?: unknown;
10468
+ showConditions?: {
10469
+ targetKey: string;
10470
+ /** @example {} */
10471
+ expectValue?: unknown;
10472
+ }[];
10473
+ description?: string;
10474
+ tooltip?: string;
10475
+ isConfidential?: boolean;
10476
+ isDevFeature?: boolean;
10477
+ } | {
10478
+ /** @enum {string} */
10479
+ type: "Text" | "Number" | "MultilineText" | "Switch" | "Json";
10480
+ key: string;
10481
+ label: string;
10482
+ placeholder?: string;
10483
+ required?: boolean;
10484
+ /** @example {} */
10485
+ defaultValue?: unknown;
10486
+ showConditions?: {
10487
+ targetKey: string;
10488
+ /** @example {} */
10489
+ expectValue?: unknown;
10490
+ }[];
10491
+ description?: string;
10492
+ tooltip?: string;
10493
+ isConfidential?: boolean;
10494
+ isDevFeature?: boolean;
10495
+ })[];
10496
+ customData?: {
10497
+ [key: string]: unknown;
10498
+ };
10499
+ fromEmail?: string;
10500
+ /** @enum {string|null} */
10501
+ platform: "Native" | "Universal" | "Web" | null;
10502
+ isStandard?: boolean;
10503
+ isTokenStorageSupported?: boolean;
10504
+ /** @enum {string} */
10505
+ type: "Email" | "Sms" | "Social";
10506
+ isDemo?: boolean;
10507
+ extraInfo?: {
10508
+ [key: string]: unknown;
10509
+ };
10510
+ usage?: number;
10511
+ }[];
10512
+ };
10513
+ };
10514
+ /** @description The target only allows one connector to exist, but there are multiple connectors with this target. */
10515
+ 400: {
10516
+ headers: {
10517
+ [name: string]: unknown;
10518
+ };
10519
+ content?: never;
10520
+ };
10521
+ /** @description Unauthorized */
10522
+ 401: {
10523
+ headers: {
10524
+ [name: string]: unknown;
10525
+ };
10526
+ content?: never;
10527
+ };
10528
+ /** @description Forbidden */
10529
+ 403: {
10530
+ headers: {
10531
+ [name: string]: unknown;
10532
+ };
10533
+ content?: never;
10534
+ };
10535
+ };
10536
+ };
10537
+ CreateConnector: {
10538
+ parameters: {
10539
+ query?: never;
10540
+ header?: never;
10541
+ path?: never;
10542
+ cookie?: never;
10543
+ };
10544
+ requestBody: {
10545
+ content: {
10546
+ "application/json": {
10547
+ /** @description The connector config object that will be passed to the connector. The config object should be compatible with the connector factory. */
10548
+ config?: {
10549
+ [key: string]: unknown;
10550
+ };
10551
+ /** @description The connector factory ID for creating the connector. */
10552
+ connectorId: string;
10553
+ /** @description Custom connector metadata, will be used to overwrite the default connector factory metadata. */
10554
+ metadata?: {
10555
+ target?: string;
10556
+ /** @description Validator function */
10557
+ name?: {
10558
+ [key: string]: unknown;
10559
+ };
10560
+ logo?: string;
10561
+ logoDark?: string | null;
10562
+ };
10563
+ /** @description Whether to sync user profile from the identity provider to Logto at each sign-in. If `false`, the user profile will only be synced when the user is created. */
10564
+ syncProfile?: boolean;
10565
+ enableTokenStorage?: boolean;
10566
+ /** @description The unique ID for the connector. If not provided, a random ID will be generated. */
10567
+ id?: string;
10568
+ };
10569
+ };
10570
+ };
10571
+ responses: {
10572
+ /** @description The created connector. */
10573
+ 200: {
10574
+ headers: {
10575
+ [name: string]: unknown;
10576
+ };
10577
+ content: {
10578
+ "application/json": {
10579
+ id: string;
10580
+ syncProfile: boolean;
10581
+ enableTokenStorage: boolean;
10582
+ /** @description arbitrary */
10583
+ config: {
10584
+ [key: string]: unknown;
10585
+ };
10586
+ metadata: {
10587
+ target?: string;
10588
+ /** @description Validator function */
10589
+ name?: {
10590
+ [key: string]: unknown;
10591
+ };
10592
+ logo?: string;
10593
+ logoDark?: string | null;
10594
+ };
10595
+ connectorId: string;
10596
+ target: string;
10597
+ /** @description Validator function */
10598
+ name: {
10599
+ [key: string]: unknown;
10600
+ };
10601
+ /** @description Validator function */
10602
+ description: {
10603
+ [key: string]: unknown;
10604
+ };
10605
+ logo: string;
10606
+ logoDark: string | null;
10607
+ readme: string;
10608
+ configTemplate?: string;
10609
+ formItems?: ({
10610
+ /** Format: "Select" */
10611
+ type: string;
10612
+ selectItems: {
10613
+ value: string;
10614
+ title: string;
10615
+ }[];
10616
+ key: string;
10617
+ label: string;
10618
+ placeholder?: string;
10619
+ required?: boolean;
10620
+ /** @example {} */
10621
+ defaultValue?: unknown;
10622
+ showConditions?: {
10623
+ targetKey: string;
10624
+ /** @example {} */
10625
+ expectValue?: unknown;
9829
10626
  }[];
9830
10627
  description?: string;
9831
10628
  tooltip?: string;
@@ -10118,8 +10915,15 @@ export interface operations {
10118
10915
  };
10119
10916
  content?: never;
10120
10917
  };
10121
- /** @description Connector not found. */
10122
- 404: {
10918
+ /** @description Connector not found. */
10919
+ 404: {
10920
+ headers: {
10921
+ [name: string]: unknown;
10922
+ };
10923
+ content?: never;
10924
+ };
10925
+ /** @description The connector cannot be deleted because password expiration requires at least one available forgot password method. */
10926
+ 422: {
10123
10927
  headers: {
10124
10928
  [name: string]: unknown;
10125
10929
  };
@@ -11500,15 +12304,20 @@ export interface operations {
11500
12304
  maxAttempts?: number;
11501
12305
  lockoutDuration?: number;
11502
12306
  };
11503
- /** @description Define email restriction policies. Users will be prohibited from registering or linking any email addresses that are included in the blocklist. */
12307
+ /** @description Define email restriction policies for registering or linking email addresses. */
11504
12308
  emailBlocklistPolicy: {
12309
+ /** @description Cloud only. Whether to block disposable email addresses. Once enabled, Logto will check the email domain against a list of known disposable email domains. If the domain is found in the list, the email address will be blocked. */
11505
12310
  blockDisposableAddresses?: boolean;
11506
12311
  /** @description Whether to block sub-addresses. (E.g., example+shopping@test.com) */
11507
12312
  blockSubaddressing?: boolean;
11508
- /** @description Custom blocklist of email addresses or domains. */
12313
+ /** @description Custom allowlist of email addresses, domains, or wildcard email address patterns. Examples: `bar@example.com`, `@example.com`, `foo*@example.com`, `@*.example.com`. */
12314
+ customAllowlist?: string[];
12315
+ /** @description Custom blocklist of email addresses, domains, or wildcard email address patterns. Examples: `bar@example.com`, `@example.com`, `foo*@example.com`, `@*.example.com`. */
11509
12316
  customBlocklist?: string[];
11510
- /** @description Cloud only. Whether to block disposable email addresses. Once enabled, Logto will check the email domain against a list of known disposable email domains. If the domain is found in the list, the email address will be blocked. */
11511
- blockDisposableAddress?: unknown;
12317
+ };
12318
+ verificationCodePolicy: {
12319
+ expirationDuration?: number;
12320
+ maxRetryAttempts?: number;
11512
12321
  };
11513
12322
  forgotPasswordMethods: ("EmailVerificationCode" | "PhoneVerificationCode")[] | null;
11514
12323
  passkeySignIn: {
@@ -11519,6 +12328,25 @@ export interface operations {
11519
12328
  signUpProfileFields: {
11520
12329
  name: string;
11521
12330
  }[] | null;
12331
+ /** @description Password expiration policy used to force users to reset their password during sign-in. When enabled is false, the period field is ignored. */
12332
+ passwordExpiration: {
12333
+ /** @description Whether password expiration is enabled. */
12334
+ enabled?: unknown;
12335
+ /** @description Number of days a password remains valid before it expires. */
12336
+ validPeriodDays?: unknown;
12337
+ } & ({
12338
+ /** Format: false */
12339
+ enabled?: boolean;
12340
+ } | {
12341
+ /** Format: true */
12342
+ enabled: boolean;
12343
+ validPeriodDays: number;
12344
+ enabledAt?: number;
12345
+ });
12346
+ /** @description Validator function */
12347
+ usernamePolicy: {
12348
+ [key: string]: unknown;
12349
+ };
11522
12350
  };
11523
12351
  };
11524
12352
  };
@@ -11681,15 +12509,16 @@ export interface operations {
11681
12509
  maxAttempts?: number;
11682
12510
  lockoutDuration?: number;
11683
12511
  };
11684
- /** @description Define email restriction policies. Users will be prohibited from registering or linking any email addresses that are included in the blocklist. */
12512
+ /** @description Define email restriction policies for registering or linking email addresses. */
11685
12513
  emailBlocklistPolicy?: {
12514
+ /** @description Cloud only. Whether to block disposable email addresses. Once enabled, Logto will check the email domain against a list of known disposable email domains. If the domain is found in the list, the email address will be blocked. */
11686
12515
  blockDisposableAddresses?: boolean;
11687
12516
  /** @description Whether to block sub-addresses. (E.g., example+shopping@test.com) */
11688
12517
  blockSubaddressing?: boolean;
11689
- /** @description Custom blocklist of email addresses or domains. */
12518
+ /** @description Custom allowlist of email addresses, domains, or wildcard email address patterns. Examples: `bar@example.com`, `@example.com`, `foo*@example.com`, `@*.example.com`. */
12519
+ customAllowlist?: string[];
12520
+ /** @description Custom blocklist of email addresses, domains, or wildcard email address patterns. Examples: `bar@example.com`, `@example.com`, `foo*@example.com`, `@*.example.com`. */
11690
12521
  customBlocklist?: string[];
11691
- /** @description Cloud only. Whether to block disposable email addresses. Once enabled, Logto will check the email domain against a list of known disposable email domains. If the domain is found in the list, the email address will be blocked. */
11692
- blockDisposableAddress?: unknown;
11693
12522
  };
11694
12523
  forgotPasswordMethods?: ("EmailVerificationCode" | "PhoneVerificationCode")[] | null;
11695
12524
  passkeySignIn?: {
@@ -11700,6 +12529,10 @@ export interface operations {
11700
12529
  signUpProfileFields?: {
11701
12530
  name: string;
11702
12531
  }[] | null;
12532
+ /** @description Validator function */
12533
+ usernamePolicy?: {
12534
+ [key: string]: unknown;
12535
+ };
11703
12536
  termsOfUseUrl?: (string | null) | string;
11704
12537
  privacyPolicyUrl?: (string | null) | string;
11705
12538
  /** @description The support email address to display on the error pages. */
@@ -11708,6 +12541,25 @@ export interface operations {
11708
12541
  supportWebsiteUrl?: (string | null) | string;
11709
12542
  /** @description The fallback URL to redirect users when the sign-in session does not exist or unknown. Client should initiate a new authentication flow after the redirection. */
11710
12543
  unknownSessionRedirectUrl?: (string | null) | string;
12544
+ /** @description Password expiration policy used to force users to reset their password during sign-in. When enabled is false, the period field is ignored. */
12545
+ passwordExpiration?: {
12546
+ /** @description Whether password expiration is enabled. */
12547
+ enabled?: unknown;
12548
+ /** @description Number of days a password remains valid before it expires. */
12549
+ validPeriodDays?: unknown;
12550
+ } & ({
12551
+ /** Format: false */
12552
+ enabled?: boolean;
12553
+ } | {
12554
+ /** Format: true */
12555
+ enabled: boolean;
12556
+ validPeriodDays: number;
12557
+ enabledAt?: number;
12558
+ });
12559
+ verificationCodePolicy?: {
12560
+ expirationDuration?: number;
12561
+ maxRetryAttempts?: number;
12562
+ };
11711
12563
  };
11712
12564
  };
11713
12565
  };
@@ -11834,8 +12686,13 @@ export interface operations {
11834
12686
  emailBlocklistPolicy: {
11835
12687
  blockDisposableAddresses?: boolean;
11836
12688
  blockSubaddressing?: boolean;
12689
+ customAllowlist?: string[];
11837
12690
  customBlocklist?: string[];
11838
12691
  };
12692
+ verificationCodePolicy: {
12693
+ expirationDuration?: number;
12694
+ maxRetryAttempts?: number;
12695
+ };
11839
12696
  forgotPasswordMethods: ("EmailVerificationCode" | "PhoneVerificationCode")[] | null;
11840
12697
  passkeySignIn: {
11841
12698
  enabled?: boolean;
@@ -11845,6 +12702,19 @@ export interface operations {
11845
12702
  signUpProfileFields: {
11846
12703
  name: string;
11847
12704
  }[] | null;
12705
+ passwordExpiration: {
12706
+ /** Format: false */
12707
+ enabled?: boolean;
12708
+ } | {
12709
+ /** Format: true */
12710
+ enabled: boolean;
12711
+ validPeriodDays: number;
12712
+ enabledAt?: number;
12713
+ };
12714
+ /** @description Validator function */
12715
+ usernamePolicy: {
12716
+ [key: string]: unknown;
12717
+ };
11848
12718
  };
11849
12719
  };
11850
12720
  };
@@ -11876,6 +12746,13 @@ export interface operations {
11876
12746
  };
11877
12747
  content?: never;
11878
12748
  };
12749
+ /** @description Conflict */
12750
+ 409: {
12751
+ headers: {
12752
+ [name: string]: unknown;
12753
+ };
12754
+ content?: never;
12755
+ };
11879
12756
  /** @description Unprocessable Entity. Invalid data provided. */
11880
12757
  422: {
11881
12758
  headers: {
@@ -12004,6 +12881,55 @@ export interface operations {
12004
12881
  };
12005
12882
  };
12006
12883
  };
12884
+ GetUsernameCaseSensitivityConflicts: {
12885
+ parameters: {
12886
+ query: {
12887
+ limit: number;
12888
+ };
12889
+ header?: never;
12890
+ path?: never;
12891
+ cookie?: never;
12892
+ };
12893
+ requestBody?: never;
12894
+ responses: {
12895
+ /** @description The total number of case-insensitive username collision groups and a sample of them. */
12896
+ 200: {
12897
+ headers: {
12898
+ [name: string]: unknown;
12899
+ };
12900
+ content: {
12901
+ "application/json": {
12902
+ totalConflicts: number;
12903
+ samples: {
12904
+ usernameLower: string;
12905
+ userIds: string[];
12906
+ }[];
12907
+ };
12908
+ };
12909
+ };
12910
+ /** @description Bad Request */
12911
+ 400: {
12912
+ headers: {
12913
+ [name: string]: unknown;
12914
+ };
12915
+ content?: never;
12916
+ };
12917
+ /** @description Unauthorized */
12918
+ 401: {
12919
+ headers: {
12920
+ [name: string]: unknown;
12921
+ };
12922
+ content?: never;
12923
+ };
12924
+ /** @description Forbidden */
12925
+ 403: {
12926
+ headers: {
12927
+ [name: string]: unknown;
12928
+ };
12929
+ content?: never;
12930
+ };
12931
+ };
12932
+ };
12007
12933
  GetUser: {
12008
12934
  parameters: {
12009
12935
  query?: {
@@ -12074,6 +13000,7 @@ export interface operations {
12074
13000
  applicationId: string | null;
12075
13001
  isSuspended: boolean;
12076
13002
  hasPassword?: boolean;
13003
+ hasSecurityVerificationMethod?: boolean;
12077
13004
  /** @description List of SSO identities associated with the user. Only available when the `includeSsoIdentities` query parameter is provided with a truthy value. */
12078
13005
  ssoIdentities?: {
12079
13006
  tenantId: string;
@@ -12283,6 +13210,7 @@ export interface operations {
12283
13210
  applicationId: string | null;
12284
13211
  isSuspended: boolean;
12285
13212
  hasPassword?: boolean;
13213
+ hasSecurityVerificationMethod?: boolean;
12286
13214
  ssoIdentities?: {
12287
13215
  tenantId: string;
12288
13216
  id: string;
@@ -12755,6 +13683,7 @@ export interface operations {
12755
13683
  applicationId: string | null;
12756
13684
  isSuspended: boolean;
12757
13685
  hasPassword?: boolean;
13686
+ hasSecurityVerificationMethod?: boolean;
12758
13687
  ssoIdentities?: {
12759
13688
  tenantId: string;
12760
13689
  id: string;
@@ -12808,62 +13737,192 @@ export interface operations {
12808
13737
  requestBody: {
12809
13738
  content: {
12810
13739
  "application/json": {
12811
- /**
12812
- * Format: regex
12813
- * @description Primary phone number for the user. It should be unique across all users.
12814
- */
12815
- primaryPhone?: string;
12816
- /**
12817
- * Format: regex
12818
- * @description Primary email address for the user. It should be unique across all users.
12819
- */
12820
- primaryEmail?: string;
12821
- /**
12822
- * Format: regex
12823
- * @description Username for the user. It should be unique across all users.
12824
- */
12825
- username?: string;
12826
- /** @description Plain text password for the user. */
12827
- password?: string;
12828
- /** @description In case you already have the password digests and not the passwords, you can use them for the newly created user via this property. The algorithm can be specified using the `passwordAlgorithm` property. For `Legacy`, pass a JSON string in the format `[algorithm, args, encryptedPassword]`, where `args` is a string array that MUST contain an `@` placeholder, which will be replaced by the plain text password at runtime. For PBKDF2 under `Legacy`, `args` is expected to be in the order `[salt, iterations, keylen, digest, '@']`. The salt supports a plain string or a `hex:`-prefixed hex string (for binary salt bytes). */
12829
- passwordDigest?: string;
12830
- /**
12831
- * @description The hash algorithm used for the password. It should be one of the supported algorithms, including `Legacy` for custom legacy expressions. Should the encryption algorithm differ from `Argon2i`, it will automatically be upgraded to `Argon2i` upon the user's next sign-in.
12832
- * @enum {string}
12833
- */
12834
- passwordAlgorithm?: "Argon2i" | "Argon2id" | "Argon2d" | "SHA1" | "SHA256" | "MD5" | "Bcrypt" | "Legacy";
12835
- name?: string;
12836
- avatar?: (string) | null;
12837
- /** @description arbitrary */
12838
- customData?: {
12839
- [key: string]: unknown;
12840
- };
12841
- profile?: {
12842
- familyName?: string;
12843
- givenName?: string;
12844
- middleName?: string;
12845
- nickname?: string;
12846
- preferredUsername?: string;
12847
- profile?: string;
12848
- website?: string;
12849
- gender?: string;
12850
- birthdate?: string;
12851
- zoneinfo?: string;
12852
- locale?: string;
12853
- address?: {
12854
- formatted?: string;
12855
- streetAddress?: string;
12856
- locality?: string;
12857
- region?: string;
12858
- postalCode?: string;
12859
- country?: string;
12860
- };
12861
- };
13740
+ /**
13741
+ * Format: regex
13742
+ * @description Primary phone number for the user. It should be unique across all users.
13743
+ */
13744
+ primaryPhone?: string;
13745
+ /**
13746
+ * Format: regex
13747
+ * @description Primary email address for the user. It should be unique across all users.
13748
+ */
13749
+ primaryEmail?: string;
13750
+ /**
13751
+ * Format: regex
13752
+ * @description Username for the user. It should be unique across all users.
13753
+ */
13754
+ username?: string;
13755
+ /** @description Plain text password for the user. */
13756
+ password?: string;
13757
+ /** @description In case you already have the password digests and not the passwords, you can use them for the newly created user via this property. The algorithm can be specified using the `passwordAlgorithm` property. For `Legacy`, pass a JSON string in the format `[algorithm, args, encryptedPassword]`, where `args` is a string array that MUST contain an `@` placeholder, which will be replaced by the plain text password at runtime. For PBKDF2 under `Legacy`, `args` is expected to be in the order `[salt, iterations, keylen, digest, '@']`. The salt supports a plain string or a `hex:`-prefixed hex string (for binary salt bytes). */
13758
+ passwordDigest?: string;
13759
+ /**
13760
+ * @description The hash algorithm used for the password. It should be one of the supported algorithms, including `Legacy` for custom legacy expressions. Should the encryption algorithm differ from `Argon2i`, it will automatically be upgraded to `Argon2i` upon the user's next sign-in.
13761
+ * @enum {string}
13762
+ */
13763
+ passwordAlgorithm?: "Argon2i" | "Argon2id" | "Argon2d" | "SHA1" | "SHA256" | "MD5" | "Bcrypt" | "Legacy";
13764
+ name?: string;
13765
+ avatar?: (string) | null;
13766
+ /** @description arbitrary */
13767
+ customData?: {
13768
+ [key: string]: unknown;
13769
+ };
13770
+ profile?: {
13771
+ familyName?: string;
13772
+ givenName?: string;
13773
+ middleName?: string;
13774
+ nickname?: string;
13775
+ preferredUsername?: string;
13776
+ profile?: string;
13777
+ website?: string;
13778
+ gender?: string;
13779
+ birthdate?: string;
13780
+ zoneinfo?: string;
13781
+ locale?: string;
13782
+ address?: {
13783
+ formatted?: string;
13784
+ streetAddress?: string;
13785
+ locality?: string;
13786
+ region?: string;
13787
+ postalCode?: string;
13788
+ country?: string;
13789
+ };
13790
+ };
13791
+ };
13792
+ };
13793
+ };
13794
+ responses: {
13795
+ /** @description User data for the newly created user. */
13796
+ 200: {
13797
+ headers: {
13798
+ [name: string]: unknown;
13799
+ };
13800
+ content: {
13801
+ "application/json": {
13802
+ id: string;
13803
+ username: string | null;
13804
+ primaryEmail: string | null;
13805
+ primaryPhone: string | null;
13806
+ name: string | null;
13807
+ avatar: string | null;
13808
+ /** @description arbitrary */
13809
+ customData: {
13810
+ [key: string]: unknown;
13811
+ };
13812
+ identities: {
13813
+ [key: string]: {
13814
+ userId: string;
13815
+ /** @description arbitrary */
13816
+ details?: {
13817
+ [key: string]: unknown;
13818
+ };
13819
+ };
13820
+ };
13821
+ lastSignInAt: number | null;
13822
+ createdAt: number;
13823
+ updatedAt: number;
13824
+ profile: {
13825
+ familyName?: string;
13826
+ givenName?: string;
13827
+ middleName?: string;
13828
+ nickname?: string;
13829
+ preferredUsername?: string;
13830
+ profile?: string;
13831
+ website?: string;
13832
+ gender?: string;
13833
+ birthdate?: string;
13834
+ zoneinfo?: string;
13835
+ locale?: string;
13836
+ address?: {
13837
+ formatted?: string;
13838
+ streetAddress?: string;
13839
+ locality?: string;
13840
+ region?: string;
13841
+ postalCode?: string;
13842
+ country?: string;
13843
+ };
13844
+ };
13845
+ applicationId: string | null;
13846
+ isSuspended: boolean;
13847
+ hasPassword?: boolean;
13848
+ hasSecurityVerificationMethod?: boolean;
13849
+ ssoIdentities?: {
13850
+ tenantId: string;
13851
+ id: string;
13852
+ userId: string;
13853
+ issuer: string;
13854
+ identityId: string;
13855
+ /** @description arbitrary */
13856
+ detail: {
13857
+ [key: string]: unknown;
13858
+ };
13859
+ createdAt: number;
13860
+ updatedAt: number;
13861
+ ssoConnectorId: string;
13862
+ }[];
13863
+ passwordDigest?: string | null;
13864
+ /** @enum {string|null} */
13865
+ passwordAlgorithm?: "Argon2i" | "Argon2id" | "Argon2d" | "SHA1" | "SHA256" | "MD5" | "Bcrypt" | "Legacy" | null;
13866
+ };
13867
+ };
13868
+ };
13869
+ /** @description Bad Request */
13870
+ 400: {
13871
+ headers: {
13872
+ [name: string]: unknown;
13873
+ };
13874
+ content?: never;
13875
+ };
13876
+ /** @description Unauthorized */
13877
+ 401: {
13878
+ headers: {
13879
+ [name: string]: unknown;
13880
+ };
13881
+ content?: never;
13882
+ };
13883
+ /** @description Forbidden */
13884
+ 403: {
13885
+ headers: {
13886
+ [name: string]: unknown;
13887
+ };
13888
+ content?: never;
13889
+ };
13890
+ /** @description Not Found */
13891
+ 404: {
13892
+ headers: {
13893
+ [name: string]: unknown;
13894
+ };
13895
+ content?: never;
13896
+ };
13897
+ /** @description Unprocessable Content */
13898
+ 422: {
13899
+ headers: {
13900
+ [name: string]: unknown;
13901
+ };
13902
+ content?: never;
13903
+ };
13904
+ };
13905
+ };
13906
+ UpdateUserPassword: {
13907
+ parameters: {
13908
+ query?: never;
13909
+ header?: never;
13910
+ path: {
13911
+ /** @description The unique identifier of the user. */
13912
+ userId: components["parameters"]["userId"];
13913
+ };
13914
+ cookie?: never;
13915
+ };
13916
+ requestBody: {
13917
+ content: {
13918
+ "application/json": {
13919
+ /** @description New password for the user. */
13920
+ password: string;
12862
13921
  };
12863
13922
  };
12864
13923
  };
12865
13924
  responses: {
12866
- /** @description User data for the newly created user. */
13925
+ /** @description User password updated successfully. */
12867
13926
  200: {
12868
13927
  headers: {
12869
13928
  [name: string]: unknown;
@@ -12916,6 +13975,7 @@ export interface operations {
12916
13975
  applicationId: string | null;
12917
13976
  isSuspended: boolean;
12918
13977
  hasPassword?: boolean;
13978
+ hasSecurityVerificationMethod?: boolean;
12919
13979
  ssoIdentities?: {
12920
13980
  tenantId: string;
12921
13981
  id: string;
@@ -12957,13 +14017,6 @@ export interface operations {
12957
14017
  };
12958
14018
  content?: never;
12959
14019
  };
12960
- /** @description Not Found */
12961
- 404: {
12962
- headers: {
12963
- [name: string]: unknown;
12964
- };
12965
- content?: never;
12966
- };
12967
14020
  /** @description Unprocessable Content */
12968
14021
  422: {
12969
14022
  headers: {
@@ -12973,7 +14026,7 @@ export interface operations {
12973
14026
  };
12974
14027
  };
12975
14028
  };
12976
- UpdateUserPassword: {
14029
+ UpdateUserPasswordExpiration: {
12977
14030
  parameters: {
12978
14031
  query?: never;
12979
14032
  header?: never;
@@ -12986,13 +14039,13 @@ export interface operations {
12986
14039
  requestBody: {
12987
14040
  content: {
12988
14041
  "application/json": {
12989
- /** @description New password for the user. */
12990
- password: string;
14042
+ /** @description Whether the user's password should be marked as expired. */
14043
+ isExpired: boolean;
12991
14044
  };
12992
14045
  };
12993
14046
  };
12994
14047
  responses: {
12995
- /** @description User password updated successfully. */
14048
+ /** @description User password expiration state has been updated successfully. */
12996
14049
  200: {
12997
14050
  headers: {
12998
14051
  [name: string]: unknown;
@@ -13045,6 +14098,7 @@ export interface operations {
13045
14098
  applicationId: string | null;
13046
14099
  isSuspended: boolean;
13047
14100
  hasPassword?: boolean;
14101
+ hasSecurityVerificationMethod?: boolean;
13048
14102
  ssoIdentities?: {
13049
14103
  tenantId: string;
13050
14104
  id: string;
@@ -13065,7 +14119,7 @@ export interface operations {
13065
14119
  };
13066
14120
  };
13067
14121
  };
13068
- /** @description Bad Request */
14122
+ /** @description Password expiration policy is not enabled in the sign-in experience settings. */
13069
14123
  400: {
13070
14124
  headers: {
13071
14125
  [name: string]: unknown;
@@ -13086,8 +14140,8 @@ export interface operations {
13086
14140
  };
13087
14141
  content?: never;
13088
14142
  };
13089
- /** @description Unprocessable Content */
13090
- 422: {
14143
+ /** @description Not Found */
14144
+ 404: {
13091
14145
  headers: {
13092
14146
  [name: string]: unknown;
13093
14147
  };
@@ -13283,6 +14337,7 @@ export interface operations {
13283
14337
  applicationId: string | null;
13284
14338
  isSuspended: boolean;
13285
14339
  hasPassword?: boolean;
14340
+ hasSecurityVerificationMethod?: boolean;
13286
14341
  ssoIdentities?: {
13287
14342
  tenantId: string;
13288
14343
  id: string;
@@ -13835,6 +14890,7 @@ export interface operations {
13835
14890
  applicationId: string | null;
13836
14891
  isSuspended: boolean;
13837
14892
  hasPassword?: boolean;
14893
+ hasSecurityVerificationMethod?: boolean;
13838
14894
  ssoIdentities?: {
13839
14895
  tenantId: string;
13840
14896
  id: string;
@@ -14077,6 +15133,10 @@ export interface operations {
14077
15133
  accountId: string;
14078
15134
  };
14079
15135
  expiresAt: number;
15136
+ application: {
15137
+ id: string;
15138
+ name: string;
15139
+ };
14080
15140
  }[];
14081
15141
  };
14082
15142
  };
@@ -15118,6 +16178,8 @@ export interface operations {
15118
16178
  };
15119
16179
  oneTimeTokenContext?: {
15120
16180
  jitOrganizationIds?: string[];
16181
+ /** @enum {string} */
16182
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
15121
16183
  };
15122
16184
  } | {
15123
16185
  id: string;
@@ -15342,6 +16404,8 @@ export interface operations {
15342
16404
  };
15343
16405
  oneTimeTokenContext?: {
15344
16406
  jitOrganizationIds?: string[];
16407
+ /** @enum {string} */
16408
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
15345
16409
  };
15346
16410
  } | {
15347
16411
  id: string;
@@ -15472,9 +16536,9 @@ export interface operations {
15472
16536
  logKey?: string;
15473
16537
  /** @description When `true`, short-circuits the underlying `count(*)` query: any tenant with more than 10,000 matching logs saturates `Total-Number` at the sentinel value `10001` and the response emits `Total-Number-Is-Capped: true`. The `Link` header then omits `rel="last"` and `rel="next"` because the real total is unknown. Default `false`; recommended `true` for any client whose tenant volume may exceed 10,000 matching logs to avoid `statement_timeout`. */
15474
16538
  enableCap?: string;
15475
- /** @description Exclusive lower bound on `createdAt`, in unix milliseconds. When set, returns only logs where `createdAt > start_time`. Recommended for clients paginating across very large log ranges to keep query latency consistent. */
16539
+ /** @description Inclusive lower bound on `createdAt`, in unix milliseconds. When set, returns only logs where `createdAt >= start_time`. Recommended for clients paginating across very large log ranges to keep query latency consistent. Because the bound is inclusive, when resuming pagination from the last fetched log, pass its `createdAt + 1` as `start_time` (or de-duplicate by log `id`) to avoid re-fetching the boundary log. */
15476
16540
  start_time?: string;
15477
- /** @description Exclusive upper bound on `createdAt`, in unix milliseconds. When set, returns only logs where `createdAt < end_time`. Returns `400` if `start_time >= end_time` when both are present. */
16541
+ /** @description Inclusive upper bound on `createdAt`, in unix milliseconds. When set, returns only logs where `createdAt <= end_time`. Returns `400` if `start_time > end_time` when both are present. */
15478
16542
  end_time?: string;
15479
16543
  /** @description Page number (starts from 1). */
15480
16544
  page?: number;
@@ -15548,7 +16612,7 @@ export interface operations {
15548
16612
  }[];
15549
16613
  };
15550
16614
  };
15551
- /** @description Returned when `start_time` or `end_time` is not a finite number, or when `start_time >= end_time`. */
16615
+ /** @description Returned when `start_time` or `end_time` is not a finite number, or when `start_time > end_time`. */
15552
16616
  400: {
15553
16617
  headers: {
15554
16618
  [name: string]: unknown;
@@ -16082,6 +17146,7 @@ export interface operations {
16082
17146
  applicationId: string | null;
16083
17147
  isSuspended: boolean;
16084
17148
  hasPassword?: boolean;
17149
+ hasSecurityVerificationMethod?: boolean;
16085
17150
  ssoIdentities?: {
16086
17151
  tenantId: string;
16087
17152
  id: string;
@@ -16276,7 +17341,7 @@ export interface operations {
16276
17341
  tenantId: string;
16277
17342
  id: string;
16278
17343
  name: string;
16279
- secret: string;
17344
+ secret?: string;
16280
17345
  description: string | null;
16281
17346
  /** @enum {string} */
16282
17347
  type: "Native" | "SPA" | "Traditional" | "MachineToMachine" | "Protected" | "SAML";
@@ -17082,8 +18147,8 @@ export interface operations {
17082
18147
  id: string;
17083
18148
  name: string;
17084
18149
  /** @enum {string|null} */
17085
- event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | null;
17086
- events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout")[];
18150
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | null;
18151
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded")[];
17087
18152
  config: {
17088
18153
  url: string;
17089
18154
  headers?: {
@@ -17142,9 +18207,9 @@ export interface operations {
17142
18207
  * @description Use `events` instead.
17143
18208
  * @enum {string}
17144
18209
  */
17145
- event?: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout";
18210
+ event?: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded";
17146
18211
  /** @description An array of hook events. */
17147
- events?: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout")[];
18212
+ events?: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded")[];
17148
18213
  config: {
17149
18214
  url: string;
17150
18215
  headers?: {
@@ -17173,8 +18238,8 @@ export interface operations {
17173
18238
  id: string;
17174
18239
  name: string;
17175
18240
  /** @enum {string|null} */
17176
- event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | null;
17177
- events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout")[];
18241
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | null;
18242
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded")[];
17178
18243
  config: {
17179
18244
  url: string;
17180
18245
  headers?: {
@@ -17237,8 +18302,8 @@ export interface operations {
17237
18302
  id: string;
17238
18303
  name: string;
17239
18304
  /** @enum {string|null} */
17240
- event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | null;
17241
- events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout")[];
18305
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | null;
18306
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded")[];
17242
18307
  config: {
17243
18308
  url: string;
17244
18309
  headers?: {
@@ -17356,9 +18421,9 @@ export interface operations {
17356
18421
  * @description Use `events` instead.
17357
18422
  * @enum {string|null}
17358
18423
  */
17359
- event?: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | null;
18424
+ event?: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | null;
17360
18425
  /** @description An array of updated hook events. */
17361
- events?: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout")[];
18426
+ events?: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded")[];
17362
18427
  config?: {
17363
18428
  url: string;
17364
18429
  headers?: {
@@ -17387,8 +18452,8 @@ export interface operations {
17387
18452
  id: string;
17388
18453
  name: string;
17389
18454
  /** @enum {string|null} */
17390
- event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | null;
17391
- events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout")[];
18455
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | null;
18456
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded")[];
17392
18457
  config: {
17393
18458
  url: string;
17394
18459
  headers?: {
@@ -17439,9 +18504,9 @@ export interface operations {
17439
18504
  logKey?: string;
17440
18505
  /** @description When `true`, short-circuits the underlying `count(*)` query: results with more than 10,000 matching logs saturate `Total-Number` at the sentinel `10001` and emit `Total-Number-Is-Capped: true`; the `Link` header omits `rel="last"` and `rel="next"`. Default `false`. (This endpoint is already scoped to a single hook over the last 24 hours, so the cap rarely triggers in practice.) */
17441
18506
  enableCap?: string;
17442
- /** @description Exclusive lower bound on `createdAt`, in unix milliseconds. Supplying either `start_time` or `end_time` replaces the endpoint's default 24-hour lower bound, so callers can query an arbitrary historical window. Returns `400` if `start_time >= end_time` when both are present. */
18507
+ /** @description Inclusive lower bound on `createdAt`, in unix milliseconds. Supplying either `start_time` or `end_time` replaces the endpoint's default 24-hour lower bound, so callers can query an arbitrary historical window. Returns `400` if `start_time > end_time` when both are present. */
17443
18508
  start_time?: string;
17444
- /** @description Exclusive upper bound on `createdAt`, in unix milliseconds. Supplying either `start_time` or `end_time` replaces the endpoint's default 24-hour lower bound. */
18509
+ /** @description Inclusive upper bound on `createdAt`, in unix milliseconds. Supplying either `start_time` or `end_time` replaces the endpoint's default 24-hour lower bound. */
17445
18510
  end_time?: string;
17446
18511
  /** @description Page number (starts from 1). */
17447
18512
  page?: number;
@@ -17517,7 +18582,7 @@ export interface operations {
17517
18582
  }[];
17518
18583
  };
17519
18584
  };
17520
- /** @description Returned when `start_time` or `end_time` is not a finite number, or when `start_time >= end_time`. */
18585
+ /** @description Returned when `start_time` or `end_time` is not a finite number, or when `start_time > end_time`. */
17521
18586
  400: {
17522
18587
  headers: {
17523
18588
  [name: string]: unknown;
@@ -17554,7 +18619,7 @@ export interface operations {
17554
18619
  content: {
17555
18620
  "application/json": {
17556
18621
  /** @description An array of hook events for testing. */
17557
- events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout")[];
18622
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded")[];
17558
18623
  /** @description The hook configuration for testing. */
17559
18624
  config: {
17560
18625
  url: string;
@@ -17643,8 +18708,8 @@ export interface operations {
17643
18708
  id: string;
17644
18709
  name: string;
17645
18710
  /** @enum {string|null} */
17646
- event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | null;
17647
- events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout")[];
18711
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | null;
18712
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Created" | "Role.Deleted" | "Role.Data.Updated" | "Role.Scopes.Updated" | "Scope.Created" | "Scope.Deleted" | "Scope.Data.Updated" | "Organization.Created" | "Organization.Deleted" | "Organization.Data.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationRole.Data.Updated" | "OrganizationRole.Scopes.Updated" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "OrganizationScope.Data.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded")[];
17648
18713
  config: {
17649
18714
  url: string;
17650
18715
  headers?: {
@@ -17735,6 +18800,13 @@ export interface operations {
17735
18800
  };
17736
18801
  content?: never;
17737
18802
  };
18803
+ /** @description Too Many Requests */
18804
+ 429: {
18805
+ headers: {
18806
+ [name: string]: unknown;
18807
+ };
18808
+ content?: never;
18809
+ };
17738
18810
  /** @description Not Implemented */
17739
18811
  501: {
17740
18812
  headers: {
@@ -17814,6 +18886,7 @@ export interface operations {
17814
18886
  status: string;
17815
18887
  allowUploadMimeTypes?: ("image/jpeg" | "image/png" | "image/gif" | "image/vnd.microsoft.icon" | "image/x-icon" | "image/svg+xml" | "image/tiff" | "image/webp" | "image/bmp" | "application/zip")[];
17816
18888
  maxUploadFileSize?: number;
18889
+ isExperienceAvatarUploadEnabled?: boolean;
17817
18890
  };
17818
18891
  };
17819
18892
  };
@@ -18101,6 +19174,121 @@ export interface operations {
18101
19174
  };
18102
19175
  };
18103
19176
  };
19177
+ ListDomainVerificationFiles: {
19178
+ parameters: {
19179
+ query?: never;
19180
+ header?: never;
19181
+ path: {
19182
+ /** @description The unique identifier of the domain. */
19183
+ id: components["parameters"]["domainId-root"];
19184
+ };
19185
+ cookie?: never;
19186
+ };
19187
+ requestBody?: never;
19188
+ responses: {
19189
+ /** @description The configured domain verification files. */
19190
+ 200: {
19191
+ headers: {
19192
+ [name: string]: unknown;
19193
+ };
19194
+ content: {
19195
+ "application/json": {
19196
+ [key: string]: unknown;
19197
+ };
19198
+ };
19199
+ };
19200
+ /** @description Bad Request */
19201
+ 400: {
19202
+ headers: {
19203
+ [name: string]: unknown;
19204
+ };
19205
+ content?: never;
19206
+ };
19207
+ /** @description Unauthorized */
19208
+ 401: {
19209
+ headers: {
19210
+ [name: string]: unknown;
19211
+ };
19212
+ content?: never;
19213
+ };
19214
+ /** @description Forbidden */
19215
+ 403: {
19216
+ headers: {
19217
+ [name: string]: unknown;
19218
+ };
19219
+ content?: never;
19220
+ };
19221
+ /** @description The domain with the specified ID was not found. */
19222
+ 404: {
19223
+ headers: {
19224
+ [name: string]: unknown;
19225
+ };
19226
+ content?: never;
19227
+ };
19228
+ };
19229
+ };
19230
+ ReplaceDomainVerificationFiles: {
19231
+ parameters: {
19232
+ query?: never;
19233
+ header?: never;
19234
+ path: {
19235
+ /** @description The unique identifier of the domain. */
19236
+ id: components["parameters"]["domainId-root"];
19237
+ };
19238
+ cookie?: never;
19239
+ };
19240
+ requestBody: {
19241
+ content: {
19242
+ "application/json": {
19243
+ /** @description Up to 10 text or JSON verification files served as filenames with extensions at the domain root, or at paths under `/.well-known/`. */
19244
+ verificationFiles: {
19245
+ [key: string]: unknown;
19246
+ };
19247
+ };
19248
+ };
19249
+ };
19250
+ responses: {
19251
+ /** @description The domain verification files were replaced successfully. */
19252
+ 200: {
19253
+ headers: {
19254
+ [name: string]: unknown;
19255
+ };
19256
+ content: {
19257
+ "application/json": {
19258
+ [key: string]: unknown;
19259
+ };
19260
+ };
19261
+ };
19262
+ /** @description Validation error. Please check the request body. */
19263
+ 400: {
19264
+ headers: {
19265
+ [name: string]: unknown;
19266
+ };
19267
+ content?: never;
19268
+ };
19269
+ /** @description Unauthorized */
19270
+ 401: {
19271
+ headers: {
19272
+ [name: string]: unknown;
19273
+ };
19274
+ content?: never;
19275
+ };
19276
+ /** @description Forbidden */
19277
+ 403: {
19278
+ headers: {
19279
+ [name: string]: unknown;
19280
+ };
19281
+ content?: never;
19282
+ };
19283
+ /** @description The domain with the specified ID was not found. */
19284
+ 404: {
19285
+ headers: {
19286
+ [name: string]: unknown;
19287
+ };
19288
+ content?: never;
19289
+ };
19290
+ };
19291
+ };
18104
19292
  CleanupDomains: {
18105
19293
  parameters: {
18106
19294
  query?: never;
@@ -19498,6 +20686,13 @@ export interface operations {
19498
20686
  };
19499
20687
  content?: never;
19500
20688
  };
20689
+ /** @description Too Many Requests */
20690
+ 429: {
20691
+ headers: {
20692
+ [name: string]: unknown;
20693
+ };
20694
+ content?: never;
20695
+ };
19501
20696
  /** @description No email connector is configured for the tenant. */
19502
20697
  501: {
19503
20698
  headers: {
@@ -19557,6 +20752,13 @@ export interface operations {
19557
20752
  };
19558
20753
  content?: never;
19559
20754
  };
20755
+ /** @description Too Many Requests */
20756
+ 429: {
20757
+ headers: {
20758
+ [name: string]: unknown;
20759
+ };
20760
+ content?: never;
20761
+ };
19560
20762
  };
19561
20763
  };
19562
20764
  ReplaceOrganizationInvitationStatus: {
@@ -19830,6 +21032,13 @@ export interface operations {
19830
21032
  };
19831
21033
  content?: never;
19832
21034
  };
21035
+ /** @description Unprocessable Content */
21036
+ 422: {
21037
+ headers: {
21038
+ [name: string]: unknown;
21039
+ };
21040
+ content?: never;
21041
+ };
19833
21042
  };
19834
21043
  };
19835
21044
  GetOrganization: {
@@ -20074,6 +21283,13 @@ export interface operations {
20074
21283
  };
20075
21284
  content?: never;
20076
21285
  };
21286
+ /** @description Unprocessable Content */
21287
+ 422: {
21288
+ headers: {
21289
+ [name: string]: unknown;
21290
+ };
21291
+ content?: never;
21292
+ };
20077
21293
  };
20078
21294
  };
20079
21295
  ListOrganizationUsers: {
@@ -20083,6 +21299,10 @@ export interface operations {
20083
21299
  *
20084
21300
  * If not provided, all users will be returned. */
20085
21301
  q?: string;
21302
+ /** @description The organization role ID used to filter organization members.
21303
+ *
21304
+ * If not provided, all organization members will be returned. */
21305
+ organizationRoleId?: string;
20086
21306
  /** @description Page number (starts from 1). */
20087
21307
  page?: number;
20088
21308
  /** @description Entries per page. */
@@ -20757,7 +21977,7 @@ export interface operations {
20757
21977
  tenantId: string;
20758
21978
  id: string;
20759
21979
  name: string;
20760
- secret: components["schemas"]["ApplicationLegacySecret"];
21980
+ secret?: components["schemas"]["ApplicationLegacySecret"];
20761
21981
  description: string | null;
20762
21982
  /** @enum {string} */
20763
21983
  type: "Native" | "SPA" | "Traditional" | "MachineToMachine" | "Protected" | "SAML";
@@ -22596,6 +23816,8 @@ export interface operations {
22596
23816
  /** @enum {string} */
22597
23817
  mfa?: "Off" | "ReadOnly" | "Edit";
22598
23818
  /** @enum {string} */
23819
+ passkey?: "Off" | "ReadOnly" | "Edit";
23820
+ /** @enum {string} */
22599
23821
  session?: "Off" | "ReadOnly" | "Edit";
22600
23822
  };
22601
23823
  webauthnRelatedOrigins: string[];
@@ -22658,6 +23880,8 @@ export interface operations {
22658
23880
  /** @enum {string} */
22659
23881
  mfa?: "Off" | "ReadOnly" | "Edit";
22660
23882
  /** @enum {string} */
23883
+ passkey?: "Off" | "ReadOnly" | "Edit";
23884
+ /** @enum {string} */
22661
23885
  session?: "Off" | "ReadOnly" | "Edit";
22662
23886
  };
22663
23887
  /** @description The allowed domains for webauthn. */
@@ -22707,6 +23931,8 @@ export interface operations {
22707
23931
  /** @enum {string} */
22708
23932
  mfa?: "Off" | "ReadOnly" | "Edit";
22709
23933
  /** @enum {string} */
23934
+ passkey?: "Off" | "ReadOnly" | "Edit";
23935
+ /** @enum {string} */
22710
23936
  session?: "Off" | "ReadOnly" | "Edit";
22711
23937
  };
22712
23938
  webauthnRelatedOrigins: string[];
@@ -23096,6 +24322,8 @@ export interface operations {
23096
24322
  customData?: {
23097
24323
  [key: string]: unknown;
23098
24324
  };
24325
+ /** @description Whether app-level access control is enabled for this application. */
24326
+ appLevelAccessControlEnabled?: boolean;
23099
24327
  attributeMapping?: {
23100
24328
  sub?: string;
23101
24329
  name?: string;
@@ -23940,6 +25168,8 @@ export interface operations {
23940
25168
  token: string;
23941
25169
  context: {
23942
25170
  jitOrganizationIds?: string[];
25171
+ /** @enum {string} */
25172
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
23943
25173
  };
23944
25174
  /** @enum {string} */
23945
25175
  status: "active" | "consumed" | "revoked" | "expired";
@@ -23983,9 +25213,11 @@ export interface operations {
23983
25213
  "application/json": {
23984
25214
  /** @description The email address to associate with the one-time token. */
23985
25215
  email: string;
23986
- /** @description Additional context to store with the one-time token. This can be used to store arbitrary data that will be associated with the token. */
25216
+ /** @description Additional context to store with the one-time token. Set `interactionEvent` to scope the token to a specific flow, such as `ForgotPassword` for reset-password magic links. */
23987
25217
  context?: {
23988
25218
  jitOrganizationIds?: string[];
25219
+ /** @enum {string} */
25220
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
23989
25221
  };
23990
25222
  /** @description The expiration time in seconds. If not provided, defaults to 10 mins (600 seconds). */
23991
25223
  expiresIn?: number;
@@ -24006,6 +25238,8 @@ export interface operations {
24006
25238
  token: string;
24007
25239
  context: {
24008
25240
  jitOrganizationIds?: string[];
25241
+ /** @enum {string} */
25242
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
24009
25243
  };
24010
25244
  /** @enum {string} */
24011
25245
  status: "active" | "consumed" | "revoked" | "expired";
@@ -24062,6 +25296,8 @@ export interface operations {
24062
25296
  token: string;
24063
25297
  context: {
24064
25298
  jitOrganizationIds?: string[];
25299
+ /** @enum {string} */
25300
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
24065
25301
  };
24066
25302
  /** @enum {string} */
24067
25303
  status: "active" | "consumed" | "revoked" | "expired";
@@ -24180,6 +25416,8 @@ export interface operations {
24180
25416
  token: string;
24181
25417
  context: {
24182
25418
  jitOrganizationIds?: string[];
25419
+ /** @enum {string} */
25420
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
24183
25421
  };
24184
25422
  /** @enum {string} */
24185
25423
  status: "active" | "consumed" | "revoked" | "expired";
@@ -24253,6 +25491,8 @@ export interface operations {
24253
25491
  token: string;
24254
25492
  context: {
24255
25493
  jitOrganizationIds?: string[];
25494
+ /** @enum {string} */
25495
+ interactionEvent?: "SignIn" | "Register" | "ForgotPassword";
24256
25496
  };
24257
25497
  /** @enum {string} */
24258
25498
  status: "active" | "consumed" | "revoked" | "expired";
@@ -25746,10 +26986,9 @@ export interface operations {
25746
26986
  maxAttempts?: number;
25747
26987
  lockoutDuration?: number;
25748
26988
  };
25749
- emailBlocklistPolicy: {
25750
- blockDisposableAddresses?: boolean;
25751
- blockSubaddressing?: boolean;
25752
- customBlocklist?: string[];
26989
+ verificationCodePolicy: {
26990
+ expirationDuration?: number;
26991
+ maxRetryAttempts?: number;
25753
26992
  };
25754
26993
  passkeySignIn: {
25755
26994
  enabled?: boolean;
@@ -25759,6 +26998,19 @@ export interface operations {
25759
26998
  signUpProfileFields: {
25760
26999
  name: string;
25761
27000
  }[] | null;
27001
+ passwordExpiration: {
27002
+ /** Format: false */
27003
+ enabled?: boolean;
27004
+ } | {
27005
+ /** Format: true */
27006
+ enabled: boolean;
27007
+ validPeriodDays: number;
27008
+ enabledAt?: number;
27009
+ };
27010
+ /** @description Validator function */
27011
+ usernamePolicy: {
27012
+ [key: string]: unknown;
27013
+ };
25762
27014
  socialConnectors: {
25763
27015
  id: string;
25764
27016
  target: string;
@@ -26076,10 +27328,9 @@ export interface operations {
26076
27328
  maxAttempts?: number;
26077
27329
  lockoutDuration?: number;
26078
27330
  };
26079
- emailBlocklistPolicy: {
26080
- blockDisposableAddresses?: boolean;
26081
- blockSubaddressing?: boolean;
26082
- customBlocklist?: string[];
27331
+ verificationCodePolicy: {
27332
+ expirationDuration?: number;
27333
+ maxRetryAttempts?: number;
26083
27334
  };
26084
27335
  passkeySignIn: {
26085
27336
  enabled?: boolean;
@@ -26089,6 +27340,19 @@ export interface operations {
26089
27340
  signUpProfileFields: {
26090
27341
  name: string;
26091
27342
  }[] | null;
27343
+ passwordExpiration: {
27344
+ /** Format: false */
27345
+ enabled?: boolean;
27346
+ } | {
27347
+ /** Format: true */
27348
+ enabled: boolean;
27349
+ validPeriodDays: number;
27350
+ enabledAt?: number;
27351
+ };
27352
+ /** @description Validator function */
27353
+ usernamePolicy: {
27354
+ [key: string]: unknown;
27355
+ };
26092
27356
  socialConnectors: {
26093
27357
  id: string;
26094
27358
  target: string;
@@ -26282,6 +27546,8 @@ export interface operations {
26282
27546
  /** @enum {string} */
26283
27547
  mfa?: "Off" | "ReadOnly" | "Edit";
26284
27548
  /** @enum {string} */
27549
+ passkey?: "Off" | "ReadOnly" | "Edit";
27550
+ /** @enum {string} */
26285
27551
  session?: "Off" | "ReadOnly" | "Edit";
26286
27552
  };
26287
27553
  webauthnRelatedOrigins: string[];