Skip to main content

dfns_sdk_rust/auth/
types.rs

1// Code generated by rust-sdk-generator. DO NOT EDIT.
2
3#![allow(clippy::all)]
4
5/// Create User Action Signature
6#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
7pub struct CreateUserActionSignatureRequest {
8    #[serde(rename = "challengeIdentifier")]
9    pub challenge_identifier: String,
10    #[serde(rename = "firstFactor")]
11    pub first_factor: serde_json::Value,
12    #[serde(
13        rename = "secondFactor",
14        default,
15        skip_serializing_if = "Option::is_none"
16    )]
17    pub second_factor: Option<serde_json::Value>,
18}
19
20/// Create User Action Signature
21#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
22pub struct CreateUserActionSignatureResponse {
23    #[serde(rename = "userAction")]
24    pub user_action: String,
25}
26
27/// Create User Action Challenge
28#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
29pub struct CreateUserActionChallengeRequest {
30    #[serde(
31        rename = "userActionServerKind",
32        default,
33        skip_serializing_if = "Option::is_none"
34    )]
35    pub user_action_server_kind: Option<String>,
36    #[serde(rename = "userActionHttpMethod")]
37    pub user_action_http_method: String,
38    #[serde(rename = "userActionHttpPath")]
39    pub user_action_http_path: String,
40    #[serde(rename = "userActionPayload")]
41    pub user_action_payload: String,
42}
43
44/// Create User Action Challenge
45#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
46pub struct CreateUserActionChallengeResponse {
47    #[serde(rename = "challenge")]
48    pub challenge: String,
49    #[serde(rename = "challengeIdentifier")]
50    pub challenge_identifier: String,
51    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
52    pub rp: Option<serde_json::Value>,
53    #[serde(rename = "supportedCredentialKinds")]
54    pub supported_credential_kinds: Vec<serde_json::Value>,
55    #[serde(rename = "userVerification")]
56    pub user_verification: String,
57    #[serde(rename = "attestation")]
58    pub attestation: String,
59    #[serde(rename = "allowCredentials")]
60    pub allow_credentials: serde_json::Value,
61    #[serde(rename = "externalAuthenticationUrl")]
62    pub external_authentication_url: String,
63}
64
65/// Query parameters for the ListAuditLogsQuery operation.
66#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
67pub struct ListAuditLogsQuery {
68    #[serde(rename = "startTime")]
69    pub start_time: String,
70    #[serde(rename = "endTime")]
71    pub end_time: String,
72    #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
73    pub user_id: Option<String>,
74}
75
76/// Get Audit Log
77#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
78pub struct GetAuditLogResponse {
79    #[serde(rename = "id")]
80    pub id: serde_json::Value,
81    #[serde(rename = "action")]
82    pub action: String,
83    #[serde(rename = "actionToken")]
84    pub action_token: String,
85    #[serde(rename = "userId")]
86    pub user_id: serde_json::Value,
87    #[serde(rename = "username")]
88    pub username: serde_json::Value,
89    #[serde(rename = "datePerformed")]
90    pub date_performed: String,
91    #[serde(rename = "firstFactorCredential")]
92    pub first_factor_credential: serde_json::Value,
93}
94
95/// List Applications
96#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
97pub struct ListApplicationsResponse {
98    #[serde(rename = "items")]
99    pub items: Vec<serde_json::Value>,
100}
101
102/// Get Application
103#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
104pub struct GetApplicationResponse {
105    #[serde(rename = "appId")]
106    pub app_id: String,
107    #[serde(rename = "kind")]
108    pub kind: String,
109    #[serde(rename = "orgId")]
110    pub org_id: String,
111    #[serde(
112        rename = "expectedRpId",
113        default,
114        skip_serializing_if = "Option::is_none"
115    )]
116    pub expected_rp_id: Option<String>,
117    #[serde(rename = "name")]
118    pub name: String,
119    #[serde(rename = "isActive")]
120    pub is_active: bool,
121    #[serde(
122        rename = "expectedOrigin",
123        default,
124        skip_serializing_if = "Option::is_none"
125    )]
126    pub expected_origin: Option<String>,
127    #[serde(rename = "permissionAssignments")]
128    pub permission_assignments: Vec<serde_json::Value>,
129    #[serde(rename = "accessTokens")]
130    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
131}
132
133/// List Credentials
134#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
135pub struct ListCredentialsResponse {
136    #[serde(rename = "items")]
137    pub items: Vec<crate::types::Credential>,
138}
139
140/// Request body for the createCredential operation.
141pub type CreateCredentialRequest = serde_json::Value;
142
143/// Create Credential
144#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
145pub struct CreateCredentialResponse {
146    #[serde(rename = "kind")]
147    pub kind: String,
148    #[serde(rename = "credentialId")]
149    pub credential_id: String,
150    #[serde(rename = "credentialUuid")]
151    pub credential_uuid: String,
152    #[serde(rename = "dateCreated")]
153    pub date_created: String,
154    #[serde(rename = "isActive")]
155    pub is_active: bool,
156    #[serde(rename = "name")]
157    pub name: String,
158    #[serde(rename = "publicKey")]
159    pub public_key: String,
160    #[serde(rename = "relyingPartyId")]
161    pub relying_party_id: String,
162    #[serde(rename = "origin")]
163    pub origin: String,
164}
165
166/// Create Credential Challenge
167#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
168pub struct CreateCredentialChallengeRequest {
169    #[serde(rename = "kind")]
170    pub kind: crate::types::CredentialKind,
171}
172
173/// Activate Credential
174#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
175pub struct ActivateCredentialRequest {
176    #[serde(rename = "credentialUuid")]
177    pub credential_uuid: String,
178}
179
180/// Activate Credential
181#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
182pub struct ActivateCredentialResponse {
183    #[serde(rename = "message")]
184    pub message: String,
185}
186
187/// Delete Credential
188#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
189pub struct DeleteCredentialResponse {}
190
191/// Deactivate Credential
192#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
193pub struct DeactivateCredentialRequest {
194    #[serde(rename = "credentialUuid")]
195    pub credential_uuid: String,
196}
197
198/// Deactivate Credential
199#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
200pub struct DeactivateCredentialResponse {
201    #[serde(rename = "message")]
202    pub message: String,
203}
204
205/// Create Credential Code
206#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
207pub struct CreateCredentialCodeRequest {
208    #[serde(rename = "expiration")]
209    pub expiration: serde_json::Value,
210}
211
212/// Create Credential Code
213#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
214pub struct CreateCredentialCodeResponse {
215    #[serde(rename = "code")]
216    pub code: String,
217    #[serde(rename = "expiration")]
218    pub expiration: String,
219}
220
221/// Create Credential Challenge With Code
222#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
223pub struct CreateCredentialChallengeWithCodeRequest {
224    #[serde(rename = "credentialKind")]
225    pub credential_kind: String,
226    #[serde(rename = "code")]
227    pub code: String,
228}
229
230/// Request body for the createCredentialWithCode operation.
231pub type CreateCredentialWithCodeRequest = serde_json::Value;
232
233/// Create Credential With Code
234#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
235pub struct CreateCredentialWithCodeResponse {
236    #[serde(rename = "kind")]
237    pub kind: String,
238    #[serde(rename = "credentialId")]
239    pub credential_id: String,
240    #[serde(rename = "credentialUuid")]
241    pub credential_uuid: String,
242    #[serde(rename = "dateCreated")]
243    pub date_created: String,
244    #[serde(rename = "isActive")]
245    pub is_active: bool,
246    #[serde(rename = "name")]
247    pub name: String,
248    #[serde(rename = "publicKey")]
249    pub public_key: String,
250    #[serde(rename = "relyingPartyId")]
251    pub relying_party_id: String,
252    #[serde(rename = "origin")]
253    pub origin: String,
254}
255
256/// Create Login Challenge
257#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
258pub struct CreateLoginChallengeRequest {
259    #[serde(rename = "username", default, skip_serializing_if = "Option::is_none")]
260    pub username: Option<String>,
261    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
262    pub org_id: Option<String>,
263    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
264    pub tenant_id: Option<String>,
265    #[serde(rename = "loginCode", default, skip_serializing_if = "Option::is_none")]
266    pub login_code: Option<String>,
267}
268
269/// Create Login Challenge
270#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
271pub struct CreateLoginChallengeResponse {
272    #[serde(rename = "challenge")]
273    pub challenge: String,
274    #[serde(rename = "challengeIdentifier")]
275    pub challenge_identifier: String,
276    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
277    pub rp: Option<serde_json::Value>,
278    #[serde(rename = "supportedCredentialKinds")]
279    pub supported_credential_kinds: Vec<serde_json::Value>,
280    #[serde(rename = "userVerification")]
281    pub user_verification: String,
282    #[serde(rename = "attestation")]
283    pub attestation: String,
284    #[serde(rename = "allowCredentials")]
285    pub allow_credentials: serde_json::Value,
286    #[serde(rename = "externalAuthenticationUrl")]
287    pub external_authentication_url: String,
288}
289
290/// Delegated Login
291#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
292pub struct DelegatedLoginRequest {
293    #[serde(rename = "username")]
294    pub username: String,
295}
296
297/// Delegated Login
298#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
299pub struct DelegatedLoginResponse {
300    #[serde(rename = "token")]
301    pub token: String,
302}
303
304/// Complete User Login
305#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
306pub struct CompleteUserLoginRequest {
307    #[serde(rename = "challengeIdentifier")]
308    pub challenge_identifier: String,
309    #[serde(rename = "firstFactor")]
310    pub first_factor: serde_json::Value,
311    #[serde(
312        rename = "secondFactor",
313        default,
314        skip_serializing_if = "Option::is_none"
315    )]
316    pub second_factor: Option<serde_json::Value>,
317}
318
319/// Logout
320#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
321pub struct LogoutRequest {
322    #[serde(
323        rename = "allSessions",
324        default,
325        skip_serializing_if = "Option::is_none"
326    )]
327    pub all_sessions: Option<bool>,
328}
329
330/// Logout
331#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
332pub struct LogoutResponse {
333    #[serde(rename = "message")]
334    pub message: String,
335}
336
337/// Send Login Code
338#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
339pub struct SendLoginCodeRequest {
340    #[serde(rename = "username")]
341    pub username: String,
342    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
343    pub org_id: Option<String>,
344    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
345    pub tenant_id: Option<String>,
346}
347
348/// Send Login Code
349#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
350pub struct SendLoginCodeResponse {
351    #[serde(rename = "message")]
352    pub message: String,
353}
354
355/// Social Login
356#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
357pub struct SocialLoginRequest {
358    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
359    pub org_id: Option<String>,
360    #[serde(rename = "socialLoginProviderKind")]
361    pub social_login_provider_kind: String,
362    #[serde(rename = "idToken")]
363    pub id_token: String,
364}
365
366/// Social Login
367#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
368pub struct SocialLoginResponse {
369    #[serde(rename = "token")]
370    pub token: String,
371}
372
373/// Complete SSO Login
374#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
375pub struct CompleteSsoLoginRequest {
376    #[serde(rename = "code")]
377    pub code: String,
378    #[serde(rename = "state")]
379    pub state: String,
380}
381
382/// Complete SSO Login
383#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
384pub struct CompleteSsoLoginResponse {
385    #[serde(rename = "token")]
386    pub token: String,
387}
388
389/// Initiate SSO Login
390#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
391pub struct InitiateSsoLoginRequest {
392    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
393    pub org_id: Option<String>,
394    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
395    pub tenant_id: Option<String>,
396    #[serde(rename = "clientId")]
397    pub client_id: String,
398    #[serde(rename = "redirectUri")]
399    pub redirect_uri: String,
400}
401
402/// Initiate SSO Login
403#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
404pub struct InitiateSsoLoginResponse {
405    #[serde(rename = "ssoRedirectUrl")]
406    pub sso_redirect_url: String,
407}
408
409/// Exchange Access Token
410#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
411pub struct ExchangeAccessTokenRequest {
412    #[serde(rename = "target")]
413    pub target: String,
414}
415
416/// Exchange Access Token
417#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
418pub struct ExchangeAccessTokenResponse {
419    #[serde(rename = "token")]
420    pub token: String,
421}
422
423/// List Personal Access Tokens
424#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
425pub struct ListPersonalAccessTokensResponse {
426    #[serde(rename = "items")]
427    pub items: Vec<crate::types::PersonalAccessToken>,
428}
429
430/// Create Personal Access Token
431#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
432pub struct CreatePersonalAccessTokenRequest {
433    #[serde(rename = "name")]
434    pub name: String,
435    #[serde(rename = "publicKey")]
436    pub public_key: String,
437    #[serde(
438        rename = "permissionId",
439        default,
440        skip_serializing_if = "Option::is_none"
441    )]
442    pub permission_id: Option<String>,
443    #[serde(
444        rename = "externalId",
445        default,
446        skip_serializing_if = "Option::is_none"
447    )]
448    pub external_id: Option<String>,
449    #[serde(rename = "daysValid", default, skip_serializing_if = "Option::is_none")]
450    pub days_valid: Option<i64>,
451    #[serde(
452        rename = "secondsValid",
453        default,
454        skip_serializing_if = "Option::is_none"
455    )]
456    pub seconds_valid: Option<i64>,
457}
458
459/// Create Personal Access Token
460#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
461pub struct CreatePersonalAccessTokenResponse {
462    #[serde(rename = "accessToken")]
463    pub access_token: String,
464    #[serde(rename = "dateCreated")]
465    pub date_created: String,
466    #[serde(rename = "credId")]
467    pub cred_id: String,
468    #[serde(rename = "isActive")]
469    pub is_active: bool,
470    #[serde(rename = "kind")]
471    pub kind: String,
472    #[serde(rename = "linkedUserId")]
473    pub linked_user_id: String,
474    #[serde(rename = "linkedAppId")]
475    pub linked_app_id: String,
476    #[serde(rename = "name")]
477    pub name: String,
478    #[serde(rename = "orgId")]
479    pub org_id: String,
480    #[serde(rename = "publicKey")]
481    pub public_key: String,
482    #[serde(rename = "tokenId")]
483    pub token_id: String,
484    #[serde(rename = "permissionAssignments")]
485    pub permission_assignments: Vec<serde_json::Value>,
486}
487
488/// Get Personal Access Token
489#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
490pub struct GetPersonalAccessTokenResponse {
491    #[serde(
492        rename = "accessToken",
493        default,
494        skip_serializing_if = "Option::is_none"
495    )]
496    pub access_token: Option<String>,
497    #[serde(rename = "dateCreated")]
498    pub date_created: String,
499    #[serde(rename = "credId")]
500    pub cred_id: String,
501    #[serde(rename = "isActive")]
502    pub is_active: bool,
503    #[serde(rename = "kind")]
504    pub kind: String,
505    #[serde(rename = "linkedUserId")]
506    pub linked_user_id: String,
507    #[serde(rename = "linkedAppId")]
508    pub linked_app_id: String,
509    #[serde(rename = "name")]
510    pub name: String,
511    #[serde(rename = "orgId")]
512    pub org_id: String,
513    #[serde(rename = "permissionAssignments")]
514    pub permission_assignments: Vec<serde_json::Value>,
515    #[serde(rename = "publicKey")]
516    pub public_key: String,
517    #[serde(rename = "tokenId")]
518    pub token_id: String,
519}
520
521/// Update Personal Access Token
522#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
523pub struct UpdatePersonalAccessTokenRequest {
524    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
525    pub name: Option<String>,
526    #[serde(
527        rename = "externalId",
528        default,
529        skip_serializing_if = "Option::is_none"
530    )]
531    pub external_id: Option<String>,
532}
533
534/// Update Personal Access Token
535#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
536pub struct UpdatePersonalAccessTokenResponse {
537    #[serde(
538        rename = "accessToken",
539        default,
540        skip_serializing_if = "Option::is_none"
541    )]
542    pub access_token: Option<String>,
543    #[serde(rename = "dateCreated")]
544    pub date_created: String,
545    #[serde(rename = "credId")]
546    pub cred_id: String,
547    #[serde(rename = "isActive")]
548    pub is_active: bool,
549    #[serde(rename = "kind")]
550    pub kind: String,
551    #[serde(rename = "linkedUserId")]
552    pub linked_user_id: String,
553    #[serde(rename = "linkedAppId")]
554    pub linked_app_id: String,
555    #[serde(rename = "name")]
556    pub name: String,
557    #[serde(rename = "orgId")]
558    pub org_id: String,
559    #[serde(rename = "permissionAssignments")]
560    pub permission_assignments: Vec<serde_json::Value>,
561    #[serde(rename = "publicKey")]
562    pub public_key: String,
563    #[serde(rename = "tokenId")]
564    pub token_id: String,
565}
566
567/// Delete Personal Access Token
568#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
569pub struct DeletePersonalAccessTokenResponse {
570    #[serde(
571        rename = "accessToken",
572        default,
573        skip_serializing_if = "Option::is_none"
574    )]
575    pub access_token: Option<String>,
576    #[serde(rename = "dateCreated")]
577    pub date_created: String,
578    #[serde(rename = "credId")]
579    pub cred_id: String,
580    #[serde(rename = "isActive")]
581    pub is_active: bool,
582    #[serde(rename = "kind")]
583    pub kind: String,
584    #[serde(rename = "linkedUserId")]
585    pub linked_user_id: String,
586    #[serde(rename = "linkedAppId")]
587    pub linked_app_id: String,
588    #[serde(rename = "name")]
589    pub name: String,
590    #[serde(rename = "orgId")]
591    pub org_id: String,
592    #[serde(rename = "permissionAssignments")]
593    pub permission_assignments: Vec<serde_json::Value>,
594    #[serde(rename = "publicKey")]
595    pub public_key: String,
596    #[serde(rename = "tokenId")]
597    pub token_id: String,
598}
599
600/// Activate Personal Access Token
601#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
602pub struct ActivatePersonalAccessTokenResponse {
603    #[serde(
604        rename = "accessToken",
605        default,
606        skip_serializing_if = "Option::is_none"
607    )]
608    pub access_token: Option<String>,
609    #[serde(rename = "dateCreated")]
610    pub date_created: String,
611    #[serde(rename = "credId")]
612    pub cred_id: String,
613    #[serde(rename = "isActive")]
614    pub is_active: bool,
615    #[serde(rename = "kind")]
616    pub kind: String,
617    #[serde(rename = "linkedUserId")]
618    pub linked_user_id: String,
619    #[serde(rename = "linkedAppId")]
620    pub linked_app_id: String,
621    #[serde(rename = "name")]
622    pub name: String,
623    #[serde(rename = "orgId")]
624    pub org_id: String,
625    #[serde(rename = "permissionAssignments")]
626    pub permission_assignments: Vec<serde_json::Value>,
627    #[serde(rename = "publicKey")]
628    pub public_key: String,
629    #[serde(rename = "tokenId")]
630    pub token_id: String,
631}
632
633/// Deactivate Personal Access Token
634#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
635pub struct DeactivatePersonalAccessTokenResponse {
636    #[serde(
637        rename = "accessToken",
638        default,
639        skip_serializing_if = "Option::is_none"
640    )]
641    pub access_token: Option<String>,
642    #[serde(rename = "dateCreated")]
643    pub date_created: String,
644    #[serde(rename = "credId")]
645    pub cred_id: String,
646    #[serde(rename = "isActive")]
647    pub is_active: bool,
648    #[serde(rename = "kind")]
649    pub kind: String,
650    #[serde(rename = "linkedUserId")]
651    pub linked_user_id: String,
652    #[serde(rename = "linkedAppId")]
653    pub linked_app_id: String,
654    #[serde(rename = "name")]
655    pub name: String,
656    #[serde(rename = "orgId")]
657    pub org_id: String,
658    #[serde(rename = "permissionAssignments")]
659    pub permission_assignments: Vec<serde_json::Value>,
660    #[serde(rename = "publicKey")]
661    pub public_key: String,
662    #[serde(rename = "tokenId")]
663    pub token_id: String,
664}
665
666/// Create Delegated Recovery Challenge
667#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
668pub struct CreateDelegatedRecoveryChallengeRequest {
669    #[serde(rename = "username")]
670    pub username: String,
671    #[serde(rename = "credentialId")]
672    pub credential_id: String,
673}
674
675/// Create Delegated Recovery Challenge
676#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
677pub struct CreateDelegatedRecoveryChallengeResponse {
678    #[serde(rename = "user")]
679    pub user: serde_json::Value,
680    #[serde(rename = "temporaryAuthenticationToken")]
681    pub temporary_authentication_token: String,
682    #[serde(rename = "challenge")]
683    pub challenge: String,
684    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
685    pub rp: Option<serde_json::Value>,
686    #[serde(rename = "supportedCredentialKinds")]
687    pub supported_credential_kinds: serde_json::Value,
688    #[serde(rename = "authenticatorSelection")]
689    pub authenticator_selection: serde_json::Value,
690    #[serde(rename = "attestation")]
691    pub attestation: String,
692    #[serde(rename = "pubKeyCredParams")]
693    pub pub_key_cred_params: Vec<serde_json::Value>,
694    #[serde(rename = "excludeCredentials")]
695    pub exclude_credentials: Vec<serde_json::Value>,
696    #[serde(rename = "otpUrl")]
697    pub otp_url: String,
698    #[serde(rename = "allowedRecoveryCredentials")]
699    pub allowed_recovery_credentials: Vec<serde_json::Value>,
700}
701
702/// Recover User
703#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
704pub struct RecoverUserRequest {
705    #[serde(rename = "recovery")]
706    pub recovery: serde_json::Value,
707    #[serde(rename = "newCredentials")]
708    pub new_credentials: serde_json::Value,
709}
710
711/// Recover User
712#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
713pub struct RecoverUserResponse {
714    #[serde(rename = "credential")]
715    pub credential: serde_json::Value,
716    #[serde(rename = "user")]
717    pub user: serde_json::Value,
718}
719
720/// Create Recovery Challenge
721#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
722pub struct CreateRecoveryChallengeRequest {
723    #[serde(rename = "username")]
724    pub username: String,
725    #[serde(rename = "verificationCode")]
726    pub verification_code: String,
727    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
728    pub org_id: Option<String>,
729    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
730    pub tenant_id: Option<String>,
731    #[serde(rename = "credentialId")]
732    pub credential_id: String,
733}
734
735/// Create Recovery Challenge
736#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
737pub struct CreateRecoveryChallengeResponse {
738    #[serde(rename = "user")]
739    pub user: serde_json::Value,
740    #[serde(rename = "temporaryAuthenticationToken")]
741    pub temporary_authentication_token: String,
742    #[serde(rename = "challenge")]
743    pub challenge: String,
744    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
745    pub rp: Option<serde_json::Value>,
746    #[serde(rename = "supportedCredentialKinds")]
747    pub supported_credential_kinds: serde_json::Value,
748    #[serde(rename = "authenticatorSelection")]
749    pub authenticator_selection: serde_json::Value,
750    #[serde(rename = "attestation")]
751    pub attestation: String,
752    #[serde(rename = "pubKeyCredParams")]
753    pub pub_key_cred_params: Vec<serde_json::Value>,
754    #[serde(rename = "excludeCredentials")]
755    pub exclude_credentials: Vec<serde_json::Value>,
756    #[serde(rename = "otpUrl")]
757    pub otp_url: String,
758    #[serde(rename = "allowedRecoveryCredentials")]
759    pub allowed_recovery_credentials: Vec<serde_json::Value>,
760}
761
762/// Send Recovery Code Email
763#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
764pub struct SendRecoveryCodeEmailRequest {
765    #[serde(rename = "username")]
766    pub username: String,
767    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
768    pub org_id: Option<String>,
769    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
770    pub tenant_id: Option<String>,
771}
772
773/// Send Recovery Code Email
774#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
775pub struct SendRecoveryCodeEmailResponse {
776    #[serde(rename = "message")]
777    pub message: String,
778}
779
780/// Create Delegated Registration Challenge
781#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
782pub struct CreateDelegatedRegistrationChallengeRequest {
783    #[serde(rename = "email")]
784    pub email: String,
785    #[serde(rename = "kind")]
786    pub kind: String,
787    #[serde(
788        rename = "externalId",
789        default,
790        skip_serializing_if = "Option::is_none"
791    )]
792    pub external_id: Option<String>,
793}
794
795/// Create Delegated Registration Challenge
796#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
797pub struct CreateDelegatedRegistrationChallengeResponse {
798    #[serde(rename = "user")]
799    pub user: serde_json::Value,
800    #[serde(rename = "temporaryAuthenticationToken")]
801    pub temporary_authentication_token: String,
802    #[serde(rename = "challenge")]
803    pub challenge: String,
804    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
805    pub rp: Option<serde_json::Value>,
806    #[serde(rename = "supportedCredentialKinds")]
807    pub supported_credential_kinds: serde_json::Value,
808    #[serde(rename = "authenticatorSelection")]
809    pub authenticator_selection: serde_json::Value,
810    #[serde(rename = "attestation")]
811    pub attestation: String,
812    #[serde(rename = "pubKeyCredParams")]
813    pub pub_key_cred_params: Vec<serde_json::Value>,
814    #[serde(rename = "excludeCredentials")]
815    pub exclude_credentials: Vec<serde_json::Value>,
816    #[serde(rename = "otpUrl")]
817    pub otp_url: String,
818}
819
820/// Create Registration Challenge
821#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
822pub struct CreateRegistrationChallengeRequest {
823    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
824    pub org_id: Option<String>,
825    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
826    pub tenant_id: Option<String>,
827    #[serde(rename = "username")]
828    pub username: String,
829    #[serde(rename = "registrationCode")]
830    pub registration_code: String,
831}
832
833/// Create Registration Challenge
834#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
835pub struct CreateRegistrationChallengeResponse {
836    #[serde(rename = "user")]
837    pub user: serde_json::Value,
838    #[serde(rename = "temporaryAuthenticationToken")]
839    pub temporary_authentication_token: String,
840    #[serde(rename = "challenge")]
841    pub challenge: String,
842    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
843    pub rp: Option<serde_json::Value>,
844    #[serde(rename = "supportedCredentialKinds")]
845    pub supported_credential_kinds: serde_json::Value,
846    #[serde(rename = "authenticatorSelection")]
847    pub authenticator_selection: serde_json::Value,
848    #[serde(rename = "attestation")]
849    pub attestation: String,
850    #[serde(rename = "pubKeyCredParams")]
851    pub pub_key_cred_params: Vec<serde_json::Value>,
852    #[serde(rename = "excludeCredentials")]
853    pub exclude_credentials: Vec<serde_json::Value>,
854    #[serde(rename = "otpUrl")]
855    pub otp_url: String,
856}
857
858/// Create Social Registration Challenge
859#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
860pub struct CreateSocialRegistrationChallengeRequest {
861    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
862    pub org_id: Option<String>,
863    #[serde(rename = "socialLoginProviderKind")]
864    pub social_login_provider_kind: String,
865    #[serde(rename = "idToken")]
866    pub id_token: String,
867}
868
869/// Create Social Registration Challenge
870#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
871pub struct CreateSocialRegistrationChallengeResponse {
872    #[serde(rename = "user")]
873    pub user: serde_json::Value,
874    #[serde(rename = "temporaryAuthenticationToken")]
875    pub temporary_authentication_token: String,
876    #[serde(rename = "challenge")]
877    pub challenge: String,
878    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
879    pub rp: Option<serde_json::Value>,
880    #[serde(rename = "supportedCredentialKinds")]
881    pub supported_credential_kinds: serde_json::Value,
882    #[serde(rename = "authenticatorSelection")]
883    pub authenticator_selection: serde_json::Value,
884    #[serde(rename = "attestation")]
885    pub attestation: String,
886    #[serde(rename = "pubKeyCredParams")]
887    pub pub_key_cred_params: Vec<serde_json::Value>,
888    #[serde(rename = "excludeCredentials")]
889    pub exclude_credentials: Vec<serde_json::Value>,
890    #[serde(rename = "otpUrl")]
891    pub otp_url: String,
892}
893
894/// Complete User Registration
895#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
896pub struct CompleteUserRegistrationRequest {
897    #[serde(rename = "firstFactorCredential")]
898    pub first_factor_credential: serde_json::Value,
899    #[serde(
900        rename = "secondFactorCredential",
901        default,
902        skip_serializing_if = "Option::is_none"
903    )]
904    pub second_factor_credential: Option<serde_json::Value>,
905    #[serde(
906        rename = "recoveryCredential",
907        default,
908        skip_serializing_if = "Option::is_none"
909    )]
910    pub recovery_credential: Option<crate::types::RecoveryKeyAttestation>,
911}
912
913/// Complete User Registration
914#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
915pub struct CompleteUserRegistrationResponse {
916    #[serde(rename = "credential")]
917    pub credential: serde_json::Value,
918    #[serde(rename = "user")]
919    pub user: serde_json::Value,
920}
921
922/// Complete End User Registration with Wallets
923#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
924pub struct CompleteEndUserRegistrationWithWalletsRequest {
925    #[serde(rename = "firstFactorCredential")]
926    pub first_factor_credential: serde_json::Value,
927    #[serde(
928        rename = "secondFactorCredential",
929        default,
930        skip_serializing_if = "Option::is_none"
931    )]
932    pub second_factor_credential: Option<serde_json::Value>,
933    #[serde(
934        rename = "recoveryCredential",
935        default,
936        skip_serializing_if = "Option::is_none"
937    )]
938    pub recovery_credential: Option<crate::types::RecoveryKeyAttestation>,
939    #[serde(rename = "wallets")]
940    pub wallets: Vec<serde_json::Value>,
941}
942
943/// Complete End User Registration with Wallets
944#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
945pub struct CompleteEndUserRegistrationWithWalletsResponse {
946    #[serde(rename = "credential")]
947    pub credential: serde_json::Value,
948    #[serde(rename = "user")]
949    pub user: serde_json::Value,
950    #[serde(rename = "authentication")]
951    pub authentication: serde_json::Value,
952    #[serde(rename = "wallets")]
953    pub wallets: Vec<crate::types::Wallet>,
954}
955
956/// Resend Registration Code
957#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
958pub struct ResendRegistrationCodeRequest {
959    #[serde(rename = "username")]
960    pub username: String,
961    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
962    pub org_id: Option<String>,
963    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
964    pub tenant_id: Option<String>,
965}
966
967/// Resend Registration Code
968#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
969pub struct ResendRegistrationCodeResponse {
970    #[serde(rename = "message")]
971    pub message: String,
972}
973
974/// List Service Accounts
975#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
976pub struct ListServiceAccountsResponse {
977    #[serde(rename = "items")]
978    pub items: Vec<serde_json::Value>,
979}
980
981/// Create Service Account
982#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
983pub struct CreateServiceAccountRequest {
984    #[serde(rename = "name")]
985    pub name: String,
986    #[serde(rename = "publicKey")]
987    pub public_key: String,
988    #[serde(
989        rename = "permissionId",
990        default,
991        skip_serializing_if = "Option::is_none"
992    )]
993    pub permission_id: Option<String>,
994    #[serde(
995        rename = "externalId",
996        default,
997        skip_serializing_if = "Option::is_none"
998    )]
999    pub external_id: Option<String>,
1000    #[serde(rename = "daysValid", default, skip_serializing_if = "Option::is_none")]
1001    pub days_valid: Option<i64>,
1002}
1003
1004/// Create Service Account
1005#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1006pub struct CreateServiceAccountResponse {
1007    #[serde(rename = "userInfo")]
1008    pub user_info: serde_json::Value,
1009    #[serde(rename = "accessTokens")]
1010    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1011}
1012
1013/// Get Service Account
1014#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1015pub struct GetServiceAccountResponse {
1016    #[serde(rename = "userInfo")]
1017    pub user_info: serde_json::Value,
1018    #[serde(rename = "accessTokens")]
1019    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1020}
1021
1022/// Update Service Account
1023#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1024pub struct UpdateServiceAccountRequest {
1025    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
1026    pub name: Option<String>,
1027    #[serde(
1028        rename = "externalId",
1029        default,
1030        skip_serializing_if = "Option::is_none"
1031    )]
1032    pub external_id: Option<String>,
1033}
1034
1035/// Update Service Account
1036#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1037pub struct UpdateServiceAccountResponse {
1038    #[serde(rename = "userInfo")]
1039    pub user_info: serde_json::Value,
1040    #[serde(rename = "accessTokens")]
1041    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1042}
1043
1044/// Delete Service Account
1045#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1046pub struct DeleteServiceAccountResponse {
1047    #[serde(rename = "userInfo")]
1048    pub user_info: serde_json::Value,
1049    #[serde(rename = "accessTokens")]
1050    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1051}
1052
1053/// Query parameters for the DeleteServiceAccountQuery operation.
1054#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1055pub struct DeleteServiceAccountQuery {
1056    #[serde(rename = "force", default, skip_serializing_if = "Option::is_none")]
1057    pub force: Option<serde_json::Value>,
1058}
1059
1060/// Activate Service Account
1061#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1062pub struct ActivateServiceAccountResponse {
1063    #[serde(rename = "userInfo")]
1064    pub user_info: serde_json::Value,
1065    #[serde(rename = "accessTokens")]
1066    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1067}
1068
1069/// Deactivate Service Account
1070#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1071pub struct DeactivateServiceAccountRequest {
1072    #[serde(rename = "force", default, skip_serializing_if = "Option::is_none")]
1073    pub force: Option<bool>,
1074}
1075
1076/// Deactivate Service Account
1077#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1078pub struct DeactivateServiceAccountResponse {
1079    #[serde(rename = "userInfo")]
1080    pub user_info: serde_json::Value,
1081    #[serde(rename = "accessTokens")]
1082    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1083}
1084
1085/// Activate User
1086#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1087pub struct ActivateUserResponse {
1088    #[serde(rename = "username")]
1089    pub username: String,
1090    #[serde(rename = "name")]
1091    pub name: String,
1092    #[serde(rename = "userId")]
1093    pub user_id: String,
1094    #[serde(rename = "kind")]
1095    pub kind: String,
1096    #[serde(rename = "credentialUuid")]
1097    pub credential_uuid: String,
1098    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1099    pub org_id: Option<String>,
1100    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1101    pub tenant_id: Option<String>,
1102    #[serde(
1103        rename = "permissions",
1104        default,
1105        skip_serializing_if = "Option::is_none"
1106    )]
1107    pub permissions: Option<Vec<String>>,
1108    #[serde(rename = "isActive")]
1109    pub is_active: bool,
1110    #[serde(rename = "isServiceAccount")]
1111    pub is_service_account: bool,
1112    #[serde(rename = "isRegistered")]
1113    pub is_registered: bool,
1114    #[serde(rename = "isSSORequired")]
1115    pub is_ssorequired: bool,
1116    #[serde(rename = "permissionAssignments")]
1117    pub permission_assignments: Vec<serde_json::Value>,
1118}
1119
1120/// Deactivate User
1121#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1122pub struct DeactivateUserResponse {
1123    #[serde(rename = "username")]
1124    pub username: String,
1125    #[serde(rename = "name")]
1126    pub name: String,
1127    #[serde(rename = "userId")]
1128    pub user_id: String,
1129    #[serde(rename = "kind")]
1130    pub kind: String,
1131    #[serde(rename = "credentialUuid")]
1132    pub credential_uuid: String,
1133    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1134    pub org_id: Option<String>,
1135    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1136    pub tenant_id: Option<String>,
1137    #[serde(
1138        rename = "permissions",
1139        default,
1140        skip_serializing_if = "Option::is_none"
1141    )]
1142    pub permissions: Option<Vec<String>>,
1143    #[serde(rename = "isActive")]
1144    pub is_active: bool,
1145    #[serde(rename = "isServiceAccount")]
1146    pub is_service_account: bool,
1147    #[serde(rename = "isRegistered")]
1148    pub is_registered: bool,
1149    #[serde(rename = "isSSORequired")]
1150    pub is_ssorequired: bool,
1151    #[serde(rename = "permissionAssignments")]
1152    pub permission_assignments: Vec<serde_json::Value>,
1153}
1154
1155/// Get User
1156#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1157pub struct GetUserResponse {
1158    #[serde(rename = "username")]
1159    pub username: String,
1160    #[serde(rename = "name")]
1161    pub name: String,
1162    #[serde(rename = "userId")]
1163    pub user_id: String,
1164    #[serde(rename = "kind")]
1165    pub kind: String,
1166    #[serde(rename = "credentialUuid")]
1167    pub credential_uuid: String,
1168    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1169    pub org_id: Option<String>,
1170    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1171    pub tenant_id: Option<String>,
1172    #[serde(
1173        rename = "permissions",
1174        default,
1175        skip_serializing_if = "Option::is_none"
1176    )]
1177    pub permissions: Option<Vec<String>>,
1178    #[serde(rename = "isActive")]
1179    pub is_active: bool,
1180    #[serde(rename = "isServiceAccount")]
1181    pub is_service_account: bool,
1182    #[serde(rename = "isRegistered")]
1183    pub is_registered: bool,
1184    #[serde(rename = "isSSORequired")]
1185    pub is_ssorequired: bool,
1186    #[serde(rename = "permissionAssignments")]
1187    pub permission_assignments: Vec<serde_json::Value>,
1188}
1189
1190/// Update User
1191#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1192pub struct UpdateUserRequest {
1193    #[serde(rename = "isSSORequired")]
1194    pub is_ssorequired: bool,
1195}
1196
1197/// Update User
1198#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1199pub struct UpdateUserResponse {
1200    #[serde(rename = "username")]
1201    pub username: String,
1202    #[serde(rename = "name")]
1203    pub name: String,
1204    #[serde(rename = "userId")]
1205    pub user_id: String,
1206    #[serde(rename = "kind")]
1207    pub kind: String,
1208    #[serde(rename = "credentialUuid")]
1209    pub credential_uuid: String,
1210    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1211    pub org_id: Option<String>,
1212    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1213    pub tenant_id: Option<String>,
1214    #[serde(
1215        rename = "permissions",
1216        default,
1217        skip_serializing_if = "Option::is_none"
1218    )]
1219    pub permissions: Option<Vec<String>>,
1220    #[serde(rename = "isActive")]
1221    pub is_active: bool,
1222    #[serde(rename = "isServiceAccount")]
1223    pub is_service_account: bool,
1224    #[serde(rename = "isRegistered")]
1225    pub is_registered: bool,
1226    #[serde(rename = "isSSORequired")]
1227    pub is_ssorequired: bool,
1228    #[serde(rename = "permissionAssignments")]
1229    pub permission_assignments: Vec<serde_json::Value>,
1230}
1231
1232/// Delete User
1233#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1234pub struct DeleteUserResponse {
1235    #[serde(rename = "username")]
1236    pub username: String,
1237    #[serde(rename = "name")]
1238    pub name: String,
1239    #[serde(rename = "userId")]
1240    pub user_id: String,
1241    #[serde(rename = "kind")]
1242    pub kind: String,
1243    #[serde(rename = "credentialUuid")]
1244    pub credential_uuid: String,
1245    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1246    pub org_id: Option<String>,
1247    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1248    pub tenant_id: Option<String>,
1249    #[serde(
1250        rename = "permissions",
1251        default,
1252        skip_serializing_if = "Option::is_none"
1253    )]
1254    pub permissions: Option<Vec<String>>,
1255    #[serde(rename = "isActive")]
1256    pub is_active: bool,
1257    #[serde(rename = "isServiceAccount")]
1258    pub is_service_account: bool,
1259    #[serde(rename = "isRegistered")]
1260    pub is_registered: bool,
1261    #[serde(rename = "isSSORequired")]
1262    pub is_ssorequired: bool,
1263    #[serde(rename = "permissionAssignments")]
1264    pub permission_assignments: Vec<serde_json::Value>,
1265}
1266
1267/// List Users
1268#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1269pub struct ListUsersResponse {
1270    #[serde(rename = "items")]
1271    pub items: Vec<crate::types::User>,
1272    #[serde(
1273        rename = "nextPageToken",
1274        default,
1275        skip_serializing_if = "Option::is_none"
1276    )]
1277    pub next_page_token: Option<String>,
1278}
1279
1280/// Query parameters for the ListUsersQuery operation.
1281#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1282pub struct ListUsersQuery {
1283    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
1284    pub limit: Option<i64>,
1285    #[serde(
1286        rename = "paginationToken",
1287        default,
1288        skip_serializing_if = "Option::is_none"
1289    )]
1290    pub pagination_token: Option<String>,
1291    #[serde(rename = "kind", default, skip_serializing_if = "Option::is_none")]
1292    pub kind: Option<String>,
1293}
1294
1295/// Create User
1296#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1297pub struct CreateUserRequest {
1298    #[serde(rename = "email")]
1299    pub email: String,
1300    #[serde(rename = "kind")]
1301    pub kind: String,
1302    #[serde(rename = "publicKey", default, skip_serializing_if = "Option::is_none")]
1303    pub public_key: Option<String>,
1304    #[serde(
1305        rename = "externalId",
1306        default,
1307        skip_serializing_if = "Option::is_none"
1308    )]
1309    pub external_id: Option<String>,
1310    #[serde(
1311        rename = "isSSORequired",
1312        default,
1313        skip_serializing_if = "Option::is_none"
1314    )]
1315    pub is_ssorequired: Option<bool>,
1316}
1317
1318/// Create User
1319#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1320pub struct CreateUserResponse {
1321    #[serde(rename = "username")]
1322    pub username: String,
1323    #[serde(rename = "name")]
1324    pub name: String,
1325    #[serde(rename = "userId")]
1326    pub user_id: String,
1327    #[serde(rename = "kind")]
1328    pub kind: String,
1329    #[serde(rename = "credentialUuid")]
1330    pub credential_uuid: String,
1331    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1332    pub org_id: Option<String>,
1333    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1334    pub tenant_id: Option<String>,
1335    #[serde(
1336        rename = "permissions",
1337        default,
1338        skip_serializing_if = "Option::is_none"
1339    )]
1340    pub permissions: Option<Vec<String>>,
1341    #[serde(rename = "isActive")]
1342    pub is_active: bool,
1343    #[serde(rename = "isServiceAccount")]
1344    pub is_service_account: bool,
1345    #[serde(rename = "isRegistered")]
1346    pub is_registered: bool,
1347    #[serde(rename = "isSSORequired")]
1348    pub is_ssorequired: bool,
1349    #[serde(rename = "permissionAssignments")]
1350    pub permission_assignments: Vec<serde_json::Value>,
1351}
1352
1353/// Invite Tenant User
1354#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1355pub struct InviteTenantUserRequest {
1356    #[serde(rename = "email")]
1357    pub email: String,
1358    #[serde(rename = "kind")]
1359    pub kind: String,
1360}
1361
1362/// Invite Tenant User
1363#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1364pub struct InviteTenantUserResponse {}