@logto/api 1.44.0-beta.1 → 1.45.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.
package/README.md CHANGED
@@ -92,8 +92,8 @@ custom cancellation reject the API call instead of returning a response object.
92
92
  #### Token refresh
93
93
 
94
94
  After a Management API request returns `401`, the next request fetches a new token. If the replacement
95
- token also receives a `401`, it remains cached until a request succeeds or the token expires. The SDK
96
- does not automatically retry the failed API request.
95
+ token also receives a `401`, it remains cached until the API returns a non-`401` response or the token
96
+ expires. The SDK does not automatically retry the failed API request.
97
97
 
98
98
  #### Custom authentication
99
99
 
@@ -56,7 +56,7 @@ export declare class ClientCredentials {
56
56
  * A delayed response for an older token must not invalidate a newer cached token.
57
57
  */
58
58
  invalidateAccessToken(token: string): void;
59
- /** Allows a future 401 to invalidate the token after it receives a successful API response. */
59
+ /** Allows a future 401 to invalidate the token after the API accepts it. */
60
60
  markAccessTokenAsValid(token: string): void;
61
61
  private fetchAccessToken;
62
62
  private requestAccessToken;
@@ -77,7 +77,7 @@ export class ClientCredentials {
77
77
  this.awaitingValidationAfterRefresh = true;
78
78
  }
79
79
  }
80
- /** Allows a future 401 to invalidate the token after it receives a successful API response. */
80
+ /** Allows a future 401 to invalidate the token after the API accepts it. */
81
81
  markAccessTokenAsValid(token) {
82
82
  if (this.accessToken?.value === token) {
83
83
  this.awaitingValidationAfterRefresh = false;
@@ -700,7 +700,7 @@ export interface paths {
700
700
  head?: never;
701
701
  /**
702
702
  * Update CIMD config
703
- * @description Update the tenant-level OAuth Client ID Metadata Document (CIMD) switch. Enabling requires the OIDC provider SSRF protection to be active.
703
+ * @description Update the tenant-level OAuth Client ID Metadata Document (CIMD) configuration. Enabling requires the OIDC provider SSRF protection to be active.
704
704
  */
705
705
  patch: operations["UpdateCimdConfig"];
706
706
  trace?: never;
@@ -1625,6 +1625,46 @@ export interface paths {
1625
1625
  patch?: never;
1626
1626
  trace?: never;
1627
1627
  };
1628
+ "/api/users/{userId}/trusted-devices": {
1629
+ parameters: {
1630
+ query?: never;
1631
+ header?: never;
1632
+ path?: never;
1633
+ cookie?: never;
1634
+ };
1635
+ /**
1636
+ * Get user trusted devices
1637
+ * @description Retrieve all active trusted devices for the user.
1638
+ */
1639
+ get: operations["ListUserTrustedDevices"];
1640
+ put?: never;
1641
+ post?: never;
1642
+ delete?: never;
1643
+ options?: never;
1644
+ head?: never;
1645
+ patch?: never;
1646
+ trace?: never;
1647
+ };
1648
+ "/api/users/{userId}/trusted-devices/{trustedDeviceId}": {
1649
+ parameters: {
1650
+ query?: never;
1651
+ header?: never;
1652
+ path?: never;
1653
+ cookie?: never;
1654
+ };
1655
+ get?: never;
1656
+ put?: never;
1657
+ post?: never;
1658
+ /**
1659
+ * Delete a user trusted device
1660
+ * @description Delete a trusted device that belongs to the user.
1661
+ */
1662
+ delete: operations["DeleteUserTrustedDevice"];
1663
+ options?: never;
1664
+ head?: never;
1665
+ patch?: never;
1666
+ trace?: never;
1667
+ };
1628
1668
  "/api/logs": {
1629
1669
  parameters: {
1630
1670
  query?: never;
@@ -3125,6 +3165,30 @@ export interface paths {
3125
3165
  patch?: never;
3126
3166
  trace?: never;
3127
3167
  };
3168
+ "/api/systems/license": {
3169
+ parameters: {
3170
+ query?: never;
3171
+ header?: never;
3172
+ path?: never;
3173
+ cookie?: never;
3174
+ };
3175
+ /**
3176
+ * Get the installed license.
3177
+ * @description Get the license installed on this self-hosted deployment, i.e. the plan it grants, the entitlements it unlocks, its expiration, and its refresh/grace status. The license key itself is never returned. Returns 404 when no license is installed, and 501 on Logto Cloud.
3178
+ */
3179
+ get: operations["GetSystemLicense"];
3180
+ /**
3181
+ * Install a license.
3182
+ * @description Install a license key on this self-hosted deployment, replacing the installed license if there is one. The key's signature is verified against the public key built into Logto before it is saved, and a key past its expiration is rejected as a stale copy. Returns 501 on Logto Cloud.
3183
+ */
3184
+ put: operations["InstallSystemLicense"];
3185
+ post?: never;
3186
+ delete?: never;
3187
+ options?: never;
3188
+ head?: never;
3189
+ patch?: never;
3190
+ trace?: never;
3191
+ };
3128
3192
  "/api/subject-tokens": {
3129
3193
  parameters: {
3130
3194
  query?: never;
@@ -3847,13 +3911,13 @@ export interface paths {
3847
3911
  };
3848
3912
  /**
3849
3913
  * Handle SAML authentication request (Redirect binding)
3850
- * @description Process SAML authentication request using HTTP Redirect binding.
3914
+ * @description Process SAML authentication request using HTTP Redirect binding. The application policy or ForceAuthn can require fresh authentication; otherwise an existing session may be reused. The response assertion preserves the actual authentication time. When authnRequestConfig.requireSignedAuthnRequests is true, the request must be signed using the configured service provider signing certificate.
3851
3915
  */
3852
3916
  get: operations["GetSamlAuthn"];
3853
3917
  put?: never;
3854
3918
  /**
3855
3919
  * Handle SAML authentication request (POST binding)
3856
- * @description Process SAML authentication request using HTTP POST binding.
3920
+ * @description Process SAML authentication request using HTTP POST binding. The application policy or ForceAuthn can require fresh authentication; otherwise an existing session may be reused. The response assertion preserves the actual authentication time. When authnRequestConfig.requireSignedAuthnRequests is true, the request must be signed using the configured service provider signing certificate.
3857
3921
  */
3858
3922
  post: operations["CreateSamlAuthn"];
3859
3923
  delete?: never;
@@ -3983,6 +4047,21 @@ export interface components {
3983
4047
  * @description The creation time of the SAML application.
3984
4048
  */
3985
4049
  createdAt?: string;
4050
+ /** @description IdP-side authentication policy. Fresh authentication is forced unless forceAuthn is explicitly false, including when this object is null or empty. PATCH replaces this object. */
4051
+ authnRequestConfig?: {
4052
+ /**
4053
+ * @description Require fresh authentication for every sign-in to this application. Set to false to reuse an existing session unless the SP requests ForceAuthn.
4054
+ * @default true
4055
+ */
4056
+ forceAuthn: boolean;
4057
+ /**
4058
+ * @description Require signed AuthnRequests for both HTTP-POST and HTTP-Redirect bindings. Defaults to false.
4059
+ * @default false
4060
+ */
4061
+ requireSignedAuthnRequests: boolean;
4062
+ /** @description PEM-encoded RSA X.509 signing certificate of the service provider. Required when requireSignedAuthnRequests is true. Used independently of the assertion encryption certificate. */
4063
+ signingCertificate?: string;
4064
+ } | null;
3986
4065
  };
3987
4066
  /** @description Base64-encoded SAML request message. */
3988
4067
  SamlRequest: string;
@@ -4091,6 +4170,10 @@ export interface components {
4091
4170
  "sessionId-root": string;
4092
4171
  /** @description The unique identifier of the session. */
4093
4172
  sessionId: string;
4173
+ /** @description The unique identifier of the trusted device. */
4174
+ "trustedDeviceId-root": string;
4175
+ /** @description The unique identifier of the trusted device. */
4176
+ trustedDeviceId: string;
4094
4177
  /** @description The unique identifier of the grant. */
4095
4178
  "grantId-root": string;
4096
4179
  /** @description The unique identifier of the grant. */
@@ -5468,6 +5551,7 @@ export interface operations {
5468
5551
  [key: string]: unknown;
5469
5552
  };
5470
5553
  isMfaRequired: boolean;
5554
+ isTrustedDeviceAllowed: boolean;
5471
5555
  color: {
5472
5556
  /** Format: regex */
5473
5557
  primaryColor?: string;
@@ -6378,6 +6462,7 @@ export interface operations {
6378
6462
  [key: string]: unknown;
6379
6463
  };
6380
6464
  isMfaRequired: boolean;
6465
+ isTrustedDeviceAllowed: boolean;
6381
6466
  color: {
6382
6467
  /** Format: regex */
6383
6468
  primaryColor?: string;
@@ -7169,6 +7254,7 @@ export interface operations {
7169
7254
  /** @enum {string} */
7170
7255
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
7171
7256
  verified: boolean;
7257
+ userId?: string;
7172
7258
  /** Format: "EmailVerificationCode" */
7173
7259
  type: string;
7174
7260
  identifier: {
@@ -7181,6 +7267,7 @@ export interface operations {
7181
7267
  /** @enum {string} */
7182
7268
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
7183
7269
  verified: boolean;
7270
+ userId?: string;
7184
7271
  /** Format: "PhoneVerificationCode" */
7185
7272
  type: string;
7186
7273
  identifier: {
@@ -7193,6 +7280,7 @@ export interface operations {
7193
7280
  /** @enum {string} */
7194
7281
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
7195
7282
  verified: boolean;
7283
+ userId?: string;
7196
7284
  /** Format: "MfaEmailVerificationCode" */
7197
7285
  type: string;
7198
7286
  identifier: {
@@ -7205,6 +7293,7 @@ export interface operations {
7205
7293
  /** @enum {string} */
7206
7294
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
7207
7295
  verified: boolean;
7296
+ userId?: string;
7208
7297
  /** Format: "MfaPhoneVerificationCode" */
7209
7298
  type: string;
7210
7299
  identifier: {
@@ -7668,6 +7757,7 @@ export interface operations {
7668
7757
  /** @enum {string} */
7669
7758
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
7670
7759
  verified: boolean;
7760
+ userId?: string;
7671
7761
  /** Format: "EmailVerificationCode" */
7672
7762
  type: string;
7673
7763
  identifier: {
@@ -7680,6 +7770,7 @@ export interface operations {
7680
7770
  /** @enum {string} */
7681
7771
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
7682
7772
  verified: boolean;
7773
+ userId?: string;
7683
7774
  /** Format: "PhoneVerificationCode" */
7684
7775
  type: string;
7685
7776
  identifier: {
@@ -7692,6 +7783,7 @@ export interface operations {
7692
7783
  /** @enum {string} */
7693
7784
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
7694
7785
  verified: boolean;
7786
+ userId?: string;
7695
7787
  /** Format: "MfaEmailVerificationCode" */
7696
7788
  type: string;
7697
7789
  identifier: {
@@ -7704,6 +7796,7 @@ export interface operations {
7704
7796
  /** @enum {string} */
7705
7797
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
7706
7798
  verified: boolean;
7799
+ userId?: string;
7707
7800
  /** Format: "MfaPhoneVerificationCode" */
7708
7801
  type: string;
7709
7802
  identifier: {
@@ -8110,6 +8203,7 @@ export interface operations {
8110
8203
  /** @enum {string} */
8111
8204
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
8112
8205
  verified: boolean;
8206
+ userId?: string;
8113
8207
  /** Format: "EmailVerificationCode" */
8114
8208
  type: string;
8115
8209
  identifier: {
@@ -8122,6 +8216,7 @@ export interface operations {
8122
8216
  /** @enum {string} */
8123
8217
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
8124
8218
  verified: boolean;
8219
+ userId?: string;
8125
8220
  /** Format: "PhoneVerificationCode" */
8126
8221
  type: string;
8127
8222
  identifier: {
@@ -8134,6 +8229,7 @@ export interface operations {
8134
8229
  /** @enum {string} */
8135
8230
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
8136
8231
  verified: boolean;
8232
+ userId?: string;
8137
8233
  /** Format: "MfaEmailVerificationCode" */
8138
8234
  type: string;
8139
8235
  identifier: {
@@ -8146,6 +8242,7 @@ export interface operations {
8146
8242
  /** @enum {string} */
8147
8243
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
8148
8244
  verified: boolean;
8245
+ userId?: string;
8149
8246
  /** Format: "MfaPhoneVerificationCode" */
8150
8247
  type: string;
8151
8248
  identifier: {
@@ -8651,6 +8748,7 @@ export interface operations {
8651
8748
  /** @enum {string} */
8652
8749
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
8653
8750
  verified: boolean;
8751
+ userId?: string;
8654
8752
  /** Format: "EmailVerificationCode" */
8655
8753
  type: string;
8656
8754
  identifier: {
@@ -8663,6 +8761,7 @@ export interface operations {
8663
8761
  /** @enum {string} */
8664
8762
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
8665
8763
  verified: boolean;
8764
+ userId?: string;
8666
8765
  /** Format: "PhoneVerificationCode" */
8667
8766
  type: string;
8668
8767
  identifier: {
@@ -8675,6 +8774,7 @@ export interface operations {
8675
8774
  /** @enum {string} */
8676
8775
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
8677
8776
  verified: boolean;
8777
+ userId?: string;
8678
8778
  /** Format: "MfaEmailVerificationCode" */
8679
8779
  type: string;
8680
8780
  identifier: {
@@ -8687,6 +8787,7 @@ export interface operations {
8687
8787
  /** @enum {string} */
8688
8788
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
8689
8789
  verified: boolean;
8790
+ userId?: string;
8690
8791
  /** Format: "MfaPhoneVerificationCode" */
8691
8792
  type: string;
8692
8793
  identifier: {
@@ -9135,6 +9236,7 @@ export interface operations {
9135
9236
  /** @enum {string} */
9136
9237
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
9137
9238
  verified: boolean;
9239
+ userId?: string;
9138
9240
  /** Format: "EmailVerificationCode" */
9139
9241
  type: string;
9140
9242
  identifier: {
@@ -9147,6 +9249,7 @@ export interface operations {
9147
9249
  /** @enum {string} */
9148
9250
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
9149
9251
  verified: boolean;
9252
+ userId?: string;
9150
9253
  /** Format: "PhoneVerificationCode" */
9151
9254
  type: string;
9152
9255
  identifier: {
@@ -9159,6 +9262,7 @@ export interface operations {
9159
9262
  /** @enum {string} */
9160
9263
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
9161
9264
  verified: boolean;
9265
+ userId?: string;
9162
9266
  /** Format: "MfaEmailVerificationCode" */
9163
9267
  type: string;
9164
9268
  identifier: {
@@ -9171,6 +9275,7 @@ export interface operations {
9171
9275
  /** @enum {string} */
9172
9276
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
9173
9277
  verified: boolean;
9278
+ userId?: string;
9174
9279
  /** Format: "MfaPhoneVerificationCode" */
9175
9280
  type: string;
9176
9281
  identifier: {
@@ -9630,6 +9735,7 @@ export interface operations {
9630
9735
  /** @enum {string} */
9631
9736
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
9632
9737
  verified: boolean;
9738
+ userId?: string;
9633
9739
  /** Format: "EmailVerificationCode" */
9634
9740
  type: string;
9635
9741
  identifier: {
@@ -9642,6 +9748,7 @@ export interface operations {
9642
9748
  /** @enum {string} */
9643
9749
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
9644
9750
  verified: boolean;
9751
+ userId?: string;
9645
9752
  /** Format: "PhoneVerificationCode" */
9646
9753
  type: string;
9647
9754
  identifier: {
@@ -9654,6 +9761,7 @@ export interface operations {
9654
9761
  /** @enum {string} */
9655
9762
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
9656
9763
  verified: boolean;
9764
+ userId?: string;
9657
9765
  /** Format: "MfaEmailVerificationCode" */
9658
9766
  type: string;
9659
9767
  identifier: {
@@ -9666,6 +9774,7 @@ export interface operations {
9666
9774
  /** @enum {string} */
9667
9775
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
9668
9776
  verified: boolean;
9777
+ userId?: string;
9669
9778
  /** Format: "MfaPhoneVerificationCode" */
9670
9779
  type: string;
9671
9780
  identifier: {
@@ -10521,6 +10630,8 @@ export interface operations {
10521
10630
  content: {
10522
10631
  "application/json": {
10523
10632
  enabled: boolean;
10633
+ /** @description Experimental. When enabled, Logto adds `consent` to the `prompt` parameter of CIMD authorization requests that include the `offline_access` scope without it, so the client can receive a refresh token. Requests with `prompt=none` are not changed. Defaults to `false`. */
10634
+ addConsentPromptForOfflineAccess?: boolean;
10524
10635
  };
10525
10636
  };
10526
10637
  };
@@ -10550,7 +10661,10 @@ export interface operations {
10550
10661
  requestBody: {
10551
10662
  content: {
10552
10663
  "application/json": {
10664
+ /** @description Whether CIMD is enabled for the tenant. */
10553
10665
  enabled?: boolean;
10666
+ /** @description Experimental. When enabled, Logto adds `consent` to the `prompt` parameter of CIMD authorization requests that include the `offline_access` scope without it, so the client can receive a refresh token. Requests with `prompt=none` are not changed. Defaults to `false`. */
10667
+ addConsentPromptForOfflineAccess?: boolean;
10554
10668
  };
10555
10669
  };
10556
10670
  };
@@ -10563,6 +10677,8 @@ export interface operations {
10563
10677
  content: {
10564
10678
  "application/json": {
10565
10679
  enabled: boolean;
10680
+ /** @description Experimental. When enabled, Logto adds `consent` to the `prompt` parameter of CIMD authorization requests that include the `offline_access` scope without it, so the client can receive a refresh token. Requests with `prompt=none` are not changed. Defaults to `false`. */
10681
+ addConsentPromptForOfflineAccess?: boolean;
10566
10682
  };
10567
10683
  };
10568
10684
  };
@@ -11734,6 +11850,8 @@ export interface operations {
11734
11850
  query?: {
11735
11851
  /** @description If it's provided with a truthy value (`true`, `1`, `yes`), the scopes of each resource will be included in the response. */
11736
11852
  includeScopes?: string;
11853
+ /** @description If it's provided with a truthy value (`true`, `1`, `yes`), Logto Management API resources will be excluded from the response. */
11854
+ excludeManagementApis?: string;
11737
11855
  /** @description Page number (starts from 1). */
11738
11856
  page?: number;
11739
11857
  /** @description Entries per page. */
@@ -12503,6 +12621,10 @@ export interface operations {
12503
12621
  adaptiveMfa: {
12504
12622
  enabled?: boolean;
12505
12623
  };
12624
+ trustedDevice: {
12625
+ enabled?: boolean;
12626
+ durationDays?: number;
12627
+ };
12506
12628
  singleSignOnEnabled: boolean;
12507
12629
  /** @description The support email address to display on the error pages. */
12508
12630
  supportEmail: string | null;
@@ -12714,6 +12836,10 @@ export interface operations {
12714
12836
  adaptiveMfa?: {
12715
12837
  enabled?: boolean;
12716
12838
  };
12839
+ trustedDevice?: {
12840
+ enabled?: boolean;
12841
+ durationDays?: number;
12842
+ };
12717
12843
  singleSignOnEnabled?: boolean;
12718
12844
  captchaPolicy?: {
12719
12845
  enabled?: boolean;
@@ -12886,6 +13012,10 @@ export interface operations {
12886
13012
  adaptiveMfa: {
12887
13013
  enabled?: boolean;
12888
13014
  };
13015
+ trustedDevice: {
13016
+ enabled?: boolean;
13017
+ durationDays?: number;
13018
+ };
12889
13019
  singleSignOnEnabled: boolean;
12890
13020
  supportEmail: string | null;
12891
13021
  supportWebsiteUrl: string | null;
@@ -13079,7 +13209,7 @@ export interface operations {
13079
13209
  };
13080
13210
  content?: never;
13081
13211
  };
13082
- /** @description Forbidden */
13212
+ /** @description Bring your UI is not available under the current entitlements, including when the self-hosted license grace period has ended. */
13083
13213
  403: {
13084
13214
  headers: {
13085
13215
  [name: string]: unknown;
@@ -13841,6 +13971,12 @@ export interface operations {
13841
13971
  search_params?: {
13842
13972
  [key: string]: string;
13843
13973
  };
13974
+ /** @description The external identity type to use for an exact user lookup. Use `social` for a social connector identity or `sso` for an enterprise SSO identity. Must be provided together with `identityProvider` and `identityId`. External identity filters are combined with other user filters using AND logic. */
13975
+ identityType?: "social" | "sso";
13976
+ /** @description The connector target for a social identity (for example, `dingtalk`), or the issuer for an enterprise SSO identity. Must be provided together with `identityType` and `identityId`. */
13977
+ identityProvider?: string;
13978
+ /** @description The user identifier issued by the external identity provider, such as a DingTalk OpenID. Must be provided together with `identityType` and `identityProvider`. */
13979
+ identityId?: string;
13844
13980
  };
13845
13981
  header?: never;
13846
13982
  path?: never;
@@ -13957,6 +14093,11 @@ export interface operations {
13957
14093
  requestBody: {
13958
14094
  content: {
13959
14095
  "application/json": {
14096
+ /**
14097
+ * Format: regex
14098
+ * @description The unique ID for the user, up to 128 characters of letters, numbers, and `_ - . @ : + = |`, excluding `.` and `..`. If not provided, a random ID will be generated. Useful for keeping existing user IDs when migrating from another identity provider.
14099
+ */
14100
+ id?: string;
13960
14101
  /**
13961
14102
  * Format: regex
13962
14103
  * @description Primary phone number for the user. It should be unique across all users.
@@ -14123,6 +14264,13 @@ export interface operations {
14123
14264
  };
14124
14265
  content?: never;
14125
14266
  };
14267
+ /** @description Not Implemented */
14268
+ 501: {
14269
+ headers: {
14270
+ [name: string]: unknown;
14271
+ };
14272
+ content?: never;
14273
+ };
14126
14274
  };
14127
14275
  };
14128
14276
  UpdateUserPassword: {
@@ -15273,6 +15421,7 @@ export interface operations {
15273
15421
  [key: string]: unknown;
15274
15422
  };
15275
15423
  isMfaRequired: boolean;
15424
+ isTrustedDeviceAllowed: boolean;
15276
15425
  color: {
15277
15426
  /** Format: regex */
15278
15427
  primaryColor?: string;
@@ -16292,6 +16441,7 @@ export interface operations {
16292
16441
  /** @enum {string} */
16293
16442
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
16294
16443
  verified: boolean;
16444
+ userId?: string;
16295
16445
  /** Format: "EmailVerificationCode" */
16296
16446
  type: string;
16297
16447
  identifier: {
@@ -16304,6 +16454,7 @@ export interface operations {
16304
16454
  /** @enum {string} */
16305
16455
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
16306
16456
  verified: boolean;
16457
+ userId?: string;
16307
16458
  /** Format: "PhoneVerificationCode" */
16308
16459
  type: string;
16309
16460
  identifier: {
@@ -16316,6 +16467,7 @@ export interface operations {
16316
16467
  /** @enum {string} */
16317
16468
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
16318
16469
  verified: boolean;
16470
+ userId?: string;
16319
16471
  /** Format: "MfaEmailVerificationCode" */
16320
16472
  type: string;
16321
16473
  identifier: {
@@ -16328,6 +16480,7 @@ export interface operations {
16328
16480
  /** @enum {string} */
16329
16481
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
16330
16482
  verified: boolean;
16483
+ userId?: string;
16331
16484
  /** Format: "MfaPhoneVerificationCode" */
16332
16485
  type: string;
16333
16486
  identifier: {
@@ -16518,6 +16671,7 @@ export interface operations {
16518
16671
  /** @enum {string} */
16519
16672
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
16520
16673
  verified: boolean;
16674
+ userId?: string;
16521
16675
  /** Format: "EmailVerificationCode" */
16522
16676
  type: string;
16523
16677
  identifier: {
@@ -16530,6 +16684,7 @@ export interface operations {
16530
16684
  /** @enum {string} */
16531
16685
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
16532
16686
  verified: boolean;
16687
+ userId?: string;
16533
16688
  /** Format: "PhoneVerificationCode" */
16534
16689
  type: string;
16535
16690
  identifier: {
@@ -16542,6 +16697,7 @@ export interface operations {
16542
16697
  /** @enum {string} */
16543
16698
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
16544
16699
  verified: boolean;
16700
+ userId?: string;
16545
16701
  /** Format: "MfaEmailVerificationCode" */
16546
16702
  type: string;
16547
16703
  identifier: {
@@ -16554,6 +16710,7 @@ export interface operations {
16554
16710
  /** @enum {string} */
16555
16711
  templateType: "SignIn" | "Register" | "ForgotPassword" | "OrganizationInvitation" | "Generic" | "UserPermissionValidation" | "BindNewIdentifier" | "MfaVerification" | "BindMfa";
16556
16712
  verified: boolean;
16713
+ userId?: string;
16557
16714
  /** Format: "MfaPhoneVerificationCode" */
16558
16715
  type: string;
16559
16716
  identifier: {
@@ -16755,6 +16912,116 @@ export interface operations {
16755
16912
  };
16756
16913
  };
16757
16914
  };
16915
+ ListUserTrustedDevices: {
16916
+ parameters: {
16917
+ query?: never;
16918
+ header?: never;
16919
+ path: {
16920
+ /** @description The unique identifier of the user. */
16921
+ userId: components["parameters"]["userId"];
16922
+ };
16923
+ cookie?: never;
16924
+ };
16925
+ requestBody?: never;
16926
+ responses: {
16927
+ /** @description A list of the user's active trusted devices. */
16928
+ 200: {
16929
+ headers: {
16930
+ [name: string]: unknown;
16931
+ };
16932
+ content: {
16933
+ "application/json": {
16934
+ id: string;
16935
+ userAgent: string | null;
16936
+ country: string | null;
16937
+ city: string | null;
16938
+ createdAt: number;
16939
+ lastUsedAt: number;
16940
+ expiresAt: number;
16941
+ }[];
16942
+ };
16943
+ };
16944
+ /** @description Bad Request */
16945
+ 400: {
16946
+ headers: {
16947
+ [name: string]: unknown;
16948
+ };
16949
+ content?: never;
16950
+ };
16951
+ /** @description Unauthorized */
16952
+ 401: {
16953
+ headers: {
16954
+ [name: string]: unknown;
16955
+ };
16956
+ content?: never;
16957
+ };
16958
+ /** @description Forbidden */
16959
+ 403: {
16960
+ headers: {
16961
+ [name: string]: unknown;
16962
+ };
16963
+ content?: never;
16964
+ };
16965
+ /** @description The user was not found. */
16966
+ 404: {
16967
+ headers: {
16968
+ [name: string]: unknown;
16969
+ };
16970
+ content?: never;
16971
+ };
16972
+ };
16973
+ };
16974
+ DeleteUserTrustedDevice: {
16975
+ parameters: {
16976
+ query?: never;
16977
+ header?: never;
16978
+ path: {
16979
+ /** @description The unique identifier of the user. */
16980
+ userId: components["parameters"]["userId"];
16981
+ /** @description The unique identifier of the trusted device. */
16982
+ trustedDeviceId: components["parameters"]["trustedDeviceId"];
16983
+ };
16984
+ cookie?: never;
16985
+ };
16986
+ requestBody?: never;
16987
+ responses: {
16988
+ /** @description The trusted device was deleted successfully. */
16989
+ 204: {
16990
+ headers: {
16991
+ [name: string]: unknown;
16992
+ };
16993
+ content?: never;
16994
+ };
16995
+ /** @description Bad Request */
16996
+ 400: {
16997
+ headers: {
16998
+ [name: string]: unknown;
16999
+ };
17000
+ content?: never;
17001
+ };
17002
+ /** @description Unauthorized */
17003
+ 401: {
17004
+ headers: {
17005
+ [name: string]: unknown;
17006
+ };
17007
+ content?: never;
17008
+ };
17009
+ /** @description Forbidden */
17010
+ 403: {
17011
+ headers: {
17012
+ [name: string]: unknown;
17013
+ };
17014
+ content?: never;
17015
+ };
17016
+ /** @description The user or trusted device was not found. */
17017
+ 404: {
17018
+ headers: {
17019
+ [name: string]: unknown;
17020
+ };
17021
+ content?: never;
17022
+ };
17023
+ };
17024
+ };
16758
17025
  ListLogs: {
16759
17026
  parameters: {
16760
17027
  query?: {
@@ -18381,8 +18648,8 @@ export interface operations {
18381
18648
  id: string;
18382
18649
  name: string;
18383
18650
  /** @enum {string|null} */
18384
- 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;
18385
- 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")[];
18651
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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;
18652
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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")[];
18386
18653
  config: {
18387
18654
  url: string;
18388
18655
  headers?: {
@@ -18441,9 +18708,9 @@ export interface operations {
18441
18708
  * @description Use `events` instead.
18442
18709
  * @enum {string}
18443
18710
  */
18444
- 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";
18711
+ event?: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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";
18445
18712
  /** @description An array of hook events. */
18446
- 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")[];
18713
+ events?: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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")[];
18447
18714
  config: {
18448
18715
  url: string;
18449
18716
  headers?: {
@@ -18472,8 +18739,8 @@ export interface operations {
18472
18739
  id: string;
18473
18740
  name: string;
18474
18741
  /** @enum {string|null} */
18475
- 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;
18476
- 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")[];
18742
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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;
18743
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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")[];
18477
18744
  config: {
18478
18745
  url: string;
18479
18746
  headers?: {
@@ -18536,8 +18803,8 @@ export interface operations {
18536
18803
  id: string;
18537
18804
  name: string;
18538
18805
  /** @enum {string|null} */
18539
- 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;
18540
- 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")[];
18806
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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;
18807
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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")[];
18541
18808
  config: {
18542
18809
  url: string;
18543
18810
  headers?: {
@@ -18655,9 +18922,9 @@ export interface operations {
18655
18922
  * @description Use `events` instead.
18656
18923
  * @enum {string|null}
18657
18924
  */
18658
- 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;
18925
+ event?: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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;
18659
18926
  /** @description An array of updated hook events. */
18660
- 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")[];
18927
+ events?: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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")[];
18661
18928
  config?: {
18662
18929
  url: string;
18663
18930
  headers?: {
@@ -18686,8 +18953,8 @@ export interface operations {
18686
18953
  id: string;
18687
18954
  name: string;
18688
18955
  /** @enum {string|null} */
18689
- 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;
18690
- 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")[];
18956
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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;
18957
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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")[];
18691
18958
  config: {
18692
18959
  url: string;
18693
18960
  headers?: {
@@ -18854,7 +19121,7 @@ export interface operations {
18854
19121
  content: {
18855
19122
  "application/json": {
18856
19123
  /** @description An array of hook events for testing. */
18857
- 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")[];
19124
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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")[];
18858
19125
  /** @description The hook configuration for testing. */
18859
19126
  config: {
18860
19127
  url: string;
@@ -18943,8 +19210,8 @@ export interface operations {
18943
19210
  id: string;
18944
19211
  name: string;
18945
19212
  /** @enum {string|null} */
18946
- 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;
18947
- 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")[];
19213
+ event: "PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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;
19214
+ events: ("PostRegister" | "PostSignIn" | "PostSignInAdaptiveMfaTriggered" | "PostResetPassword" | "User.Created" | "User.Deleted" | "User.Data.Updated" | "User.SuspensionStatus.Updated" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "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")[];
18948
19215
  config: {
18949
19216
  url: string;
18950
19217
  headers?: {
@@ -21112,6 +21379,7 @@ export interface operations {
21112
21379
  [key: string]: unknown;
21113
21380
  };
21114
21381
  isMfaRequired: boolean;
21382
+ isTrustedDeviceAllowed: boolean;
21115
21383
  color: {
21116
21384
  /** Format: regex */
21117
21385
  primaryColor?: string;
@@ -21183,6 +21451,7 @@ export interface operations {
21183
21451
  [key: string]: unknown;
21184
21452
  };
21185
21453
  isMfaRequired?: boolean;
21454
+ isTrustedDeviceAllowed?: boolean;
21186
21455
  color?: {
21187
21456
  /** Format: regex */
21188
21457
  primaryColor?: string;
@@ -21222,6 +21491,7 @@ export interface operations {
21222
21491
  [key: string]: unknown;
21223
21492
  };
21224
21493
  isMfaRequired: boolean;
21494
+ isTrustedDeviceAllowed: boolean;
21225
21495
  color: {
21226
21496
  /** Format: regex */
21227
21497
  primaryColor?: string;
@@ -21302,6 +21572,7 @@ export interface operations {
21302
21572
  [key: string]: unknown;
21303
21573
  };
21304
21574
  isMfaRequired: boolean;
21575
+ isTrustedDeviceAllowed: boolean;
21305
21576
  color: {
21306
21577
  /** Format: regex */
21307
21578
  primaryColor?: string;
@@ -21426,6 +21697,7 @@ export interface operations {
21426
21697
  [key: string]: unknown;
21427
21698
  };
21428
21699
  isMfaRequired?: boolean;
21700
+ isTrustedDeviceAllowed?: boolean;
21429
21701
  color?: {
21430
21702
  /** Format: regex */
21431
21703
  primaryColor?: string;
@@ -21465,6 +21737,7 @@ export interface operations {
21465
21737
  [key: string]: unknown;
21466
21738
  };
21467
21739
  isMfaRequired: boolean;
21740
+ isTrustedDeviceAllowed: boolean;
21468
21741
  color: {
21469
21742
  /** Format: regex */
21470
21743
  primaryColor?: string;
@@ -24206,6 +24479,126 @@ export interface operations {
24206
24479
  };
24207
24480
  };
24208
24481
  };
24482
+ GetSystemLicense: {
24483
+ parameters: {
24484
+ query?: never;
24485
+ header?: never;
24486
+ path?: never;
24487
+ cookie?: never;
24488
+ };
24489
+ requestBody?: never;
24490
+ responses: {
24491
+ /** @description The installed license. */
24492
+ 200: {
24493
+ headers: {
24494
+ [name: string]: unknown;
24495
+ };
24496
+ content: {
24497
+ "application/json": {
24498
+ /** @enum {string} */
24499
+ plan: "self-hosted-pro" | "self-hosted-enterprise";
24500
+ /** @enum {string} */
24501
+ env: "production" | "non-production";
24502
+ quota: {
24503
+ hideLogtoBranding: boolean;
24504
+ bringYourUi: boolean;
24505
+ idpInitiatedSso: boolean;
24506
+ consoleCollaboration: boolean;
24507
+ mandatoryMfa: boolean;
24508
+ hostedEmail: boolean;
24509
+ samlApplicationsLimit: number | null;
24510
+ };
24511
+ expiresAt: string;
24512
+ installedAt: string;
24513
+ lastRefreshedAt: string;
24514
+ graceEndsAt: string;
24515
+ refusalReason?: string;
24516
+ };
24517
+ };
24518
+ };
24519
+ /** @description Unauthorized */
24520
+ 401: {
24521
+ headers: {
24522
+ [name: string]: unknown;
24523
+ };
24524
+ content?: never;
24525
+ };
24526
+ /** @description Forbidden */
24527
+ 403: {
24528
+ headers: {
24529
+ [name: string]: unknown;
24530
+ };
24531
+ content?: never;
24532
+ };
24533
+ /** @description No license is installed on this deployment. */
24534
+ 404: {
24535
+ headers: {
24536
+ [name: string]: unknown;
24537
+ };
24538
+ content?: never;
24539
+ };
24540
+ /** @description Licenses are only available on self-hosted deployments. */
24541
+ 501: {
24542
+ headers: {
24543
+ [name: string]: unknown;
24544
+ };
24545
+ content?: never;
24546
+ };
24547
+ };
24548
+ };
24549
+ InstallSystemLicense: {
24550
+ parameters: {
24551
+ query?: never;
24552
+ header?: never;
24553
+ path?: never;
24554
+ cookie?: never;
24555
+ };
24556
+ requestBody: {
24557
+ content: {
24558
+ "application/json": {
24559
+ /** @description The license key to install, as issued by Logto Cloud. */
24560
+ license: string;
24561
+ };
24562
+ };
24563
+ };
24564
+ responses: {
24565
+ /** @description The license has been installed. */
24566
+ 204: {
24567
+ headers: {
24568
+ [name: string]: unknown;
24569
+ };
24570
+ content?: never;
24571
+ };
24572
+ /** @description The license key is invalid or has been tampered with, or it has expired. */
24573
+ 400: {
24574
+ headers: {
24575
+ [name: string]: unknown;
24576
+ };
24577
+ content?: never;
24578
+ };
24579
+ /** @description Unauthorized */
24580
+ 401: {
24581
+ headers: {
24582
+ [name: string]: unknown;
24583
+ };
24584
+ content?: never;
24585
+ };
24586
+ /** @description Forbidden */
24587
+ 403: {
24588
+ headers: {
24589
+ [name: string]: unknown;
24590
+ };
24591
+ content?: never;
24592
+ };
24593
+ /** @description Licenses are only available on self-hosted deployments. */
24594
+ 501: {
24595
+ headers: {
24596
+ [name: string]: unknown;
24597
+ };
24598
+ content?: never;
24599
+ };
24600
+ };
24601
+ };
24209
24602
  CreateSubjectToken: {
24210
24603
  parameters: {
24211
24604
  query?: never;
@@ -24312,6 +24705,8 @@ export interface operations {
24312
24705
  passkey?: "Off" | "ReadOnly" | "Edit";
24313
24706
  /** @enum {string} */
24314
24707
  session?: "Off" | "ReadOnly" | "Edit";
24708
+ /** @enum {string} */
24709
+ trustedDevice?: "Off" | "ReadOnly" | "Edit";
24315
24710
  };
24316
24711
  webauthnRelatedOrigins: string[];
24317
24712
  deleteAccountUrl: string | null;
@@ -24376,6 +24771,8 @@ export interface operations {
24376
24771
  passkey?: "Off" | "ReadOnly" | "Edit";
24377
24772
  /** @enum {string} */
24378
24773
  session?: "Off" | "ReadOnly" | "Edit";
24774
+ /** @enum {string} */
24775
+ trustedDevice?: "Off" | "ReadOnly" | "Edit";
24379
24776
  };
24380
24777
  /** @description The allowed domains for webauthn. */
24381
24778
  webauthnRelatedOrigins?: string[];
@@ -24427,6 +24824,8 @@ export interface operations {
24427
24824
  passkey?: "Off" | "ReadOnly" | "Edit";
24428
24825
  /** @enum {string} */
24429
24826
  session?: "Off" | "ReadOnly" | "Edit";
24827
+ /** @enum {string} */
24828
+ trustedDevice?: "Off" | "ReadOnly" | "Edit";
24430
24829
  };
24431
24830
  webauthnRelatedOrigins: string[];
24432
24831
  deleteAccountUrl: string | null;
@@ -24516,6 +24915,23 @@ export interface operations {
24516
24915
  encryption?: {
24517
24916
  [key: string]: unknown;
24518
24917
  } | null;
24918
+ /** @description IdP-side authentication policy. Fresh authentication is forced unless forceAuthn is explicitly false, including when this object is null or empty. PATCH replaces this object. */
24919
+ authnRequestConfig?: ({
24920
+ /**
24921
+ * @description Require fresh authentication for every sign-in to this application. Set to false to reuse an existing session unless the SP requests ForceAuthn.
24922
+ * @default true
24923
+ */
24924
+ forceAuthn?: boolean;
24925
+ /**
24926
+ * @description Require signed AuthnRequests for both HTTP-POST and HTTP-Redirect bindings. Defaults to false.
24927
+ * @default false
24928
+ */
24929
+ requireSignedAuthnRequests?: boolean;
24930
+ /** @description PEM-encoded RSA X.509 signing certificate of the service provider. Required when requireSignedAuthnRequests is true. Used independently of the assertion encryption certificate. */
24931
+ signingCertificate?: string;
24932
+ } & {
24933
+ [key: string]: unknown;
24934
+ }) | null;
24519
24935
  /**
24520
24936
  * @default urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
24521
24937
  * @enum {string}
@@ -24587,6 +25003,10 @@ export interface operations {
24587
25003
  encryption: {
24588
25004
  [key: string]: unknown;
24589
25005
  } | null;
25006
+ /** @description Validator function */
25007
+ authnRequestConfig: {
25008
+ [key: string]: unknown;
25009
+ } | null;
24590
25010
  /** @enum {string} */
24591
25011
  nameIdFormat: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" | "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" | "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" | "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified";
24592
25012
  };
@@ -24696,6 +25116,10 @@ export interface operations {
24696
25116
  encryption: {
24697
25117
  [key: string]: unknown;
24698
25118
  } | null;
25119
+ /** @description Validator function */
25120
+ authnRequestConfig: {
25121
+ [key: string]: unknown;
25122
+ } | null;
24699
25123
  /** @enum {string} */
24700
25124
  nameIdFormat: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" | "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" | "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" | "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified";
24701
25125
  };
@@ -24855,6 +25279,23 @@ export interface operations {
24855
25279
  encryption?: {
24856
25280
  [key: string]: unknown;
24857
25281
  } | null;
25282
+ /** @description IdP-side authentication policy. Fresh authentication is forced unless forceAuthn is explicitly false, including when this object is null or empty. PATCH replaces this object. */
25283
+ authnRequestConfig?: ({
25284
+ /**
25285
+ * @description Require fresh authentication for every sign-in to this application. Set to false to reuse an existing session unless the SP requests ForceAuthn.
25286
+ * @default true
25287
+ */
25288
+ forceAuthn?: boolean;
25289
+ /**
25290
+ * @description Require signed AuthnRequests for both HTTP-POST and HTTP-Redirect bindings. Defaults to false.
25291
+ * @default false
25292
+ */
25293
+ requireSignedAuthnRequests?: boolean;
25294
+ /** @description PEM-encoded RSA X.509 signing certificate of the service provider. Required when requireSignedAuthnRequests is true. Used independently of the assertion encryption certificate. */
25295
+ signingCertificate?: string;
25296
+ } & {
25297
+ [key: string]: unknown;
25298
+ }) | null;
24858
25299
  /** @enum {string} */
24859
25300
  nameIdFormat?: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" | "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" | "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" | "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified";
24860
25301
  };
@@ -24923,6 +25364,10 @@ export interface operations {
24923
25364
  encryption: {
24924
25365
  [key: string]: unknown;
24925
25366
  } | null;
25367
+ /** @description Validator function */
25368
+ authnRequestConfig: {
25369
+ [key: string]: unknown;
25370
+ } | null;
24926
25371
  /** @enum {string} */
24927
25372
  nameIdFormat: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" | "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" | "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" | "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified";
24928
25373
  };
@@ -26056,6 +26501,16 @@ export interface operations {
26056
26501
  domain?: string;
26057
26502
  /** @enum {string} */
26058
26503
  mode?: "invisible" | "checkbox";
26504
+ scoreThreshold?: number;
26505
+ } | {
26506
+ /** Format: "Cap" */
26507
+ type: string;
26508
+ /** @description Validator function */
26509
+ endpoint: {
26510
+ [key: string]: unknown;
26511
+ };
26512
+ siteKey: string;
26513
+ secretKey: string;
26059
26514
  };
26060
26515
  createdAt: number;
26061
26516
  updatedAt: number;
@@ -26110,6 +26565,16 @@ export interface operations {
26110
26565
  domain?: string;
26111
26566
  /** @enum {string} */
26112
26567
  mode?: "invisible" | "checkbox";
26568
+ scoreThreshold?: number;
26569
+ } | {
26570
+ /** Format: "Cap" */
26571
+ type: string;
26572
+ /** @description Validator function */
26573
+ endpoint: {
26574
+ [key: string]: unknown;
26575
+ };
26576
+ siteKey: string;
26577
+ secretKey: string;
26113
26578
  };
26114
26579
  };
26115
26580
  };
@@ -26138,6 +26603,16 @@ export interface operations {
26138
26603
  domain?: string;
26139
26604
  /** @enum {string} */
26140
26605
  mode?: "invisible" | "checkbox";
26606
+ scoreThreshold?: number;
26607
+ } | {
26608
+ /** Format: "Cap" */
26609
+ type: string;
26610
+ /** @description Validator function */
26611
+ endpoint: {
26612
+ [key: string]: unknown;
26613
+ };
26614
+ siteKey: string;
26615
+ secretKey: string;
26141
26616
  };
26142
26617
  createdAt: number;
26143
26618
  updatedAt: number;
@@ -27641,6 +28116,10 @@ export interface operations {
27641
28116
  adaptiveMfa: {
27642
28117
  enabled?: boolean;
27643
28118
  };
28119
+ trustedDevice: {
28120
+ enabled?: boolean;
28121
+ durationDays?: number;
28122
+ };
27644
28123
  singleSignOnEnabled: boolean;
27645
28124
  supportEmail: string | null;
27646
28125
  supportWebsiteUrl: string | null;
@@ -27677,10 +28156,6 @@ export interface operations {
27677
28156
  usernamePolicy: {
27678
28157
  [key: string]: unknown;
27679
28158
  };
27680
- trustedDevice?: {
27681
- enabled?: boolean;
27682
- durationDays?: number;
27683
- };
27684
28159
  socialConnectors: {
27685
28160
  id: string;
27686
28161
  target: string;
@@ -27717,8 +28192,9 @@ export interface operations {
27717
28192
  };
27718
28193
  captchaConfig?: {
27719
28194
  /** @enum {string} */
27720
- type: "RecaptchaEnterprise" | "Turnstile";
28195
+ type: "RecaptchaEnterprise" | "Turnstile" | "Cap";
27721
28196
  siteKey: string;
28197
+ endpoint?: string;
27722
28198
  domain?: string;
27723
28199
  /** @enum {string} */
27724
28200
  mode?: "invisible" | "checkbox";
@@ -27987,6 +28463,10 @@ export interface operations {
27987
28463
  adaptiveMfa: {
27988
28464
  enabled?: boolean;
27989
28465
  };
28466
+ trustedDevice: {
28467
+ enabled?: boolean;
28468
+ durationDays?: number;
28469
+ };
27990
28470
  singleSignOnEnabled: boolean;
27991
28471
  supportEmail: string | null;
27992
28472
  supportWebsiteUrl: string | null;
@@ -28023,10 +28503,6 @@ export interface operations {
28023
28503
  usernamePolicy: {
28024
28504
  [key: string]: unknown;
28025
28505
  };
28026
- trustedDevice?: {
28027
- enabled?: boolean;
28028
- durationDays?: number;
28029
- };
28030
28506
  socialConnectors: {
28031
28507
  id: string;
28032
28508
  target: string;
@@ -28063,8 +28539,9 @@ export interface operations {
28063
28539
  };
28064
28540
  captchaConfig?: {
28065
28541
  /** @enum {string} */
28066
- type: "RecaptchaEnterprise" | "Turnstile";
28542
+ type: "RecaptchaEnterprise" | "Turnstile" | "Cap";
28067
28543
  siteKey: string;
28544
+ endpoint?: string;
28068
28545
  domain?: string;
28069
28546
  /** @enum {string} */
28070
28547
  mode?: "invisible" | "checkbox";
@@ -28223,6 +28700,8 @@ export interface operations {
28223
28700
  passkey?: "Off" | "ReadOnly" | "Edit";
28224
28701
  /** @enum {string} */
28225
28702
  session?: "Off" | "ReadOnly" | "Edit";
28703
+ /** @enum {string} */
28704
+ trustedDevice?: "Off" | "ReadOnly" | "Edit";
28226
28705
  };
28227
28706
  webauthnRelatedOrigins: string[];
28228
28707
  deleteAccountUrl: string | null;
@@ -28369,6 +28848,13 @@ export interface operations {
28369
28848
  };
28370
28849
  content?: never;
28371
28850
  };
28851
+ /** @description IdP-initiated SSO is not available on this self-hosted deployment because the installed license does not grant it. */
28852
+ 403: {
28853
+ headers: {
28854
+ [name: string]: unknown;
28855
+ };
28856
+ content?: never;
28857
+ };
28372
28858
  /** @description Invalid SSO connector ID or SSO connector authentication session not found. */
28373
28859
  404: {
28374
28860
  headers: {
@@ -1 +1,5 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
1
5
  export {};
package/lib/management.js CHANGED
@@ -150,7 +150,7 @@ export function createManagementApi(tenantIdOrConfig, options) {
150
150
  // Do not retry here because the request body may have been consumed.
151
151
  clientCredentials.invalidateAccessToken(accessToken);
152
152
  }
153
- else if (response.ok) {
153
+ else {
154
154
  clientCredentials.markAccessTokenAsValid(accessToken);
155
155
  }
156
156
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logto/api",
3
- "version": "1.44.0-beta.1",
3
+ "version": "1.45.0",
4
4
  "description": "Logto API types and clients.",
5
5
  "author": "Silverhand Inc. <contact@silverhand.io>",
6
6
  "homepage": "https://github.com/logto-io/logto#readme",
@@ -26,18 +26,6 @@
26
26
  "bugs": {
27
27
  "url": "https://github.com/logto-io/logto/issues"
28
28
  },
29
- "scripts": {
30
- "precommit": "lint-staged",
31
- "prepublishOnly": "pnpm generate-types && pnpm build",
32
- "generate-types": "./generate-types.sh",
33
- "build": "./check-types.sh && rm -rf lib/ && tsc -p tsconfig.build.json",
34
- "prepack": "pnpm build",
35
- "lint": "eslint --ext .ts src",
36
- "lint:report": "pnpm lint --format json --output-file report.json",
37
- "test": "vitest run src",
38
- "test:watch": "vitest src --watch",
39
- "test:ci": "pnpm run test --silent --coverage"
40
- },
41
29
  "engines": {
42
30
  "node": "^22.14.0 || ^24.0.0"
43
31
  },
@@ -47,13 +35,13 @@
47
35
  "devDependencies": {
48
36
  "@silverhand/eslint-config": "6.0.1",
49
37
  "@silverhand/ts-config": "6.0.0",
50
- "@vitest/coverage-v8": "^4.1.8",
38
+ "@vitest/coverage-v8": "^4.1.11",
51
39
  "eslint": "^8.57.0",
52
40
  "lint-staged": "^15.0.0",
53
41
  "openapi-typescript": "^7.8.0",
54
42
  "prettier": "^3.5.3",
55
43
  "typescript": "^5.5.3",
56
- "vitest": "^4.1.8"
44
+ "vitest": "^4.1.11"
57
45
  },
58
46
  "eslintConfig": {
59
47
  "ignorePatterns": [
@@ -61,5 +49,15 @@
61
49
  ],
62
50
  "extends": "@silverhand"
63
51
  },
64
- "prettier": "@silverhand/eslint-config/.prettierrc"
65
- }
52
+ "prettier": "@silverhand/eslint-config/.prettierrc",
53
+ "scripts": {
54
+ "precommit": "lint-staged",
55
+ "generate-types": "./generate-types.sh",
56
+ "build": "./check-types.sh && rm -rf lib/ && tsc -p tsconfig.build.json",
57
+ "lint": "eslint --ext .ts src",
58
+ "lint:report": "pnpm lint --format json --output-file report.json",
59
+ "test": "vitest run src",
60
+ "test:watch": "vitest src --watch",
61
+ "test:ci": "pnpm run test --silent --coverage"
62
+ }
63
+ }