Skip to main content

nominal_api/conjure/clients/authentication/api/
authentication_service_v2.rs

1use conjure_http::endpoint;
2/// This service provides operations for managing user and org profiles/settings.
3/// Its name is a bit of a misnomer.
4#[conjure_http::conjure_client(name = "AuthenticationServiceV2")]
5pub trait AuthenticationServiceV2<
6    #[response_body]
7    I: Iterator<
8            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
9        >,
10> {
11    /// Gets the profile of the authenticated user.
12    #[endpoint(
13        method = GET,
14        path = "/authentication/v2/my/profile",
15        name = "getMyProfile",
16        accept = conjure_http::client::StdResponseDeserializer
17    )]
18    fn get_my_profile(
19        &self,
20        #[auth]
21        auth_: &conjure_object::BearerToken,
22    ) -> Result<
23        super::super::super::super::objects::authentication::api::UserV2,
24        conjure_http::private::Error,
25    >;
26    /// Updates the profile of the authenticated user.
27    #[endpoint(
28        method = PUT,
29        path = "/authentication/v2/my/profile",
30        name = "updateMyProfile",
31        accept = conjure_http::client::StdResponseDeserializer
32    )]
33    fn update_my_profile(
34        &self,
35        #[auth]
36        auth_: &conjure_object::BearerToken,
37        #[body(serializer = conjure_http::client::StdRequestSerializer)]
38        update_my_profile_request: &super::super::super::super::objects::authentication::api::UpdateMyProfileRequest,
39    ) -> Result<
40        super::super::super::super::objects::authentication::api::UserV2,
41        conjure_http::private::Error,
42    >;
43    /// Gets the settings of the authenticated user.
44    #[endpoint(
45        method = GET,
46        path = "/authentication/v2/my/settings",
47        name = "getMySettings",
48        accept = conjure_http::client::StdResponseDeserializer
49    )]
50    fn get_my_settings(
51        &self,
52        #[auth]
53        auth_: &conjure_object::BearerToken,
54    ) -> Result<
55        super::super::super::super::objects::authentication::api::UserSettings,
56        conjure_http::private::Error,
57    >;
58    /// Updates the settings of the authenticated user.
59    #[endpoint(
60        method = PUT,
61        path = "/authentication/v2/my/settings",
62        name = "updateMySettings",
63        accept = conjure_http::client::StdResponseDeserializer
64    )]
65    fn update_my_settings(
66        &self,
67        #[auth]
68        auth_: &conjure_object::BearerToken,
69        #[body(serializer = conjure_http::client::StdRequestSerializer)]
70        user_settings: &super::super::super::super::objects::authentication::api::UserSettings,
71    ) -> Result<
72        super::super::super::super::objects::authentication::api::UserSettings,
73        conjure_http::private::Error,
74    >;
75    /// Gets the settings of the org of the authenticated user.
76    #[endpoint(
77        method = GET,
78        path = "/authentication/v2/org/settings",
79        name = "getMyOrgSettings",
80        accept = conjure_http::client::StdResponseDeserializer
81    )]
82    fn get_my_org_settings(
83        &self,
84        #[auth]
85        auth_: &conjure_object::BearerToken,
86    ) -> Result<
87        super::super::super::super::objects::authentication::api::OrgSettings,
88        conjure_http::private::Error,
89    >;
90    /// Updates the settings of the org of the authenticated user.
91    #[endpoint(
92        method = PUT,
93        path = "/authentication/v2/org/settings",
94        name = "updateMyOrgSettings",
95        accept = conjure_http::client::StdResponseDeserializer
96    )]
97    fn update_my_org_settings(
98        &self,
99        #[auth]
100        auth_: &conjure_object::BearerToken,
101        #[body(serializer = conjure_http::client::StdRequestSerializer)]
102        org_settings: &super::super::super::super::objects::authentication::api::OrgSettings,
103    ) -> Result<
104        super::super::super::super::objects::authentication::api::OrgSettings,
105        conjure_http::private::Error,
106    >;
107    /// Searches for users by email and displayName.
108    #[endpoint(
109        method = POST,
110        path = "/authentication/v2/users",
111        name = "searchUsersV2",
112        accept = conjure_http::client::StdResponseDeserializer
113    )]
114    fn search_users_v2(
115        &self,
116        #[auth]
117        auth_: &conjure_object::BearerToken,
118        #[body(serializer = conjure_http::client::StdRequestSerializer)]
119        request: &super::super::super::super::objects::authentication::api::SearchUsersRequest,
120    ) -> Result<
121        super::super::super::super::objects::authentication::api::SearchUsersResponseV2,
122        conjure_http::private::Error,
123    >;
124    /// Get users by RID.
125    #[endpoint(
126        method = POST,
127        path = "/authentication/v2/users/batch",
128        name = "getUsers",
129        accept = conjure_http::client::conjure::CollectionResponseDeserializer
130    )]
131    fn get_users(
132        &self,
133        #[auth]
134        auth_: &conjure_object::BearerToken,
135        #[body(serializer = conjure_http::client::StdRequestSerializer)]
136        user_rids: &std::collections::BTreeSet<
137            super::super::super::super::objects::authentication::api::UserRid,
138        >,
139    ) -> Result<
140        std::collections::BTreeSet<
141            super::super::super::super::objects::authentication::api::UserV2,
142        >,
143        conjure_http::private::Error,
144    >;
145    /// Gets a user by RID.
146    #[endpoint(
147        method = GET,
148        path = "/authentication/v2/users/{userRid}",
149        name = "getUser",
150        accept = conjure_http::client::StdResponseDeserializer
151    )]
152    fn get_user(
153        &self,
154        #[auth]
155        auth_: &conjure_object::BearerToken,
156        #[path(name = "userRid", encoder = conjure_http::client::conjure::PlainEncoder)]
157        user_rid: &super::super::super::super::objects::authentication::api::UserRid,
158    ) -> Result<
159        super::super::super::super::objects::authentication::api::UserV2,
160        conjure_http::private::Error,
161    >;
162    /// Returns JWKS (JSON Web Key Set) for MediaMTX JWT verification.
163    /// Only available if MediaMTX integration is enabled.
164    #[endpoint(
165        method = GET,
166        path = "/authentication/v2/jwks",
167        name = "getJwks",
168        accept = conjure_http::client::StdResponseDeserializer
169    )]
170    fn get_jwks(
171        &self,
172    ) -> Result<
173        super::super::super::super::objects::authentication::api::Jwks,
174        conjure_http::private::Error,
175    >;
176    /// Generates a JWT token for MediaMTX authentication with a 2-hour expiration.
177    /// The token is signed with the MediaMTX private key and contains the specified permissions.
178    /// Requires authentication with Nominal. This endpoint is intended for internal use only.
179    #[endpoint(
180        method = POST,
181        path = "/authentication/v2/mediamtx/token",
182        name = "generateMediaMtxToken",
183        accept = conjure_http::client::StdResponseDeserializer
184    )]
185    fn generate_media_mtx_token(
186        &self,
187        #[auth]
188        auth_: &conjure_object::BearerToken,
189        #[body(serializer = conjure_http::client::StdRequestSerializer)]
190        request: &super::super::super::super::objects::authentication::api::GenerateMediaMtxTokenRequest,
191    ) -> Result<
192        super::super::super::super::objects::authentication::api::GenerateMediaMtxTokenResponse,
193        conjure_http::private::Error,
194    >;
195    /// Gets coachmark dismissals for the authenticated user.
196    /// Optionally filter by specific coachmark IDs.
197    #[endpoint(
198        method = POST,
199        path = "/authentication/v2/my/coachmarks/dismissals",
200        name = "getMyCoachmarkDismissals",
201        accept = conjure_http::client::StdResponseDeserializer
202    )]
203    fn get_my_coachmark_dismissals(
204        &self,
205        #[auth]
206        auth_: &conjure_object::BearerToken,
207        #[body(serializer = conjure_http::client::StdRequestSerializer)]
208        request: &super::super::super::super::objects::authentication::api::GetCoachmarkDismissalsRequest,
209    ) -> Result<
210        super::super::super::super::objects::authentication::api::GetCoachmarkDismissalsResponse,
211        conjure_http::private::Error,
212    >;
213    /// Dismisses a coachmark for the authenticated user.
214    /// Records the dismissal timestamp and app version.
215    #[endpoint(
216        method = POST,
217        path = "/authentication/v2/my/coachmarks/dismiss",
218        name = "dismissMyCoachmark",
219        accept = conjure_http::client::StdResponseDeserializer
220    )]
221    fn dismiss_my_coachmark(
222        &self,
223        #[auth]
224        auth_: &conjure_object::BearerToken,
225        #[body(serializer = conjure_http::client::StdRequestSerializer)]
226        request: &super::super::super::super::objects::authentication::api::DismissCoachmarkRequest,
227    ) -> Result<
228        super::super::super::super::objects::authentication::api::CoachmarkDismissal,
229        conjure_http::private::Error,
230    >;
231    /// Checks if a specific coachmark has been dismissed by the authenticated user.
232    #[endpoint(
233        method = GET,
234        path = "/authentication/v2/my/coachmarks/dismissed/{coachmarkId}",
235        name = "isMyCoachmarkDismissed",
236        accept = conjure_http::client::StdResponseDeserializer
237    )]
238    fn is_my_coachmark_dismissed(
239        &self,
240        #[auth]
241        auth_: &conjure_object::BearerToken,
242        #[path(
243            name = "coachmarkId",
244            encoder = conjure_http::client::conjure::PlainEncoder
245        )]
246        coachmark_id: &str,
247    ) -> Result<bool, conjure_http::private::Error>;
248    /// Resets a coachmark dismissal for the authenticated user.
249    /// This allows the coachmark to be shown again.
250    /// Primarily intended for testing and debugging.
251    #[endpoint(
252        method = DELETE,
253        path = "/authentication/v2/my/coachmarks/dismissals/{coachmarkId}",
254        name = "resetMyCoachmarkDismissal",
255        accept = conjure_http::client::conjure::EmptyResponseDeserializer
256    )]
257    fn reset_my_coachmark_dismissal(
258        &self,
259        #[auth]
260        auth_: &conjure_object::BearerToken,
261        #[path(
262            name = "coachmarkId",
263            encoder = conjure_http::client::conjure::PlainEncoder
264        )]
265        coachmark_id: &str,
266    ) -> Result<(), conjure_http::private::Error>;
267    /// Batch preregister users in the caller's organization. Only creates new users for
268    /// emails that don't already exist — existing accounts are silently skipped and not
269    /// returned in the response. The caller must be an admin of the organization.
270    #[endpoint(
271        method = POST,
272        path = "/authentication/v2/batch-preregister-users",
273        name = "batchPreregisterUsers",
274        accept = conjure_http::client::StdResponseDeserializer
275    )]
276    fn batch_preregister_users(
277        &self,
278        #[auth]
279        auth_: &conjure_object::BearerToken,
280        #[body(serializer = conjure_http::client::StdRequestSerializer)]
281        request: &super::super::super::super::objects::authentication::api::BatchPreregisterUsersRequest,
282    ) -> Result<
283        super::super::super::super::objects::authentication::api::BatchPreregisterUsersResponse,
284        conjure_http::private::Error,
285    >;
286}
287/// This service provides operations for managing user and org profiles/settings.
288/// Its name is a bit of a misnomer.
289#[conjure_http::conjure_client(name = "AuthenticationServiceV2")]
290pub trait AsyncAuthenticationServiceV2<
291    #[response_body]
292    I: conjure_http::private::Stream<
293            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
294        >,
295> {
296    /// Gets the profile of the authenticated user.
297    #[endpoint(
298        method = GET,
299        path = "/authentication/v2/my/profile",
300        name = "getMyProfile",
301        accept = conjure_http::client::StdResponseDeserializer
302    )]
303    async fn get_my_profile(
304        &self,
305        #[auth]
306        auth_: &conjure_object::BearerToken,
307    ) -> Result<
308        super::super::super::super::objects::authentication::api::UserV2,
309        conjure_http::private::Error,
310    >;
311    /// Updates the profile of the authenticated user.
312    #[endpoint(
313        method = PUT,
314        path = "/authentication/v2/my/profile",
315        name = "updateMyProfile",
316        accept = conjure_http::client::StdResponseDeserializer
317    )]
318    async fn update_my_profile(
319        &self,
320        #[auth]
321        auth_: &conjure_object::BearerToken,
322        #[body(serializer = conjure_http::client::StdRequestSerializer)]
323        update_my_profile_request: &super::super::super::super::objects::authentication::api::UpdateMyProfileRequest,
324    ) -> Result<
325        super::super::super::super::objects::authentication::api::UserV2,
326        conjure_http::private::Error,
327    >;
328    /// Gets the settings of the authenticated user.
329    #[endpoint(
330        method = GET,
331        path = "/authentication/v2/my/settings",
332        name = "getMySettings",
333        accept = conjure_http::client::StdResponseDeserializer
334    )]
335    async fn get_my_settings(
336        &self,
337        #[auth]
338        auth_: &conjure_object::BearerToken,
339    ) -> Result<
340        super::super::super::super::objects::authentication::api::UserSettings,
341        conjure_http::private::Error,
342    >;
343    /// Updates the settings of the authenticated user.
344    #[endpoint(
345        method = PUT,
346        path = "/authentication/v2/my/settings",
347        name = "updateMySettings",
348        accept = conjure_http::client::StdResponseDeserializer
349    )]
350    async fn update_my_settings(
351        &self,
352        #[auth]
353        auth_: &conjure_object::BearerToken,
354        #[body(serializer = conjure_http::client::StdRequestSerializer)]
355        user_settings: &super::super::super::super::objects::authentication::api::UserSettings,
356    ) -> Result<
357        super::super::super::super::objects::authentication::api::UserSettings,
358        conjure_http::private::Error,
359    >;
360    /// Gets the settings of the org of the authenticated user.
361    #[endpoint(
362        method = GET,
363        path = "/authentication/v2/org/settings",
364        name = "getMyOrgSettings",
365        accept = conjure_http::client::StdResponseDeserializer
366    )]
367    async fn get_my_org_settings(
368        &self,
369        #[auth]
370        auth_: &conjure_object::BearerToken,
371    ) -> Result<
372        super::super::super::super::objects::authentication::api::OrgSettings,
373        conjure_http::private::Error,
374    >;
375    /// Updates the settings of the org of the authenticated user.
376    #[endpoint(
377        method = PUT,
378        path = "/authentication/v2/org/settings",
379        name = "updateMyOrgSettings",
380        accept = conjure_http::client::StdResponseDeserializer
381    )]
382    async fn update_my_org_settings(
383        &self,
384        #[auth]
385        auth_: &conjure_object::BearerToken,
386        #[body(serializer = conjure_http::client::StdRequestSerializer)]
387        org_settings: &super::super::super::super::objects::authentication::api::OrgSettings,
388    ) -> Result<
389        super::super::super::super::objects::authentication::api::OrgSettings,
390        conjure_http::private::Error,
391    >;
392    /// Searches for users by email and displayName.
393    #[endpoint(
394        method = POST,
395        path = "/authentication/v2/users",
396        name = "searchUsersV2",
397        accept = conjure_http::client::StdResponseDeserializer
398    )]
399    async fn search_users_v2(
400        &self,
401        #[auth]
402        auth_: &conjure_object::BearerToken,
403        #[body(serializer = conjure_http::client::StdRequestSerializer)]
404        request: &super::super::super::super::objects::authentication::api::SearchUsersRequest,
405    ) -> Result<
406        super::super::super::super::objects::authentication::api::SearchUsersResponseV2,
407        conjure_http::private::Error,
408    >;
409    /// Get users by RID.
410    #[endpoint(
411        method = POST,
412        path = "/authentication/v2/users/batch",
413        name = "getUsers",
414        accept = conjure_http::client::conjure::CollectionResponseDeserializer
415    )]
416    async fn get_users(
417        &self,
418        #[auth]
419        auth_: &conjure_object::BearerToken,
420        #[body(serializer = conjure_http::client::StdRequestSerializer)]
421        user_rids: &std::collections::BTreeSet<
422            super::super::super::super::objects::authentication::api::UserRid,
423        >,
424    ) -> Result<
425        std::collections::BTreeSet<
426            super::super::super::super::objects::authentication::api::UserV2,
427        >,
428        conjure_http::private::Error,
429    >;
430    /// Gets a user by RID.
431    #[endpoint(
432        method = GET,
433        path = "/authentication/v2/users/{userRid}",
434        name = "getUser",
435        accept = conjure_http::client::StdResponseDeserializer
436    )]
437    async fn get_user(
438        &self,
439        #[auth]
440        auth_: &conjure_object::BearerToken,
441        #[path(name = "userRid", encoder = conjure_http::client::conjure::PlainEncoder)]
442        user_rid: &super::super::super::super::objects::authentication::api::UserRid,
443    ) -> Result<
444        super::super::super::super::objects::authentication::api::UserV2,
445        conjure_http::private::Error,
446    >;
447    /// Returns JWKS (JSON Web Key Set) for MediaMTX JWT verification.
448    /// Only available if MediaMTX integration is enabled.
449    #[endpoint(
450        method = GET,
451        path = "/authentication/v2/jwks",
452        name = "getJwks",
453        accept = conjure_http::client::StdResponseDeserializer
454    )]
455    async fn get_jwks(
456        &self,
457    ) -> Result<
458        super::super::super::super::objects::authentication::api::Jwks,
459        conjure_http::private::Error,
460    >;
461    /// Generates a JWT token for MediaMTX authentication with a 2-hour expiration.
462    /// The token is signed with the MediaMTX private key and contains the specified permissions.
463    /// Requires authentication with Nominal. This endpoint is intended for internal use only.
464    #[endpoint(
465        method = POST,
466        path = "/authentication/v2/mediamtx/token",
467        name = "generateMediaMtxToken",
468        accept = conjure_http::client::StdResponseDeserializer
469    )]
470    async fn generate_media_mtx_token(
471        &self,
472        #[auth]
473        auth_: &conjure_object::BearerToken,
474        #[body(serializer = conjure_http::client::StdRequestSerializer)]
475        request: &super::super::super::super::objects::authentication::api::GenerateMediaMtxTokenRequest,
476    ) -> Result<
477        super::super::super::super::objects::authentication::api::GenerateMediaMtxTokenResponse,
478        conjure_http::private::Error,
479    >;
480    /// Gets coachmark dismissals for the authenticated user.
481    /// Optionally filter by specific coachmark IDs.
482    #[endpoint(
483        method = POST,
484        path = "/authentication/v2/my/coachmarks/dismissals",
485        name = "getMyCoachmarkDismissals",
486        accept = conjure_http::client::StdResponseDeserializer
487    )]
488    async fn get_my_coachmark_dismissals(
489        &self,
490        #[auth]
491        auth_: &conjure_object::BearerToken,
492        #[body(serializer = conjure_http::client::StdRequestSerializer)]
493        request: &super::super::super::super::objects::authentication::api::GetCoachmarkDismissalsRequest,
494    ) -> Result<
495        super::super::super::super::objects::authentication::api::GetCoachmarkDismissalsResponse,
496        conjure_http::private::Error,
497    >;
498    /// Dismisses a coachmark for the authenticated user.
499    /// Records the dismissal timestamp and app version.
500    #[endpoint(
501        method = POST,
502        path = "/authentication/v2/my/coachmarks/dismiss",
503        name = "dismissMyCoachmark",
504        accept = conjure_http::client::StdResponseDeserializer
505    )]
506    async fn dismiss_my_coachmark(
507        &self,
508        #[auth]
509        auth_: &conjure_object::BearerToken,
510        #[body(serializer = conjure_http::client::StdRequestSerializer)]
511        request: &super::super::super::super::objects::authentication::api::DismissCoachmarkRequest,
512    ) -> Result<
513        super::super::super::super::objects::authentication::api::CoachmarkDismissal,
514        conjure_http::private::Error,
515    >;
516    /// Checks if a specific coachmark has been dismissed by the authenticated user.
517    #[endpoint(
518        method = GET,
519        path = "/authentication/v2/my/coachmarks/dismissed/{coachmarkId}",
520        name = "isMyCoachmarkDismissed",
521        accept = conjure_http::client::StdResponseDeserializer
522    )]
523    async fn is_my_coachmark_dismissed(
524        &self,
525        #[auth]
526        auth_: &conjure_object::BearerToken,
527        #[path(
528            name = "coachmarkId",
529            encoder = conjure_http::client::conjure::PlainEncoder
530        )]
531        coachmark_id: &str,
532    ) -> Result<bool, conjure_http::private::Error>;
533    /// Resets a coachmark dismissal for the authenticated user.
534    /// This allows the coachmark to be shown again.
535    /// Primarily intended for testing and debugging.
536    #[endpoint(
537        method = DELETE,
538        path = "/authentication/v2/my/coachmarks/dismissals/{coachmarkId}",
539        name = "resetMyCoachmarkDismissal",
540        accept = conjure_http::client::conjure::EmptyResponseDeserializer
541    )]
542    async fn reset_my_coachmark_dismissal(
543        &self,
544        #[auth]
545        auth_: &conjure_object::BearerToken,
546        #[path(
547            name = "coachmarkId",
548            encoder = conjure_http::client::conjure::PlainEncoder
549        )]
550        coachmark_id: &str,
551    ) -> Result<(), conjure_http::private::Error>;
552    /// Batch preregister users in the caller's organization. Only creates new users for
553    /// emails that don't already exist — existing accounts are silently skipped and not
554    /// returned in the response. The caller must be an admin of the organization.
555    #[endpoint(
556        method = POST,
557        path = "/authentication/v2/batch-preregister-users",
558        name = "batchPreregisterUsers",
559        accept = conjure_http::client::StdResponseDeserializer
560    )]
561    async fn batch_preregister_users(
562        &self,
563        #[auth]
564        auth_: &conjure_object::BearerToken,
565        #[body(serializer = conjure_http::client::StdRequestSerializer)]
566        request: &super::super::super::super::objects::authentication::api::BatchPreregisterUsersRequest,
567    ) -> Result<
568        super::super::super::super::objects::authentication::api::BatchPreregisterUsersResponse,
569        conjure_http::private::Error,
570    >;
571}
572/// This service provides operations for managing user and org profiles/settings.
573/// Its name is a bit of a misnomer.
574#[conjure_http::conjure_client(name = "AuthenticationServiceV2", local)]
575pub trait LocalAsyncAuthenticationServiceV2<
576    #[response_body]
577    I: conjure_http::private::Stream<
578            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
579        >,
580> {
581    /// Gets the profile of the authenticated user.
582    #[endpoint(
583        method = GET,
584        path = "/authentication/v2/my/profile",
585        name = "getMyProfile",
586        accept = conjure_http::client::StdResponseDeserializer
587    )]
588    async fn get_my_profile(
589        &self,
590        #[auth]
591        auth_: &conjure_object::BearerToken,
592    ) -> Result<
593        super::super::super::super::objects::authentication::api::UserV2,
594        conjure_http::private::Error,
595    >;
596    /// Updates the profile of the authenticated user.
597    #[endpoint(
598        method = PUT,
599        path = "/authentication/v2/my/profile",
600        name = "updateMyProfile",
601        accept = conjure_http::client::StdResponseDeserializer
602    )]
603    async fn update_my_profile(
604        &self,
605        #[auth]
606        auth_: &conjure_object::BearerToken,
607        #[body(serializer = conjure_http::client::StdRequestSerializer)]
608        update_my_profile_request: &super::super::super::super::objects::authentication::api::UpdateMyProfileRequest,
609    ) -> Result<
610        super::super::super::super::objects::authentication::api::UserV2,
611        conjure_http::private::Error,
612    >;
613    /// Gets the settings of the authenticated user.
614    #[endpoint(
615        method = GET,
616        path = "/authentication/v2/my/settings",
617        name = "getMySettings",
618        accept = conjure_http::client::StdResponseDeserializer
619    )]
620    async fn get_my_settings(
621        &self,
622        #[auth]
623        auth_: &conjure_object::BearerToken,
624    ) -> Result<
625        super::super::super::super::objects::authentication::api::UserSettings,
626        conjure_http::private::Error,
627    >;
628    /// Updates the settings of the authenticated user.
629    #[endpoint(
630        method = PUT,
631        path = "/authentication/v2/my/settings",
632        name = "updateMySettings",
633        accept = conjure_http::client::StdResponseDeserializer
634    )]
635    async fn update_my_settings(
636        &self,
637        #[auth]
638        auth_: &conjure_object::BearerToken,
639        #[body(serializer = conjure_http::client::StdRequestSerializer)]
640        user_settings: &super::super::super::super::objects::authentication::api::UserSettings,
641    ) -> Result<
642        super::super::super::super::objects::authentication::api::UserSettings,
643        conjure_http::private::Error,
644    >;
645    /// Gets the settings of the org of the authenticated user.
646    #[endpoint(
647        method = GET,
648        path = "/authentication/v2/org/settings",
649        name = "getMyOrgSettings",
650        accept = conjure_http::client::StdResponseDeserializer
651    )]
652    async fn get_my_org_settings(
653        &self,
654        #[auth]
655        auth_: &conjure_object::BearerToken,
656    ) -> Result<
657        super::super::super::super::objects::authentication::api::OrgSettings,
658        conjure_http::private::Error,
659    >;
660    /// Updates the settings of the org of the authenticated user.
661    #[endpoint(
662        method = PUT,
663        path = "/authentication/v2/org/settings",
664        name = "updateMyOrgSettings",
665        accept = conjure_http::client::StdResponseDeserializer
666    )]
667    async fn update_my_org_settings(
668        &self,
669        #[auth]
670        auth_: &conjure_object::BearerToken,
671        #[body(serializer = conjure_http::client::StdRequestSerializer)]
672        org_settings: &super::super::super::super::objects::authentication::api::OrgSettings,
673    ) -> Result<
674        super::super::super::super::objects::authentication::api::OrgSettings,
675        conjure_http::private::Error,
676    >;
677    /// Searches for users by email and displayName.
678    #[endpoint(
679        method = POST,
680        path = "/authentication/v2/users",
681        name = "searchUsersV2",
682        accept = conjure_http::client::StdResponseDeserializer
683    )]
684    async fn search_users_v2(
685        &self,
686        #[auth]
687        auth_: &conjure_object::BearerToken,
688        #[body(serializer = conjure_http::client::StdRequestSerializer)]
689        request: &super::super::super::super::objects::authentication::api::SearchUsersRequest,
690    ) -> Result<
691        super::super::super::super::objects::authentication::api::SearchUsersResponseV2,
692        conjure_http::private::Error,
693    >;
694    /// Get users by RID.
695    #[endpoint(
696        method = POST,
697        path = "/authentication/v2/users/batch",
698        name = "getUsers",
699        accept = conjure_http::client::conjure::CollectionResponseDeserializer
700    )]
701    async fn get_users(
702        &self,
703        #[auth]
704        auth_: &conjure_object::BearerToken,
705        #[body(serializer = conjure_http::client::StdRequestSerializer)]
706        user_rids: &std::collections::BTreeSet<
707            super::super::super::super::objects::authentication::api::UserRid,
708        >,
709    ) -> Result<
710        std::collections::BTreeSet<
711            super::super::super::super::objects::authentication::api::UserV2,
712        >,
713        conjure_http::private::Error,
714    >;
715    /// Gets a user by RID.
716    #[endpoint(
717        method = GET,
718        path = "/authentication/v2/users/{userRid}",
719        name = "getUser",
720        accept = conjure_http::client::StdResponseDeserializer
721    )]
722    async fn get_user(
723        &self,
724        #[auth]
725        auth_: &conjure_object::BearerToken,
726        #[path(name = "userRid", encoder = conjure_http::client::conjure::PlainEncoder)]
727        user_rid: &super::super::super::super::objects::authentication::api::UserRid,
728    ) -> Result<
729        super::super::super::super::objects::authentication::api::UserV2,
730        conjure_http::private::Error,
731    >;
732    /// Returns JWKS (JSON Web Key Set) for MediaMTX JWT verification.
733    /// Only available if MediaMTX integration is enabled.
734    #[endpoint(
735        method = GET,
736        path = "/authentication/v2/jwks",
737        name = "getJwks",
738        accept = conjure_http::client::StdResponseDeserializer
739    )]
740    async fn get_jwks(
741        &self,
742    ) -> Result<
743        super::super::super::super::objects::authentication::api::Jwks,
744        conjure_http::private::Error,
745    >;
746    /// Generates a JWT token for MediaMTX authentication with a 2-hour expiration.
747    /// The token is signed with the MediaMTX private key and contains the specified permissions.
748    /// Requires authentication with Nominal. This endpoint is intended for internal use only.
749    #[endpoint(
750        method = POST,
751        path = "/authentication/v2/mediamtx/token",
752        name = "generateMediaMtxToken",
753        accept = conjure_http::client::StdResponseDeserializer
754    )]
755    async fn generate_media_mtx_token(
756        &self,
757        #[auth]
758        auth_: &conjure_object::BearerToken,
759        #[body(serializer = conjure_http::client::StdRequestSerializer)]
760        request: &super::super::super::super::objects::authentication::api::GenerateMediaMtxTokenRequest,
761    ) -> Result<
762        super::super::super::super::objects::authentication::api::GenerateMediaMtxTokenResponse,
763        conjure_http::private::Error,
764    >;
765    /// Gets coachmark dismissals for the authenticated user.
766    /// Optionally filter by specific coachmark IDs.
767    #[endpoint(
768        method = POST,
769        path = "/authentication/v2/my/coachmarks/dismissals",
770        name = "getMyCoachmarkDismissals",
771        accept = conjure_http::client::StdResponseDeserializer
772    )]
773    async fn get_my_coachmark_dismissals(
774        &self,
775        #[auth]
776        auth_: &conjure_object::BearerToken,
777        #[body(serializer = conjure_http::client::StdRequestSerializer)]
778        request: &super::super::super::super::objects::authentication::api::GetCoachmarkDismissalsRequest,
779    ) -> Result<
780        super::super::super::super::objects::authentication::api::GetCoachmarkDismissalsResponse,
781        conjure_http::private::Error,
782    >;
783    /// Dismisses a coachmark for the authenticated user.
784    /// Records the dismissal timestamp and app version.
785    #[endpoint(
786        method = POST,
787        path = "/authentication/v2/my/coachmarks/dismiss",
788        name = "dismissMyCoachmark",
789        accept = conjure_http::client::StdResponseDeserializer
790    )]
791    async fn dismiss_my_coachmark(
792        &self,
793        #[auth]
794        auth_: &conjure_object::BearerToken,
795        #[body(serializer = conjure_http::client::StdRequestSerializer)]
796        request: &super::super::super::super::objects::authentication::api::DismissCoachmarkRequest,
797    ) -> Result<
798        super::super::super::super::objects::authentication::api::CoachmarkDismissal,
799        conjure_http::private::Error,
800    >;
801    /// Checks if a specific coachmark has been dismissed by the authenticated user.
802    #[endpoint(
803        method = GET,
804        path = "/authentication/v2/my/coachmarks/dismissed/{coachmarkId}",
805        name = "isMyCoachmarkDismissed",
806        accept = conjure_http::client::StdResponseDeserializer
807    )]
808    async fn is_my_coachmark_dismissed(
809        &self,
810        #[auth]
811        auth_: &conjure_object::BearerToken,
812        #[path(
813            name = "coachmarkId",
814            encoder = conjure_http::client::conjure::PlainEncoder
815        )]
816        coachmark_id: &str,
817    ) -> Result<bool, conjure_http::private::Error>;
818    /// Resets a coachmark dismissal for the authenticated user.
819    /// This allows the coachmark to be shown again.
820    /// Primarily intended for testing and debugging.
821    #[endpoint(
822        method = DELETE,
823        path = "/authentication/v2/my/coachmarks/dismissals/{coachmarkId}",
824        name = "resetMyCoachmarkDismissal",
825        accept = conjure_http::client::conjure::EmptyResponseDeserializer
826    )]
827    async fn reset_my_coachmark_dismissal(
828        &self,
829        #[auth]
830        auth_: &conjure_object::BearerToken,
831        #[path(
832            name = "coachmarkId",
833            encoder = conjure_http::client::conjure::PlainEncoder
834        )]
835        coachmark_id: &str,
836    ) -> Result<(), conjure_http::private::Error>;
837    /// Batch preregister users in the caller's organization. Only creates new users for
838    /// emails that don't already exist — existing accounts are silently skipped and not
839    /// returned in the response. The caller must be an admin of the organization.
840    #[endpoint(
841        method = POST,
842        path = "/authentication/v2/batch-preregister-users",
843        name = "batchPreregisterUsers",
844        accept = conjure_http::client::StdResponseDeserializer
845    )]
846    async fn batch_preregister_users(
847        &self,
848        #[auth]
849        auth_: &conjure_object::BearerToken,
850        #[body(serializer = conjure_http::client::StdRequestSerializer)]
851        request: &super::super::super::super::objects::authentication::api::BatchPreregisterUsersRequest,
852    ) -> Result<
853        super::super::super::super::objects::authentication::api::BatchPreregisterUsersResponse,
854        conjure_http::private::Error,
855    >;
856}