@robosystems/client 1.9.0 → 1.10.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/types.gen.d.ts CHANGED
@@ -521,6 +521,18 @@ export type AuthResponse = {
521
521
  * Success message
522
522
  */
523
523
  message: string;
524
+ /**
525
+ * Status
526
+ *
527
+ * Login flow state: authenticated (token present), or a passkey MFA step is required before a session is issued (mfa_token present)
528
+ */
529
+ status?: 'authenticated' | 'mfa_required' | 'mfa_enrollment_required';
530
+ /**
531
+ * Mfa Token
532
+ *
533
+ * Short-lived token authorizing the MFA second step or forced enrollment; present only when status is not 'authenticated'
534
+ */
535
+ mfa_token?: string | null;
524
536
  /**
525
537
  * Token
526
538
  *
@@ -1279,6 +1291,21 @@ export type CancelSubscriptionRequest = {
1279
1291
  */
1280
1292
  user_id?: string | null;
1281
1293
  };
1294
+ /**
1295
+ * CeremonyOptionsResponse
1296
+ *
1297
+ * WebAuthn options for the browser, verbatim from the RP library.
1298
+ */
1299
+ export type CeremonyOptionsResponse = {
1300
+ /**
1301
+ * Options
1302
+ *
1303
+ * PublicKeyCredential options (browser JSON, opaque)
1304
+ */
1305
+ options: {
1306
+ [key: string]: unknown;
1307
+ };
1308
+ };
1282
1309
  /**
1283
1310
  * ChangeReportingStyleRequest
1284
1311
  *
@@ -8618,6 +8645,71 @@ export type MetricObservation = {
8618
8645
  */
8619
8646
  value: number;
8620
8647
  };
8648
+ /**
8649
+ * MfaOptionsRequest
8650
+ *
8651
+ * Request assertion options for the second factor.
8652
+ */
8653
+ export type MfaOptionsRequest = {
8654
+ /**
8655
+ * Mfa Token
8656
+ *
8657
+ * Token from a login that returned mfa_required
8658
+ */
8659
+ mfa_token: string;
8660
+ };
8661
+ /**
8662
+ * MfaStatusResponse
8663
+ *
8664
+ * The user's MFA posture, for account settings.
8665
+ */
8666
+ export type MfaStatusResponse = {
8667
+ /**
8668
+ * Passkey Count
8669
+ *
8670
+ * Enrolled passkey count
8671
+ */
8672
+ passkey_count: number;
8673
+ /**
8674
+ * Recovery Codes Remaining
8675
+ *
8676
+ * Unused recovery codes remaining
8677
+ */
8678
+ recovery_codes_remaining: number;
8679
+ /**
8680
+ * Enforcement Applies
8681
+ *
8682
+ * Whether the MFA requirement applies to this user's roles
8683
+ */
8684
+ enforcement_applies: boolean;
8685
+ };
8686
+ /**
8687
+ * MfaVerifyRequest
8688
+ *
8689
+ * Complete the second factor with an assertion or a recovery code.
8690
+ */
8691
+ export type MfaVerifyRequest = {
8692
+ /**
8693
+ * Mfa Token
8694
+ *
8695
+ * Token from a login that returned mfa_required
8696
+ */
8697
+ mfa_token: string;
8698
+ /**
8699
+ * Assertion
8700
+ *
8701
+ * WebAuthn assertion (browser JSON, opaque)
8702
+ */
8703
+ assertion?: {
8704
+ [key: string]: unknown;
8705
+ } | null;
8706
+ /**
8707
+ * Recovery Code
8708
+ *
8709
+ * Single-use recovery code
8710
+ */
8711
+ recovery_code?: string | null;
8712
+ };
8621
8713
  /**
8622
8714
  * OAuthCallbackRequest
8623
8715
  *
@@ -11269,6 +11361,161 @@ export type OrgUsageSummary = {
11269
11361
  */
11270
11362
  storage_limit_gb: number | null;
11271
11363
  };
11364
+ /**
11365
+ * PasskeyDeleteRequest
11366
+ *
11367
+ * Re-authentication proof for removing a passkey.
11368
+ */
11369
+ export type PasskeyDeleteRequest = {
11370
+ /**
11371
+ * Password
11372
+ *
11373
+ * Current password (password-holding users)
11374
+ */
11375
+ password?: string | null;
11376
+ /**
11377
+ * Assertion
11378
+ *
11379
+ * Fresh WebAuthn assertion from the re-auth ceremony
11380
+ */
11381
+ assertion?: {
11382
+ [key: string]: unknown;
11383
+ } | null;
11384
+ };
11385
+ /**
11386
+ * PasskeyInfo
11387
+ *
11388
+ * One enrolled passkey, as listed in account settings.
11389
+ */
11390
+ export type PasskeyInfo = {
11391
+ /**
11392
+ * Id
11393
+ *
11394
+ * Passkey identifier
11395
+ */
11396
+ id: string;
11397
+ /**
11398
+ * Name
11399
+ *
11400
+ * User-facing label
11401
+ */
11402
+ name: string;
11403
+ /**
11404
+ * Created At
11405
+ *
11406
+ * Enrollment time (ISO 8601)
11407
+ */
11408
+ created_at: string;
11409
+ /**
11410
+ * Last Used At
11411
+ *
11412
+ * Last successful assertion time (ISO 8601)
11413
+ */
11414
+ last_used_at?: string | null;
11415
+ /**
11416
+ * Backup Eligible
11417
+ *
11418
+ * Whether the credential is synced (multi-device) capable
11419
+ */
11420
+ backup_eligible: boolean;
11421
+ /**
11422
+ * Backup State
11423
+ *
11424
+ * Whether the credential is currently backed up
11425
+ */
11426
+ backup_state: boolean;
11427
+ };
11428
+ /**
11429
+ * PasskeyListResponse
11430
+ *
11431
+ * The user's enrolled passkeys.
11432
+ */
11433
+ export type PasskeyListResponse = {
11434
+ /**
11435
+ * Passkeys
11436
+ *
11437
+ * Enrolled passkeys
11438
+ */
11439
+ passkeys: Array<PasskeyInfo>;
11440
+ };
11441
+ /**
11442
+ * PasskeyLoginVerifyRequest
11443
+ *
11444
+ * Complete a passwordless login with a discoverable-credential assertion.
11445
+ */
11446
+ export type PasskeyLoginVerifyRequest = {
11447
+ /**
11448
+ * Assertion
11449
+ *
11450
+ * WebAuthn assertion (browser JSON, opaque)
11451
+ */
11452
+ assertion: {
11453
+ [key: string]: unknown;
11454
+ };
11455
+ };
11456
+ /**
11457
+ * PasskeyRegisterOptionsRequest
11458
+ *
11459
+ * Begin enrollment. mfa_token is the forced-enrollment lane; omitted for
11460
+ * an authenticated settings-flow enrollment.
11461
+ */
11462
+ export type PasskeyRegisterOptionsRequest = {
11463
+ /**
11464
+ * Mfa Token
11465
+ *
11466
+ * Enrollment token from a login that returned mfa_enrollment_required
11467
+ */
11468
+ mfa_token?: string | null;
11469
+ };
11470
+ /**
11471
+ * PasskeyRegisterVerifyRequest
11472
+ *
11473
+ * Finish enrollment with the authenticator's attestation response.
11474
+ */
11475
+ export type PasskeyRegisterVerifyRequest = {
11476
+ /**
11477
+ * Credential
11478
+ *
11479
+ * WebAuthn registration credential (browser JSON, opaque)
11480
+ */
11481
+ credential: {
11482
+ [key: string]: unknown;
11483
+ };
11484
+ /**
11485
+ * Name
11486
+ *
11487
+ * User-facing label for this passkey
11488
+ */
11489
+ name?: string | null;
11490
+ /**
11491
+ * Mfa Token
11492
+ *
11493
+ * Enrollment token when finishing a forced enrollment
11494
+ */
11495
+ mfa_token?: string | null;
11496
+ };
11497
+ /**
11498
+ * PasskeyRegisterVerifyResponse
11499
+ *
11500
+ * Enrollment result; the first passkey also carries recovery codes and,
11501
+ * in the forced-enrollment lane, the completed login.
11502
+ */
11503
+ export type PasskeyRegisterVerifyResponse = {
11504
+ /**
11505
+ * The newly enrolled passkey
11506
+ */
11507
+ passkey: PasskeyInfo;
11508
+ /**
11509
+ * Recovery Codes
11510
+ *
11511
+ * Single-use recovery codes — returned exactly once, at first enrollment
11512
+ */
11513
+ recovery_codes?: Array<string> | null;
11514
+ /**
11515
+ * Completed login (forced-enrollment lane only)
11516
+ */
11517
+ auth?: AuthResponse | null;
11518
+ };
11272
11519
  /**
11273
11520
  * PasswordCheckRequest
11274
11521
  *
@@ -11508,7 +11755,13 @@ export type PortalSessionResponse = {
11508
11755
  *
11509
11756
  * Stripe Customer Portal URL where user can manage payment methods
11510
11757
  */
11511
- portal_url: string;
11758
+ portal_url?: string | null;
11759
+ /**
11760
+ * Billing Disabled
11761
+ *
11762
+ * True when billing is disabled on this deployment (no portal exists)
11763
+ */
11764
+ billing_disabled?: boolean;
11512
11765
  };
11513
11766
  /**
11514
11767
  * PortfolioBlockEnvelope
@@ -12235,6 +12488,40 @@ export type RebuildScheduleRequest = {
12235
12488
  */
12236
12489
  structure_id: string;
12237
12490
  };
12491
+ /**
12492
+ * RecoveryCodesRequest
12493
+ *
12494
+ * Re-authentication proof for regenerating recovery codes.
12495
+ */
12496
+ export type RecoveryCodesRequest = {
12497
+ /**
12498
+ * Password
12499
+ *
12500
+ * Current password (password-holding users)
12501
+ */
12502
+ password?: string | null;
12503
+ /**
12504
+ * Assertion
12505
+ *
12506
+ * Fresh WebAuthn assertion from the re-auth ceremony
12507
+ */
12508
+ assertion?: {
12509
+ [key: string]: unknown;
12510
+ } | null;
12511
+ };
12512
+ /**
12513
+ * RecoveryCodesResponse
12514
+ *
12515
+ * A fresh recovery-code set — shown exactly once.
12516
+ */
12517
+ export type RecoveryCodesResponse = {
12518
+ /**
12519
+ * Codes
12520
+ *
12521
+ * Single-use recovery codes
12522
+ */
12523
+ codes: Array<string>;
12524
+ };
12238
12525
  /**
12239
12526
  * RegenerateReportOperation
12240
12527
  *
@@ -17388,6 +17675,379 @@ export type CompleteSsoAuthResponses = {
17388
17675
  200: AuthResponse;
17389
17676
  };
17390
17677
  export type CompleteSsoAuthResponse = CompleteSsoAuthResponses[keyof CompleteSsoAuthResponses];
17678
+ export type GetPasskeyRegistrationOptionsData = {
17679
+ body: PasskeyRegisterOptionsRequest;
17680
+ path?: never;
17681
+ query?: never;
17682
+ url: '/v1/auth/passkeys/register/options';
17683
+ };
17684
+ export type GetPasskeyRegistrationOptionsErrors = {
17685
+ /**
17686
+ * Invalid request
17687
+ */
17688
+ 400: ErrorResponse;
17689
+ /**
17690
+ * Authentication required
17691
+ */
17692
+ 401: ErrorResponse;
17693
+ /**
17694
+ * Validation Error
17695
+ */
17696
+ 422: HttpValidationError;
17697
+ /**
17698
+ * Rate limit exceeded
17699
+ */
17700
+ 429: ErrorResponse;
17701
+ /**
17702
+ * Internal server error
17703
+ */
17704
+ 500: ErrorResponse;
17705
+ };
17706
+ export type GetPasskeyRegistrationOptionsError = GetPasskeyRegistrationOptionsErrors[keyof GetPasskeyRegistrationOptionsErrors];
17707
+ export type GetPasskeyRegistrationOptionsResponses = {
17708
+ /**
17709
+ * Successful Response
17710
+ */
17711
+ 200: CeremonyOptionsResponse;
17712
+ };
17713
+ export type GetPasskeyRegistrationOptionsResponse = GetPasskeyRegistrationOptionsResponses[keyof GetPasskeyRegistrationOptionsResponses];
17714
+ export type VerifyPasskeyRegistrationData = {
17715
+ body: PasskeyRegisterVerifyRequest;
17716
+ path?: never;
17717
+ query?: never;
17718
+ url: '/v1/auth/passkeys/register/verify';
17719
+ };
17720
+ export type VerifyPasskeyRegistrationErrors = {
17721
+ /**
17722
+ * Registration failed
17723
+ */
17724
+ 400: ErrorResponse;
17725
+ /**
17726
+ * Authentication required
17727
+ */
17728
+ 401: ErrorResponse;
17729
+ /**
17730
+ * Validation Error
17731
+ */
17732
+ 422: HttpValidationError;
17733
+ /**
17734
+ * Rate limit exceeded
17735
+ */
17736
+ 429: ErrorResponse;
17737
+ /**
17738
+ * Internal server error
17739
+ */
17740
+ 500: ErrorResponse;
17741
+ };
17742
+ export type VerifyPasskeyRegistrationError = VerifyPasskeyRegistrationErrors[keyof VerifyPasskeyRegistrationErrors];
17743
+ export type VerifyPasskeyRegistrationResponses = {
17744
+ /**
17745
+ * Successful Response
17746
+ */
17747
+ 200: PasskeyRegisterVerifyResponse;
17748
+ };
17749
+ export type VerifyPasskeyRegistrationResponse = VerifyPasskeyRegistrationResponses[keyof VerifyPasskeyRegistrationResponses];
17750
+ export type ListUserPasskeysData = {
17751
+ body?: never;
17752
+ path?: never;
17753
+ query?: never;
17754
+ url: '/v1/auth/passkeys';
17755
+ };
17756
+ export type ListUserPasskeysErrors = {
17757
+ /**
17758
+ * Invalid request
17759
+ */
17760
+ 400: ErrorResponse;
17761
+ /**
17762
+ * Rate limit exceeded
17763
+ */
17764
+ 429: ErrorResponse;
17765
+ /**
17766
+ * Internal server error
17767
+ */
17768
+ 500: ErrorResponse;
17769
+ };
17770
+ export type ListUserPasskeysError = ListUserPasskeysErrors[keyof ListUserPasskeysErrors];
17771
+ export type ListUserPasskeysResponses = {
17772
+ /**
17773
+ * Successful Response
17774
+ */
17775
+ 200: PasskeyListResponse;
17776
+ };
17777
+ export type ListUserPasskeysResponse = ListUserPasskeysResponses[keyof ListUserPasskeysResponses];
17778
+ export type GetPasskeyReauthOptionsData = {
17779
+ body?: never;
17780
+ path?: never;
17781
+ query?: never;
17782
+ url: '/v1/auth/passkeys/reauth/options';
17783
+ };
17784
+ export type GetPasskeyReauthOptionsErrors = {
17785
+ /**
17786
+ * Invalid request
17787
+ */
17788
+ 400: ErrorResponse;
17789
+ /**
17790
+ * Rate limit exceeded
17791
+ */
17792
+ 429: ErrorResponse;
17793
+ /**
17794
+ * Internal server error
17795
+ */
17796
+ 500: ErrorResponse;
17797
+ };
17798
+ export type GetPasskeyReauthOptionsError = GetPasskeyReauthOptionsErrors[keyof GetPasskeyReauthOptionsErrors];
17799
+ export type GetPasskeyReauthOptionsResponses = {
17800
+ /**
17801
+ * Successful Response
17802
+ */
17803
+ 200: CeremonyOptionsResponse;
17804
+ };
17805
+ export type GetPasskeyReauthOptionsResponse = GetPasskeyReauthOptionsResponses[keyof GetPasskeyReauthOptionsResponses];
17806
+ export type DeleteUserPasskeyData = {
17807
+ body: PasskeyDeleteRequest;
17808
+ path: {
17809
+ /**
17810
+ * Passkey Id
17811
+ */
17812
+ passkey_id: string;
17813
+ };
17814
+ query?: never;
17815
+ url: '/v1/auth/passkeys/{passkey_id}';
17816
+ };
17817
+ export type DeleteUserPasskeyErrors = {
17818
+ /**
17819
+ * Invalid request
17820
+ */
17821
+ 400: ErrorResponse;
17822
+ /**
17823
+ * Re-authentication failed
17824
+ */
17825
+ 401: ErrorResponse;
17826
+ /**
17827
+ * Last passkey of an MFA-required role
17828
+ */
17829
+ 409: ErrorResponse;
17830
+ /**
17831
+ * Validation Error
17832
+ */
17833
+ 422: HttpValidationError;
17834
+ /**
17835
+ * Rate limit exceeded
17836
+ */
17837
+ 429: ErrorResponse;
17838
+ /**
17839
+ * Internal server error
17840
+ */
17841
+ 500: ErrorResponse;
17842
+ };
17843
+ export type DeleteUserPasskeyError = DeleteUserPasskeyErrors[keyof DeleteUserPasskeyErrors];
17844
+ export type DeleteUserPasskeyResponses = {
17845
+ /**
17846
+ * Successful Response
17847
+ */
17848
+ 200: SuccessResponse;
17849
+ };
17850
+ export type DeleteUserPasskeyResponse = DeleteUserPasskeyResponses[keyof DeleteUserPasskeyResponses];
17851
+ export type GetPasskeyLoginOptionsData = {
17852
+ body?: never;
17853
+ path?: never;
17854
+ query?: never;
17855
+ url: '/v1/auth/passkeys/login/options';
17856
+ };
17857
+ export type GetPasskeyLoginOptionsErrors = {
17858
+ /**
17859
+ * Invalid request
17860
+ */
17861
+ 400: ErrorResponse;
17862
+ /**
17863
+ * Rate limit exceeded
17864
+ */
17865
+ 429: ErrorResponse;
17866
+ /**
17867
+ * Internal server error
17868
+ */
17869
+ 500: ErrorResponse;
17870
+ };
17871
+ export type GetPasskeyLoginOptionsError = GetPasskeyLoginOptionsErrors[keyof GetPasskeyLoginOptionsErrors];
17872
+ export type GetPasskeyLoginOptionsResponses = {
17873
+ /**
17874
+ * Successful Response
17875
+ */
17876
+ 200: CeremonyOptionsResponse;
17877
+ };
17878
+ export type GetPasskeyLoginOptionsResponse = GetPasskeyLoginOptionsResponses[keyof GetPasskeyLoginOptionsResponses];
17879
+ export type VerifyPasskeyLoginData = {
17880
+ body: PasskeyLoginVerifyRequest;
17881
+ path?: never;
17882
+ query?: never;
17883
+ url: '/v1/auth/passkeys/login/verify';
17884
+ };
17885
+ export type VerifyPasskeyLoginErrors = {
17886
+ /**
17887
+ * Invalid request
17888
+ */
17889
+ 400: ErrorResponse;
17890
+ /**
17891
+ * Verification failed
17892
+ */
17893
+ 401: ErrorResponse;
17894
+ /**
17895
+ * Validation Error
17896
+ */
17897
+ 422: HttpValidationError;
17898
+ /**
17899
+ * Rate limit exceeded
17900
+ */
17901
+ 429: ErrorResponse;
17902
+ /**
17903
+ * Internal server error
17904
+ */
17905
+ 500: ErrorResponse;
17906
+ };
17907
+ export type VerifyPasskeyLoginError = VerifyPasskeyLoginErrors[keyof VerifyPasskeyLoginErrors];
17908
+ export type VerifyPasskeyLoginResponses = {
17909
+ /**
17910
+ * Successful Response
17911
+ */
17912
+ 200: AuthResponse;
17913
+ };
17914
+ export type VerifyPasskeyLoginResponse = VerifyPasskeyLoginResponses[keyof VerifyPasskeyLoginResponses];
17915
+ export type GetMfaOptionsData = {
17916
+ body: MfaOptionsRequest;
17917
+ path?: never;
17918
+ query?: never;
17919
+ url: '/v1/auth/mfa/options';
17920
+ };
17921
+ export type GetMfaOptionsErrors = {
17922
+ /**
17923
+ * Invalid request
17924
+ */
17925
+ 400: ErrorResponse;
17926
+ /**
17927
+ * Invalid or expired MFA token
17928
+ */
17929
+ 401: ErrorResponse;
17930
+ /**
17931
+ * Validation Error
17932
+ */
17933
+ 422: HttpValidationError;
17934
+ /**
17935
+ * Rate limit exceeded
17936
+ */
17937
+ 429: ErrorResponse;
17938
+ /**
17939
+ * Internal server error
17940
+ */
17941
+ 500: ErrorResponse;
17942
+ };
17943
+ export type GetMfaOptionsError = GetMfaOptionsErrors[keyof GetMfaOptionsErrors];
17944
+ export type GetMfaOptionsResponses = {
17945
+ /**
17946
+ * Successful Response
17947
+ */
17948
+ 200: CeremonyOptionsResponse;
17949
+ };
17950
+ export type GetMfaOptionsResponse = GetMfaOptionsResponses[keyof GetMfaOptionsResponses];
17951
+ export type VerifyMfaData = {
17952
+ body: MfaVerifyRequest;
17953
+ path?: never;
17954
+ query?: never;
17955
+ url: '/v1/auth/mfa/verify';
17956
+ };
17957
+ export type VerifyMfaErrors = {
17958
+ /**
17959
+ * Invalid request
17960
+ */
17961
+ 400: ErrorResponse;
17962
+ /**
17963
+ * Verification failed
17964
+ */
17965
+ 401: ErrorResponse;
17966
+ /**
17967
+ * Validation Error
17968
+ */
17969
+ 422: HttpValidationError;
17970
+ /**
17971
+ * Rate limit exceeded
17972
+ */
17973
+ 429: ErrorResponse;
17974
+ /**
17975
+ * Internal server error
17976
+ */
17977
+ 500: ErrorResponse;
17978
+ };
17979
+ export type VerifyMfaError = VerifyMfaErrors[keyof VerifyMfaErrors];
17980
+ export type VerifyMfaResponses = {
17981
+ /**
17982
+ * Successful Response
17983
+ */
17984
+ 200: AuthResponse;
17985
+ };
17986
+ export type VerifyMfaResponse = VerifyMfaResponses[keyof VerifyMfaResponses];
17987
+ export type GetMfaStatusData = {
17988
+ body?: never;
17989
+ path?: never;
17990
+ query?: never;
17991
+ url: '/v1/auth/mfa/status';
17992
+ };
17993
+ export type GetMfaStatusErrors = {
17994
+ /**
17995
+ * Invalid request
17996
+ */
17997
+ 400: ErrorResponse;
17998
+ /**
17999
+ * Rate limit exceeded
18000
+ */
18001
+ 429: ErrorResponse;
18002
+ /**
18003
+ * Internal server error
18004
+ */
18005
+ 500: ErrorResponse;
18006
+ };
18007
+ export type GetMfaStatusError = GetMfaStatusErrors[keyof GetMfaStatusErrors];
18008
+ export type GetMfaStatusResponses = {
18009
+ /**
18010
+ * Successful Response
18011
+ */
18012
+ 200: MfaStatusResponse;
18013
+ };
18014
+ export type GetMfaStatusResponse = GetMfaStatusResponses[keyof GetMfaStatusResponses];
18015
+ export type RegenerateMfaRecoveryCodesData = {
18016
+ body: RecoveryCodesRequest;
18017
+ path?: never;
18018
+ query?: never;
18019
+ url: '/v1/auth/mfa/recovery-codes/regenerate';
18020
+ };
18021
+ export type RegenerateMfaRecoveryCodesErrors = {
18022
+ /**
18023
+ * Invalid request
18024
+ */
18025
+ 400: ErrorResponse;
18026
+ /**
18027
+ * Re-authentication failed
18028
+ */
18029
+ 401: ErrorResponse;
18030
+ /**
18031
+ * Validation Error
18032
+ */
18033
+ 422: HttpValidationError;
18034
+ /**
18035
+ * Rate limit exceeded
18036
+ */
18037
+ 429: ErrorResponse;
18038
+ /**
18039
+ * Internal server error
18040
+ */
18041
+ 500: ErrorResponse;
18042
+ };
18043
+ export type RegenerateMfaRecoveryCodesError = RegenerateMfaRecoveryCodesErrors[keyof RegenerateMfaRecoveryCodesErrors];
18044
+ export type RegenerateMfaRecoveryCodesResponses = {
18045
+ /**
18046
+ * Successful Response
18047
+ */
18048
+ 200: RecoveryCodesResponse;
18049
+ };
18050
+ export type RegenerateMfaRecoveryCodesResponse = RegenerateMfaRecoveryCodesResponses[keyof RegenerateMfaRecoveryCodesResponses];
17391
18051
  export type GetCaptchaConfigData = {
17392
18052
  body?: never;
17393
18053
  path?: never;