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/// Complete OIDC Login
338#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
339pub struct CompleteOidcLoginRequest {
340    #[serde(rename = "code")]
341    pub code: String,
342    #[serde(rename = "state")]
343    pub state: String,
344}
345
346/// Initiate OIDC Login
347#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
348pub struct InitiateOidcLoginRequest {
349    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
350    pub org_id: Option<String>,
351    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
352    pub tenant_id: Option<String>,
353    #[serde(rename = "redirectUri")]
354    pub redirect_uri: String,
355}
356
357/// Initiate OIDC Login
358#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
359pub struct InitiateOidcLoginResponse {
360    #[serde(rename = "redirectUrl")]
361    pub redirect_url: String,
362}
363
364/// Send Login Code
365#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
366pub struct SendLoginCodeRequest {
367    #[serde(rename = "username")]
368    pub username: String,
369    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
370    pub org_id: Option<String>,
371    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
372    pub tenant_id: Option<String>,
373}
374
375/// Send Login Code
376#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
377pub struct SendLoginCodeResponse {
378    #[serde(rename = "message")]
379    pub message: String,
380}
381
382/// Social Login
383#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
384pub struct SocialLoginRequest {
385    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
386    pub org_id: Option<String>,
387    #[serde(rename = "socialLoginProviderKind")]
388    pub social_login_provider_kind: String,
389    #[serde(rename = "idToken")]
390    pub id_token: String,
391}
392
393/// Social Login
394#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
395pub struct SocialLoginResponse {
396    #[serde(rename = "token")]
397    pub token: String,
398}
399
400/// Complete SSO Login
401#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
402pub struct CompleteSsoLoginRequest {
403    #[serde(rename = "code")]
404    pub code: String,
405    #[serde(rename = "state")]
406    pub state: String,
407}
408
409/// Complete SSO Login
410#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
411pub struct CompleteSsoLoginResponse {
412    #[serde(rename = "token")]
413    pub token: String,
414}
415
416/// Initiate SSO Login
417#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
418pub struct InitiateSsoLoginRequest {
419    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
420    pub org_id: Option<String>,
421    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
422    pub tenant_id: Option<String>,
423    #[serde(rename = "clientId")]
424    pub client_id: String,
425    #[serde(rename = "redirectUri")]
426    pub redirect_uri: String,
427}
428
429/// Initiate SSO Login
430#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
431pub struct InitiateSsoLoginResponse {
432    #[serde(rename = "ssoRedirectUrl")]
433    pub sso_redirect_url: String,
434}
435
436/// Exchange Access Token
437#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
438pub struct ExchangeAccessTokenRequest {
439    #[serde(rename = "target")]
440    pub target: String,
441}
442
443/// Exchange Access Token
444#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
445pub struct ExchangeAccessTokenResponse {
446    #[serde(rename = "token")]
447    pub token: String,
448}
449
450/// List Personal Access Tokens
451#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
452pub struct ListPersonalAccessTokensResponse {
453    #[serde(rename = "items")]
454    pub items: Vec<crate::types::PersonalAccessToken>,
455}
456
457/// Create Personal Access Token
458#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
459pub struct CreatePersonalAccessTokenRequest {
460    #[serde(rename = "name")]
461    pub name: String,
462    #[serde(rename = "publicKey")]
463    pub public_key: String,
464    #[serde(
465        rename = "permissionId",
466        default,
467        skip_serializing_if = "Option::is_none"
468    )]
469    pub permission_id: Option<String>,
470    #[serde(
471        rename = "externalId",
472        default,
473        skip_serializing_if = "Option::is_none"
474    )]
475    pub external_id: Option<String>,
476    #[serde(rename = "daysValid", default, skip_serializing_if = "Option::is_none")]
477    pub days_valid: Option<i64>,
478    #[serde(
479        rename = "secondsValid",
480        default,
481        skip_serializing_if = "Option::is_none"
482    )]
483    pub seconds_valid: Option<i64>,
484}
485
486/// Create Personal Access Token
487#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
488pub struct CreatePersonalAccessTokenResponse {
489    #[serde(rename = "accessToken")]
490    pub access_token: String,
491    #[serde(rename = "dateCreated")]
492    pub date_created: String,
493    #[serde(rename = "credId")]
494    pub cred_id: String,
495    #[serde(rename = "isActive")]
496    pub is_active: bool,
497    #[serde(rename = "kind")]
498    pub kind: String,
499    #[serde(rename = "linkedUserId")]
500    pub linked_user_id: String,
501    #[serde(rename = "linkedAppId")]
502    pub linked_app_id: String,
503    #[serde(rename = "name")]
504    pub name: String,
505    #[serde(rename = "orgId")]
506    pub org_id: String,
507    #[serde(rename = "publicKey")]
508    pub public_key: String,
509    #[serde(rename = "tokenId")]
510    pub token_id: String,
511    #[serde(rename = "permissionAssignments")]
512    pub permission_assignments: Vec<serde_json::Value>,
513}
514
515/// Get Personal Access Token
516#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
517pub struct GetPersonalAccessTokenResponse {
518    #[serde(
519        rename = "accessToken",
520        default,
521        skip_serializing_if = "Option::is_none"
522    )]
523    pub access_token: Option<String>,
524    #[serde(rename = "dateCreated")]
525    pub date_created: String,
526    #[serde(rename = "credId")]
527    pub cred_id: String,
528    #[serde(rename = "isActive")]
529    pub is_active: bool,
530    #[serde(rename = "kind")]
531    pub kind: String,
532    #[serde(rename = "linkedUserId")]
533    pub linked_user_id: String,
534    #[serde(rename = "linkedAppId")]
535    pub linked_app_id: String,
536    #[serde(rename = "name")]
537    pub name: String,
538    #[serde(rename = "orgId")]
539    pub org_id: String,
540    #[serde(rename = "permissionAssignments")]
541    pub permission_assignments: Vec<serde_json::Value>,
542    #[serde(rename = "publicKey")]
543    pub public_key: String,
544    #[serde(rename = "tokenId")]
545    pub token_id: String,
546}
547
548/// Update Personal Access Token
549#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
550pub struct UpdatePersonalAccessTokenRequest {
551    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
552    pub name: Option<String>,
553    #[serde(
554        rename = "externalId",
555        default,
556        skip_serializing_if = "Option::is_none"
557    )]
558    pub external_id: Option<String>,
559}
560
561/// Update Personal Access Token
562#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
563pub struct UpdatePersonalAccessTokenResponse {
564    #[serde(
565        rename = "accessToken",
566        default,
567        skip_serializing_if = "Option::is_none"
568    )]
569    pub access_token: Option<String>,
570    #[serde(rename = "dateCreated")]
571    pub date_created: String,
572    #[serde(rename = "credId")]
573    pub cred_id: String,
574    #[serde(rename = "isActive")]
575    pub is_active: bool,
576    #[serde(rename = "kind")]
577    pub kind: String,
578    #[serde(rename = "linkedUserId")]
579    pub linked_user_id: String,
580    #[serde(rename = "linkedAppId")]
581    pub linked_app_id: String,
582    #[serde(rename = "name")]
583    pub name: String,
584    #[serde(rename = "orgId")]
585    pub org_id: String,
586    #[serde(rename = "permissionAssignments")]
587    pub permission_assignments: Vec<serde_json::Value>,
588    #[serde(rename = "publicKey")]
589    pub public_key: String,
590    #[serde(rename = "tokenId")]
591    pub token_id: String,
592}
593
594/// Delete Personal Access Token
595#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
596pub struct DeletePersonalAccessTokenResponse {
597    #[serde(
598        rename = "accessToken",
599        default,
600        skip_serializing_if = "Option::is_none"
601    )]
602    pub access_token: Option<String>,
603    #[serde(rename = "dateCreated")]
604    pub date_created: String,
605    #[serde(rename = "credId")]
606    pub cred_id: String,
607    #[serde(rename = "isActive")]
608    pub is_active: bool,
609    #[serde(rename = "kind")]
610    pub kind: String,
611    #[serde(rename = "linkedUserId")]
612    pub linked_user_id: String,
613    #[serde(rename = "linkedAppId")]
614    pub linked_app_id: String,
615    #[serde(rename = "name")]
616    pub name: String,
617    #[serde(rename = "orgId")]
618    pub org_id: String,
619    #[serde(rename = "permissionAssignments")]
620    pub permission_assignments: Vec<serde_json::Value>,
621    #[serde(rename = "publicKey")]
622    pub public_key: String,
623    #[serde(rename = "tokenId")]
624    pub token_id: String,
625}
626
627/// Activate Personal Access Token
628#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
629pub struct ActivatePersonalAccessTokenResponse {
630    #[serde(
631        rename = "accessToken",
632        default,
633        skip_serializing_if = "Option::is_none"
634    )]
635    pub access_token: Option<String>,
636    #[serde(rename = "dateCreated")]
637    pub date_created: String,
638    #[serde(rename = "credId")]
639    pub cred_id: String,
640    #[serde(rename = "isActive")]
641    pub is_active: bool,
642    #[serde(rename = "kind")]
643    pub kind: String,
644    #[serde(rename = "linkedUserId")]
645    pub linked_user_id: String,
646    #[serde(rename = "linkedAppId")]
647    pub linked_app_id: String,
648    #[serde(rename = "name")]
649    pub name: String,
650    #[serde(rename = "orgId")]
651    pub org_id: String,
652    #[serde(rename = "permissionAssignments")]
653    pub permission_assignments: Vec<serde_json::Value>,
654    #[serde(rename = "publicKey")]
655    pub public_key: String,
656    #[serde(rename = "tokenId")]
657    pub token_id: String,
658}
659
660/// Deactivate Personal Access Token
661#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
662pub struct DeactivatePersonalAccessTokenResponse {
663    #[serde(
664        rename = "accessToken",
665        default,
666        skip_serializing_if = "Option::is_none"
667    )]
668    pub access_token: Option<String>,
669    #[serde(rename = "dateCreated")]
670    pub date_created: String,
671    #[serde(rename = "credId")]
672    pub cred_id: String,
673    #[serde(rename = "isActive")]
674    pub is_active: bool,
675    #[serde(rename = "kind")]
676    pub kind: String,
677    #[serde(rename = "linkedUserId")]
678    pub linked_user_id: String,
679    #[serde(rename = "linkedAppId")]
680    pub linked_app_id: String,
681    #[serde(rename = "name")]
682    pub name: String,
683    #[serde(rename = "orgId")]
684    pub org_id: String,
685    #[serde(rename = "permissionAssignments")]
686    pub permission_assignments: Vec<serde_json::Value>,
687    #[serde(rename = "publicKey")]
688    pub public_key: String,
689    #[serde(rename = "tokenId")]
690    pub token_id: String,
691}
692
693/// Create Delegated Recovery Challenge
694#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
695pub struct CreateDelegatedRecoveryChallengeRequest {
696    #[serde(rename = "username")]
697    pub username: String,
698    #[serde(rename = "credentialId")]
699    pub credential_id: String,
700}
701
702/// Create Delegated Recovery Challenge
703#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
704pub struct CreateDelegatedRecoveryChallengeResponse {
705    #[serde(rename = "user")]
706    pub user: serde_json::Value,
707    #[serde(rename = "temporaryAuthenticationToken")]
708    pub temporary_authentication_token: String,
709    #[serde(rename = "challenge")]
710    pub challenge: String,
711    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
712    pub rp: Option<serde_json::Value>,
713    #[serde(rename = "supportedCredentialKinds")]
714    pub supported_credential_kinds: serde_json::Value,
715    #[serde(rename = "authenticatorSelection")]
716    pub authenticator_selection: serde_json::Value,
717    #[serde(rename = "attestation")]
718    pub attestation: String,
719    #[serde(rename = "pubKeyCredParams")]
720    pub pub_key_cred_params: Vec<serde_json::Value>,
721    #[serde(rename = "excludeCredentials")]
722    pub exclude_credentials: Vec<serde_json::Value>,
723    #[serde(rename = "otpUrl")]
724    pub otp_url: String,
725    #[serde(rename = "allowedRecoveryCredentials")]
726    pub allowed_recovery_credentials: Vec<serde_json::Value>,
727}
728
729/// Recover User
730#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
731pub struct RecoverUserRequest {
732    #[serde(rename = "recovery")]
733    pub recovery: serde_json::Value,
734    #[serde(rename = "newCredentials")]
735    pub new_credentials: serde_json::Value,
736}
737
738/// Recover User
739#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
740pub struct RecoverUserResponse {
741    #[serde(rename = "credential")]
742    pub credential: serde_json::Value,
743    #[serde(rename = "user")]
744    pub user: serde_json::Value,
745}
746
747/// Create Recovery Challenge
748#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
749pub struct CreateRecoveryChallengeRequest {
750    #[serde(rename = "username")]
751    pub username: String,
752    #[serde(rename = "verificationCode")]
753    pub verification_code: String,
754    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
755    pub org_id: Option<String>,
756    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
757    pub tenant_id: Option<String>,
758    #[serde(rename = "credentialId")]
759    pub credential_id: String,
760}
761
762/// Create Recovery Challenge
763#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
764pub struct CreateRecoveryChallengeResponse {
765    #[serde(rename = "user")]
766    pub user: serde_json::Value,
767    #[serde(rename = "temporaryAuthenticationToken")]
768    pub temporary_authentication_token: String,
769    #[serde(rename = "challenge")]
770    pub challenge: String,
771    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
772    pub rp: Option<serde_json::Value>,
773    #[serde(rename = "supportedCredentialKinds")]
774    pub supported_credential_kinds: serde_json::Value,
775    #[serde(rename = "authenticatorSelection")]
776    pub authenticator_selection: serde_json::Value,
777    #[serde(rename = "attestation")]
778    pub attestation: String,
779    #[serde(rename = "pubKeyCredParams")]
780    pub pub_key_cred_params: Vec<serde_json::Value>,
781    #[serde(rename = "excludeCredentials")]
782    pub exclude_credentials: Vec<serde_json::Value>,
783    #[serde(rename = "otpUrl")]
784    pub otp_url: String,
785    #[serde(rename = "allowedRecoveryCredentials")]
786    pub allowed_recovery_credentials: Vec<serde_json::Value>,
787}
788
789/// Send Recovery Code Email
790#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
791pub struct SendRecoveryCodeEmailRequest {
792    #[serde(rename = "username")]
793    pub username: String,
794    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
795    pub org_id: Option<String>,
796    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
797    pub tenant_id: Option<String>,
798}
799
800/// Send Recovery Code Email
801#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
802pub struct SendRecoveryCodeEmailResponse {
803    #[serde(rename = "message")]
804    pub message: String,
805}
806
807/// Create Delegated Registration Challenge
808#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
809pub struct CreateDelegatedRegistrationChallengeRequest {
810    #[serde(rename = "email")]
811    pub email: String,
812    #[serde(rename = "kind")]
813    pub kind: String,
814    #[serde(
815        rename = "externalId",
816        default,
817        skip_serializing_if = "Option::is_none"
818    )]
819    pub external_id: Option<String>,
820}
821
822/// Create Delegated Registration Challenge
823#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
824pub struct CreateDelegatedRegistrationChallengeResponse {
825    #[serde(rename = "user")]
826    pub user: serde_json::Value,
827    #[serde(rename = "temporaryAuthenticationToken")]
828    pub temporary_authentication_token: String,
829    #[serde(rename = "challenge")]
830    pub challenge: String,
831    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
832    pub rp: Option<serde_json::Value>,
833    #[serde(rename = "supportedCredentialKinds")]
834    pub supported_credential_kinds: serde_json::Value,
835    #[serde(rename = "authenticatorSelection")]
836    pub authenticator_selection: serde_json::Value,
837    #[serde(rename = "attestation")]
838    pub attestation: String,
839    #[serde(rename = "pubKeyCredParams")]
840    pub pub_key_cred_params: Vec<serde_json::Value>,
841    #[serde(rename = "excludeCredentials")]
842    pub exclude_credentials: Vec<serde_json::Value>,
843    #[serde(rename = "otpUrl")]
844    pub otp_url: String,
845}
846
847/// Create Registration Challenge
848#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
849pub struct CreateRegistrationChallengeRequest {
850    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
851    pub org_id: Option<String>,
852    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
853    pub tenant_id: Option<String>,
854    #[serde(rename = "username")]
855    pub username: String,
856    #[serde(rename = "registrationCode")]
857    pub registration_code: String,
858}
859
860/// Create Registration Challenge
861#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
862pub struct CreateRegistrationChallengeResponse {
863    #[serde(rename = "user")]
864    pub user: serde_json::Value,
865    #[serde(rename = "temporaryAuthenticationToken")]
866    pub temporary_authentication_token: String,
867    #[serde(rename = "challenge")]
868    pub challenge: String,
869    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
870    pub rp: Option<serde_json::Value>,
871    #[serde(rename = "supportedCredentialKinds")]
872    pub supported_credential_kinds: serde_json::Value,
873    #[serde(rename = "authenticatorSelection")]
874    pub authenticator_selection: serde_json::Value,
875    #[serde(rename = "attestation")]
876    pub attestation: String,
877    #[serde(rename = "pubKeyCredParams")]
878    pub pub_key_cred_params: Vec<serde_json::Value>,
879    #[serde(rename = "excludeCredentials")]
880    pub exclude_credentials: Vec<serde_json::Value>,
881    #[serde(rename = "otpUrl")]
882    pub otp_url: String,
883}
884
885/// Create Social Registration Challenge
886#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
887pub struct CreateSocialRegistrationChallengeRequest {
888    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
889    pub org_id: Option<String>,
890    #[serde(rename = "socialLoginProviderKind")]
891    pub social_login_provider_kind: String,
892    #[serde(rename = "idToken")]
893    pub id_token: String,
894}
895
896/// Create Social Registration Challenge
897#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
898pub struct CreateSocialRegistrationChallengeResponse {
899    #[serde(rename = "user")]
900    pub user: serde_json::Value,
901    #[serde(rename = "temporaryAuthenticationToken")]
902    pub temporary_authentication_token: String,
903    #[serde(rename = "challenge")]
904    pub challenge: String,
905    #[serde(rename = "rp", default, skip_serializing_if = "Option::is_none")]
906    pub rp: Option<serde_json::Value>,
907    #[serde(rename = "supportedCredentialKinds")]
908    pub supported_credential_kinds: serde_json::Value,
909    #[serde(rename = "authenticatorSelection")]
910    pub authenticator_selection: serde_json::Value,
911    #[serde(rename = "attestation")]
912    pub attestation: String,
913    #[serde(rename = "pubKeyCredParams")]
914    pub pub_key_cred_params: Vec<serde_json::Value>,
915    #[serde(rename = "excludeCredentials")]
916    pub exclude_credentials: Vec<serde_json::Value>,
917    #[serde(rename = "otpUrl")]
918    pub otp_url: String,
919}
920
921/// Complete User Registration
922#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
923pub struct CompleteUserRegistrationRequest {
924    #[serde(rename = "firstFactorCredential")]
925    pub first_factor_credential: serde_json::Value,
926    #[serde(
927        rename = "secondFactorCredential",
928        default,
929        skip_serializing_if = "Option::is_none"
930    )]
931    pub second_factor_credential: Option<serde_json::Value>,
932    #[serde(
933        rename = "recoveryCredential",
934        default,
935        skip_serializing_if = "Option::is_none"
936    )]
937    pub recovery_credential: Option<crate::types::RecoveryKeyAttestation>,
938}
939
940/// Complete User Registration
941#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
942pub struct CompleteUserRegistrationResponse {
943    #[serde(rename = "credential")]
944    pub credential: serde_json::Value,
945    #[serde(rename = "user")]
946    pub user: serde_json::Value,
947}
948
949/// Complete End User Registration with Wallets
950#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
951pub struct CompleteEndUserRegistrationWithWalletsRequest {
952    #[serde(rename = "firstFactorCredential")]
953    pub first_factor_credential: serde_json::Value,
954    #[serde(
955        rename = "secondFactorCredential",
956        default,
957        skip_serializing_if = "Option::is_none"
958    )]
959    pub second_factor_credential: Option<serde_json::Value>,
960    #[serde(
961        rename = "recoveryCredential",
962        default,
963        skip_serializing_if = "Option::is_none"
964    )]
965    pub recovery_credential: Option<crate::types::RecoveryKeyAttestation>,
966    #[serde(rename = "wallets")]
967    pub wallets: Vec<serde_json::Value>,
968}
969
970/// Complete End User Registration with Wallets
971#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
972pub struct CompleteEndUserRegistrationWithWalletsResponse {
973    #[serde(rename = "credential")]
974    pub credential: serde_json::Value,
975    #[serde(rename = "user")]
976    pub user: serde_json::Value,
977    #[serde(rename = "authentication")]
978    pub authentication: serde_json::Value,
979    #[serde(rename = "wallets")]
980    pub wallets: Vec<crate::types::Wallet>,
981}
982
983/// Resend Registration Code
984#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
985pub struct ResendRegistrationCodeRequest {
986    #[serde(rename = "username")]
987    pub username: String,
988    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
989    pub org_id: Option<String>,
990    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
991    pub tenant_id: Option<String>,
992}
993
994/// Resend Registration Code
995#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
996pub struct ResendRegistrationCodeResponse {
997    #[serde(rename = "message")]
998    pub message: String,
999}
1000
1001/// List Service Accounts
1002#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1003pub struct ListServiceAccountsResponse {
1004    #[serde(rename = "items")]
1005    pub items: Vec<serde_json::Value>,
1006}
1007
1008/// Create Service Account
1009#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1010pub struct CreateServiceAccountRequest {
1011    #[serde(rename = "name")]
1012    pub name: String,
1013    #[serde(rename = "publicKey")]
1014    pub public_key: String,
1015    #[serde(
1016        rename = "permissionId",
1017        default,
1018        skip_serializing_if = "Option::is_none"
1019    )]
1020    pub permission_id: Option<String>,
1021    #[serde(
1022        rename = "externalId",
1023        default,
1024        skip_serializing_if = "Option::is_none"
1025    )]
1026    pub external_id: Option<String>,
1027    #[serde(rename = "daysValid", default, skip_serializing_if = "Option::is_none")]
1028    pub days_valid: Option<i64>,
1029}
1030
1031/// Create Service Account
1032#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1033pub struct CreateServiceAccountResponse {
1034    #[serde(rename = "userInfo")]
1035    pub user_info: serde_json::Value,
1036    #[serde(rename = "accessTokens")]
1037    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1038}
1039
1040/// Get Service Account
1041#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1042pub struct GetServiceAccountResponse {
1043    #[serde(rename = "userInfo")]
1044    pub user_info: serde_json::Value,
1045    #[serde(rename = "accessTokens")]
1046    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1047}
1048
1049/// Update Service Account
1050#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1051pub struct UpdateServiceAccountRequest {
1052    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
1053    pub name: Option<String>,
1054    #[serde(
1055        rename = "externalId",
1056        default,
1057        skip_serializing_if = "Option::is_none"
1058    )]
1059    pub external_id: Option<String>,
1060}
1061
1062/// Update Service Account
1063#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1064pub struct UpdateServiceAccountResponse {
1065    #[serde(rename = "userInfo")]
1066    pub user_info: serde_json::Value,
1067    #[serde(rename = "accessTokens")]
1068    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1069}
1070
1071/// Delete Service Account
1072#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1073pub struct DeleteServiceAccountResponse {
1074    #[serde(rename = "userInfo")]
1075    pub user_info: serde_json::Value,
1076    #[serde(rename = "accessTokens")]
1077    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1078}
1079
1080/// Query parameters for the DeleteServiceAccountQuery operation.
1081#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1082pub struct DeleteServiceAccountQuery {
1083    #[serde(rename = "force", default, skip_serializing_if = "Option::is_none")]
1084    pub force: Option<serde_json::Value>,
1085}
1086
1087/// Activate Service Account
1088#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1089pub struct ActivateServiceAccountResponse {
1090    #[serde(rename = "userInfo")]
1091    pub user_info: serde_json::Value,
1092    #[serde(rename = "accessTokens")]
1093    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1094}
1095
1096/// Deactivate Service Account
1097#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1098pub struct DeactivateServiceAccountRequest {
1099    #[serde(rename = "force", default, skip_serializing_if = "Option::is_none")]
1100    pub force: Option<bool>,
1101}
1102
1103/// Deactivate Service Account
1104#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1105pub struct DeactivateServiceAccountResponse {
1106    #[serde(rename = "userInfo")]
1107    pub user_info: serde_json::Value,
1108    #[serde(rename = "accessTokens")]
1109    pub access_tokens: Vec<crate::types::PersonalAccessToken>,
1110}
1111
1112/// Activate User
1113#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1114pub struct ActivateUserResponse {
1115    #[serde(rename = "username")]
1116    pub username: String,
1117    #[serde(rename = "name")]
1118    pub name: String,
1119    #[serde(rename = "userId")]
1120    pub user_id: String,
1121    #[serde(rename = "kind")]
1122    pub kind: String,
1123    #[serde(rename = "credentialUuid")]
1124    pub credential_uuid: String,
1125    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1126    pub org_id: Option<String>,
1127    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1128    pub tenant_id: Option<String>,
1129    #[serde(
1130        rename = "permissions",
1131        default,
1132        skip_serializing_if = "Option::is_none"
1133    )]
1134    pub permissions: Option<Vec<String>>,
1135    #[serde(rename = "isActive")]
1136    pub is_active: bool,
1137    #[serde(rename = "isServiceAccount")]
1138    pub is_service_account: bool,
1139    #[serde(rename = "isRegistered")]
1140    pub is_registered: bool,
1141    #[serde(rename = "isSSORequired")]
1142    pub is_ssorequired: bool,
1143    #[serde(rename = "permissionAssignments")]
1144    pub permission_assignments: Vec<serde_json::Value>,
1145}
1146
1147/// Deactivate User
1148#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1149pub struct DeactivateUserResponse {
1150    #[serde(rename = "username")]
1151    pub username: String,
1152    #[serde(rename = "name")]
1153    pub name: String,
1154    #[serde(rename = "userId")]
1155    pub user_id: String,
1156    #[serde(rename = "kind")]
1157    pub kind: String,
1158    #[serde(rename = "credentialUuid")]
1159    pub credential_uuid: String,
1160    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1161    pub org_id: Option<String>,
1162    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1163    pub tenant_id: Option<String>,
1164    #[serde(
1165        rename = "permissions",
1166        default,
1167        skip_serializing_if = "Option::is_none"
1168    )]
1169    pub permissions: Option<Vec<String>>,
1170    #[serde(rename = "isActive")]
1171    pub is_active: bool,
1172    #[serde(rename = "isServiceAccount")]
1173    pub is_service_account: bool,
1174    #[serde(rename = "isRegistered")]
1175    pub is_registered: bool,
1176    #[serde(rename = "isSSORequired")]
1177    pub is_ssorequired: bool,
1178    #[serde(rename = "permissionAssignments")]
1179    pub permission_assignments: Vec<serde_json::Value>,
1180}
1181
1182/// Get User
1183#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1184pub struct GetUserResponse {
1185    #[serde(rename = "username")]
1186    pub username: String,
1187    #[serde(rename = "name")]
1188    pub name: String,
1189    #[serde(rename = "userId")]
1190    pub user_id: String,
1191    #[serde(rename = "kind")]
1192    pub kind: String,
1193    #[serde(rename = "credentialUuid")]
1194    pub credential_uuid: String,
1195    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1196    pub org_id: Option<String>,
1197    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1198    pub tenant_id: Option<String>,
1199    #[serde(
1200        rename = "permissions",
1201        default,
1202        skip_serializing_if = "Option::is_none"
1203    )]
1204    pub permissions: Option<Vec<String>>,
1205    #[serde(rename = "isActive")]
1206    pub is_active: bool,
1207    #[serde(rename = "isServiceAccount")]
1208    pub is_service_account: bool,
1209    #[serde(rename = "isRegistered")]
1210    pub is_registered: bool,
1211    #[serde(rename = "isSSORequired")]
1212    pub is_ssorequired: bool,
1213    #[serde(rename = "permissionAssignments")]
1214    pub permission_assignments: Vec<serde_json::Value>,
1215}
1216
1217/// Update User
1218#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1219pub struct UpdateUserRequest {
1220    #[serde(rename = "isSSORequired")]
1221    pub is_ssorequired: bool,
1222}
1223
1224/// Update User
1225#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1226pub struct UpdateUserResponse {
1227    #[serde(rename = "username")]
1228    pub username: String,
1229    #[serde(rename = "name")]
1230    pub name: String,
1231    #[serde(rename = "userId")]
1232    pub user_id: String,
1233    #[serde(rename = "kind")]
1234    pub kind: String,
1235    #[serde(rename = "credentialUuid")]
1236    pub credential_uuid: String,
1237    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1238    pub org_id: Option<String>,
1239    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1240    pub tenant_id: Option<String>,
1241    #[serde(
1242        rename = "permissions",
1243        default,
1244        skip_serializing_if = "Option::is_none"
1245    )]
1246    pub permissions: Option<Vec<String>>,
1247    #[serde(rename = "isActive")]
1248    pub is_active: bool,
1249    #[serde(rename = "isServiceAccount")]
1250    pub is_service_account: bool,
1251    #[serde(rename = "isRegistered")]
1252    pub is_registered: bool,
1253    #[serde(rename = "isSSORequired")]
1254    pub is_ssorequired: bool,
1255    #[serde(rename = "permissionAssignments")]
1256    pub permission_assignments: Vec<serde_json::Value>,
1257}
1258
1259/// Delete User
1260#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1261pub struct DeleteUserResponse {
1262    #[serde(rename = "username")]
1263    pub username: String,
1264    #[serde(rename = "name")]
1265    pub name: String,
1266    #[serde(rename = "userId")]
1267    pub user_id: String,
1268    #[serde(rename = "kind")]
1269    pub kind: String,
1270    #[serde(rename = "credentialUuid")]
1271    pub credential_uuid: String,
1272    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1273    pub org_id: Option<String>,
1274    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1275    pub tenant_id: Option<String>,
1276    #[serde(
1277        rename = "permissions",
1278        default,
1279        skip_serializing_if = "Option::is_none"
1280    )]
1281    pub permissions: Option<Vec<String>>,
1282    #[serde(rename = "isActive")]
1283    pub is_active: bool,
1284    #[serde(rename = "isServiceAccount")]
1285    pub is_service_account: bool,
1286    #[serde(rename = "isRegistered")]
1287    pub is_registered: bool,
1288    #[serde(rename = "isSSORequired")]
1289    pub is_ssorequired: bool,
1290    #[serde(rename = "permissionAssignments")]
1291    pub permission_assignments: Vec<serde_json::Value>,
1292}
1293
1294/// List Users
1295#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1296pub struct ListUsersResponse {
1297    #[serde(rename = "items")]
1298    pub items: Vec<crate::types::User>,
1299    #[serde(
1300        rename = "nextPageToken",
1301        default,
1302        skip_serializing_if = "Option::is_none"
1303    )]
1304    pub next_page_token: Option<String>,
1305}
1306
1307/// Query parameters for the ListUsersQuery operation.
1308#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1309pub struct ListUsersQuery {
1310    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
1311    pub limit: Option<i64>,
1312    #[serde(
1313        rename = "paginationToken",
1314        default,
1315        skip_serializing_if = "Option::is_none"
1316    )]
1317    pub pagination_token: Option<String>,
1318    #[serde(rename = "kind", default, skip_serializing_if = "Option::is_none")]
1319    pub kind: Option<String>,
1320}
1321
1322/// Create User
1323#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1324pub struct CreateUserRequest {
1325    #[serde(rename = "email")]
1326    pub email: String,
1327    #[serde(rename = "kind")]
1328    pub kind: String,
1329    #[serde(rename = "publicKey", default, skip_serializing_if = "Option::is_none")]
1330    pub public_key: Option<String>,
1331    #[serde(
1332        rename = "externalId",
1333        default,
1334        skip_serializing_if = "Option::is_none"
1335    )]
1336    pub external_id: Option<String>,
1337    #[serde(
1338        rename = "isSSORequired",
1339        default,
1340        skip_serializing_if = "Option::is_none"
1341    )]
1342    pub is_ssorequired: Option<bool>,
1343}
1344
1345/// Create User
1346#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1347pub struct CreateUserResponse {
1348    #[serde(rename = "username")]
1349    pub username: String,
1350    #[serde(rename = "name")]
1351    pub name: String,
1352    #[serde(rename = "userId")]
1353    pub user_id: String,
1354    #[serde(rename = "kind")]
1355    pub kind: String,
1356    #[serde(rename = "credentialUuid")]
1357    pub credential_uuid: String,
1358    #[serde(rename = "orgId", default, skip_serializing_if = "Option::is_none")]
1359    pub org_id: Option<String>,
1360    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
1361    pub tenant_id: Option<String>,
1362    #[serde(
1363        rename = "permissions",
1364        default,
1365        skip_serializing_if = "Option::is_none"
1366    )]
1367    pub permissions: Option<Vec<String>>,
1368    #[serde(rename = "isActive")]
1369    pub is_active: bool,
1370    #[serde(rename = "isServiceAccount")]
1371    pub is_service_account: bool,
1372    #[serde(rename = "isRegistered")]
1373    pub is_registered: bool,
1374    #[serde(rename = "isSSORequired")]
1375    pub is_ssorequired: bool,
1376    #[serde(rename = "permissionAssignments")]
1377    pub permission_assignments: Vec<serde_json::Value>,
1378}
1379
1380/// Invite Tenant User
1381#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1382pub struct InviteTenantUserRequest {
1383    #[serde(rename = "email")]
1384    pub email: String,
1385    #[serde(rename = "kind")]
1386    pub kind: String,
1387}
1388
1389/// Invite Tenant User
1390#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
1391pub struct InviteTenantUserResponse {}