bitwarden_api_api/apis/
organization_sponsorships_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21    apis::{AuthRequired, ContentType, ResponseContent},
22    models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait OrganizationSponsorshipsApi: Send + Sync {
29    /// DELETE /organization/sponsorship/{sponsoringOrgId}/{sponsoredFriendlyName}/revoke
30    async fn admin_initiated_revoke_sponsorship<'a>(
31        &self,
32        sponsoring_org_id: uuid::Uuid,
33        sponsored_friendly_name: &'a str,
34    ) -> Result<(), Error<AdminInitiatedRevokeSponsorshipError>>;
35
36    /// POST /organization/sponsorship/{sponsoringOrgId}/families-for-enterprise
37    async fn create_sponsorship<'a>(
38        &self,
39        sponsoring_org_id: uuid::Uuid,
40        organization_sponsorship_create_request_model: Option<
41            models::OrganizationSponsorshipCreateRequestModel,
42        >,
43    ) -> Result<(), Error<CreateSponsorshipError>>;
44
45    /// GET /organization/sponsorship/{sponsoringOrgId}/sponsored
46    async fn get_sponsored_organizations<'a>(
47        &self,
48        sponsoring_org_id: uuid::Uuid,
49    ) -> Result<
50        models::OrganizationSponsorshipInvitesResponseModelListResponseModel,
51        Error<GetSponsoredOrganizationsError>,
52    >;
53
54    /// GET /organization/sponsorship/{sponsoringOrgId}/sync-status
55    async fn get_sync_status<'a>(
56        &self,
57        sponsoring_org_id: uuid::Uuid,
58    ) -> Result<(), Error<GetSyncStatusError>>;
59
60    /// POST /organization/sponsorship/validate-token
61    async fn pre_validate_sponsorship_token<'a>(
62        &self,
63        sponsorship_token: Option<&'a str>,
64    ) -> Result<models::PreValidateSponsorshipResponseModel, Error<PreValidateSponsorshipTokenError>>;
65
66    /// POST /organization/sponsorship/redeem
67    async fn redeem_sponsorship<'a>(
68        &self,
69        sponsorship_token: Option<&'a str>,
70        organization_sponsorship_redeem_request_model: Option<
71            models::OrganizationSponsorshipRedeemRequestModel,
72        >,
73    ) -> Result<(), Error<RedeemSponsorshipError>>;
74
75    /// DELETE /organization/sponsorship/sponsored/{sponsoredOrgId}
76    async fn remove_sponsorship<'a>(
77        &self,
78        sponsored_org_id: uuid::Uuid,
79    ) -> Result<(), Error<RemoveSponsorshipError>>;
80
81    /// POST /organization/sponsorship/{sponsoringOrgId}/families-for-enterprise/resend
82    async fn resend_sponsorship_offer<'a>(
83        &self,
84        sponsoring_org_id: uuid::Uuid,
85        sponsored_friendly_name: Option<&'a str>,
86    ) -> Result<(), Error<ResendSponsorshipOfferError>>;
87
88    /// DELETE /organization/sponsorship/{sponsoringOrganizationId}
89    async fn revoke_sponsorship<'a>(
90        &self,
91        sponsoring_organization_id: uuid::Uuid,
92    ) -> Result<(), Error<RevokeSponsorshipError>>;
93
94    /// POST /organization/sponsorship/sync
95    async fn sync<'a>(
96        &self,
97        organization_sponsorship_sync_request_model: Option<
98            models::OrganizationSponsorshipSyncRequestModel,
99        >,
100    ) -> Result<models::OrganizationSponsorshipSyncResponseModel, Error<SyncError>>;
101}
102
103pub struct OrganizationSponsorshipsApiClient {
104    configuration: Arc<configuration::Configuration>,
105}
106
107impl OrganizationSponsorshipsApiClient {
108    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
109        Self { configuration }
110    }
111}
112
113#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
114#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
115impl OrganizationSponsorshipsApi for OrganizationSponsorshipsApiClient {
116    async fn admin_initiated_revoke_sponsorship<'a>(
117        &self,
118        sponsoring_org_id: uuid::Uuid,
119        sponsored_friendly_name: &'a str,
120    ) -> Result<(), Error<AdminInitiatedRevokeSponsorshipError>> {
121        let local_var_configuration = &self.configuration;
122
123        let local_var_client = &local_var_configuration.client;
124
125        let local_var_uri_str = format!(
126            "{}/organization/sponsorship/{sponsoringOrgId}/{sponsoredFriendlyName}/revoke",
127            local_var_configuration.base_path,
128            sponsoringOrgId = sponsoring_org_id,
129            sponsoredFriendlyName = crate::apis::urlencode(sponsored_friendly_name)
130        );
131        let mut local_var_req_builder =
132            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
133
134        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
135            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
136        };
137        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
138
139        let local_var_req = local_var_req_builder.build()?;
140        let local_var_resp = local_var_client.execute(local_var_req).await?;
141
142        let local_var_status = local_var_resp.status();
143        let local_var_content = local_var_resp.text().await?;
144
145        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
146            Ok(())
147        } else {
148            let local_var_entity: Option<AdminInitiatedRevokeSponsorshipError> =
149                serde_json::from_str(&local_var_content).ok();
150            let local_var_error = ResponseContent {
151                status: local_var_status,
152                content: local_var_content,
153                entity: local_var_entity,
154            };
155            Err(Error::ResponseError(local_var_error))
156        }
157    }
158
159    async fn create_sponsorship<'a>(
160        &self,
161        sponsoring_org_id: uuid::Uuid,
162        organization_sponsorship_create_request_model: Option<
163            models::OrganizationSponsorshipCreateRequestModel,
164        >,
165    ) -> Result<(), Error<CreateSponsorshipError>> {
166        let local_var_configuration = &self.configuration;
167
168        let local_var_client = &local_var_configuration.client;
169
170        let local_var_uri_str = format!(
171            "{}/organization/sponsorship/{sponsoringOrgId}/families-for-enterprise",
172            local_var_configuration.base_path,
173            sponsoringOrgId = sponsoring_org_id
174        );
175        let mut local_var_req_builder =
176            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
177
178        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
179            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
180        };
181        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
182        local_var_req_builder =
183            local_var_req_builder.json(&organization_sponsorship_create_request_model);
184
185        let local_var_req = local_var_req_builder.build()?;
186        let local_var_resp = local_var_client.execute(local_var_req).await?;
187
188        let local_var_status = local_var_resp.status();
189        let local_var_content = local_var_resp.text().await?;
190
191        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
192            Ok(())
193        } else {
194            let local_var_entity: Option<CreateSponsorshipError> =
195                serde_json::from_str(&local_var_content).ok();
196            let local_var_error = ResponseContent {
197                status: local_var_status,
198                content: local_var_content,
199                entity: local_var_entity,
200            };
201            Err(Error::ResponseError(local_var_error))
202        }
203    }
204
205    async fn get_sponsored_organizations<'a>(
206        &self,
207        sponsoring_org_id: uuid::Uuid,
208    ) -> Result<
209        models::OrganizationSponsorshipInvitesResponseModelListResponseModel,
210        Error<GetSponsoredOrganizationsError>,
211    > {
212        let local_var_configuration = &self.configuration;
213
214        let local_var_client = &local_var_configuration.client;
215
216        let local_var_uri_str = format!(
217            "{}/organization/sponsorship/{sponsoringOrgId}/sponsored",
218            local_var_configuration.base_path,
219            sponsoringOrgId = sponsoring_org_id
220        );
221        let mut local_var_req_builder =
222            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
223
224        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
225            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
226        };
227        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
228
229        let local_var_req = local_var_req_builder.build()?;
230        let local_var_resp = local_var_client.execute(local_var_req).await?;
231
232        let local_var_status = local_var_resp.status();
233        let local_var_content_type = local_var_resp
234            .headers()
235            .get("content-type")
236            .and_then(|v| v.to_str().ok())
237            .unwrap_or("application/octet-stream");
238        let local_var_content_type = super::ContentType::from(local_var_content_type);
239        let local_var_content = local_var_resp.text().await?;
240
241        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
242            match local_var_content_type {
243                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
244                ContentType::Text => {
245                    return Err(Error::from(serde_json::Error::custom(
246                        "Received `text/plain` content type response that cannot be converted to `models::OrganizationSponsorshipInvitesResponseModelListResponseModel`",
247                    )));
248                }
249                ContentType::Unsupported(local_var_unknown_type) => {
250                    return Err(Error::from(serde_json::Error::custom(format!(
251                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::OrganizationSponsorshipInvitesResponseModelListResponseModel`"
252                    ))));
253                }
254            }
255        } else {
256            let local_var_entity: Option<GetSponsoredOrganizationsError> =
257                serde_json::from_str(&local_var_content).ok();
258            let local_var_error = ResponseContent {
259                status: local_var_status,
260                content: local_var_content,
261                entity: local_var_entity,
262            };
263            Err(Error::ResponseError(local_var_error))
264        }
265    }
266
267    async fn get_sync_status<'a>(
268        &self,
269        sponsoring_org_id: uuid::Uuid,
270    ) -> Result<(), Error<GetSyncStatusError>> {
271        let local_var_configuration = &self.configuration;
272
273        let local_var_client = &local_var_configuration.client;
274
275        let local_var_uri_str = format!(
276            "{}/organization/sponsorship/{sponsoringOrgId}/sync-status",
277            local_var_configuration.base_path,
278            sponsoringOrgId = sponsoring_org_id
279        );
280        let mut local_var_req_builder =
281            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
282
283        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
284            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
285        };
286        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
287
288        let local_var_req = local_var_req_builder.build()?;
289        let local_var_resp = local_var_client.execute(local_var_req).await?;
290
291        let local_var_status = local_var_resp.status();
292        let local_var_content = local_var_resp.text().await?;
293
294        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
295            Ok(())
296        } else {
297            let local_var_entity: Option<GetSyncStatusError> =
298                serde_json::from_str(&local_var_content).ok();
299            let local_var_error = ResponseContent {
300                status: local_var_status,
301                content: local_var_content,
302                entity: local_var_entity,
303            };
304            Err(Error::ResponseError(local_var_error))
305        }
306    }
307
308    async fn pre_validate_sponsorship_token<'a>(
309        &self,
310        sponsorship_token: Option<&'a str>,
311    ) -> Result<models::PreValidateSponsorshipResponseModel, Error<PreValidateSponsorshipTokenError>>
312    {
313        let local_var_configuration = &self.configuration;
314
315        let local_var_client = &local_var_configuration.client;
316
317        let local_var_uri_str = format!(
318            "{}/organization/sponsorship/validate-token",
319            local_var_configuration.base_path
320        );
321        let mut local_var_req_builder =
322            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
323
324        if let Some(ref param_value) = sponsorship_token {
325            local_var_req_builder =
326                local_var_req_builder.query(&[("sponsorshipToken", &param_value.to_string())]);
327        }
328        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
329            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
330        };
331        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
332
333        let local_var_req = local_var_req_builder.build()?;
334        let local_var_resp = local_var_client.execute(local_var_req).await?;
335
336        let local_var_status = local_var_resp.status();
337        let local_var_content_type = local_var_resp
338            .headers()
339            .get("content-type")
340            .and_then(|v| v.to_str().ok())
341            .unwrap_or("application/octet-stream");
342        let local_var_content_type = super::ContentType::from(local_var_content_type);
343        let local_var_content = local_var_resp.text().await?;
344
345        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
346            match local_var_content_type {
347                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
348                ContentType::Text => {
349                    return Err(Error::from(serde_json::Error::custom(
350                        "Received `text/plain` content type response that cannot be converted to `models::PreValidateSponsorshipResponseModel`",
351                    )));
352                }
353                ContentType::Unsupported(local_var_unknown_type) => {
354                    return Err(Error::from(serde_json::Error::custom(format!(
355                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::PreValidateSponsorshipResponseModel`"
356                    ))));
357                }
358            }
359        } else {
360            let local_var_entity: Option<PreValidateSponsorshipTokenError> =
361                serde_json::from_str(&local_var_content).ok();
362            let local_var_error = ResponseContent {
363                status: local_var_status,
364                content: local_var_content,
365                entity: local_var_entity,
366            };
367            Err(Error::ResponseError(local_var_error))
368        }
369    }
370
371    async fn redeem_sponsorship<'a>(
372        &self,
373        sponsorship_token: Option<&'a str>,
374        organization_sponsorship_redeem_request_model: Option<
375            models::OrganizationSponsorshipRedeemRequestModel,
376        >,
377    ) -> Result<(), Error<RedeemSponsorshipError>> {
378        let local_var_configuration = &self.configuration;
379
380        let local_var_client = &local_var_configuration.client;
381
382        let local_var_uri_str = format!(
383            "{}/organization/sponsorship/redeem",
384            local_var_configuration.base_path
385        );
386        let mut local_var_req_builder =
387            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
388
389        if let Some(ref param_value) = sponsorship_token {
390            local_var_req_builder =
391                local_var_req_builder.query(&[("sponsorshipToken", &param_value.to_string())]);
392        }
393        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
394            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
395        };
396        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
397        local_var_req_builder =
398            local_var_req_builder.json(&organization_sponsorship_redeem_request_model);
399
400        let local_var_req = local_var_req_builder.build()?;
401        let local_var_resp = local_var_client.execute(local_var_req).await?;
402
403        let local_var_status = local_var_resp.status();
404        let local_var_content = local_var_resp.text().await?;
405
406        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
407            Ok(())
408        } else {
409            let local_var_entity: Option<RedeemSponsorshipError> =
410                serde_json::from_str(&local_var_content).ok();
411            let local_var_error = ResponseContent {
412                status: local_var_status,
413                content: local_var_content,
414                entity: local_var_entity,
415            };
416            Err(Error::ResponseError(local_var_error))
417        }
418    }
419
420    async fn remove_sponsorship<'a>(
421        &self,
422        sponsored_org_id: uuid::Uuid,
423    ) -> Result<(), Error<RemoveSponsorshipError>> {
424        let local_var_configuration = &self.configuration;
425
426        let local_var_client = &local_var_configuration.client;
427
428        let local_var_uri_str = format!(
429            "{}/organization/sponsorship/sponsored/{sponsoredOrgId}",
430            local_var_configuration.base_path,
431            sponsoredOrgId = sponsored_org_id
432        );
433        let mut local_var_req_builder =
434            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
435
436        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
437            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
438        };
439        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
440
441        let local_var_req = local_var_req_builder.build()?;
442        let local_var_resp = local_var_client.execute(local_var_req).await?;
443
444        let local_var_status = local_var_resp.status();
445        let local_var_content = local_var_resp.text().await?;
446
447        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
448            Ok(())
449        } else {
450            let local_var_entity: Option<RemoveSponsorshipError> =
451                serde_json::from_str(&local_var_content).ok();
452            let local_var_error = ResponseContent {
453                status: local_var_status,
454                content: local_var_content,
455                entity: local_var_entity,
456            };
457            Err(Error::ResponseError(local_var_error))
458        }
459    }
460
461    async fn resend_sponsorship_offer<'a>(
462        &self,
463        sponsoring_org_id: uuid::Uuid,
464        sponsored_friendly_name: Option<&'a str>,
465    ) -> Result<(), Error<ResendSponsorshipOfferError>> {
466        let local_var_configuration = &self.configuration;
467
468        let local_var_client = &local_var_configuration.client;
469
470        let local_var_uri_str = format!(
471            "{}/organization/sponsorship/{sponsoringOrgId}/families-for-enterprise/resend",
472            local_var_configuration.base_path,
473            sponsoringOrgId = sponsoring_org_id
474        );
475        let mut local_var_req_builder =
476            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
477
478        if let Some(ref param_value) = sponsored_friendly_name {
479            local_var_req_builder =
480                local_var_req_builder.query(&[("sponsoredFriendlyName", &param_value.to_string())]);
481        }
482        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
483            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
484        };
485        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
486
487        let local_var_req = local_var_req_builder.build()?;
488        let local_var_resp = local_var_client.execute(local_var_req).await?;
489
490        let local_var_status = local_var_resp.status();
491        let local_var_content = local_var_resp.text().await?;
492
493        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
494            Ok(())
495        } else {
496            let local_var_entity: Option<ResendSponsorshipOfferError> =
497                serde_json::from_str(&local_var_content).ok();
498            let local_var_error = ResponseContent {
499                status: local_var_status,
500                content: local_var_content,
501                entity: local_var_entity,
502            };
503            Err(Error::ResponseError(local_var_error))
504        }
505    }
506
507    async fn revoke_sponsorship<'a>(
508        &self,
509        sponsoring_organization_id: uuid::Uuid,
510    ) -> Result<(), Error<RevokeSponsorshipError>> {
511        let local_var_configuration = &self.configuration;
512
513        let local_var_client = &local_var_configuration.client;
514
515        let local_var_uri_str = format!(
516            "{}/organization/sponsorship/{sponsoringOrganizationId}",
517            local_var_configuration.base_path,
518            sponsoringOrganizationId = sponsoring_organization_id
519        );
520        let mut local_var_req_builder =
521            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
522
523        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
524            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
525        };
526        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
527
528        let local_var_req = local_var_req_builder.build()?;
529        let local_var_resp = local_var_client.execute(local_var_req).await?;
530
531        let local_var_status = local_var_resp.status();
532        let local_var_content = local_var_resp.text().await?;
533
534        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
535            Ok(())
536        } else {
537            let local_var_entity: Option<RevokeSponsorshipError> =
538                serde_json::from_str(&local_var_content).ok();
539            let local_var_error = ResponseContent {
540                status: local_var_status,
541                content: local_var_content,
542                entity: local_var_entity,
543            };
544            Err(Error::ResponseError(local_var_error))
545        }
546    }
547
548    async fn sync<'a>(
549        &self,
550        organization_sponsorship_sync_request_model: Option<
551            models::OrganizationSponsorshipSyncRequestModel,
552        >,
553    ) -> Result<models::OrganizationSponsorshipSyncResponseModel, Error<SyncError>> {
554        let local_var_configuration = &self.configuration;
555
556        let local_var_client = &local_var_configuration.client;
557
558        let local_var_uri_str = format!(
559            "{}/organization/sponsorship/sync",
560            local_var_configuration.base_path
561        );
562        let mut local_var_req_builder =
563            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
564
565        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
566            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
567        };
568        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
569        local_var_req_builder =
570            local_var_req_builder.json(&organization_sponsorship_sync_request_model);
571
572        let local_var_req = local_var_req_builder.build()?;
573        let local_var_resp = local_var_client.execute(local_var_req).await?;
574
575        let local_var_status = local_var_resp.status();
576        let local_var_content_type = local_var_resp
577            .headers()
578            .get("content-type")
579            .and_then(|v| v.to_str().ok())
580            .unwrap_or("application/octet-stream");
581        let local_var_content_type = super::ContentType::from(local_var_content_type);
582        let local_var_content = local_var_resp.text().await?;
583
584        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
585            match local_var_content_type {
586                ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from),
587                ContentType::Text => {
588                    return Err(Error::from(serde_json::Error::custom(
589                        "Received `text/plain` content type response that cannot be converted to `models::OrganizationSponsorshipSyncResponseModel`",
590                    )));
591                }
592                ContentType::Unsupported(local_var_unknown_type) => {
593                    return Err(Error::from(serde_json::Error::custom(format!(
594                        "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::OrganizationSponsorshipSyncResponseModel`"
595                    ))));
596                }
597            }
598        } else {
599            let local_var_entity: Option<SyncError> = serde_json::from_str(&local_var_content).ok();
600            let local_var_error = ResponseContent {
601                status: local_var_status,
602                content: local_var_content,
603                entity: local_var_entity,
604            };
605            Err(Error::ResponseError(local_var_error))
606        }
607    }
608}
609
610/// struct for typed errors of method
611/// [`OrganizationSponsorshipsApi::admin_initiated_revoke_sponsorship`]
612#[derive(Debug, Clone, Serialize, Deserialize)]
613#[serde(untagged)]
614pub enum AdminInitiatedRevokeSponsorshipError {
615    UnknownValue(serde_json::Value),
616}
617/// struct for typed errors of method [`OrganizationSponsorshipsApi::create_sponsorship`]
618#[derive(Debug, Clone, Serialize, Deserialize)]
619#[serde(untagged)]
620pub enum CreateSponsorshipError {
621    UnknownValue(serde_json::Value),
622}
623/// struct for typed errors of method [`OrganizationSponsorshipsApi::get_sponsored_organizations`]
624#[derive(Debug, Clone, Serialize, Deserialize)]
625#[serde(untagged)]
626pub enum GetSponsoredOrganizationsError {
627    UnknownValue(serde_json::Value),
628}
629/// struct for typed errors of method [`OrganizationSponsorshipsApi::get_sync_status`]
630#[derive(Debug, Clone, Serialize, Deserialize)]
631#[serde(untagged)]
632pub enum GetSyncStatusError {
633    UnknownValue(serde_json::Value),
634}
635/// struct for typed errors of method
636/// [`OrganizationSponsorshipsApi::pre_validate_sponsorship_token`]
637#[derive(Debug, Clone, Serialize, Deserialize)]
638#[serde(untagged)]
639pub enum PreValidateSponsorshipTokenError {
640    UnknownValue(serde_json::Value),
641}
642/// struct for typed errors of method [`OrganizationSponsorshipsApi::redeem_sponsorship`]
643#[derive(Debug, Clone, Serialize, Deserialize)]
644#[serde(untagged)]
645pub enum RedeemSponsorshipError {
646    UnknownValue(serde_json::Value),
647}
648/// struct for typed errors of method [`OrganizationSponsorshipsApi::remove_sponsorship`]
649#[derive(Debug, Clone, Serialize, Deserialize)]
650#[serde(untagged)]
651pub enum RemoveSponsorshipError {
652    UnknownValue(serde_json::Value),
653}
654/// struct for typed errors of method [`OrganizationSponsorshipsApi::resend_sponsorship_offer`]
655#[derive(Debug, Clone, Serialize, Deserialize)]
656#[serde(untagged)]
657pub enum ResendSponsorshipOfferError {
658    UnknownValue(serde_json::Value),
659}
660/// struct for typed errors of method [`OrganizationSponsorshipsApi::revoke_sponsorship`]
661#[derive(Debug, Clone, Serialize, Deserialize)]
662#[serde(untagged)]
663pub enum RevokeSponsorshipError {
664    UnknownValue(serde_json::Value),
665}
666/// struct for typed errors of method [`OrganizationSponsorshipsApi::sync`]
667#[derive(Debug, Clone, Serialize, Deserialize)]
668#[serde(untagged)]
669pub enum SyncError {
670    UnknownValue(serde_json::Value),
671}