Skip to main content

pipedrive_rs/apis/
organizations_api.rs

1/*
2 * Pipedrive API v1
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`add_organization`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AddOrganizationError {
22    UnknownValue(serde_json::Value),
23}
24
25/// struct for typed errors of method [`add_organization_follower`]
26#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum AddOrganizationFollowerError {
29    UnknownValue(serde_json::Value),
30}
31
32/// struct for typed errors of method [`delete_organization`]
33#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum DeleteOrganizationError {
36    UnknownValue(serde_json::Value),
37}
38
39/// struct for typed errors of method [`delete_organization_follower`]
40#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum DeleteOrganizationFollowerError {
43    UnknownValue(serde_json::Value),
44}
45
46/// struct for typed errors of method [`delete_organizations`]
47#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum DeleteOrganizationsError {
50    UnknownValue(serde_json::Value),
51}
52
53/// struct for typed errors of method [`get_organization`]
54#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum GetOrganizationError {
57    UnknownValue(serde_json::Value),
58}
59
60/// struct for typed errors of method [`get_organization_activities`]
61#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum GetOrganizationActivitiesError {
64    UnknownValue(serde_json::Value),
65}
66
67/// struct for typed errors of method [`get_organization_deals`]
68#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum GetOrganizationDealsError {
71    UnknownValue(serde_json::Value),
72}
73
74/// struct for typed errors of method [`get_organization_files`]
75#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum GetOrganizationFilesError {
78    UnknownValue(serde_json::Value),
79}
80
81/// struct for typed errors of method [`get_organization_followers`]
82#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum GetOrganizationFollowersError {
85    UnknownValue(serde_json::Value),
86}
87
88/// struct for typed errors of method [`get_organization_mail_messages`]
89#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum GetOrganizationMailMessagesError {
92    UnknownValue(serde_json::Value),
93}
94
95/// struct for typed errors of method [`get_organization_persons`]
96#[derive(Debug, Clone, Serialize, Deserialize)]
97#[serde(untagged)]
98pub enum GetOrganizationPersonsError {
99    UnknownValue(serde_json::Value),
100}
101
102/// struct for typed errors of method [`get_organization_updates`]
103#[derive(Debug, Clone, Serialize, Deserialize)]
104#[serde(untagged)]
105pub enum GetOrganizationUpdatesError {
106    UnknownValue(serde_json::Value),
107}
108
109/// struct for typed errors of method [`get_organization_users`]
110#[derive(Debug, Clone, Serialize, Deserialize)]
111#[serde(untagged)]
112pub enum GetOrganizationUsersError {
113    UnknownValue(serde_json::Value),
114}
115
116/// struct for typed errors of method [`get_organizations`]
117#[derive(Debug, Clone, Serialize, Deserialize)]
118#[serde(untagged)]
119pub enum GetOrganizationsError {
120    UnknownValue(serde_json::Value),
121}
122
123/// struct for typed errors of method [`get_organizations_collection`]
124#[derive(Debug, Clone, Serialize, Deserialize)]
125#[serde(untagged)]
126pub enum GetOrganizationsCollectionError {
127    Status403(crate::models::FailResponse),
128    UnknownValue(serde_json::Value),
129}
130
131/// struct for typed errors of method [`merge_organizations`]
132#[derive(Debug, Clone, Serialize, Deserialize)]
133#[serde(untagged)]
134pub enum MergeOrganizationsError {
135    UnknownValue(serde_json::Value),
136}
137
138/// struct for typed errors of method [`search_organization`]
139#[derive(Debug, Clone, Serialize, Deserialize)]
140#[serde(untagged)]
141pub enum SearchOrganizationError {
142    UnknownValue(serde_json::Value),
143}
144
145/// struct for typed errors of method [`update_organization`]
146#[derive(Debug, Clone, Serialize, Deserialize)]
147#[serde(untagged)]
148pub enum UpdateOrganizationError {
149    UnknownValue(serde_json::Value),
150}
151
152
153/// Adds a new organization. Note that you can supply additional custom fields along with the request that are not described here. These custom fields are different for each Pipedrive account and can be recognized by long hashes as keys. To determine which custom fields exists, fetch the organizationFields and look for `key` values. For more information, see the tutorial for <a href=\"https://pipedrive.readme.io/docs/adding-an-organization\" target=\"_blank\" rel=\"noopener noreferrer\">adding an organization</a>.
154pub async fn add_organization(configuration: &configuration::Configuration, add_organization_request: Option<crate::models::AddOrganizationRequest>) -> Result<crate::models::AddOrganizationResponse200, Error<AddOrganizationError>> {
155    let local_var_configuration = configuration;
156
157    let local_var_client = &local_var_configuration.client;
158
159    let local_var_uri_str = format!("{}/organizations", local_var_configuration.base_path);
160    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
161
162    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
163        let local_var_key = local_var_apikey.key.clone();
164        let local_var_value = match local_var_apikey.prefix {
165            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
166            None => local_var_key,
167        };
168        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
169    }
170    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
171        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
172    }
173    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
174        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
175    };
176    local_var_req_builder = local_var_req_builder.json(&add_organization_request);
177
178    let local_var_req = local_var_req_builder.build()?;
179    let local_var_resp = local_var_client.execute(local_var_req).await?;
180
181    let local_var_status = local_var_resp.status();
182    let local_var_content = local_var_resp.text().await?;
183
184    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
185        serde_json::from_str(&local_var_content).map_err(Error::from)
186    } else {
187        let local_var_entity: Option<AddOrganizationError> = serde_json::from_str(&local_var_content).ok();
188        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
189        Err(Error::ResponseError(local_var_error))
190    }
191}
192
193/// Adds a follower to an organization.
194pub async fn add_organization_follower(configuration: &configuration::Configuration, id: i32, add_organization_follower_request: Option<crate::models::AddOrganizationFollowerRequest>) -> Result<crate::models::AddOrganizationFollowerResponse200, Error<AddOrganizationFollowerError>> {
195    let local_var_configuration = configuration;
196
197    let local_var_client = &local_var_configuration.client;
198
199    let local_var_uri_str = format!("{}/organizations/{id}/followers", local_var_configuration.base_path, id=id);
200    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
201
202    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
203        let local_var_key = local_var_apikey.key.clone();
204        let local_var_value = match local_var_apikey.prefix {
205            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
206            None => local_var_key,
207        };
208        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
209    }
210    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
211        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
212    }
213    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
214        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
215    };
216    local_var_req_builder = local_var_req_builder.json(&add_organization_follower_request);
217
218    let local_var_req = local_var_req_builder.build()?;
219    let local_var_resp = local_var_client.execute(local_var_req).await?;
220
221    let local_var_status = local_var_resp.status();
222    let local_var_content = local_var_resp.text().await?;
223
224    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
225        serde_json::from_str(&local_var_content).map_err(Error::from)
226    } else {
227        let local_var_entity: Option<AddOrganizationFollowerError> = serde_json::from_str(&local_var_content).ok();
228        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
229        Err(Error::ResponseError(local_var_error))
230    }
231}
232
233/// Marks an organization as deleted. After 30 days, the organization will be permanently deleted.
234pub async fn delete_organization(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::DeleteOrganizationResponse200, Error<DeleteOrganizationError>> {
235    let local_var_configuration = configuration;
236
237    let local_var_client = &local_var_configuration.client;
238
239    let local_var_uri_str = format!("{}/organizations/{id}", local_var_configuration.base_path, id=id);
240    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
241
242    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
243        let local_var_key = local_var_apikey.key.clone();
244        let local_var_value = match local_var_apikey.prefix {
245            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
246            None => local_var_key,
247        };
248        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
249    }
250    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
251        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
252    }
253    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
254        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
255    };
256
257    let local_var_req = local_var_req_builder.build()?;
258    let local_var_resp = local_var_client.execute(local_var_req).await?;
259
260    let local_var_status = local_var_resp.status();
261    let local_var_content = local_var_resp.text().await?;
262
263    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
264        serde_json::from_str(&local_var_content).map_err(Error::from)
265    } else {
266        let local_var_entity: Option<DeleteOrganizationError> = serde_json::from_str(&local_var_content).ok();
267        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
268        Err(Error::ResponseError(local_var_error))
269    }
270}
271
272/// Deletes a follower from an organization. You can retrieve the `follower_id` from the <a href=\"https://developers.pipedrive.com/docs/api/v1/Organizations#getOrganizationFollowers\">List followers of an organization</a> endpoint.
273pub async fn delete_organization_follower(configuration: &configuration::Configuration, id: i32, follower_id: i32) -> Result<crate::models::DeleteOrganizationFollowerResponse200, Error<DeleteOrganizationFollowerError>> {
274    let local_var_configuration = configuration;
275
276    let local_var_client = &local_var_configuration.client;
277
278    let local_var_uri_str = format!("{}/organizations/{id}/followers/{follower_id}", local_var_configuration.base_path, id=id, follower_id=follower_id);
279    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
280
281    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
282        let local_var_key = local_var_apikey.key.clone();
283        let local_var_value = match local_var_apikey.prefix {
284            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
285            None => local_var_key,
286        };
287        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
288    }
289    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
290        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
291    }
292
293    let local_var_req = local_var_req_builder.build()?;
294    let local_var_resp = local_var_client.execute(local_var_req).await?;
295
296    let local_var_status = local_var_resp.status();
297    let local_var_content = local_var_resp.text().await?;
298
299    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
300        serde_json::from_str(&local_var_content).map_err(Error::from)
301    } else {
302        let local_var_entity: Option<DeleteOrganizationFollowerError> = serde_json::from_str(&local_var_content).ok();
303        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
304        Err(Error::ResponseError(local_var_error))
305    }
306}
307
308/// Marks multiple organizations as deleted. After 30 days, the organizations will be permanently deleted.
309pub async fn delete_organizations(configuration: &configuration::Configuration, ids: &str) -> Result<crate::models::DeleteOrganizationsResponse200, Error<DeleteOrganizationsError>> {
310    let local_var_configuration = configuration;
311
312    let local_var_client = &local_var_configuration.client;
313
314    let local_var_uri_str = format!("{}/organizations", local_var_configuration.base_path);
315    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
316
317    local_var_req_builder = local_var_req_builder.query(&[("ids", &ids.to_string())]);
318    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
319        let local_var_key = local_var_apikey.key.clone();
320        let local_var_value = match local_var_apikey.prefix {
321            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
322            None => local_var_key,
323        };
324        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
325    }
326    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
327        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
328    }
329    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
330        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
331    };
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 = local_var_resp.text().await?;
338
339    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
340        serde_json::from_str(&local_var_content).map_err(Error::from)
341    } else {
342        let local_var_entity: Option<DeleteOrganizationsError> = serde_json::from_str(&local_var_content).ok();
343        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
344        Err(Error::ResponseError(local_var_error))
345    }
346}
347
348/// Returns the details of an organization. Note that this also returns some additional fields which are not present when asking for all organizations. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the `key` value of organizationFields.
349pub async fn get_organization(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::GetOrganizationResponse200, Error<GetOrganizationError>> {
350    let local_var_configuration = configuration;
351
352    let local_var_client = &local_var_configuration.client;
353
354    let local_var_uri_str = format!("{}/organizations/{id}", local_var_configuration.base_path, id=id);
355    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
356
357    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
358        let local_var_key = local_var_apikey.key.clone();
359        let local_var_value = match local_var_apikey.prefix {
360            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
361            None => local_var_key,
362        };
363        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
364    }
365    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
366        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
367    }
368    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
369        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
370    };
371
372    let local_var_req = local_var_req_builder.build()?;
373    let local_var_resp = local_var_client.execute(local_var_req).await?;
374
375    let local_var_status = local_var_resp.status();
376    let local_var_content = local_var_resp.text().await?;
377
378    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
379        serde_json::from_str(&local_var_content).map_err(Error::from)
380    } else {
381        let local_var_entity: Option<GetOrganizationError> = serde_json::from_str(&local_var_content).ok();
382        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
383        Err(Error::ResponseError(local_var_error))
384    }
385}
386
387/// Lists activities associated with an organization.
388pub async fn get_organization_activities(configuration: &configuration::Configuration, id: i32, start: Option<i32>, limit: Option<i32>, done: Option<f32>, exclude: Option<&str>) -> Result<crate::models::GetAssociatedActivitiesResponse200, Error<GetOrganizationActivitiesError>> {
389    let local_var_configuration = configuration;
390
391    let local_var_client = &local_var_configuration.client;
392
393    let local_var_uri_str = format!("{}/organizations/{id}/activities", local_var_configuration.base_path, id=id);
394    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
395
396    if let Some(ref local_var_str) = start {
397        local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
398    }
399    if let Some(ref local_var_str) = limit {
400        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
401    }
402    if let Some(ref local_var_str) = done {
403        local_var_req_builder = local_var_req_builder.query(&[("done", &local_var_str.to_string())]);
404    }
405    if let Some(ref local_var_str) = exclude {
406        local_var_req_builder = local_var_req_builder.query(&[("exclude", &local_var_str.to_string())]);
407    }
408    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
409        let local_var_key = local_var_apikey.key.clone();
410        let local_var_value = match local_var_apikey.prefix {
411            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
412            None => local_var_key,
413        };
414        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
415    }
416    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
417        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
418    }
419    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
420        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
421    };
422
423    let local_var_req = local_var_req_builder.build()?;
424    let local_var_resp = local_var_client.execute(local_var_req).await?;
425
426    let local_var_status = local_var_resp.status();
427    let local_var_content = local_var_resp.text().await?;
428
429    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
430        serde_json::from_str(&local_var_content).map_err(Error::from)
431    } else {
432        let local_var_entity: Option<GetOrganizationActivitiesError> = serde_json::from_str(&local_var_content).ok();
433        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
434        Err(Error::ResponseError(local_var_error))
435    }
436}
437
438/// Lists deals associated with an organization.
439pub async fn get_organization_deals(configuration: &configuration::Configuration, id: i32, start: Option<i32>, limit: Option<i32>, status: Option<&str>, sort: Option<&str>, only_primary_association: Option<f32>) -> Result<crate::models::GetAssociatedDealsResponse200, Error<GetOrganizationDealsError>> {
440    let local_var_configuration = configuration;
441
442    let local_var_client = &local_var_configuration.client;
443
444    let local_var_uri_str = format!("{}/organizations/{id}/deals", local_var_configuration.base_path, id=id);
445    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
446
447    if let Some(ref local_var_str) = start {
448        local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
449    }
450    if let Some(ref local_var_str) = limit {
451        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
452    }
453    if let Some(ref local_var_str) = status {
454        local_var_req_builder = local_var_req_builder.query(&[("status", &local_var_str.to_string())]);
455    }
456    if let Some(ref local_var_str) = sort {
457        local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]);
458    }
459    if let Some(ref local_var_str) = only_primary_association {
460        local_var_req_builder = local_var_req_builder.query(&[("only_primary_association", &local_var_str.to_string())]);
461    }
462    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
463        let local_var_key = local_var_apikey.key.clone();
464        let local_var_value = match local_var_apikey.prefix {
465            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
466            None => local_var_key,
467        };
468        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
469    }
470    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
471        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
472    }
473    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
474        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
475    };
476
477    let local_var_req = local_var_req_builder.build()?;
478    let local_var_resp = local_var_client.execute(local_var_req).await?;
479
480    let local_var_status = local_var_resp.status();
481    let local_var_content = local_var_resp.text().await?;
482
483    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
484        serde_json::from_str(&local_var_content).map_err(Error::from)
485    } else {
486        let local_var_entity: Option<GetOrganizationDealsError> = serde_json::from_str(&local_var_content).ok();
487        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
488        Err(Error::ResponseError(local_var_error))
489    }
490}
491
492/// Lists files associated with an organization.
493pub async fn get_organization_files(configuration: &configuration::Configuration, id: i32, start: Option<i32>, limit: Option<i32>, sort: Option<&str>) -> Result<crate::models::GetAssociatedFilesResponse200, Error<GetOrganizationFilesError>> {
494    let local_var_configuration = configuration;
495
496    let local_var_client = &local_var_configuration.client;
497
498    let local_var_uri_str = format!("{}/organizations/{id}/files", local_var_configuration.base_path, id=id);
499    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
500
501    if let Some(ref local_var_str) = start {
502        local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
503    }
504    if let Some(ref local_var_str) = limit {
505        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
506    }
507    if let Some(ref local_var_str) = sort {
508        local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]);
509    }
510    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
511        let local_var_key = local_var_apikey.key.clone();
512        let local_var_value = match local_var_apikey.prefix {
513            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
514            None => local_var_key,
515        };
516        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
517    }
518    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
519        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
520    }
521    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
522        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
523    };
524
525    let local_var_req = local_var_req_builder.build()?;
526    let local_var_resp = local_var_client.execute(local_var_req).await?;
527
528    let local_var_status = local_var_resp.status();
529    let local_var_content = local_var_resp.text().await?;
530
531    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
532        serde_json::from_str(&local_var_content).map_err(Error::from)
533    } else {
534        let local_var_entity: Option<GetOrganizationFilesError> = serde_json::from_str(&local_var_content).ok();
535        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
536        Err(Error::ResponseError(local_var_error))
537    }
538}
539
540/// Lists the followers of an organization.
541pub async fn get_organization_followers(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::GetAssociatedFollowersResponse2001, Error<GetOrganizationFollowersError>> {
542    let local_var_configuration = configuration;
543
544    let local_var_client = &local_var_configuration.client;
545
546    let local_var_uri_str = format!("{}/organizations/{id}/followers", local_var_configuration.base_path, id=id);
547    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
548
549    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
550        let local_var_key = local_var_apikey.key.clone();
551        let local_var_value = match local_var_apikey.prefix {
552            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
553            None => local_var_key,
554        };
555        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
556    }
557    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
558        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
559    }
560    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
561        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
562    };
563
564    let local_var_req = local_var_req_builder.build()?;
565    let local_var_resp = local_var_client.execute(local_var_req).await?;
566
567    let local_var_status = local_var_resp.status();
568    let local_var_content = local_var_resp.text().await?;
569
570    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
571        serde_json::from_str(&local_var_content).map_err(Error::from)
572    } else {
573        let local_var_entity: Option<GetOrganizationFollowersError> = serde_json::from_str(&local_var_content).ok();
574        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
575        Err(Error::ResponseError(local_var_error))
576    }
577}
578
579/// Lists mail messages associated with an organization.
580pub async fn get_organization_mail_messages(configuration: &configuration::Configuration, id: i32, start: Option<i32>, limit: Option<i32>) -> Result<crate::models::GetAssociatedMailMessagesResponse200, Error<GetOrganizationMailMessagesError>> {
581    let local_var_configuration = configuration;
582
583    let local_var_client = &local_var_configuration.client;
584
585    let local_var_uri_str = format!("{}/organizations/{id}/mailMessages", local_var_configuration.base_path, id=id);
586    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
587
588    if let Some(ref local_var_str) = start {
589        local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
590    }
591    if let Some(ref local_var_str) = limit {
592        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
593    }
594    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
595        let local_var_key = local_var_apikey.key.clone();
596        let local_var_value = match local_var_apikey.prefix {
597            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
598            None => local_var_key,
599        };
600        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
601    }
602    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
603        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
604    }
605    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
606        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
607    };
608
609    let local_var_req = local_var_req_builder.build()?;
610    let local_var_resp = local_var_client.execute(local_var_req).await?;
611
612    let local_var_status = local_var_resp.status();
613    let local_var_content = local_var_resp.text().await?;
614
615    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
616        serde_json::from_str(&local_var_content).map_err(Error::from)
617    } else {
618        let local_var_entity: Option<GetOrganizationMailMessagesError> = serde_json::from_str(&local_var_content).ok();
619        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
620        Err(Error::ResponseError(local_var_error))
621    }
622}
623
624/// Lists persons associated with an organization.<br>If a company uses the [Campaigns product](https://pipedrive.readme.io/docs/campaigns-in-pipedrive-api), then this endpoint will also return the `data.marketing_status` field.
625pub async fn get_organization_persons(configuration: &configuration::Configuration, id: i32, start: Option<i32>, limit: Option<i32>) -> Result<crate::models::ListPersonsResponse200, Error<GetOrganizationPersonsError>> {
626    let local_var_configuration = configuration;
627
628    let local_var_client = &local_var_configuration.client;
629
630    let local_var_uri_str = format!("{}/organizations/{id}/persons", local_var_configuration.base_path, id=id);
631    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
632
633    if let Some(ref local_var_str) = start {
634        local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
635    }
636    if let Some(ref local_var_str) = limit {
637        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
638    }
639    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
640        let local_var_key = local_var_apikey.key.clone();
641        let local_var_value = match local_var_apikey.prefix {
642            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
643            None => local_var_key,
644        };
645        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
646    }
647    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
648        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
649    }
650    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
651        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
652    };
653
654    let local_var_req = local_var_req_builder.build()?;
655    let local_var_resp = local_var_client.execute(local_var_req).await?;
656
657    let local_var_status = local_var_resp.status();
658    let local_var_content = local_var_resp.text().await?;
659
660    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
661        serde_json::from_str(&local_var_content).map_err(Error::from)
662    } else {
663        let local_var_entity: Option<GetOrganizationPersonsError> = serde_json::from_str(&local_var_content).ok();
664        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
665        Err(Error::ResponseError(local_var_error))
666    }
667}
668
669/// Lists updates about an organization.
670pub async fn get_organization_updates(configuration: &configuration::Configuration, id: i32, start: Option<i32>, limit: Option<i32>, all_changes: Option<&str>, items: Option<&str>) -> Result<crate::models::GetAssociatedUpdatesResponse200, Error<GetOrganizationUpdatesError>> {
671    let local_var_configuration = configuration;
672
673    let local_var_client = &local_var_configuration.client;
674
675    let local_var_uri_str = format!("{}/organizations/{id}/flow", local_var_configuration.base_path, id=id);
676    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
677
678    if let Some(ref local_var_str) = start {
679        local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
680    }
681    if let Some(ref local_var_str) = limit {
682        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
683    }
684    if let Some(ref local_var_str) = all_changes {
685        local_var_req_builder = local_var_req_builder.query(&[("all_changes", &local_var_str.to_string())]);
686    }
687    if let Some(ref local_var_str) = items {
688        local_var_req_builder = local_var_req_builder.query(&[("items", &local_var_str.to_string())]);
689    }
690    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
691        let local_var_key = local_var_apikey.key.clone();
692        let local_var_value = match local_var_apikey.prefix {
693            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
694            None => local_var_key,
695        };
696        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
697    }
698    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
699        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
700    }
701    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
702        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
703    };
704
705    let local_var_req = local_var_req_builder.build()?;
706    let local_var_resp = local_var_client.execute(local_var_req).await?;
707
708    let local_var_status = local_var_resp.status();
709    let local_var_content = local_var_resp.text().await?;
710
711    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
712        serde_json::from_str(&local_var_content).map_err(Error::from)
713    } else {
714        let local_var_entity: Option<GetOrganizationUpdatesError> = serde_json::from_str(&local_var_content).ok();
715        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
716        Err(Error::ResponseError(local_var_error))
717    }
718}
719
720/// List users permitted to access an organization.
721pub async fn get_organization_users(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::ListPermittedUsersResponse2001, Error<GetOrganizationUsersError>> {
722    let local_var_configuration = configuration;
723
724    let local_var_client = &local_var_configuration.client;
725
726    let local_var_uri_str = format!("{}/organizations/{id}/permittedUsers", local_var_configuration.base_path, id=id);
727    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
728
729    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
730        let local_var_key = local_var_apikey.key.clone();
731        let local_var_value = match local_var_apikey.prefix {
732            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
733            None => local_var_key,
734        };
735        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
736    }
737    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
738        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
739    }
740
741    let local_var_req = local_var_req_builder.build()?;
742    let local_var_resp = local_var_client.execute(local_var_req).await?;
743
744    let local_var_status = local_var_resp.status();
745    let local_var_content = local_var_resp.text().await?;
746
747    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
748        serde_json::from_str(&local_var_content).map_err(Error::from)
749    } else {
750        let local_var_entity: Option<GetOrganizationUsersError> = serde_json::from_str(&local_var_content).ok();
751        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
752        Err(Error::ResponseError(local_var_error))
753    }
754}
755
756/// Returns all organizations.
757pub async fn get_organizations(configuration: &configuration::Configuration, user_id: Option<i32>, filter_id: Option<i32>, first_char: Option<&str>, start: Option<i32>, limit: Option<i32>, sort: Option<&str>) -> Result<crate::models::GetOrganizationsResponse200, Error<GetOrganizationsError>> {
758    let local_var_configuration = configuration;
759
760    let local_var_client = &local_var_configuration.client;
761
762    let local_var_uri_str = format!("{}/organizations", local_var_configuration.base_path);
763    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
764
765    if let Some(ref local_var_str) = user_id {
766        local_var_req_builder = local_var_req_builder.query(&[("user_id", &local_var_str.to_string())]);
767    }
768    if let Some(ref local_var_str) = filter_id {
769        local_var_req_builder = local_var_req_builder.query(&[("filter_id", &local_var_str.to_string())]);
770    }
771    if let Some(ref local_var_str) = first_char {
772        local_var_req_builder = local_var_req_builder.query(&[("first_char", &local_var_str.to_string())]);
773    }
774    if let Some(ref local_var_str) = start {
775        local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
776    }
777    if let Some(ref local_var_str) = limit {
778        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
779    }
780    if let Some(ref local_var_str) = sort {
781        local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]);
782    }
783    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
784        let local_var_key = local_var_apikey.key.clone();
785        let local_var_value = match local_var_apikey.prefix {
786            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
787            None => local_var_key,
788        };
789        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
790    }
791    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
792        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
793    }
794    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
795        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
796    };
797
798    let local_var_req = local_var_req_builder.build()?;
799    let local_var_resp = local_var_client.execute(local_var_req).await?;
800
801    let local_var_status = local_var_resp.status();
802    let local_var_content = local_var_resp.text().await?;
803
804    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
805        serde_json::from_str(&local_var_content).map_err(Error::from)
806    } else {
807        let local_var_entity: Option<GetOrganizationsError> = serde_json::from_str(&local_var_content).ok();
808        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
809        Err(Error::ResponseError(local_var_error))
810    }
811}
812
813/// Returns all organizations. This is a cursor-paginated endpoint that is currently in BETA. For more information, please refer to our documentation on <a href=\"https://pipedrive.readme.io/docs/core-api-concepts-pagination\" target=\"_blank\" rel=\"noopener noreferrer\">pagination</a>. Please note that only global admins (those with global permissions) can access these endpoints. Users with regular permissions will receive a 403 response. Read more about global permissions <a href=\"https://support.pipedrive.com/en/article/global-user-management\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>.
814pub async fn get_organizations_collection(configuration: &configuration::Configuration, cursor: Option<&str>, limit: Option<i32>, since: Option<&str>, until: Option<&str>, owner_id: Option<i32>, first_char: Option<&str>) -> Result<crate::models::GetOrganizationsCollection200Response, Error<GetOrganizationsCollectionError>> {
815    let local_var_configuration = configuration;
816
817    let local_var_client = &local_var_configuration.client;
818
819    let local_var_uri_str = format!("{}/organizations/collection", local_var_configuration.base_path);
820    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
821
822    if let Some(ref local_var_str) = cursor {
823        local_var_req_builder = local_var_req_builder.query(&[("cursor", &local_var_str.to_string())]);
824    }
825    if let Some(ref local_var_str) = limit {
826        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
827    }
828    if let Some(ref local_var_str) = since {
829        local_var_req_builder = local_var_req_builder.query(&[("since", &local_var_str.to_string())]);
830    }
831    if let Some(ref local_var_str) = until {
832        local_var_req_builder = local_var_req_builder.query(&[("until", &local_var_str.to_string())]);
833    }
834    if let Some(ref local_var_str) = owner_id {
835        local_var_req_builder = local_var_req_builder.query(&[("owner_id", &local_var_str.to_string())]);
836    }
837    if let Some(ref local_var_str) = first_char {
838        local_var_req_builder = local_var_req_builder.query(&[("first_char", &local_var_str.to_string())]);
839    }
840    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
841        let local_var_key = local_var_apikey.key.clone();
842        let local_var_value = match local_var_apikey.prefix {
843            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
844            None => local_var_key,
845        };
846        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
847    }
848    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
849        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
850    }
851    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
852        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
853    };
854
855    let local_var_req = local_var_req_builder.build()?;
856    let local_var_resp = local_var_client.execute(local_var_req).await?;
857
858    let local_var_status = local_var_resp.status();
859    let local_var_content = local_var_resp.text().await?;
860
861    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
862        serde_json::from_str(&local_var_content).map_err(Error::from)
863    } else {
864        let local_var_entity: Option<GetOrganizationsCollectionError> = serde_json::from_str(&local_var_content).ok();
865        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
866        Err(Error::ResponseError(local_var_error))
867    }
868}
869
870/// Merges an organization with another organization. For more information, see the tutorial for <a href=\"https://pipedrive.readme.io/docs/merging-two-organizations\" target=\"_blank\" rel=\"noopener noreferrer\">merging two organizations</a>.
871pub async fn merge_organizations(configuration: &configuration::Configuration, id: i32, merge_organizations_request: Option<crate::models::MergeOrganizationsRequest>) -> Result<crate::models::MergeOrganizationsResponse200, Error<MergeOrganizationsError>> {
872    let local_var_configuration = configuration;
873
874    let local_var_client = &local_var_configuration.client;
875
876    let local_var_uri_str = format!("{}/organizations/{id}/merge", local_var_configuration.base_path, id=id);
877    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
878
879    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
880        let local_var_key = local_var_apikey.key.clone();
881        let local_var_value = match local_var_apikey.prefix {
882            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
883            None => local_var_key,
884        };
885        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
886    }
887    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
888        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
889    }
890    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
891        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
892    };
893    local_var_req_builder = local_var_req_builder.json(&merge_organizations_request);
894
895    let local_var_req = local_var_req_builder.build()?;
896    let local_var_resp = local_var_client.execute(local_var_req).await?;
897
898    let local_var_status = local_var_resp.status();
899    let local_var_content = local_var_resp.text().await?;
900
901    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
902        serde_json::from_str(&local_var_content).map_err(Error::from)
903    } else {
904        let local_var_entity: Option<MergeOrganizationsError> = serde_json::from_str(&local_var_content).ok();
905        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
906        Err(Error::ResponseError(local_var_error))
907    }
908}
909
910/// Searches all organizations by name, address, notes and/or custom fields. This endpoint is a wrapper of <a href=\"https://developers.pipedrive.com/docs/api/v1/ItemSearch#searchItem\">/v1/itemSearch</a> with a narrower OAuth scope.
911pub async fn search_organization(configuration: &configuration::Configuration, term: &str, fields: Option<&str>, exact_match: Option<bool>, start: Option<i32>, limit: Option<i32>) -> Result<crate::models::SearchOrganizationResponse200, Error<SearchOrganizationError>> {
912    let local_var_configuration = configuration;
913
914    let local_var_client = &local_var_configuration.client;
915
916    let local_var_uri_str = format!("{}/organizations/search", local_var_configuration.base_path);
917    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
918
919    local_var_req_builder = local_var_req_builder.query(&[("term", &term.to_string())]);
920    if let Some(ref local_var_str) = fields {
921        local_var_req_builder = local_var_req_builder.query(&[("fields", &local_var_str.to_string())]);
922    }
923    if let Some(ref local_var_str) = exact_match {
924        local_var_req_builder = local_var_req_builder.query(&[("exact_match", &local_var_str.to_string())]);
925    }
926    if let Some(ref local_var_str) = start {
927        local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
928    }
929    if let Some(ref local_var_str) = limit {
930        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
931    }
932    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
933        let local_var_key = local_var_apikey.key.clone();
934        let local_var_value = match local_var_apikey.prefix {
935            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
936            None => local_var_key,
937        };
938        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
939    }
940    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
941        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
942    }
943    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
944        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
945    };
946
947    let local_var_req = local_var_req_builder.build()?;
948    let local_var_resp = local_var_client.execute(local_var_req).await?;
949
950    let local_var_status = local_var_resp.status();
951    let local_var_content = local_var_resp.text().await?;
952
953    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
954        serde_json::from_str(&local_var_content).map_err(Error::from)
955    } else {
956        let local_var_entity: Option<SearchOrganizationError> = serde_json::from_str(&local_var_content).ok();
957        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
958        Err(Error::ResponseError(local_var_error))
959    }
960}
961
962/// Updates the properties of an organization.
963pub async fn update_organization(configuration: &configuration::Configuration, id: i32, update_organization_request: Option<crate::models::UpdateOrganizationRequest>) -> Result<crate::models::UpdateOrganizationResponse200, Error<UpdateOrganizationError>> {
964    let local_var_configuration = configuration;
965
966    let local_var_client = &local_var_configuration.client;
967
968    let local_var_uri_str = format!("{}/organizations/{id}", local_var_configuration.base_path, id=id);
969    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
970
971    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
972        let local_var_key = local_var_apikey.key.clone();
973        let local_var_value = match local_var_apikey.prefix {
974            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
975            None => local_var_key,
976        };
977        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
978    }
979    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
980        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
981    }
982    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
983        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
984    };
985    local_var_req_builder = local_var_req_builder.json(&update_organization_request);
986
987    let local_var_req = local_var_req_builder.build()?;
988    let local_var_resp = local_var_client.execute(local_var_req).await?;
989
990    let local_var_status = local_var_resp.status();
991    let local_var_content = local_var_resp.text().await?;
992
993    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
994        serde_json::from_str(&local_var_content).map_err(Error::from)
995    } else {
996        let local_var_entity: Option<UpdateOrganizationError> = serde_json::from_str(&local_var_content).ok();
997        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
998        Err(Error::ResponseError(local_var_error))
999    }
1000}
1001