@goauthentik/api 2024.10.1-1730834993 → 2024.10.1-1731418991

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/.openapi-generator/FILES +1 -0
  2. package/dist/apis/CoreApi.d.ts +2 -1
  3. package/dist/apis/CoreApi.js +5 -0
  4. package/dist/esm/apis/CoreApi.d.ts +2 -1
  5. package/dist/esm/apis/CoreApi.js +6 -1
  6. package/dist/esm/models/CaptchaChallenge.d.ts +6 -0
  7. package/dist/esm/models/CaptchaChallenge.js +3 -0
  8. package/dist/esm/models/CaptchaStage.d.ts +6 -0
  9. package/dist/esm/models/CaptchaStage.js +2 -0
  10. package/dist/esm/models/CaptchaStageRequest.d.ts +6 -0
  11. package/dist/esm/models/CaptchaStageRequest.js +2 -0
  12. package/dist/esm/models/ImpersonationRequest.d.ts +31 -0
  13. package/dist/esm/models/ImpersonationRequest.js +43 -0
  14. package/dist/esm/models/PatchedCaptchaStageRequest.d.ts +6 -0
  15. package/dist/esm/models/PatchedCaptchaStageRequest.js +2 -0
  16. package/dist/esm/models/PatchedSettingsRequest.d.ts +6 -0
  17. package/dist/esm/models/PatchedSettingsRequest.js +2 -0
  18. package/dist/esm/models/Settings.d.ts +6 -0
  19. package/dist/esm/models/Settings.js +2 -0
  20. package/dist/esm/models/SettingsRequest.d.ts +6 -0
  21. package/dist/esm/models/SettingsRequest.js +2 -0
  22. package/dist/esm/models/index.d.ts +1 -0
  23. package/dist/esm/models/index.js +1 -0
  24. package/dist/models/CaptchaChallenge.d.ts +6 -0
  25. package/dist/models/CaptchaChallenge.js +3 -0
  26. package/dist/models/CaptchaStage.d.ts +6 -0
  27. package/dist/models/CaptchaStage.js +2 -0
  28. package/dist/models/CaptchaStageRequest.d.ts +6 -0
  29. package/dist/models/CaptchaStageRequest.js +2 -0
  30. package/dist/models/ImpersonationRequest.d.ts +31 -0
  31. package/dist/models/ImpersonationRequest.js +50 -0
  32. package/dist/models/PatchedCaptchaStageRequest.d.ts +6 -0
  33. package/dist/models/PatchedCaptchaStageRequest.js +2 -0
  34. package/dist/models/PatchedSettingsRequest.d.ts +6 -0
  35. package/dist/models/PatchedSettingsRequest.js +2 -0
  36. package/dist/models/Settings.d.ts +6 -0
  37. package/dist/models/Settings.js +2 -0
  38. package/dist/models/SettingsRequest.d.ts +6 -0
  39. package/dist/models/SettingsRequest.js +2 -0
  40. package/dist/models/index.d.ts +1 -0
  41. package/dist/models/index.js +1 -0
  42. package/package.json +1 -1
  43. package/src/apis/CoreApi.ts +11 -0
  44. package/src/models/CaptchaChallenge.ts +9 -0
  45. package/src/models/CaptchaStage.ts +8 -0
  46. package/src/models/CaptchaStageRequest.ts +8 -0
  47. package/src/models/ImpersonationRequest.ts +66 -0
  48. package/src/models/PatchedCaptchaStageRequest.ts +8 -0
  49. package/src/models/PatchedSettingsRequest.ts +8 -0
  50. package/src/models/Settings.ts +8 -0
  51. package/src/models/SettingsRequest.ts +8 -0
  52. package/src/models/index.ts +1 -0
@@ -200,6 +200,7 @@ src/models/IdentificationChallenge.ts
200
200
  src/models/IdentificationChallengeResponseRequest.ts
201
201
  src/models/IdentificationStage.ts
202
202
  src/models/IdentificationStageRequest.ts
203
+ src/models/ImpersonationRequest.ts
203
204
  src/models/InstallID.ts
204
205
  src/models/IntentEnum.ts
205
206
  src/models/InvalidResponseActionEnum.ts
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { Application, ApplicationRequest, AuthenticatedSession, Brand, BrandRequest, Coordinate, CurrentBrand, FilePathRequest, Group, GroupRequest, Link, PaginatedApplicationList, PaginatedAuthenticatedSessionList, PaginatedBrandList, PaginatedGroupList, PaginatedTokenList, PaginatedUserConsentList, PaginatedUserList, PatchedApplicationRequest, PatchedBrandRequest, PatchedGroupRequest, PatchedTokenRequest, PatchedUserRequest, PolicyTestResult, SessionUser, Token, TokenRequest, TokenSetKeyRequest, TokenView, TransactionApplicationRequest, TransactionApplicationResponse, UsedBy, User, UserAccountRequest, UserConsent, UserMetrics, UserPasswordSetRequest, UserPath, UserRequest, UserServiceAccountRequest, UserServiceAccountResponse } from '../models';
13
+ import type { Application, ApplicationRequest, AuthenticatedSession, Brand, BrandRequest, Coordinate, CurrentBrand, FilePathRequest, Group, GroupRequest, ImpersonationRequest, Link, PaginatedApplicationList, PaginatedAuthenticatedSessionList, PaginatedBrandList, PaginatedGroupList, PaginatedTokenList, PaginatedUserConsentList, PaginatedUserList, PatchedApplicationRequest, PatchedBrandRequest, PatchedGroupRequest, PatchedTokenRequest, PatchedUserRequest, PolicyTestResult, SessionUser, Token, TokenRequest, TokenSetKeyRequest, TokenView, TransactionApplicationRequest, TransactionApplicationResponse, UsedBy, User, UserAccountRequest, UserConsent, UserMetrics, UserPasswordSetRequest, UserPath, UserRequest, UserServiceAccountRequest, UserServiceAccountResponse } from '../models';
14
14
  export interface CoreApplicationsCheckAccessRetrieveRequest {
15
15
  slug: string;
16
16
  forUser?: number;
@@ -228,6 +228,7 @@ export interface CoreUsersDestroyRequest {
228
228
  }
229
229
  export interface CoreUsersImpersonateCreateRequest {
230
230
  id: number;
231
+ impersonationRequest: ImpersonationRequest;
231
232
  }
232
233
  export interface CoreUsersListRequest {
233
234
  attributes?: string;
@@ -1964,8 +1964,12 @@ class CoreApi extends runtime.BaseAPI {
1964
1964
  if (requestParameters.id === null || requestParameters.id === undefined) {
1965
1965
  throw new runtime.RequiredError('id', 'Required parameter requestParameters.id was null or undefined when calling coreUsersImpersonateCreate.');
1966
1966
  }
1967
+ if (requestParameters.impersonationRequest === null || requestParameters.impersonationRequest === undefined) {
1968
+ throw new runtime.RequiredError('impersonationRequest', 'Required parameter requestParameters.impersonationRequest was null or undefined when calling coreUsersImpersonateCreate.');
1969
+ }
1967
1970
  const queryParameters = {};
1968
1971
  const headerParameters = {};
1972
+ headerParameters['Content-Type'] = 'application/json';
1969
1973
  if (this.configuration && this.configuration.accessToken) {
1970
1974
  const token = this.configuration.accessToken;
1971
1975
  const tokenString = yield token("authentik", []);
@@ -1978,6 +1982,7 @@ class CoreApi extends runtime.BaseAPI {
1978
1982
  method: 'POST',
1979
1983
  headers: headerParameters,
1980
1984
  query: queryParameters,
1985
+ body: (0, models_1.ImpersonationRequestToJSON)(requestParameters.impersonationRequest),
1981
1986
  }, initOverrides);
1982
1987
  return new runtime.VoidApiResponse(response);
1983
1988
  });
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { Application, ApplicationRequest, AuthenticatedSession, Brand, BrandRequest, Coordinate, CurrentBrand, FilePathRequest, Group, GroupRequest, Link, PaginatedApplicationList, PaginatedAuthenticatedSessionList, PaginatedBrandList, PaginatedGroupList, PaginatedTokenList, PaginatedUserConsentList, PaginatedUserList, PatchedApplicationRequest, PatchedBrandRequest, PatchedGroupRequest, PatchedTokenRequest, PatchedUserRequest, PolicyTestResult, SessionUser, Token, TokenRequest, TokenSetKeyRequest, TokenView, TransactionApplicationRequest, TransactionApplicationResponse, UsedBy, User, UserAccountRequest, UserConsent, UserMetrics, UserPasswordSetRequest, UserPath, UserRequest, UserServiceAccountRequest, UserServiceAccountResponse } from '../models';
13
+ import type { Application, ApplicationRequest, AuthenticatedSession, Brand, BrandRequest, Coordinate, CurrentBrand, FilePathRequest, Group, GroupRequest, ImpersonationRequest, Link, PaginatedApplicationList, PaginatedAuthenticatedSessionList, PaginatedBrandList, PaginatedGroupList, PaginatedTokenList, PaginatedUserConsentList, PaginatedUserList, PatchedApplicationRequest, PatchedBrandRequest, PatchedGroupRequest, PatchedTokenRequest, PatchedUserRequest, PolicyTestResult, SessionUser, Token, TokenRequest, TokenSetKeyRequest, TokenView, TransactionApplicationRequest, TransactionApplicationResponse, UsedBy, User, UserAccountRequest, UserConsent, UserMetrics, UserPasswordSetRequest, UserPath, UserRequest, UserServiceAccountRequest, UserServiceAccountResponse } from '../models';
14
14
  export interface CoreApplicationsCheckAccessRetrieveRequest {
15
15
  slug: string;
16
16
  forUser?: number;
@@ -228,6 +228,7 @@ export interface CoreUsersDestroyRequest {
228
228
  }
229
229
  export interface CoreUsersImpersonateCreateRequest {
230
230
  id: number;
231
+ impersonationRequest: ImpersonationRequest;
231
232
  }
232
233
  export interface CoreUsersListRequest {
233
234
  attributes?: string;
@@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
21
21
  });
22
22
  };
23
23
  import * as runtime from '../runtime';
24
- import { ApplicationFromJSON, ApplicationRequestToJSON, AuthenticatedSessionFromJSON, BrandFromJSON, BrandRequestToJSON, CoordinateFromJSON, CurrentBrandFromJSON, FilePathRequestToJSON, GroupFromJSON, GroupRequestToJSON, LinkFromJSON, PaginatedApplicationListFromJSON, PaginatedAuthenticatedSessionListFromJSON, PaginatedBrandListFromJSON, PaginatedGroupListFromJSON, PaginatedTokenListFromJSON, PaginatedUserConsentListFromJSON, PaginatedUserListFromJSON, PatchedApplicationRequestToJSON, PatchedBrandRequestToJSON, PatchedGroupRequestToJSON, PatchedTokenRequestToJSON, PatchedUserRequestToJSON, PolicyTestResultFromJSON, SessionUserFromJSON, TokenFromJSON, TokenRequestToJSON, TokenSetKeyRequestToJSON, TokenViewFromJSON, TransactionApplicationRequestToJSON, TransactionApplicationResponseFromJSON, UsedByFromJSON, UserFromJSON, UserAccountRequestToJSON, UserConsentFromJSON, UserMetricsFromJSON, UserPasswordSetRequestToJSON, UserPathFromJSON, UserRequestToJSON, UserServiceAccountRequestToJSON, UserServiceAccountResponseFromJSON, } from '../models';
24
+ import { ApplicationFromJSON, ApplicationRequestToJSON, AuthenticatedSessionFromJSON, BrandFromJSON, BrandRequestToJSON, CoordinateFromJSON, CurrentBrandFromJSON, FilePathRequestToJSON, GroupFromJSON, GroupRequestToJSON, ImpersonationRequestToJSON, LinkFromJSON, PaginatedApplicationListFromJSON, PaginatedAuthenticatedSessionListFromJSON, PaginatedBrandListFromJSON, PaginatedGroupListFromJSON, PaginatedTokenListFromJSON, PaginatedUserConsentListFromJSON, PaginatedUserListFromJSON, PatchedApplicationRequestToJSON, PatchedBrandRequestToJSON, PatchedGroupRequestToJSON, PatchedTokenRequestToJSON, PatchedUserRequestToJSON, PolicyTestResultFromJSON, SessionUserFromJSON, TokenFromJSON, TokenRequestToJSON, TokenSetKeyRequestToJSON, TokenViewFromJSON, TransactionApplicationRequestToJSON, TransactionApplicationResponseFromJSON, UsedByFromJSON, UserFromJSON, UserAccountRequestToJSON, UserConsentFromJSON, UserMetricsFromJSON, UserPasswordSetRequestToJSON, UserPathFromJSON, UserRequestToJSON, UserServiceAccountRequestToJSON, UserServiceAccountResponseFromJSON, } from '../models';
25
25
  /**
26
26
  *
27
27
  */
@@ -1961,8 +1961,12 @@ export class CoreApi extends runtime.BaseAPI {
1961
1961
  if (requestParameters.id === null || requestParameters.id === undefined) {
1962
1962
  throw new runtime.RequiredError('id', 'Required parameter requestParameters.id was null or undefined when calling coreUsersImpersonateCreate.');
1963
1963
  }
1964
+ if (requestParameters.impersonationRequest === null || requestParameters.impersonationRequest === undefined) {
1965
+ throw new runtime.RequiredError('impersonationRequest', 'Required parameter requestParameters.impersonationRequest was null or undefined when calling coreUsersImpersonateCreate.');
1966
+ }
1964
1967
  const queryParameters = {};
1965
1968
  const headerParameters = {};
1969
+ headerParameters['Content-Type'] = 'application/json';
1966
1970
  if (this.configuration && this.configuration.accessToken) {
1967
1971
  const token = this.configuration.accessToken;
1968
1972
  const tokenString = yield token("authentik", []);
@@ -1975,6 +1979,7 @@ export class CoreApi extends runtime.BaseAPI {
1975
1979
  method: 'POST',
1976
1980
  headers: headerParameters,
1977
1981
  query: queryParameters,
1982
+ body: ImpersonationRequestToJSON(requestParameters.impersonationRequest),
1978
1983
  }, initOverrides);
1979
1984
  return new runtime.VoidApiResponse(response);
1980
1985
  });
@@ -61,6 +61,12 @@ export interface CaptchaChallenge {
61
61
  * @memberof CaptchaChallenge
62
62
  */
63
63
  jsUrl: string;
64
+ /**
65
+ *
66
+ * @type {boolean}
67
+ * @memberof CaptchaChallenge
68
+ */
69
+ interactive: boolean;
64
70
  }
65
71
  /**
66
72
  * Check if a given object implements the CaptchaChallenge interface.
@@ -22,6 +22,7 @@ export function instanceOfCaptchaChallenge(value) {
22
22
  isInstance = isInstance && "pendingUserAvatar" in value;
23
23
  isInstance = isInstance && "siteKey" in value;
24
24
  isInstance = isInstance && "jsUrl" in value;
25
+ isInstance = isInstance && "interactive" in value;
25
26
  return isInstance;
26
27
  }
27
28
  export function CaptchaChallengeFromJSON(json) {
@@ -39,6 +40,7 @@ export function CaptchaChallengeFromJSONTyped(json, ignoreDiscriminator) {
39
40
  'pendingUserAvatar': json['pending_user_avatar'],
40
41
  'siteKey': json['site_key'],
41
42
  'jsUrl': json['js_url'],
43
+ 'interactive': json['interactive'],
42
44
  };
43
45
  }
44
46
  export function CaptchaChallengeToJSON(value) {
@@ -56,5 +58,6 @@ export function CaptchaChallengeToJSON(value) {
56
58
  'pending_user_avatar': value.pendingUserAvatar,
57
59
  'site_key': value.siteKey,
58
60
  'js_url': value.jsUrl,
61
+ 'interactive': value.interactive,
59
62
  };
60
63
  }
@@ -76,6 +76,12 @@ export interface CaptchaStage {
76
76
  * @memberof CaptchaStage
77
77
  */
78
78
  apiUrl?: string;
79
+ /**
80
+ *
81
+ * @type {boolean}
82
+ * @memberof CaptchaStage
83
+ */
84
+ interactive?: boolean;
79
85
  /**
80
86
  *
81
87
  * @type {number}
@@ -45,6 +45,7 @@ export function CaptchaStageFromJSONTyped(json, ignoreDiscriminator) {
45
45
  'publicKey': json['public_key'],
46
46
  'jsUrl': !exists(json, 'js_url') ? undefined : json['js_url'],
47
47
  'apiUrl': !exists(json, 'api_url') ? undefined : json['api_url'],
48
+ 'interactive': !exists(json, 'interactive') ? undefined : json['interactive'],
48
49
  'scoreMinThreshold': !exists(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
49
50
  'scoreMaxThreshold': !exists(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
50
51
  'errorOnInvalidScore': !exists(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -63,6 +64,7 @@ export function CaptchaStageToJSON(value) {
63
64
  'public_key': value.publicKey,
64
65
  'js_url': value.jsUrl,
65
66
  'api_url': value.apiUrl,
67
+ 'interactive': value.interactive,
66
68
  'score_min_threshold': value.scoreMinThreshold,
67
69
  'score_max_threshold': value.scoreMaxThreshold,
68
70
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -52,6 +52,12 @@ export interface CaptchaStageRequest {
52
52
  * @memberof CaptchaStageRequest
53
53
  */
54
54
  apiUrl?: string;
55
+ /**
56
+ *
57
+ * @type {boolean}
58
+ * @memberof CaptchaStageRequest
59
+ */
60
+ interactive?: boolean;
55
61
  /**
56
62
  *
57
63
  * @type {number}
@@ -37,6 +37,7 @@ export function CaptchaStageRequestFromJSONTyped(json, ignoreDiscriminator) {
37
37
  'privateKey': json['private_key'],
38
38
  'jsUrl': !exists(json, 'js_url') ? undefined : json['js_url'],
39
39
  'apiUrl': !exists(json, 'api_url') ? undefined : json['api_url'],
40
+ 'interactive': !exists(json, 'interactive') ? undefined : json['interactive'],
40
41
  'scoreMinThreshold': !exists(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
41
42
  'scoreMaxThreshold': !exists(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
42
43
  'errorOnInvalidScore': !exists(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -56,6 +57,7 @@ export function CaptchaStageRequestToJSON(value) {
56
57
  'private_key': value.privateKey,
57
58
  'js_url': value.jsUrl,
58
59
  'api_url': value.apiUrl,
60
+ 'interactive': value.interactive,
59
61
  'score_min_threshold': value.scoreMinThreshold,
60
62
  'score_max_threshold': value.scoreMaxThreshold,
61
63
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -0,0 +1,31 @@
1
+ /**
2
+ * authentik
3
+ * Making authentication simple.
4
+ *
5
+ * The version of the OpenAPI document: 2024.10.1
6
+ * Contact: hello@goauthentik.io
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface ImpersonationRequest
16
+ */
17
+ export interface ImpersonationRequest {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof ImpersonationRequest
22
+ */
23
+ reason: string;
24
+ }
25
+ /**
26
+ * Check if a given object implements the ImpersonationRequest interface.
27
+ */
28
+ export declare function instanceOfImpersonationRequest(value: object): boolean;
29
+ export declare function ImpersonationRequestFromJSON(json: any): ImpersonationRequest;
30
+ export declare function ImpersonationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImpersonationRequest;
31
+ export declare function ImpersonationRequestToJSON(value?: ImpersonationRequest | null): any;
@@ -0,0 +1,43 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * authentik
5
+ * Making authentication simple.
6
+ *
7
+ * The version of the OpenAPI document: 2024.10.1
8
+ * Contact: hello@goauthentik.io
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the ImpersonationRequest interface.
16
+ */
17
+ export function instanceOfImpersonationRequest(value) {
18
+ let isInstance = true;
19
+ isInstance = isInstance && "reason" in value;
20
+ return isInstance;
21
+ }
22
+ export function ImpersonationRequestFromJSON(json) {
23
+ return ImpersonationRequestFromJSONTyped(json, false);
24
+ }
25
+ export function ImpersonationRequestFromJSONTyped(json, ignoreDiscriminator) {
26
+ if ((json === undefined) || (json === null)) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'reason': json['reason'],
31
+ };
32
+ }
33
+ export function ImpersonationRequestToJSON(value) {
34
+ if (value === undefined) {
35
+ return undefined;
36
+ }
37
+ if (value === null) {
38
+ return null;
39
+ }
40
+ return {
41
+ 'reason': value.reason,
42
+ };
43
+ }
@@ -52,6 +52,12 @@ export interface PatchedCaptchaStageRequest {
52
52
  * @memberof PatchedCaptchaStageRequest
53
53
  */
54
54
  apiUrl?: string;
55
+ /**
56
+ *
57
+ * @type {boolean}
58
+ * @memberof PatchedCaptchaStageRequest
59
+ */
60
+ interactive?: boolean;
55
61
  /**
56
62
  *
57
63
  * @type {number}
@@ -34,6 +34,7 @@ export function PatchedCaptchaStageRequestFromJSONTyped(json, ignoreDiscriminato
34
34
  'privateKey': !exists(json, 'private_key') ? undefined : json['private_key'],
35
35
  'jsUrl': !exists(json, 'js_url') ? undefined : json['js_url'],
36
36
  'apiUrl': !exists(json, 'api_url') ? undefined : json['api_url'],
37
+ 'interactive': !exists(json, 'interactive') ? undefined : json['interactive'],
37
38
  'scoreMinThreshold': !exists(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
38
39
  'scoreMaxThreshold': !exists(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
39
40
  'errorOnInvalidScore': !exists(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -53,6 +54,7 @@ export function PatchedCaptchaStageRequestToJSON(value) {
53
54
  'private_key': value.privateKey,
54
55
  'js_url': value.jsUrl,
55
56
  'api_url': value.apiUrl,
57
+ 'interactive': value.interactive,
56
58
  'score_min_threshold': value.scoreMinThreshold,
57
59
  'score_max_threshold': value.scoreMaxThreshold,
58
60
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -63,6 +63,12 @@ export interface PatchedSettingsRequest {
63
63
  * @memberof PatchedSettingsRequest
64
64
  */
65
65
  impersonation?: boolean;
66
+ /**
67
+ * Require administrators to provide a reason for impersonating a user.
68
+ * @type {boolean}
69
+ * @memberof PatchedSettingsRequest
70
+ */
71
+ impersonationRequireReason?: boolean;
66
72
  /**
67
73
  * Default token duration
68
74
  * @type {string}
@@ -35,6 +35,7 @@ export function PatchedSettingsRequestFromJSONTyped(json, ignoreDiscriminator) {
35
35
  'footerLinks': !exists(json, 'footer_links') ? undefined : json['footer_links'],
36
36
  'gdprCompliance': !exists(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
37
37
  'impersonation': !exists(json, 'impersonation') ? undefined : json['impersonation'],
38
+ 'impersonationRequireReason': !exists(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
38
39
  'defaultTokenDuration': !exists(json, 'default_token_duration') ? undefined : json['default_token_duration'],
39
40
  'defaultTokenLength': !exists(json, 'default_token_length') ? undefined : json['default_token_length'],
40
41
  };
@@ -55,6 +56,7 @@ export function PatchedSettingsRequestToJSON(value) {
55
56
  'footer_links': value.footerLinks,
56
57
  'gdpr_compliance': value.gdprCompliance,
57
58
  'impersonation': value.impersonation,
59
+ 'impersonation_require_reason': value.impersonationRequireReason,
58
60
  'default_token_duration': value.defaultTokenDuration,
59
61
  'default_token_length': value.defaultTokenLength,
60
62
  };
@@ -63,6 +63,12 @@ export interface Settings {
63
63
  * @memberof Settings
64
64
  */
65
65
  impersonation?: boolean;
66
+ /**
67
+ * Require administrators to provide a reason for impersonating a user.
68
+ * @type {boolean}
69
+ * @memberof Settings
70
+ */
71
+ impersonationRequireReason?: boolean;
66
72
  /**
67
73
  * Default token duration
68
74
  * @type {string}
@@ -35,6 +35,7 @@ export function SettingsFromJSONTyped(json, ignoreDiscriminator) {
35
35
  'footerLinks': !exists(json, 'footer_links') ? undefined : json['footer_links'],
36
36
  'gdprCompliance': !exists(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
37
37
  'impersonation': !exists(json, 'impersonation') ? undefined : json['impersonation'],
38
+ 'impersonationRequireReason': !exists(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
38
39
  'defaultTokenDuration': !exists(json, 'default_token_duration') ? undefined : json['default_token_duration'],
39
40
  'defaultTokenLength': !exists(json, 'default_token_length') ? undefined : json['default_token_length'],
40
41
  };
@@ -55,6 +56,7 @@ export function SettingsToJSON(value) {
55
56
  'footer_links': value.footerLinks,
56
57
  'gdpr_compliance': value.gdprCompliance,
57
58
  'impersonation': value.impersonation,
59
+ 'impersonation_require_reason': value.impersonationRequireReason,
58
60
  'default_token_duration': value.defaultTokenDuration,
59
61
  'default_token_length': value.defaultTokenLength,
60
62
  };
@@ -63,6 +63,12 @@ export interface SettingsRequest {
63
63
  * @memberof SettingsRequest
64
64
  */
65
65
  impersonation?: boolean;
66
+ /**
67
+ * Require administrators to provide a reason for impersonating a user.
68
+ * @type {boolean}
69
+ * @memberof SettingsRequest
70
+ */
71
+ impersonationRequireReason?: boolean;
66
72
  /**
67
73
  * Default token duration
68
74
  * @type {string}
@@ -35,6 +35,7 @@ export function SettingsRequestFromJSONTyped(json, ignoreDiscriminator) {
35
35
  'footerLinks': !exists(json, 'footer_links') ? undefined : json['footer_links'],
36
36
  'gdprCompliance': !exists(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
37
37
  'impersonation': !exists(json, 'impersonation') ? undefined : json['impersonation'],
38
+ 'impersonationRequireReason': !exists(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
38
39
  'defaultTokenDuration': !exists(json, 'default_token_duration') ? undefined : json['default_token_duration'],
39
40
  'defaultTokenLength': !exists(json, 'default_token_length') ? undefined : json['default_token_length'],
40
41
  };
@@ -55,6 +56,7 @@ export function SettingsRequestToJSON(value) {
55
56
  'footer_links': value.footerLinks,
56
57
  'gdpr_compliance': value.gdprCompliance,
57
58
  'impersonation': value.impersonation,
59
+ 'impersonation_require_reason': value.impersonationRequireReason,
58
60
  'default_token_duration': value.defaultTokenDuration,
59
61
  'default_token_length': value.defaultTokenLength,
60
62
  };
@@ -173,6 +173,7 @@ export * from './IdentificationChallenge';
173
173
  export * from './IdentificationChallengeResponseRequest';
174
174
  export * from './IdentificationStage';
175
175
  export * from './IdentificationStageRequest';
176
+ export * from './ImpersonationRequest';
176
177
  export * from './InstallID';
177
178
  export * from './IntentEnum';
178
179
  export * from './InvalidResponseActionEnum';
@@ -175,6 +175,7 @@ export * from './IdentificationChallenge';
175
175
  export * from './IdentificationChallengeResponseRequest';
176
176
  export * from './IdentificationStage';
177
177
  export * from './IdentificationStageRequest';
178
+ export * from './ImpersonationRequest';
178
179
  export * from './InstallID';
179
180
  export * from './IntentEnum';
180
181
  export * from './InvalidResponseActionEnum';
@@ -61,6 +61,12 @@ export interface CaptchaChallenge {
61
61
  * @memberof CaptchaChallenge
62
62
  */
63
63
  jsUrl: string;
64
+ /**
65
+ *
66
+ * @type {boolean}
67
+ * @memberof CaptchaChallenge
68
+ */
69
+ interactive: boolean;
64
70
  }
65
71
  /**
66
72
  * Check if a given object implements the CaptchaChallenge interface.
@@ -25,6 +25,7 @@ function instanceOfCaptchaChallenge(value) {
25
25
  isInstance = isInstance && "pendingUserAvatar" in value;
26
26
  isInstance = isInstance && "siteKey" in value;
27
27
  isInstance = isInstance && "jsUrl" in value;
28
+ isInstance = isInstance && "interactive" in value;
28
29
  return isInstance;
29
30
  }
30
31
  exports.instanceOfCaptchaChallenge = instanceOfCaptchaChallenge;
@@ -44,6 +45,7 @@ function CaptchaChallengeFromJSONTyped(json, ignoreDiscriminator) {
44
45
  'pendingUserAvatar': json['pending_user_avatar'],
45
46
  'siteKey': json['site_key'],
46
47
  'jsUrl': json['js_url'],
48
+ 'interactive': json['interactive'],
47
49
  };
48
50
  }
49
51
  exports.CaptchaChallengeFromJSONTyped = CaptchaChallengeFromJSONTyped;
@@ -62,6 +64,7 @@ function CaptchaChallengeToJSON(value) {
62
64
  'pending_user_avatar': value.pendingUserAvatar,
63
65
  'site_key': value.siteKey,
64
66
  'js_url': value.jsUrl,
67
+ 'interactive': value.interactive,
65
68
  };
66
69
  }
67
70
  exports.CaptchaChallengeToJSON = CaptchaChallengeToJSON;
@@ -76,6 +76,12 @@ export interface CaptchaStage {
76
76
  * @memberof CaptchaStage
77
77
  */
78
78
  apiUrl?: string;
79
+ /**
80
+ *
81
+ * @type {boolean}
82
+ * @memberof CaptchaStage
83
+ */
84
+ interactive?: boolean;
79
85
  /**
80
86
  *
81
87
  * @type {number}
@@ -50,6 +50,7 @@ function CaptchaStageFromJSONTyped(json, ignoreDiscriminator) {
50
50
  'publicKey': json['public_key'],
51
51
  'jsUrl': !(0, runtime_1.exists)(json, 'js_url') ? undefined : json['js_url'],
52
52
  'apiUrl': !(0, runtime_1.exists)(json, 'api_url') ? undefined : json['api_url'],
53
+ 'interactive': !(0, runtime_1.exists)(json, 'interactive') ? undefined : json['interactive'],
53
54
  'scoreMinThreshold': !(0, runtime_1.exists)(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
54
55
  'scoreMaxThreshold': !(0, runtime_1.exists)(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
55
56
  'errorOnInvalidScore': !(0, runtime_1.exists)(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -69,6 +70,7 @@ function CaptchaStageToJSON(value) {
69
70
  'public_key': value.publicKey,
70
71
  'js_url': value.jsUrl,
71
72
  'api_url': value.apiUrl,
73
+ 'interactive': value.interactive,
72
74
  'score_min_threshold': value.scoreMinThreshold,
73
75
  'score_max_threshold': value.scoreMaxThreshold,
74
76
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -52,6 +52,12 @@ export interface CaptchaStageRequest {
52
52
  * @memberof CaptchaStageRequest
53
53
  */
54
54
  apiUrl?: string;
55
+ /**
56
+ *
57
+ * @type {boolean}
58
+ * @memberof CaptchaStageRequest
59
+ */
60
+ interactive?: boolean;
55
61
  /**
56
62
  *
57
63
  * @type {number}
@@ -42,6 +42,7 @@ function CaptchaStageRequestFromJSONTyped(json, ignoreDiscriminator) {
42
42
  'privateKey': json['private_key'],
43
43
  'jsUrl': !(0, runtime_1.exists)(json, 'js_url') ? undefined : json['js_url'],
44
44
  'apiUrl': !(0, runtime_1.exists)(json, 'api_url') ? undefined : json['api_url'],
45
+ 'interactive': !(0, runtime_1.exists)(json, 'interactive') ? undefined : json['interactive'],
45
46
  'scoreMinThreshold': !(0, runtime_1.exists)(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
46
47
  'scoreMaxThreshold': !(0, runtime_1.exists)(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
47
48
  'errorOnInvalidScore': !(0, runtime_1.exists)(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -62,6 +63,7 @@ function CaptchaStageRequestToJSON(value) {
62
63
  'private_key': value.privateKey,
63
64
  'js_url': value.jsUrl,
64
65
  'api_url': value.apiUrl,
66
+ 'interactive': value.interactive,
65
67
  'score_min_threshold': value.scoreMinThreshold,
66
68
  'score_max_threshold': value.scoreMaxThreshold,
67
69
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -0,0 +1,31 @@
1
+ /**
2
+ * authentik
3
+ * Making authentication simple.
4
+ *
5
+ * The version of the OpenAPI document: 2024.10.1
6
+ * Contact: hello@goauthentik.io
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface ImpersonationRequest
16
+ */
17
+ export interface ImpersonationRequest {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof ImpersonationRequest
22
+ */
23
+ reason: string;
24
+ }
25
+ /**
26
+ * Check if a given object implements the ImpersonationRequest interface.
27
+ */
28
+ export declare function instanceOfImpersonationRequest(value: object): boolean;
29
+ export declare function ImpersonationRequestFromJSON(json: any): ImpersonationRequest;
30
+ export declare function ImpersonationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImpersonationRequest;
31
+ export declare function ImpersonationRequestToJSON(value?: ImpersonationRequest | null): any;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * authentik
6
+ * Making authentication simple.
7
+ *
8
+ * The version of the OpenAPI document: 2024.10.1
9
+ * Contact: hello@goauthentik.io
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ImpersonationRequestToJSON = exports.ImpersonationRequestFromJSONTyped = exports.ImpersonationRequestFromJSON = exports.instanceOfImpersonationRequest = void 0;
17
+ /**
18
+ * Check if a given object implements the ImpersonationRequest interface.
19
+ */
20
+ function instanceOfImpersonationRequest(value) {
21
+ let isInstance = true;
22
+ isInstance = isInstance && "reason" in value;
23
+ return isInstance;
24
+ }
25
+ exports.instanceOfImpersonationRequest = instanceOfImpersonationRequest;
26
+ function ImpersonationRequestFromJSON(json) {
27
+ return ImpersonationRequestFromJSONTyped(json, false);
28
+ }
29
+ exports.ImpersonationRequestFromJSON = ImpersonationRequestFromJSON;
30
+ function ImpersonationRequestFromJSONTyped(json, ignoreDiscriminator) {
31
+ if ((json === undefined) || (json === null)) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'reason': json['reason'],
36
+ };
37
+ }
38
+ exports.ImpersonationRequestFromJSONTyped = ImpersonationRequestFromJSONTyped;
39
+ function ImpersonationRequestToJSON(value) {
40
+ if (value === undefined) {
41
+ return undefined;
42
+ }
43
+ if (value === null) {
44
+ return null;
45
+ }
46
+ return {
47
+ 'reason': value.reason,
48
+ };
49
+ }
50
+ exports.ImpersonationRequestToJSON = ImpersonationRequestToJSON;
@@ -52,6 +52,12 @@ export interface PatchedCaptchaStageRequest {
52
52
  * @memberof PatchedCaptchaStageRequest
53
53
  */
54
54
  apiUrl?: string;
55
+ /**
56
+ *
57
+ * @type {boolean}
58
+ * @memberof PatchedCaptchaStageRequest
59
+ */
60
+ interactive?: boolean;
55
61
  /**
56
62
  *
57
63
  * @type {number}
@@ -39,6 +39,7 @@ function PatchedCaptchaStageRequestFromJSONTyped(json, ignoreDiscriminator) {
39
39
  'privateKey': !(0, runtime_1.exists)(json, 'private_key') ? undefined : json['private_key'],
40
40
  'jsUrl': !(0, runtime_1.exists)(json, 'js_url') ? undefined : json['js_url'],
41
41
  'apiUrl': !(0, runtime_1.exists)(json, 'api_url') ? undefined : json['api_url'],
42
+ 'interactive': !(0, runtime_1.exists)(json, 'interactive') ? undefined : json['interactive'],
42
43
  'scoreMinThreshold': !(0, runtime_1.exists)(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
43
44
  'scoreMaxThreshold': !(0, runtime_1.exists)(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
44
45
  'errorOnInvalidScore': !(0, runtime_1.exists)(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -59,6 +60,7 @@ function PatchedCaptchaStageRequestToJSON(value) {
59
60
  'private_key': value.privateKey,
60
61
  'js_url': value.jsUrl,
61
62
  'api_url': value.apiUrl,
63
+ 'interactive': value.interactive,
62
64
  'score_min_threshold': value.scoreMinThreshold,
63
65
  'score_max_threshold': value.scoreMaxThreshold,
64
66
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -63,6 +63,12 @@ export interface PatchedSettingsRequest {
63
63
  * @memberof PatchedSettingsRequest
64
64
  */
65
65
  impersonation?: boolean;
66
+ /**
67
+ * Require administrators to provide a reason for impersonating a user.
68
+ * @type {boolean}
69
+ * @memberof PatchedSettingsRequest
70
+ */
71
+ impersonationRequireReason?: boolean;
66
72
  /**
67
73
  * Default token duration
68
74
  * @type {string}
@@ -40,6 +40,7 @@ function PatchedSettingsRequestFromJSONTyped(json, ignoreDiscriminator) {
40
40
  'footerLinks': !(0, runtime_1.exists)(json, 'footer_links') ? undefined : json['footer_links'],
41
41
  'gdprCompliance': !(0, runtime_1.exists)(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
42
42
  'impersonation': !(0, runtime_1.exists)(json, 'impersonation') ? undefined : json['impersonation'],
43
+ 'impersonationRequireReason': !(0, runtime_1.exists)(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
43
44
  'defaultTokenDuration': !(0, runtime_1.exists)(json, 'default_token_duration') ? undefined : json['default_token_duration'],
44
45
  'defaultTokenLength': !(0, runtime_1.exists)(json, 'default_token_length') ? undefined : json['default_token_length'],
45
46
  };
@@ -61,6 +62,7 @@ function PatchedSettingsRequestToJSON(value) {
61
62
  'footer_links': value.footerLinks,
62
63
  'gdpr_compliance': value.gdprCompliance,
63
64
  'impersonation': value.impersonation,
65
+ 'impersonation_require_reason': value.impersonationRequireReason,
64
66
  'default_token_duration': value.defaultTokenDuration,
65
67
  'default_token_length': value.defaultTokenLength,
66
68
  };
@@ -63,6 +63,12 @@ export interface Settings {
63
63
  * @memberof Settings
64
64
  */
65
65
  impersonation?: boolean;
66
+ /**
67
+ * Require administrators to provide a reason for impersonating a user.
68
+ * @type {boolean}
69
+ * @memberof Settings
70
+ */
71
+ impersonationRequireReason?: boolean;
66
72
  /**
67
73
  * Default token duration
68
74
  * @type {string}
@@ -40,6 +40,7 @@ function SettingsFromJSONTyped(json, ignoreDiscriminator) {
40
40
  'footerLinks': !(0, runtime_1.exists)(json, 'footer_links') ? undefined : json['footer_links'],
41
41
  'gdprCompliance': !(0, runtime_1.exists)(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
42
42
  'impersonation': !(0, runtime_1.exists)(json, 'impersonation') ? undefined : json['impersonation'],
43
+ 'impersonationRequireReason': !(0, runtime_1.exists)(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
43
44
  'defaultTokenDuration': !(0, runtime_1.exists)(json, 'default_token_duration') ? undefined : json['default_token_duration'],
44
45
  'defaultTokenLength': !(0, runtime_1.exists)(json, 'default_token_length') ? undefined : json['default_token_length'],
45
46
  };
@@ -61,6 +62,7 @@ function SettingsToJSON(value) {
61
62
  'footer_links': value.footerLinks,
62
63
  'gdpr_compliance': value.gdprCompliance,
63
64
  'impersonation': value.impersonation,
65
+ 'impersonation_require_reason': value.impersonationRequireReason,
64
66
  'default_token_duration': value.defaultTokenDuration,
65
67
  'default_token_length': value.defaultTokenLength,
66
68
  };
@@ -63,6 +63,12 @@ export interface SettingsRequest {
63
63
  * @memberof SettingsRequest
64
64
  */
65
65
  impersonation?: boolean;
66
+ /**
67
+ * Require administrators to provide a reason for impersonating a user.
68
+ * @type {boolean}
69
+ * @memberof SettingsRequest
70
+ */
71
+ impersonationRequireReason?: boolean;
66
72
  /**
67
73
  * Default token duration
68
74
  * @type {string}
@@ -40,6 +40,7 @@ function SettingsRequestFromJSONTyped(json, ignoreDiscriminator) {
40
40
  'footerLinks': !(0, runtime_1.exists)(json, 'footer_links') ? undefined : json['footer_links'],
41
41
  'gdprCompliance': !(0, runtime_1.exists)(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
42
42
  'impersonation': !(0, runtime_1.exists)(json, 'impersonation') ? undefined : json['impersonation'],
43
+ 'impersonationRequireReason': !(0, runtime_1.exists)(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
43
44
  'defaultTokenDuration': !(0, runtime_1.exists)(json, 'default_token_duration') ? undefined : json['default_token_duration'],
44
45
  'defaultTokenLength': !(0, runtime_1.exists)(json, 'default_token_length') ? undefined : json['default_token_length'],
45
46
  };
@@ -61,6 +62,7 @@ function SettingsRequestToJSON(value) {
61
62
  'footer_links': value.footerLinks,
62
63
  'gdpr_compliance': value.gdprCompliance,
63
64
  'impersonation': value.impersonation,
65
+ 'impersonation_require_reason': value.impersonationRequireReason,
64
66
  'default_token_duration': value.defaultTokenDuration,
65
67
  'default_token_length': value.defaultTokenLength,
66
68
  };
@@ -173,6 +173,7 @@ export * from './IdentificationChallenge';
173
173
  export * from './IdentificationChallengeResponseRequest';
174
174
  export * from './IdentificationStage';
175
175
  export * from './IdentificationStageRequest';
176
+ export * from './ImpersonationRequest';
176
177
  export * from './InstallID';
177
178
  export * from './IntentEnum';
178
179
  export * from './InvalidResponseActionEnum';
@@ -191,6 +191,7 @@ __exportStar(require("./IdentificationChallenge"), exports);
191
191
  __exportStar(require("./IdentificationChallengeResponseRequest"), exports);
192
192
  __exportStar(require("./IdentificationStage"), exports);
193
193
  __exportStar(require("./IdentificationStageRequest"), exports);
194
+ __exportStar(require("./ImpersonationRequest"), exports);
194
195
  __exportStar(require("./InstallID"), exports);
195
196
  __exportStar(require("./IntentEnum"), exports);
196
197
  __exportStar(require("./InvalidResponseActionEnum"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goauthentik/api",
3
- "version": "2024.10.1-1730834993",
3
+ "version": "2024.10.1-1731418991",
4
4
  "description": "OpenAPI client for @goauthentik/api",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -26,6 +26,7 @@ import type {
26
26
  GenericError,
27
27
  Group,
28
28
  GroupRequest,
29
+ ImpersonationRequest,
29
30
  Link,
30
31
  PaginatedApplicationList,
31
32
  PaginatedAuthenticatedSessionList,
@@ -82,6 +83,8 @@ import {
82
83
  GroupToJSON,
83
84
  GroupRequestFromJSON,
84
85
  GroupRequestToJSON,
86
+ ImpersonationRequestFromJSON,
87
+ ImpersonationRequestToJSON,
85
88
  LinkFromJSON,
86
89
  LinkToJSON,
87
90
  PaginatedApplicationListFromJSON,
@@ -412,6 +415,7 @@ export interface CoreUsersDestroyRequest {
412
415
 
413
416
  export interface CoreUsersImpersonateCreateRequest {
414
417
  id: number;
418
+ impersonationRequest: ImpersonationRequest;
415
419
  }
416
420
 
417
421
  export interface CoreUsersListRequest {
@@ -2650,10 +2654,16 @@ export class CoreApi extends runtime.BaseAPI {
2650
2654
  throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling coreUsersImpersonateCreate.');
2651
2655
  }
2652
2656
 
2657
+ if (requestParameters.impersonationRequest === null || requestParameters.impersonationRequest === undefined) {
2658
+ throw new runtime.RequiredError('impersonationRequest','Required parameter requestParameters.impersonationRequest was null or undefined when calling coreUsersImpersonateCreate.');
2659
+ }
2660
+
2653
2661
  const queryParameters: any = {};
2654
2662
 
2655
2663
  const headerParameters: runtime.HTTPHeaders = {};
2656
2664
 
2665
+ headerParameters['Content-Type'] = 'application/json';
2666
+
2657
2667
  if (this.configuration && this.configuration.accessToken) {
2658
2668
  const token = this.configuration.accessToken;
2659
2669
  const tokenString = await token("authentik", []);
@@ -2667,6 +2677,7 @@ export class CoreApi extends runtime.BaseAPI {
2667
2677
  method: 'POST',
2668
2678
  headers: headerParameters,
2669
2679
  query: queryParameters,
2680
+ body: ImpersonationRequestToJSON(requestParameters.impersonationRequest),
2670
2681
  }, initOverrides);
2671
2682
 
2672
2683
  return new runtime.VoidApiResponse(response);
@@ -74,6 +74,12 @@ export interface CaptchaChallenge {
74
74
  * @memberof CaptchaChallenge
75
75
  */
76
76
  jsUrl: string;
77
+ /**
78
+ *
79
+ * @type {boolean}
80
+ * @memberof CaptchaChallenge
81
+ */
82
+ interactive: boolean;
77
83
  }
78
84
 
79
85
  /**
@@ -85,6 +91,7 @@ export function instanceOfCaptchaChallenge(value: object): boolean {
85
91
  isInstance = isInstance && "pendingUserAvatar" in value;
86
92
  isInstance = isInstance && "siteKey" in value;
87
93
  isInstance = isInstance && "jsUrl" in value;
94
+ isInstance = isInstance && "interactive" in value;
88
95
 
89
96
  return isInstance;
90
97
  }
@@ -106,6 +113,7 @@ export function CaptchaChallengeFromJSONTyped(json: any, ignoreDiscriminator: bo
106
113
  'pendingUserAvatar': json['pending_user_avatar'],
107
114
  'siteKey': json['site_key'],
108
115
  'jsUrl': json['js_url'],
116
+ 'interactive': json['interactive'],
109
117
  };
110
118
  }
111
119
 
@@ -125,6 +133,7 @@ export function CaptchaChallengeToJSON(value?: CaptchaChallenge | null): any {
125
133
  'pending_user_avatar': value.pendingUserAvatar,
126
134
  'site_key': value.siteKey,
127
135
  'js_url': value.jsUrl,
136
+ 'interactive': value.interactive,
128
137
  };
129
138
  }
130
139
 
@@ -86,6 +86,12 @@ export interface CaptchaStage {
86
86
  * @memberof CaptchaStage
87
87
  */
88
88
  apiUrl?: string;
89
+ /**
90
+ *
91
+ * @type {boolean}
92
+ * @memberof CaptchaStage
93
+ */
94
+ interactive?: boolean;
89
95
  /**
90
96
  *
91
97
  * @type {number}
@@ -142,6 +148,7 @@ export function CaptchaStageFromJSONTyped(json: any, ignoreDiscriminator: boolea
142
148
  'publicKey': json['public_key'],
143
149
  'jsUrl': !exists(json, 'js_url') ? undefined : json['js_url'],
144
150
  'apiUrl': !exists(json, 'api_url') ? undefined : json['api_url'],
151
+ 'interactive': !exists(json, 'interactive') ? undefined : json['interactive'],
145
152
  'scoreMinThreshold': !exists(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
146
153
  'scoreMaxThreshold': !exists(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
147
154
  'errorOnInvalidScore': !exists(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -162,6 +169,7 @@ export function CaptchaStageToJSON(value?: CaptchaStage | null): any {
162
169
  'public_key': value.publicKey,
163
170
  'js_url': value.jsUrl,
164
171
  'api_url': value.apiUrl,
172
+ 'interactive': value.interactive,
165
173
  'score_min_threshold': value.scoreMinThreshold,
166
174
  'score_max_threshold': value.scoreMaxThreshold,
167
175
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -62,6 +62,12 @@ export interface CaptchaStageRequest {
62
62
  * @memberof CaptchaStageRequest
63
63
  */
64
64
  apiUrl?: string;
65
+ /**
66
+ *
67
+ * @type {boolean}
68
+ * @memberof CaptchaStageRequest
69
+ */
70
+ interactive?: boolean;
65
71
  /**
66
72
  *
67
73
  * @type {number}
@@ -110,6 +116,7 @@ export function CaptchaStageRequestFromJSONTyped(json: any, ignoreDiscriminator:
110
116
  'privateKey': json['private_key'],
111
117
  'jsUrl': !exists(json, 'js_url') ? undefined : json['js_url'],
112
118
  'apiUrl': !exists(json, 'api_url') ? undefined : json['api_url'],
119
+ 'interactive': !exists(json, 'interactive') ? undefined : json['interactive'],
113
120
  'scoreMinThreshold': !exists(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
114
121
  'scoreMaxThreshold': !exists(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
115
122
  'errorOnInvalidScore': !exists(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -131,6 +138,7 @@ export function CaptchaStageRequestToJSON(value?: CaptchaStageRequest | null): a
131
138
  'private_key': value.privateKey,
132
139
  'js_url': value.jsUrl,
133
140
  'api_url': value.apiUrl,
141
+ 'interactive': value.interactive,
134
142
  'score_min_threshold': value.scoreMinThreshold,
135
143
  'score_max_threshold': value.scoreMaxThreshold,
136
144
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -0,0 +1,66 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * authentik
5
+ * Making authentication simple.
6
+ *
7
+ * The version of the OpenAPI document: 2024.10.1
8
+ * Contact: hello@goauthentik.io
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface ImpersonationRequest
20
+ */
21
+ export interface ImpersonationRequest {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof ImpersonationRequest
26
+ */
27
+ reason: string;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the ImpersonationRequest interface.
32
+ */
33
+ export function instanceOfImpersonationRequest(value: object): boolean {
34
+ let isInstance = true;
35
+ isInstance = isInstance && "reason" in value;
36
+
37
+ return isInstance;
38
+ }
39
+
40
+ export function ImpersonationRequestFromJSON(json: any): ImpersonationRequest {
41
+ return ImpersonationRequestFromJSONTyped(json, false);
42
+ }
43
+
44
+ export function ImpersonationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImpersonationRequest {
45
+ if ((json === undefined) || (json === null)) {
46
+ return json;
47
+ }
48
+ return {
49
+
50
+ 'reason': json['reason'],
51
+ };
52
+ }
53
+
54
+ export function ImpersonationRequestToJSON(value?: ImpersonationRequest | null): any {
55
+ if (value === undefined) {
56
+ return undefined;
57
+ }
58
+ if (value === null) {
59
+ return null;
60
+ }
61
+ return {
62
+
63
+ 'reason': value.reason,
64
+ };
65
+ }
66
+
@@ -62,6 +62,12 @@ export interface PatchedCaptchaStageRequest {
62
62
  * @memberof PatchedCaptchaStageRequest
63
63
  */
64
64
  apiUrl?: string;
65
+ /**
66
+ *
67
+ * @type {boolean}
68
+ * @memberof PatchedCaptchaStageRequest
69
+ */
70
+ interactive?: boolean;
65
71
  /**
66
72
  *
67
73
  * @type {number}
@@ -107,6 +113,7 @@ export function PatchedCaptchaStageRequestFromJSONTyped(json: any, ignoreDiscrim
107
113
  'privateKey': !exists(json, 'private_key') ? undefined : json['private_key'],
108
114
  'jsUrl': !exists(json, 'js_url') ? undefined : json['js_url'],
109
115
  'apiUrl': !exists(json, 'api_url') ? undefined : json['api_url'],
116
+ 'interactive': !exists(json, 'interactive') ? undefined : json['interactive'],
110
117
  'scoreMinThreshold': !exists(json, 'score_min_threshold') ? undefined : json['score_min_threshold'],
111
118
  'scoreMaxThreshold': !exists(json, 'score_max_threshold') ? undefined : json['score_max_threshold'],
112
119
  'errorOnInvalidScore': !exists(json, 'error_on_invalid_score') ? undefined : json['error_on_invalid_score'],
@@ -128,6 +135,7 @@ export function PatchedCaptchaStageRequestToJSON(value?: PatchedCaptchaStageRequ
128
135
  'private_key': value.privateKey,
129
136
  'js_url': value.jsUrl,
130
137
  'api_url': value.apiUrl,
138
+ 'interactive': value.interactive,
131
139
  'score_min_threshold': value.scoreMinThreshold,
132
140
  'score_max_threshold': value.scoreMaxThreshold,
133
141
  'error_on_invalid_score': value.errorOnInvalidScore,
@@ -67,6 +67,12 @@ export interface PatchedSettingsRequest {
67
67
  * @memberof PatchedSettingsRequest
68
68
  */
69
69
  impersonation?: boolean;
70
+ /**
71
+ * Require administrators to provide a reason for impersonating a user.
72
+ * @type {boolean}
73
+ * @memberof PatchedSettingsRequest
74
+ */
75
+ impersonationRequireReason?: boolean;
70
76
  /**
71
77
  * Default token duration
72
78
  * @type {string}
@@ -108,6 +114,7 @@ export function PatchedSettingsRequestFromJSONTyped(json: any, ignoreDiscriminat
108
114
  'footerLinks': !exists(json, 'footer_links') ? undefined : json['footer_links'],
109
115
  'gdprCompliance': !exists(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
110
116
  'impersonation': !exists(json, 'impersonation') ? undefined : json['impersonation'],
117
+ 'impersonationRequireReason': !exists(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
111
118
  'defaultTokenDuration': !exists(json, 'default_token_duration') ? undefined : json['default_token_duration'],
112
119
  'defaultTokenLength': !exists(json, 'default_token_length') ? undefined : json['default_token_length'],
113
120
  };
@@ -130,6 +137,7 @@ export function PatchedSettingsRequestToJSON(value?: PatchedSettingsRequest | nu
130
137
  'footer_links': value.footerLinks,
131
138
  'gdpr_compliance': value.gdprCompliance,
132
139
  'impersonation': value.impersonation,
140
+ 'impersonation_require_reason': value.impersonationRequireReason,
133
141
  'default_token_duration': value.defaultTokenDuration,
134
142
  'default_token_length': value.defaultTokenLength,
135
143
  };
@@ -67,6 +67,12 @@ export interface Settings {
67
67
  * @memberof Settings
68
68
  */
69
69
  impersonation?: boolean;
70
+ /**
71
+ * Require administrators to provide a reason for impersonating a user.
72
+ * @type {boolean}
73
+ * @memberof Settings
74
+ */
75
+ impersonationRequireReason?: boolean;
70
76
  /**
71
77
  * Default token duration
72
78
  * @type {string}
@@ -108,6 +114,7 @@ export function SettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean):
108
114
  'footerLinks': !exists(json, 'footer_links') ? undefined : json['footer_links'],
109
115
  'gdprCompliance': !exists(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
110
116
  'impersonation': !exists(json, 'impersonation') ? undefined : json['impersonation'],
117
+ 'impersonationRequireReason': !exists(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
111
118
  'defaultTokenDuration': !exists(json, 'default_token_duration') ? undefined : json['default_token_duration'],
112
119
  'defaultTokenLength': !exists(json, 'default_token_length') ? undefined : json['default_token_length'],
113
120
  };
@@ -130,6 +137,7 @@ export function SettingsToJSON(value?: Settings | null): any {
130
137
  'footer_links': value.footerLinks,
131
138
  'gdpr_compliance': value.gdprCompliance,
132
139
  'impersonation': value.impersonation,
140
+ 'impersonation_require_reason': value.impersonationRequireReason,
133
141
  'default_token_duration': value.defaultTokenDuration,
134
142
  'default_token_length': value.defaultTokenLength,
135
143
  };
@@ -67,6 +67,12 @@ export interface SettingsRequest {
67
67
  * @memberof SettingsRequest
68
68
  */
69
69
  impersonation?: boolean;
70
+ /**
71
+ * Require administrators to provide a reason for impersonating a user.
72
+ * @type {boolean}
73
+ * @memberof SettingsRequest
74
+ */
75
+ impersonationRequireReason?: boolean;
70
76
  /**
71
77
  * Default token duration
72
78
  * @type {string}
@@ -108,6 +114,7 @@ export function SettingsRequestFromJSONTyped(json: any, ignoreDiscriminator: boo
108
114
  'footerLinks': !exists(json, 'footer_links') ? undefined : json['footer_links'],
109
115
  'gdprCompliance': !exists(json, 'gdpr_compliance') ? undefined : json['gdpr_compliance'],
110
116
  'impersonation': !exists(json, 'impersonation') ? undefined : json['impersonation'],
117
+ 'impersonationRequireReason': !exists(json, 'impersonation_require_reason') ? undefined : json['impersonation_require_reason'],
111
118
  'defaultTokenDuration': !exists(json, 'default_token_duration') ? undefined : json['default_token_duration'],
112
119
  'defaultTokenLength': !exists(json, 'default_token_length') ? undefined : json['default_token_length'],
113
120
  };
@@ -130,6 +137,7 @@ export function SettingsRequestToJSON(value?: SettingsRequest | null): any {
130
137
  'footer_links': value.footerLinks,
131
138
  'gdpr_compliance': value.gdprCompliance,
132
139
  'impersonation': value.impersonation,
140
+ 'impersonation_require_reason': value.impersonationRequireReason,
133
141
  'default_token_duration': value.defaultTokenDuration,
134
142
  'default_token_length': value.defaultTokenLength,
135
143
  };
@@ -175,6 +175,7 @@ export * from './IdentificationChallenge';
175
175
  export * from './IdentificationChallengeResponseRequest';
176
176
  export * from './IdentificationStage';
177
177
  export * from './IdentificationStageRequest';
178
+ export * from './ImpersonationRequest';
178
179
  export * from './InstallID';
179
180
  export * from './IntentEnum';
180
181
  export * from './InvalidResponseActionEnum';